Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSGi Provisioning With Apache ACE

6,285 views

Published on

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

Published in: Technology
  • Be the first to comment

OSGi Provisioning With Apache ACE

  1. 1. OSGi  Provisioning  with Marcel  Offermans Thursday, January 21, 2010 1
  2. 2. Marcel  Offermans • commi&er  and  PMC  member  at  Apache  Felix • commi&er  and  PPMC  member  at  Apache  ACE • so:ware  architect  at  luminis  technologies • marcel.offermans@luminis.nl Thursday, January 21, 2010 2
  3. 3. Luminis • So:ware  Development • Knowledge  and  InformaGon  Services • Live • CloseSure • Technologies • UK • h&p://www.luminis.nl/?lang=en Thursday, January 21, 2010 3
  4. 4. Agenda • OSGi  Provisioning  with  Apache  ACE • Demo  of  Apache  ACE  in  AcGon • Wrapup  and  QuesGons Thursday, January 21, 2010 4
  5. 5. 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/ Thursday, January 21, 2010 5
  6. 6. Deployment !"#$%&'(! +%",-'(! !"#$%&'() !"#$%&'"() +%",-'() !"#$%&'(* +%",-'(* Thursday, January 21, 2010 6
  7. 7. Keeping  the  history last year !"#$%&'(! *%"+,'(! last month !"#$%&'(! !"#$%&'() *%"+,'(! last week !"#$%&'(! !"#$%&'() +%",-'(! *%"+,'(- *%"+,'() now !"#$%&'(! +%",-'(! !"#$%&'() +%",-'() *%"+,'(- !"#$%&'() !"#$%&'(* +%",-'() +%",-'(* !"#$%&'(* +%",-'(* Thursday, January 21, 2010 7
  8. 8. Why? • Automate  deployment • Insight  into  who  uses  what • History  of  each  system • Consistent  development,  tesGng,  producGon • Basis  for  several  possible  extensions Thursday, January 21, 2010 8
  9. 9. Topology !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1 Thursday, January 21, 2010 9
  10. 10. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&' Thursday, January 21, 2010 10
  11. 11. High  level  overview !"#"$!"$%&' ()$)*"("$+ Thursday, January 21, 2010 11
  12. 12. Dependency  Management • Organizing  arGfacts • Mapping  them  to  targets Thursday, January 21, 2010 12
  13. 13. Organizing  arGfacts • group  arGfacts:  makes  them  manageable • two  levels:  feature  and  distribuGon • Analogy:  IKEA  catalog • data  is  kept  in  “store  repository” !"#$%&'%(#)*"#$+ ,$-./0" 5%/"3$% 1*)"$*23-#4 Thursday, January 21, 2010 13
  14. 14. Mapping  them  onto  targets • mapping  distribuGons  to  targets • someGmes  done  by  an  external  system • data  kept  in  “license  repository” !"#$%&$'($)*&"+*,- ."&+,"/01*% 23,4$+ Thursday, January 21, 2010 14
  15. 15. User  Interface • retrieve,  modify  and  store • interact  with  OBR Thursday, January 21, 2010 15
  16. 16. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&' Thursday, January 21, 2010 16
  17. 17. High  level  overview !"#$%&'"() Thursday, January 21, 2010 17
  18. 18. Deployment • deployment  repository • management  agent !"#$%&'"()*+"#%,-)%.& /0.1") 2.3405) Thursday, January 21, 2010 18
  19. 19. Deployment  Repository &!"-)&' ()"'*+,' !"#$!%&' 1 0/12323 7/12323 4 0/12423 7/12323 8/42323 .!"-)&/0 5 0/12423 8/42323 9/1232: 6 8/42323 9/52323 1 7/12323 9/52323 .!"-)&/7 4 0/12123 7/12321 9/1232: Thursday, January 21, 2010 19
  20. 20. Management  Agent • manages  life  cycle  of  bundles BundleContext • controls  package  sharing  policies PackageAdmin • controls  starGng/stopping  order StartLevel !"#$%"&'($)&%*+,-./'0 1/'&%"2&)$.$),-$/3 45&%!"#$%6++$,3)& • implements  a  security  policy 7&+&,8&%9:%;&'8$/3%9<= >?3&%=@@A Condi7onalPermissionAdmin Thursday, January 21, 2010 20
  21. 21. Management  Agent !"#"$%!%#&'"$%#& *'.#"/0#, '('.# "#10)-2#$34 (/"!340)6 3(*5 !"#$%&'(%)$ "!*')+#,- Thursday, January 21, 2010 21
  22. 22. 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 Thursday, January 21, 2010 22
  23. 23. From  dependency  to  deployment !"#$%&'%(#)*"#$+ 6*0%4)%&'%(#)*"#$+ 1%(9#+:%4"&'%(#)*"#$+ ,$-./0" 5%/"3$% 1*)"$*23-#4 + 1*)"$*23-#4 7/$8%" = 7/$8%" ,$-./0" Thursday, January 21, 2010 23
  24. 24. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&' Thursday, January 21, 2010 24
  25. 25. High  level  overview !""#$%&' Thursday, January 21, 2010 25
  26. 26. Feedback !"#$%! *#(+,-,(&,&$. /"&"$%/%&!. &%!'(#) -%#+%# "$%&! 012,!. 012,!. 3($ 3($ !=#".%@A*?B*-%45(%23-'+*,C%151*%4521- $"#$E%;21-<*%$"%,+533*- !:#". !D#".!"#$"%&'()*+%,+'(+*- $"#$9 !"#$"%&'()*+%,+'(+*- $E#".!"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%: $"#.9 !"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%: $!#".!"#$.%;21-<*%"=%23-'+*- E$#$$ !"#$.%;21-<*%"=%23-'+*- !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*- E9#$$ !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*- !.#$9%&'()*+%,+533*- !.#$9%&'()*+%,+533*- Thursday, January 21, 2010 26
  27. 27. Demo Thursday, January 21, 2010 27
  28. 28. Commercial  Extensions  and  Support • LMS  Core • LMS  Device • LMS  License  Mgr • LMS  Mobile Thursday, January 21, 2010 28
  29. 29. 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! Thursday, January 21, 2010 29
  30. 30. QuesGons? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Thursday, January 21, 2010 30
  31. 31. Links • Apache  ACE hPp://incubator.apache.org/ace/ • Luminis hPp://www.luminis.nl/?lang=en • Luminis  Technologies hPp://luminis-­‐technologies.com/ • Huon  Bu&erworth  (of  Luminis  UK) huon.buPerworth@luminis.nl • Marcel  Offermans marcel.offermans@luminis.nl Thursday, January 21, 2010 31

×