Felix And More: OSGi @ Apache

3,513 views

Published on

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

Published in: Technology, Education
  • Be the first to comment

Felix And More: OSGi @ Apache

  1. 1. Summary Introductions Felix and More: - Felix Framework - Apache Felix Karaf - Apache Felix WebConsole - Dependency Injection Frameworks - Apache Ace Open Discussion
  2. 2. OSGi (general) A dynamic module system for Java
  3. 3. 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
  4. 4. OSGi
  5. 5. OSGi Building with components
  6. 6. OSGi
  7. 7. OSGi Communicating with services
  8. 8. OSGi (general) )$*+"&$ :6< 1(6'/ B'/3? =)>*&?- =)>*&?- =)>*&?- )?/ )?/ )?/ ;).9*/ ;).9*/ ;).9*/ ;).9*/ &.?("** !"#$%&'&($ &.?("**/9 ;).9*/ ;).9*/ ;).9*/ 1/'#&,/ ?("'( ?("'( ?("'@.< :&3/$,8,*/ '/?6*#/9 ",@#/ +69)*/ 1/,)'&(8 /.9 ).&.?("** ?(6==&.< ?(6= 012&$3'"4/56'7 ).&.?("**/9 !"#"$%&'()"*$+",-&./ ;).9*/ ;).9*/ ;).9*/ ;).9*/ ,-./($ &4=6'(? &4=6'(? /A=6'(? /A=6'(? /A=6'(? /A=6'(? 6'<C"=",-/C)@*$DCE 6'<C"=",-/C9>$DCH 6'<C"=",-/C*6<$FCG 6'<C"=",-/C)@*$DCD
  9. 9. Apache Felix • Implement the OSGi specifications • A home for many OSGi related extensions
  10. 10. Apache Felix • Implement the OSGi specifications • A home for many OSGi related extensions Preferences iPOJO Shell, TUI ConfigurationAdmin Web Console UPnP EventAdmin Sigil HTTP Maven OBR, OSGi, SCR Karaf FileInstall Gogo Service Component Runtime DependencyManager Remote Shell
  11. 11. Apache Felix - Framework
  12. 12. Apache Felix Karaf Hot Deployment Dynamic Configuration Logging System Provisioning Powerful Shell Console Remote Access Security Framework Managing Multiple Instances
  13. 13. Apache Felix Karaf Works out-of-the-box with Felix and Equinox OSGi platform for any application (web, enterprise, desktop) (almost) Complete PDF manual available in Karaf 1.1.0 Base platform of ServiceMix 4
  14. 14. Apache Felix Web Management Console
  15. 15. Dependency Injection Frameworks bundleContext.getService (..) tracking services ? ServiceListener ServiceTracker
  16. 16. 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
  17. 17. Dependency Injection Frameworks Blueprint, dependency injection a-la-Spring Apache Geronimo Blueprint (may change in the future...)
  18. 18. Deployment !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&') !"#$"%&%'(! !"#$%&'*
  19. 19. Deployment !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&'"() !"#$%&') !"#$"%&%'(! !"#$%&'*
  20. 20. Keeping the history now !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&') !"#$"%&%'(! !"#$%&'*
  21. 21. Keeping the history last year !"#$"%&%'() +,-.&'() last month !"#$"%&%'() !"#$"%&%'(* +,-.&'() last week !"#$"%&%'() !"#$"%&%'(* !"#$%&'( +,-.&'(! +,-.&'(* now !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&') +,-.&'(! !"#$"%&%'(* !"#$%&') !"#$"%&%'(! !"#$%&'* !"#$"%&%'(! !"#$%&'*
  22. 22. Topology !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1
  23. 23. Deployment Repository ',*-&'( )&*(+"%( !"#$"%&%'( 2 1"#$"%&%'/0 !"#$"%&%'() 3 1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(! .,*-&'/0 4 1"#$"%&%'/0 !"#$"%&%'(! !"#$"%&%'(* 5 1"#$"%&%'/1 !"#$"%&%'(* 2 1"#$"%&%'/6 !"#$"%&%'(* .,*-&'/6 3 1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(*
  24. 24. Questions?

×