osgi provisioning with apache ace
DESCRIPTION
Presentation by Marcel Offermans (Luminis) at OSGi Users' Forum UK on 19th Jan 2010.TRANSCRIPT
OSGi Provisioning with
Marcel Offermans
1Thursday, January 21, 2010
Marcel Offermans
• commi&er and PMC member at Apache Felix
• commi&er and PPMC member at Apache ACE
• so:ware architect at luminis technologies
2Thursday, January 21, 2010
Luminis
• So:ware Development
• Knowledge and InformaGon Services
• Live
• CloseSure
• Technologies
• UK
• h&p://www.luminis.nl/?lang=en
3Thursday, January 21, 2010
Agenda
• OSGi Provisioning with Apache ACE
• Demo of Apache ACE in AcGon
• Wrapup and QuesGons
4Thursday, January 21, 2010
Introducing Apache ACE
• Started in incubator on april 24th 2009
• So:ware distribuGon framework based on OSGi
• 12 commi&ers
• working codebase
• h&p://incubator.apache.org/ace/
5Thursday, January 21, 2010
!"#$%&'(!
!"#$%&'()
!"#$%&'(*
+%",-'(!
+%",-'()
+%",-'(*
Deployment
!"#$%&'"()
6Thursday, January 21, 2010
last year!"#$%&'(!
!"#$%&'()
*%"+,'(!
*%"+,'(-
last month!"#$%&'(!
!"#$%&'()
*%"+,'(!
*%"+,'()
*%"+,'(-
last week
!"#$%&'(!
!"#$%&'()
!"#$%&'(*
+%",-'(!
+%",-'()
+%",-'(*
now
!"#$%&'(!
!"#$%&'()
!"#$%&'(*
+%",-'(!
+%",-'()
+%",-'(*
Keeping the history
7Thursday, January 21, 2010
Why?
• Automate deployment
• Insight into who uses what
• History of each system
• Consistent development, tesGng, producGon
• Basis for several possible extensions
8Thursday, January 21, 2010
Topology
!"#$%!
!"#$%!
!"#$%!
&%!'(#)*#(+,-,(&,&$.
-%#+%#
/(0*(&%&!.#%*(-,!(#1
/2,%&!0"&"$%0%&!.
"$%&!
0"&"$%0%&!."$%&!
0"&"$%0%&!."$%&!
9Thursday, January 21, 2010
High level overview
!"#"$!"$%&'()$)*"("$+
!"#$%&'"()
!""#$%&'
10Thursday, January 21, 2010
High level overview
!"#"$!"$%&'()$)*"("$+
!""#$%&'
11Thursday, January 21, 2010
Dependency Management
• Organizing arGfacts
• Mapping them to targets
12Thursday, January 21, 2010
Organizing arGfacts
• group arGfacts: makes them manageable
• two levels: feature and distribuGon
• Analogy: IKEA catalog
• data is kept in “store repository”
!"#$%&'%(#)*"#$+
,$-./0" 1*)"$*23-#45%/"3$%
13Thursday, January 21, 2010
Mapping them onto targets
• mapping distribuGons to targets
• someGmes done by an external system
• data kept in “license repository”
!"#$%&$'($)*&"+*,-
."&+,"/01*% 23,4$+
14Thursday, January 21, 2010
User Interface
• retrieve, modify and store
• interact with OBR
15Thursday, January 21, 2010
High level overview
!"#"$!"$%&'()$)*"("$+
!"#$%&'"()
!""#$%&'
16Thursday, January 21, 2010
High level overview
!"#$%&'"()
!""#$%&'
17Thursday, January 21, 2010
Deployment
• deployment repository
• management agent
!"#$%&'"()*+"#%,-)%.&
/0.1") 2.3405)
18Thursday, January 21, 2010
Deployment Repository
!"#$!%&'()"'*+,'&!"-)&'
.!"-)&/0
0/123231
4
5
6
7/12323
0/12423 7/12323 8/42323
0/12423 8/42323 9/1232:
8/42323 9/52323
.!"-)&/77/123231
4
9/52323
0/12123 7/12321 9/1232:
19Thursday, January 21, 2010
Management Agent
• manages life cycle of bundlesBundleContext
• controls package sharing policiesPackageAdmin
• controls starGng/stopping orderStartLevel
• implements a security policyCondi7onalPermissionAdmin
!"#$%"&'($)&%*+,-./'01/'&%"2&)$.$),-$/345&%!"#$%6++$,3)&
7&+&,8&%9:%;&'8$/3%9<=>?3&%=@@A
20Thursday, January 21, 2010
Management Agent
!"#$%&'(%)$ "!*')+#,-
*'.#"/0#,
"#10)-2#$343(*5
(/"!340)6
!"#"$%!%#&'"$%#&
'('.#
21Thursday, January 21, 2010
Deployment Admin
• deployment packages
• versioned set of arGfacts
• transacGonal install/update
• fix packages provide deltas
• signing makes them secure
• extensible through resource processors
• AutoConfig defines configuraGon admin data
22Thursday, January 21, 2010
From dependency to deployment
!"#$%&'%(#)*"#$+
,$-./0" 1*)"$*23-#45%/"3$% + =6*0%4)%&'%(#)*"#$+
1*)"$*23-#4 7/$8%"
1%(9#+:%4"&'%(#)*"#$+
7/$8%" ,$-./0"
23Thursday, January 21, 2010
High level overview
!"#"$!"$%&'()$)*"("$+
!"#$%&'"()
!""#$%&'
24Thursday, January 21, 2010
High level overview
!"#"$!"$%&'()$)*"("$+
!"#$%&'"()
!""#$%&'
25Thursday, January 21, 2010
Feedback
!"#$"%&'()*+%,+'(+*-!"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%:!"#$.%;21-<*%"=%23-'+*-!"#$9%>3-'+*%+5%7*(,851%:%,2??**-*-!.#$9%&'()*+%,+533*-
!=#".%@A*?B*-%45(%23-'+*,C%151*%4521-!:#".!D#".$E#".$!#".
$"#$E%;21-<*%$"%,+533*-$"#$9$"#.9E$#$$E9#$$
!"#$"%&'()*+%,+'(+*-!"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%:!"#$.%;21-<*%"=%23-'+*-!"#$9%>3-'+*%+5%7*(,851%:%,2??**-*-!.#$9%&'()*+%,+533*-
!"#$%!
&%!'(#)*#(+,-,(&,&$.
-%#+%#/"&"$%/%&!.
"$%&!
012,!.3($
012,!.3($
26Thursday, January 21, 2010
Demo
27Thursday, January 21, 2010
Commercial Extensions and Support
• LMS Core
• LMS Device
• LMS License Mgr
• LMS Mobile
28Thursday, January 21, 2010
Wrapup
• Apache ACE is incubaGng
• Take it for a test-‐drive!
• Looking for contribuGons:
• Apache Felix Karaf
• Maven / Nexus repository
• Kalumet, JEE auto deployment
• Contact us for commercial support!
29Thursday, January 21, 2010
QuesGons?
?
?
?
?
?
??
?
? ??
?
??
?
?
30Thursday, January 21, 2010
Links
• Apache ACEhPp://incubator.apache.org/ace/
• LuminishPp://www.luminis.nl/?lang=en
• Luminis TechnologieshPp://luminis-‐technologies.com/
• Huon Bu&erworth (of Luminis UK)[email protected]
• Marcel [email protected]
31Thursday, January 21, 2010