Upload
filippo-diotalevi
View
4.347
Download
1
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
SummaryIntroductions
Felix and More: - Felix Framework- Apache Felix Karaf- Apache Felix WebConsole- Dependency Injection Frameworks- Apache Ace
Open Discussion
OSGi (general)
A dynamic module system for Java
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
OSGi
OSGi
Building with components
OSGi
OSGi
Communicating with services
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*/
Apache Felix
•Implement the OSGi specifications•A home for many OSGi related
extensions
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
Apache Felix - Framework
Apache Felix Karaf
Hot Deployment
Logging System
Powerful Shell Console
Security Framework
Dynamic Configuration
Provisioning
Remote Access
Managing Multiple Instances
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)
Apache Felix Web Management Console
Dependency Injection Frameworks
?bundleContext.getService(..)
ServiceListener
ServiceTracker
tracking services
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
Dependency Injection Frameworks
Blueprint, dependency injectiona-la-Spring
Apache Geronimo Blueprint (may change in the future...)
Deployment
!"#$"%&%'()
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&'(
!"#$%&')
!"#$%&'*
Deployment
!"#$"%&%'()
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&'(
!"#$%&')
!"#$%&'*
!"#$%&'"()
Keeping the history
now
!"#$"%&%'()
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&'(
!"#$%&')
!"#$%&'*
last year!"#$"%&%'()
!"#$"%&%'(*
+,-.&'()
+,-.&'(!
last month!"#$"%&%'()
!"#$"%&%'(*
+,-.&'()
+,-.&'(*
+,-.&'(!
last week
!"#$"%&%'()
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&'(
!"#$%&')
!"#$%&'*
Keeping the history
now
!"#$"%&%'()
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&'(
!"#$%&')
!"#$%&'*
Topology
!"#$%!
!"#$%!
!"#$%!
&%!'(#)*#(+,-,(&,&$.
-%#+%#
/(0*(&%&!.#%*(-,!(#1
/2,%&!0"&"$%0%&!.
"$%&!
0"&"$%0%&!."$%&!
0"&"$%0%&!."$%&!
Deployment Repository
!"#$"%&%'()&*(+"%(',*-&'(
.,*-&'/0
1"#$"%&%'/02
3
4
5
!"#$"%&%'()
1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(!
1"#$"%&%'/0 !"#$"%&%'(! !"#$"%&%'(*
1"#$"%&%'/1 !"#$"%&%'(*
.,*-&'/61"#$"%&%'/62
3
!"#$"%&%'(*
1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(*
Questions?