Modularity with OSGi
-
Upload
peter-kriens -
Category
Technology
-
view
755 -
download
0
description
Transcript of Modularity with OSGi
OSGi &Modularity
2011-06-23 IBM Montpellier
by Peter Kriens
1dinsdag 28 juni 2011
2dinsdag 28 juni 2011
2dinsdag 28 juni 2011
2dinsdag 28 juni 2011
Prod
uctiv
ity
Application Complexity
3dinsdag 28 juni 2011
Prod
uctiv
ity
Application Complexity
Assembly
3dinsdag 28 juni 2011
Prod
uctiv
ity
Application Complexity
Assembly
Structured Programming
3dinsdag 28 juni 2011
Prod
uctiv
ity
Application Complexity
Assembly
Structured Programming
Object Oriented Programming
3dinsdag 28 juni 2011
Prod
uctiv
ity
Application Complexity
Assembly
Structured Programming
Object Oriented Programming
Service Oriented Programming?
3dinsdag 28 juni 2011
4dinsdag 28 juni 2011
Application
4dinsdag 28 juni 2011
Application
Extensions
Application
Foundation
Java VM
Basic
Convenience
Something
Core
4dinsdag 28 juni 2011
Application
Extensions
Application
Foundation
Java VM
Basic
Convenience
Something
CoreJava VM
log4j barcode4j axis batik commons
derbyfopezmorphfreemarkerhttpunit
jakarta jcl json jdbm jdom
jenks jpos18 jython looks lucene
mail mx4j naming jetty poi
resolver rome serializer servlets tomcat
velocity
ws-commons
xalan
wsdl4j
xerces
xmlgraphics
xmlrpc
xmlapis
..
geronimo
bsh
bsf
guiapp hhfacility manufact. marketing minerva
accounting assetmaint
base
bi
catalinacommon
oagis order
ebaycontent
datafile
ecommerce
entity
googlebase
Application layer
widget
minilang party pos. product workeffort workflow …
sunjce_prov.pluginjssejcert dnsns ..
…
Libs
4dinsdag 28 juni 2011
Application
Extensions
Application
Foundation
Java VM
Basic
Convenience
Something
CoreJava VM
log4j barcode4j axis batik commons
derbyfopezmorphfreemarkerhttpunit
jakarta jcl json jdbm jdom
jenks jpos18 jython looks lucene
mail mx4j naming jetty poi
resolver rome serializer servlets tomcat
velocity
ws-commons
xalan
wsdl4j
xerces
xmlgraphics
xmlrpc
xmlapis
..
geronimo
bsh
bsf
guiapp hhfacility manufact. marketing minerva
accounting assetmaint
base
bi
catalinacommon
oagis order
ebaycontent
datafile
ecommerce
entity
googlebase
Application layer
widget
minilang party pos. product workeffort workflow …
sunjce_prov.pluginjssejcert dnsns ..
…
Libs
4dinsdag 28 juni 2011
Java VM
log4j
barcode4j
axis
batik
commons
derby
fop
ezmorph
freemarker
httpunit
jakarta
jcl
json
jdbm
jdom
jenks
jpos18
jython
looks
lucene
mx4j
naming
jetty
poi
resolver
rome
serializer
servlets
tomcat
velocity
ws-commons
xalan
wsdl4j
xerces
xmlgraphics
xmlrpc
xmlapis
..
geronimo
bsh
bsf
guiapp
hhfacility
manufact.
marketing
minerva
accounting
assetmaint
base
bi
catalina
common
oagis
order
ebay
content
datafile
ecommerce
entity
googlebase
ofbiz
widget
minilang
party
pos.
product
workeffort
workflow
…
sunjce_prov.
plugin
jsse
jce
rt
dnsns
..
…
BeginHere
5dinsdag 28 juni 2011
Java VM
log4j
barcode4j
axis
batik
commons
derby
fop
ezmorph
freemarker
httpunit
jakarta
jcl
json
jdbm
jdom
jenks
jpos18
jython
looks
lucene
mx4j
naming
jetty
poi
resolver
rome
serializer
servlets
tomcat
velocity
ws-commons
xalan
wsdl4j
xerces
xmlgraphics
xmlrpc
xmlapis
..
geronimo
bsh
bsf
guiapp
hhfacility
manufact.
marketing
minerva
accounting
assetmaint
base
bi
catalina
common
oagis
order
ebay
content
datafile
ecommerce
entity
googlebase
ofbiz
widget
minilang
party
pos.
product
workeffort
workflow
…
sunjce_prov.
plugin
jsse
jce
rt
dnsns
..
…
ClassNot
FoundException
BeginHere
5dinsdag 28 juni 2011
6dinsdag 28 juni 2011
7dinsdag 28 juni 2011
8dinsdag 28 juni 2011
8dinsdag 28 juni 2011
9dinsdag 28 juni 2011
low coupling,
9dinsdag 28 juni 2011
low coupling,high cohesion &
9dinsdag 28 juni 2011
low coupling,
encapsulationhigh cohesion &
9dinsdag 28 juni 2011
10dinsdag 28 juni 2011
OS + Hardware
Execution Environment
Module
Life Cycle
Service
SECURITY
Applications(bundles)
11dinsdag 28 juni 2011
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; }
12dinsdag 28 juni 2011
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; }
13dinsdag 28 juni 2011
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; }
14dinsdag 28 juni 2011
Classes
Class B
Class A
Class C
Class D
14dinsdag 28 juni 2011
Packages
Class B
Class A
Class C
Class D
15dinsdag 28 juni 2011
Packages
Class C
Class D
15dinsdag 28 juni 2011
Bundles
Bundle A
Bundle B
.
p
q-1.4
Bundle A
16dinsdag 28 juni 2011
Bundles
Bundle A
Bundle B
.
p
r
q-[1.2,1.8)
p
q-1.4
import export
r
private
Bundle A
17dinsdag 28 juni 2011
Bundles
Bundle A
Bundle B
.
p
r
q-[1.2,1.8)
p
q-1.4
import
imports
export
r
private
Bundle A
17dinsdag 28 juni 2011
Bundles
Bundle A
Bundle B
.
p
r
q-[1.2,1.8)
p
q-1.4
import
imports
exports
export
r
private
Bundle A
17dinsdag 28 juni 2011
BundleX
BundleX-v2
BundleB
MANAGE-MENT
BUNDLE
BundleA
Systembundle
18dinsdag 28 juni 2011
Services
void foo() {…}
…s.foo()…
interface Foo { void foo();}
19dinsdag 28 juni 2011
20dinsdag 28 juni 2011
20dinsdag 28 juni 2011
20dinsdag 28 juni 2011
21dinsdag 28 juni 2011
21dinsdag 28 juni 2011
bundleA-1.2
bundleB-4.1
bundleC-1.0
bc
a
21dinsdag 28 juni 2011
22dinsdag 28 juni 2011
22dinsdag 28 juni 2011
The ComponentFramework
22dinsdag 28 juni 2011
23dinsdag 28 juni 2011
Q&A24dinsdag 28 juni 2011
Thanks!
25dinsdag 28 juni 2011