Modularity with OSGi

Post on 20-Jan-2015

751 views 0 download

Tags:

description

High level presentation about OSGi and modularity.

transcript

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

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

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

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

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