26

Felix And More: OSGi @ Apache

Embed Size (px)

DESCRIPTION

Short overview of some OSGi open source projects developed in the Apache Software Foundation: Apache Felix (and its subprojects) and Apache Ace. Presented at Devoxx 2009 in Antwerp, Belgium, by Filippo Diotalevi, Marcel Offermans and Angelo Van Der Sijpt

Citation preview

Page 1: Felix And More: OSGi @ Apache
Page 2: Felix And More: OSGi @ Apache

SummaryIntroductions

Felix and More: - Felix Framework- Apache Felix Karaf- Apache Felix WebConsole- Dependency Injection Frameworks- Apache Ace

Open Discussion

Page 3: Felix And More: OSGi @ Apache

OSGi (general)

A dynamic module system for Java

Page 4: Felix And More: OSGi @ Apache

OSGi (general)1999 - OSGi Alliance founded, JSR 8

2000 - R1 published

2003 - Eclipse choose OSGi for the plugin

architecture

2007 - R4.1 published (JSR 291)

2009 - R4.2 published

2010 - Enterprise OSGi

Page 5: Felix And More: OSGi @ Apache

OSGi

Page 6: Felix And More: OSGi @ Apache

OSGi

Building with components

Page 7: Felix And More: OSGi @ Apache

OSGi

Page 8: Felix And More: OSGi @ Apache

OSGi

Communicating with services

Page 9: Felix And More: OSGi @ Apache

OSGi (general)

!"#$%&'&($

!"#"$%&'()"*$+",-&./

012&$3'"4/56'7

1/,)'&(8

+69)*/

:&3/$,8,*/

1/'#&,/;).9*/ ;).9*/ ;).9*/

)$*+"&$

:6< 1(6'/

=)>*&?- )?/)?/

=)>*&?-

?("'(

/.9

&.?("**/9&.?("**

?("'@.<?("'(

?(6==&.< ?(6=

",@#/'/?6*#/9

).&.?("**/9

).&.?("**

,-./($;).9*/ ;).9*/ ;).9*/ ;).9*/

/A=6'(?

&4=6'(?

/A=6'(?

&4=6'(?

/A=6'(?

/A=6'(?

B'/3?

=)>*&?-)?/

6'<C"=",-/C)@*$DCE

6'<C"=",-/C)@*$DCD6'<C"=",-/C*6<$FCG

6'<C"=",-/C9>$DCH

;).9*/ ;).9*/ ;).9*/ ;).9*/

Page 10: Felix And More: OSGi @ Apache

Apache Felix

•Implement the OSGi specifications•A home for many OSGi related

extensions

Page 11: Felix And More: OSGi @ Apache

Apache Felix

•Implement the OSGi specifications•A home for many OSGi related

extensions

Shell, TUI

Service Component RuntimeRemote Shell

Preferences

Maven OBR, OSGi, SCR

DependencyManager

iPOJO

GogoFileInstallKaraf

EventAdminConfigurationAdmin

Web ConsoleUPnP

Sigil HTTP

Page 12: Felix And More: OSGi @ Apache

Apache Felix - Framework

Page 13: Felix And More: OSGi @ Apache

Apache Felix Karaf

Hot Deployment

Logging System

Powerful Shell Console

Security Framework

Dynamic Configuration

Provisioning

Remote Access

Managing Multiple Instances

Page 14: Felix And More: OSGi @ Apache

Apache Felix Karaf

(almost) Complete PDF

manual available in Karaf 1.1.0

Base platform of ServiceMix 4

Works out-of-the-box with Felix and Equinox

OSGi platform for any application (web, enterprise, desktop)

Page 15: Felix And More: OSGi @ Apache

Apache Felix Web Management Console

Page 16: Felix And More: OSGi @ Apache

Dependency Injection Frameworks

?bundleContext.getService(..)

ServiceListener

ServiceTracker

tracking services

Page 17: Felix And More: OSGi @ Apache

Dependency Injection Frameworks

OSGi Declarative Service Specification Apache Felix SCR

Apache Felix IPOJO

Peaberry (Google Guice extension)http://code.google.com/p/peaberry/

Spring DM (Spring extension)http://www.springsource.org/osgi

Page 18: Felix And More: OSGi @ Apache

Dependency Injection Frameworks

Blueprint, dependency injectiona-la-Spring

Apache Geronimo Blueprint (may change in the future...)

Page 19: Felix And More: OSGi @ Apache
Page 20: Felix And More: OSGi @ Apache

Deployment

!"#$"%&%'()

!"#$"%&%'(*

!"#$"%&%'(!

!"#$%&'(

!"#$%&')

!"#$%&'*

Page 21: Felix And More: OSGi @ Apache

Deployment

!"#$"%&%'()

!"#$"%&%'(*

!"#$"%&%'(!

!"#$%&'(

!"#$%&')

!"#$%&'*

!"#$%&'"()

Page 22: Felix And More: OSGi @ Apache

Keeping the history

now

!"#$"%&%'()

!"#$"%&%'(*

!"#$"%&%'(!

!"#$%&'(

!"#$%&')

!"#$%&'*

Page 23: Felix And More: OSGi @ Apache

last year!"#$"%&%'()

!"#$"%&%'(*

+,-.&'()

+,-.&'(!

last month!"#$"%&%'()

!"#$"%&%'(*

+,-.&'()

+,-.&'(*

+,-.&'(!

last week

!"#$"%&%'()

!"#$"%&%'(*

!"#$"%&%'(!

!"#$%&'(

!"#$%&')

!"#$%&'*

Keeping the history

now

!"#$"%&%'()

!"#$"%&%'(*

!"#$"%&%'(!

!"#$%&'(

!"#$%&')

!"#$%&'*

Page 24: Felix And More: OSGi @ Apache

Topology

!"#$%!

!"#$%!

!"#$%!

&%!'(#)*#(+,-,(&,&$.

-%#+%#

/(0*(&%&!.#%*(-,!(#1

/2,%&!0"&"$%0%&!.

"$%&!

0"&"$%0%&!."$%&!

0"&"$%0%&!."$%&!

Page 25: Felix And More: OSGi @ Apache

Deployment Repository

!"#$"%&%'()&*(+"%(',*-&'(

.,*-&'/0

1"#$"%&%'/02

3

4

5

!"#$"%&%'()

1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(!

1"#$"%&%'/0 !"#$"%&%'(! !"#$"%&%'(*

1"#$"%&%'/1 !"#$"%&%'(*

.,*-&'/61"#$"%&%'/62

3

!"#$"%&%'(*

1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(*

Page 26: Felix And More: OSGi @ Apache

Questions?