Contenu connexe
Similaire à Modularity with OSGi (20)
Modularity with OSGi
- 7. Productivity
Structured
Programming
Assembly
Application Complexity
- 8. Productivity
Structured Object Oriented Programming
Programming
Assembly
Application Complexity
- 9. Productivity
Service Oriented Programming?
Structured Object Oriented Programming
Programming
Assembly
Application Complexity
- 12. Extensions
Application
Application
Convenience
Foundation Basic Something
Core
Java VM
- 13. 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 velocity
Foundation
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 ..
- 14. 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 velocity
Foundation
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 ..
- 15. Java VM party common resolver axis xerces
Begin rt assetmaint catalina mail ezmorph xmlapis
jce hhfacility base jenks servlets xmlrpc
Here 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
- 16. Java VM party common resolver axis xerces
Begin rt assetmaint catalina mail ezmorph xmlapis
jce hhfacility base jenks servlets xmlrpc
Here 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
- 26. Applications S
(bundles) E
Service
C
U
Life Cycle
R
I
Module T
Y
Execution Environment
OS + Hardware
- 27. Code
protected 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;
}
- 28. Functions
protected 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;
}
- 29. Classes
protected 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;
}
- 30. Classes
Class D
Class C
Class B
Class A
- 31. Packages
Class D
Class C
Class B
Class A
- 34. Bundles
Bundle A
Bundle B
p p
q-1.4 q-[1.2,1.8)
Bundle A
r r
.
import private export
- 35. Bundles
Bundle A
Bundle B
imports
p p
q-1.4 q-[1.2,1.8)
Bundle A
r r
.
import private export
- 36. Bundles
Bundle A
Bundle B
imports
p p
q-1.4 exports
q-[1.2,1.8)
Bundle A
r r
.
import private export
- 37. MANAGE-
System
MENT
bundle
BUNDLE
Bundle
X-v2
X
Bundle
Bundle B
A
- 38. Services
interface Foo {
void foo();
}
void foo() { …
… s.foo()
} …
- 44. bundle
A-1.2
c b
bundle
C-1.0
bundle a
B-4.1
Notes de l'éditeur
- \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