3. Marcel Offermans
• commi0er and PMC member at Apache Felix
• commi0er at Apache ACE
• so<ware architect at luminis technologies
• marcel.offermans@luminis.nl
Friday, November 6, 2009
4. Agenda
• The case for OSGi
• Dynamic Deployment with Apache ACE
• Demo, ACE in AcIon
• Wrapup
Friday, November 6, 2009
5. The case for OSGi
• Paint ApplicaIon
• wri0en in Java
• sold to customers
Friday, November 6, 2009
17. The Case for ACE
• Started in incubator on april 24th 2009
• So<ware distribuIon framework
based on OSGi
• 7 commi0ers
• working codebase
• no release yet
• h0p://incubator.apache.org/ace/
Friday, November 6, 2009
19. Keeping the history
last year
!"#$"%&%'() +,-.&'()
last month
!"#$"%&%'()
!"#$"%&%'(* +,-.&'()
last week
!"#$"%&%'()
!"#$"%&%'(*
!"#$%&'(
+,-.&'(!
+,-.&'(* now
!"#$"%&%'() !"#$%&'(
!"#$"%&%'(* !"#$%&')
+,-.&'(!
!"#$"%&%'(*
!"#$"%&%'(!
!"#$%&')
!"#$%&'*
!"#$"%&%'(! !"#$%&'*
Friday, November 6, 2009
20. Why?
• Automate deployment
• Insight into who uses what
• History of each system
• Consistent development, tesIng, producIon
• Basis for several possible extensions
Friday, November 6, 2009
22. High level overview
!"#"$!"$%&'
!"#,-&("$+
()$)*"("$+
.""!/)%0
Friday, November 6, 2009
23. Dependency Management
• Organizing components
• Mapping them to targets
Friday, November 6, 2009
24. Organizing components
• group components: makes them manageable
• two levels: group and license
• Analogy: IKEA catalog
• data is kept in “store repository”
!"#$%&'%(#)*"#$+
!"#$"%&%' ,-".$ ()*&%+&
Friday, November 6, 2009
25. Mapping them onto targets
• mapping licenses to targets
• someImes done by an external system
• data kept in “license repository”
!"#$%&$'($)*&"+*,-
!"#$%&$ '()*$+
Friday, November 6, 2009
26. User Interface
• user retrieves,
• modifies locally and
• stores data on server
Friday, November 6, 2009
27. Deployment
• list of targets
• list of versions per target
• list of components per version
• management agent
!"#$%&'"()*+"#%,-)%.&
!"#$%& '()*(+%+&
Friday, November 6, 2009
31. Deployment Admin
• deployment packages
• versioned set of arIfacts
• transacIonal install/update
• fix packages provide deltas
• signing makes them secure
• extensible through resource processors
• AutoConfig defines configuraIon admin data
Friday, November 6, 2009
32. From dependency to deployment
!"#$%&'%(#)*"#$+ ,*-%.)%&'%(#)*"#$+ /%(0#+1%."&'%(#)*"#$+
!"#$"%&%' ,-".$ ()*&%+&
+ ()*&%+& /0-1&'
= /0-1&' !"#$"%&%'
Friday, November 6, 2009
38. Wrapup
• Apache ACE is incubaIng
• Take it for a test-‐drive!
• Looking for contribuIons:
• Apache Felix Karaf
• Maven / Nexus repository
• Kalumet, JEE auto deployment
Friday, November 6, 2009