OSGi Provisioning With Apache ACE

31
OSGi Provisioning with Marcel Offermans 1 Thursday, January 21, 2010

description

Presentation by Marcel Offermans (Luminis) at OSGi Users' Forum UK on 19th Jan 2010.

Transcript of OSGi Provisioning With Apache ACE

Page 1: OSGi Provisioning With Apache ACE

OSGi  Provisioning  with

Marcel  Offermans

1Thursday, January 21, 2010

Page 2: OSGi Provisioning With Apache ACE

Marcel  Offermans

• commi&er  and  PMC  member  at  Apache  Felix

• commi&er  and  PPMC  member  at  Apache  ACE

• so:ware  architect  at  luminis  technologies

[email protected]

2Thursday, January 21, 2010

Page 3: OSGi Provisioning With Apache ACE

Luminis

• So:ware  Development

• Knowledge  and  InformaGon  Services

• Live

• CloseSure

• Technologies

• UK

• h&p://www.luminis.nl/?lang=en

3Thursday, January 21, 2010

Page 4: OSGi Provisioning With Apache ACE

Agenda

• OSGi  Provisioning  with  Apache  ACE

• Demo  of  Apache  ACE  in  AcGon

• Wrapup  and  QuesGons

4Thursday, January 21, 2010

Page 5: OSGi Provisioning With Apache ACE

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

Page 6: OSGi Provisioning With Apache ACE

!"#$%&'(!

!"#$%&'()

!"#$%&'(*

+%",-'(!

+%",-'()

+%",-'(*

Deployment

!"#$%&'"()

6Thursday, January 21, 2010

Page 7: OSGi Provisioning With Apache ACE

last year!"#$%&'(!

!"#$%&'()

*%"+,'(!

*%"+,'(-

last month!"#$%&'(!

!"#$%&'()

*%"+,'(!

*%"+,'()

*%"+,'(-

last week

!"#$%&'(!

!"#$%&'()

!"#$%&'(*

+%",-'(!

+%",-'()

+%",-'(*

now

!"#$%&'(!

!"#$%&'()

!"#$%&'(*

+%",-'(!

+%",-'()

+%",-'(*

Keeping  the  history

7Thursday, January 21, 2010

Page 8: OSGi Provisioning With Apache ACE

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

Page 9: OSGi Provisioning With Apache ACE

Topology

!"#$%!

!"#$%!

!"#$%!

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

-%#+%#

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

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

"$%&!

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

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

9Thursday, January 21, 2010

Page 10: OSGi Provisioning With Apache ACE

High  level  overview

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

!"#$%&'"()

!""#$%&'

10Thursday, January 21, 2010

Page 11: OSGi Provisioning With Apache ACE

High  level  overview

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

!""#$%&'

11Thursday, January 21, 2010

Page 12: OSGi Provisioning With Apache ACE

Dependency  Management

• Organizing  arGfacts

• Mapping  them  to  targets

12Thursday, January 21, 2010

Page 13: OSGi Provisioning With Apache ACE

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

Page 14: OSGi Provisioning With Apache ACE

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

Page 15: OSGi Provisioning With Apache ACE

User  Interface

• retrieve,  modify  and  store

• interact  with  OBR

15Thursday, January 21, 2010

Page 16: OSGi Provisioning With Apache ACE

High  level  overview

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

!"#$%&'"()

!""#$%&'

16Thursday, January 21, 2010

Page 17: OSGi Provisioning With Apache ACE

High  level  overview

!"#$%&'"()

!""#$%&'

17Thursday, January 21, 2010

Page 18: OSGi Provisioning With Apache ACE

Deployment

• deployment  repository

• management  agent

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

/0.1") 2.3405)

18Thursday, January 21, 2010

Page 19: OSGi Provisioning With Apache ACE

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

Page 20: OSGi Provisioning With Apache ACE

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

Page 21: OSGi Provisioning With Apache ACE

Management  Agent

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

*'.#"/0#,

"#10)-2#$343(*5

(/"!340)6

!"#"$%!%#&'"$%#&

'('.#

21Thursday, January 21, 2010

Page 22: OSGi Provisioning With Apache ACE

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

Page 23: OSGi Provisioning With Apache ACE

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

Page 24: OSGi Provisioning With Apache ACE

High  level  overview

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

!"#$%&'"()

!""#$%&'

24Thursday, January 21, 2010

Page 25: OSGi Provisioning With Apache ACE

High  level  overview

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

!"#$%&'"()

!""#$%&'

25Thursday, January 21, 2010

Page 26: OSGi Provisioning With Apache ACE

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

Page 27: OSGi Provisioning With Apache ACE

Demo

27Thursday, January 21, 2010

Page 28: OSGi Provisioning With Apache ACE

Commercial  Extensions  and  Support

• LMS  Core

• LMS  Device

• LMS  License  Mgr

• LMS  Mobile

28Thursday, January 21, 2010

Page 29: OSGi Provisioning With Apache ACE

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

Page 30: OSGi Provisioning With Apache ACE

QuesGons?

?

?

?

?

?

??

?

? ??

?

??

?

?

30Thursday, January 21, 2010

Page 31: OSGi Provisioning With Apache ACE

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