OSGi &Modularity      2011-06-23 IBM Montpellier      by Peter Kriens
Productivity               Application Complexity
Productivity                 Assembly               Application Complexity
Productivity                             Structured                            Programming                 Assembly       ...
Productivity                             Structured Object Oriented Programming                            Programming    ...
Productivity                            Service Oriented Programming?                               Structured Object Orie...
Application
Extensions             Application        Application                ConvenienceFoundation   Basic         Something      ...
minilang      party        pos.           product     workeffort     workflow          …accounting   assetmaint            ...
minilang      party        pos.           product     workeffort     workflow          …accounting   assetmaint            ...
Java VM         party      common       resolver      axis        xercesBegin        rt        assetmaint     catalina    ...
Java VM         party      common       resolver      axis         xercesBegin        rt        assetmaint     catalina   ...
low coupling,
low coupling,high cohesion      &
low coupling,high cohesion      &encapsulation
Applications                  S (bundles)                    E                   Service                              C   ...
Codeprotected boolean report(Reporter reporter) {     if (reporter.getWarnings().size() > 0) {         System.err.println(...
Functionsprotected boolean report(Reporter reporter) {     if (reporter.getWarnings().size() > 0) {         System.err.pri...
Classesprotected boolean report(Reporter reporter) {     if (reporter.getWarnings().size() > 0) {         System.err.print...
Classes                              Class DClass C                          Class B          Class A
Packages                              Class DClass C                          Class B          Class A
Packages                Class DClass C
BundlesBundle A                 Bundle B                     p  q-1.4Bundle A                     .
BundlesBundle A                       Bundle B    p                      p  q-1.4                q-[1.2,1.8)Bundle A    r ...
BundlesBundle A                       Bundle B            imports    p                      p  q-1.4                q-[1.2...
BundlesBundle A                       Bundle B            imports    p                      p  q-1.4     exports          ...
MANAGE-                  System                                     MENT                  bundle                          ...
Services                interface Foo {                   void foo();                }void foo() {                      ……...
bundle              A-1.2         c                b                              bundle                               C-1...
TheComponentFramework
Q&A
Thanks!
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Modularity with OSGi
Upcoming SlideShare
Loading in …5
×

Modularity with OSGi

711
-1

Published on

High level overview of OSGi.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
711
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Modularity with OSGi

    1. 1. OSGi &Modularity 2011-06-23 IBM Montpellier by Peter Kriens
    2. 2. Productivity Application Complexity
    3. 3. Productivity Assembly Application Complexity
    4. 4. Productivity Structured Programming Assembly Application Complexity
    5. 5. Productivity Structured Object Oriented Programming Programming Assembly Application Complexity
    6. 6. Productivity Service Oriented Programming? Structured Object Oriented Programming Programming Assembly Application Complexity
    7. 7. Application
    8. 8. Extensions Application Application ConvenienceFoundation Basic Something Core Java VM
    9. 9. minilang party pos. product workeffort workflow …accounting assetmaint Extensions content bi ebay ecommerce googlebase guiapp hhfacility manufact. marketing minerva oagis order Application Application layer common catalina base datafile entity widget … Application Convenience resolver rome serializer servlets tomcat xalan bsf mail mx4j naming jetty poi wsdl4j bsh jenks jpos18 jython looks lucene xerces velocityFoundation jakarta jcl Basic json jdbm Something jdom xmlapis ws-commons Core log4j barcode4j axis batik commons xmlrpc geronimo httpunit freemarker ezmorph fop derby xmlgraphics Libs.. Java VM Java VM rt jce jsse plugin sunjce_prov. dnsns ..
    10. 10. minilang party pos. product workeffort workflow …accounting assetmaint Extensions content bi ebay ecommerce googlebase guiapp hhfacility manufact. marketing minerva oagis order Application Application layer common catalina base datafile entity widget … Application Convenience resolver rome serializer servlets tomcat xalan bsf mail mx4j naming jetty poi wsdl4j bsh jenks jpos18 jython looks lucene xerces velocityFoundation jakarta jcl Basic json jdbm Something jdom xmlapis ws-commons Core log4j barcode4j axis batik commons xmlrpc geronimo httpunit freemarker ezmorph fop derby xmlgraphics Libs.. Java VM Java VM rt jce jsse plugin sunjce_prov. dnsns ..
    11. 11. Java VM party common resolver axis xercesBegin rt assetmaint catalina mail ezmorph xmlapis jce hhfacility base jenks servlets xmlrpcHere jsse pos. datafile jakarta jetty xmlgraphics plugin content entity log4j looks sunjce_prov. manufact. widget httpunit jdbm dnsns product … mx4j bsf .. bi rome batik bsh marketing workflow jpos18 fop velocity workeffort ecommerce jcl tomcat ws-commons ebay oagis barcode4j poi geronimo minerva … freemarker lucene .. minilang googlebase serializer jdom json accounting order naming commons xalan guiapp ofbiz jython derby wsdl4j
    12. 12. Java VM party common resolver axis xercesBegin rt assetmaint catalina mail ezmorph xmlapis jce hhfacility base jenks servlets xmlrpcHere jsse pos. datafile jakarta jetty xmlgraphics plugin content entity log4j looks sunjce_prov. manufact. widget httpunit jdbm dnsns product … mx4j bsf .. bi rome batik bsh Class marketing workflow jpos18 fop velocity Not workeffort ecommerce jcl tomcat ws-commons Found ebay oagis barcode4j poi geronimo Exception minerva … freemarker lucene .. minilang googlebase serializer jdom json accounting order naming commons xalan guiapp ofbiz jython derby wsdl4j
    13. 13. low coupling,
    14. 14. low coupling,high cohesion &
    15. 15. low coupling,high cohesion &encapsulation
    16. 16. Applications S (bundles) E Service C U Life Cycle R I Module T Y Execution Environment OS + Hardware
    17. 17. Codeprotected boolean report(Reporter reporter) { if (reporter.getWarnings().size() > 0) { System.err.println("Warnings"); for (Iterator<String> e = reporter. getWarnings().iterator(); e.hasNext();) { System.err.println(" " + e.next()); } } return false; }
    18. 18. Functionsprotected boolean report(Reporter reporter) { if (reporter.getWarnings().size() > 0) { System.err.println("Warnings"); for (Iterator<String> e = reporter. getWarnings().iterator(); e.hasNext();) { System.err.println(" " + e.next()); } } return false; }
    19. 19. Classesprotected boolean report(Reporter reporter) { if (reporter.getWarnings().size() > 0) { System.err.println("Warnings"); for (Iterator<String> e = reporter. getWarnings().iterator(); e.hasNext();) { System.err.println(" " + e.next()); } } return false; }
    20. 20. Classes Class DClass C Class B Class A
    21. 21. Packages Class DClass C Class B Class A
    22. 22. Packages Class DClass C
    23. 23. BundlesBundle A Bundle B p q-1.4Bundle A .
    24. 24. BundlesBundle A Bundle B p p q-1.4 q-[1.2,1.8)Bundle A r r . import private export
    25. 25. BundlesBundle A Bundle B imports p p q-1.4 q-[1.2,1.8)Bundle A r r . import private export
    26. 26. BundlesBundle A Bundle B imports p p q-1.4 exports q-[1.2,1.8)Bundle A r r . import private export
    27. 27. MANAGE- System MENT bundle BUNDLEBundle X-v2 X Bundle Bundle B A
    28. 28. Services interface Foo { void foo(); }void foo() { …… s.foo()} …
    29. 29. bundle A-1.2 c b bundle C-1.0bundle a B-4.1
    30. 30. TheComponentFramework
    31. 31. Q&A
    32. 32. Thanks!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×