Introduction to OSGi and Nakamura Services Carl Hall, Hallway Technologies
OSGi™- The Dynamic Module System for Java™ what exactly is... 12th Sakai Conference – Los Angeles, California – June 14-16
OSGi™ - The Dynamic Module System for Java™ <ul><li>Service Platform </li><ul><li>Framework
Layers </li><ul><li>Security
Module
Life Cycle
Service
Actual Services </li></ul><li>Bundles
Configuration </li></ul></ul>12th Sakai Conference – Los Angeles, California – June 14-16 <ul><li>OSGi Alliance founded 1999
Specification - 4 releases </li><ul><li>Core:  332 pgs
Compendium:  850 pgs
Enterprise:  484 pgs </li><ul><li>Total: 1666 </li></ul></ul></ul>
12th Sakai Conference – Los Angeles, California – June 14-16 OSGi Containers <ul><li>Apache Felix </li><ul><li>Apache Karaf
Apache ServiceMix </li></ul><li>Eclipse Equinox </li><ul><li>Eclipse Virgo (formerly Spring DM) </li></ul><li>Knoplerfish
Concierge
Newton </li></ul>
Show me the details! 12th Sakai Conference – Los Angeles, California – June 14-16 Enough with the chatter...
12th Sakai Conference – Los Angeles, California – June 14-16 Manifest
12th Sakai Conference – Los Angeles, California – June 14-16 Bundle Life Cycle <ul><li>INSTALLED </li><ul><li>Successfully...
12th Sakai Conference – Los Angeles, California – June 14-16 Bundle Activation
12th Sakai Conference – Los Angeles, California – June 14-16 Components
Upcoming SlideShare
Loading in …5
×

Introduction to OSGi and Nakamura Services

1,384 views
1,330 views

Published on

Introduction to OSGi and Nakamura Services

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,384
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to OSGi and Nakamura Services

  1. 1. Introduction to OSGi and Nakamura Services Carl Hall, Hallway Technologies
  2. 2. OSGi™- The Dynamic Module System for Java™ what exactly is... 12th Sakai Conference – Los Angeles, California – June 14-16
  3. 3. OSGi™ - The Dynamic Module System for Java™ <ul><li>Service Platform </li><ul><li>Framework
  4. 4. Layers </li><ul><li>Security
  5. 5. Module
  6. 6. Life Cycle
  7. 7. Service
  8. 8. Actual Services </li></ul><li>Bundles
  9. 9. Configuration </li></ul></ul>12th Sakai Conference – Los Angeles, California – June 14-16 <ul><li>OSGi Alliance founded 1999
  10. 10. Specification - 4 releases </li><ul><li>Core: 332 pgs
  11. 11. Compendium: 850 pgs
  12. 12. Enterprise: 484 pgs </li><ul><li>Total: 1666 </li></ul></ul></ul>
  13. 13. 12th Sakai Conference – Los Angeles, California – June 14-16 OSGi Containers <ul><li>Apache Felix </li><ul><li>Apache Karaf
  14. 14. Apache ServiceMix </li></ul><li>Eclipse Equinox </li><ul><li>Eclipse Virgo (formerly Spring DM) </li></ul><li>Knoplerfish
  15. 15. Concierge
  16. 16. Newton </li></ul>
  17. 17. Show me the details! 12th Sakai Conference – Los Angeles, California – June 14-16 Enough with the chatter...
  18. 18. 12th Sakai Conference – Los Angeles, California – June 14-16 Manifest
  19. 19. 12th Sakai Conference – Los Angeles, California – June 14-16 Bundle Life Cycle <ul><li>INSTALLED </li><ul><li>Successfully installed in container </li></ul><li>RESOLVED </li><ul><li>All resources available; ready to start or has stopped </li></ul><li>STARTING </li><ul><li>Activator.start called; waiting for return </li></ul><li>ACTIVE </li><ul><li>No errors during start; activator has returned </li></ul><li>STOPPING </li><ul><li>Activator.stop called; waiting for return </li></ul><li>UNINSTALLED </li><ul><li>Cannot move to any other state </li></ul></ul>
  20. 20. 12th Sakai Conference – Los Angeles, California – June 14-16 Bundle Activation
  21. 21. 12th Sakai Conference – Los Angeles, California – June 14-16 Components
  22. 22. 12th Sakai Conference – Los Angeles, California – June 14-16 Component Execution @Activate protected void activate(ComponentContext cc) { } protected void activate(BundleContext bc) { } protected void activate(Map props) { } protected void activate(BundleContext b, ComponentContext c, Map props) { } @Modified protected void modified(...) {} @Deactivate protected void deactivate(...) {} protected void deactivate(int reasonCode) {} // OSGi R4 Spec 112.5.8
  23. 23. 12th Sakai Conference – Los Angeles, California – June 14-16 Defining a Service // implement interfaces, provide services
  24. 24. 12th Sakai Conference – Los Angeles, California – June 14-16 Configuring a Service
  25. 25. 12th Sakai Conference – Los Angeles, California – June 14-16 Configuring a Service
  26. 26. 12th Sakai Conference – Los Angeles, California – June 14-16 Configuring a Service org.sakaiproject.nakamura.auth.cas.CasAuthenticationHandler.cfg
  27. 27. 12th Sakai Conference – Los Angeles, California – June 14-16 Spec Defined Services <ul><li>System Services </li><ul><li>Logging
  28. 28. Configuration Admin
  29. 29. Device Access
  30. 30. User Admin
  31. 31. IO Connector
  32. 32. Preferences
  33. 33. Component Runtime
  34. 34. Deployment Admin
  35. 35. Event Admin
  36. 36. Application Admin </li></ul></ul><ul><li>Protocol Services </li><ul><li>HTTP Service
  37. 37. UPnP Device Service
  38. 38. DMT Admin </li></ul><li>Miscellaneous Services </li><ul><li>Wire Admin
  39. 39. XML Parse
  40. 40. Measurement and State </li></ul></ul>
  41. 41. 12th Sakai Conference – Los Angeles, California – June 14-16 Service Reference //default reference settings //optional reference
  42. 42. 12th Sakai Conference – Los Angeles, California – June 14-16 Service References //optional reference, multiple services
  43. 43. 12th Sakai Conference – Los Angeles, California – June 14-16 Inverse Registration
  44. 44. 12th Sakai Conference – Los Angeles, California – June 14-16 Multiple Service Impls
  45. 45. 12th Sakai Conference – Los Angeles, California – June 14-16 Service Targets Like a boss
  46. 46. 12th Sakai Conference – Los Angeles, California – June 14-16 Nakamura Services <ul>Nakamura (core) <ul><li>50 bundles
  47. 47. 192 components </li><ul><li>77 configurable </li></ul><li>244 services </li></ul>Nakamura (all) <ul><li>101 bundles
  48. 48. 266 components </li><ul><li>97 configurable </li></ul><li>311 services </li></ul></ul><ul>Nakamura + Sling <ul><li>121 bundles
  49. 49. 318 components </li><ul><li>196 configurable </li></ul><li>433 services </li></ul></ul>

×