Modularity with OSGi
Upcoming SlideShare
Loading in...5
×
 

Modularity with OSGi

on

  • 756 views

High level overview of OSGi.

High level overview of OSGi.

Statistics

Views

Total Views
756
Views on SlideShare
756
Embed Views
0

Actions

Likes
1
Downloads
19
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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 Modularity with OSGi Presentation Transcript

  • OSGi &Modularity 2011-06-23 IBM Montpellier by Peter Kriens
  • Productivity Application Complexity
  • Productivity Assembly Application Complexity
  • Productivity Structured Programming Assembly Application Complexity
  • Productivity Structured Object Oriented Programming Programming Assembly Application Complexity
  • Productivity Service Oriented Programming? Structured Object Oriented Programming Programming Assembly Application Complexity
  • Application
  • Extensions Application Application ConvenienceFoundation Basic Something Core Java VM
  • 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 ..
  • 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 ..
  • 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
  • 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
  • low coupling,
  • low coupling,high cohesion &
  • low coupling,high cohesion &encapsulation
  • Applications S (bundles) E Service C U Life Cycle R I Module T Y Execution Environment OS + Hardware
  • 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; }
  • 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; }
  • 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; }
  • 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 r . import private export
  • BundlesBundle A Bundle B imports p p q-1.4 q-[1.2,1.8)Bundle A r r . import private export
  • BundlesBundle A Bundle B imports p p q-1.4 exports q-[1.2,1.8)Bundle A r r . import private export
  • MANAGE- System MENT bundle BUNDLEBundle X-v2 X Bundle Bundle B A
  • Services interface Foo { void foo(); }void foo() { …… s.foo()} …
  • bundle A-1.2 c b bundle C-1.0bundle a B-4.1
  • TheComponentFramework
  • Q&A
  • Thanks!