Subsystems:for those occasions where bundles are just too smallTom WatsonIBMMarch 27st 2012                               ...
AgendaMotivationModelTypesMeta-dataPackagingLife-cycle and API  Page 2        OSGi Alliance Marketing © 2008-2012 . All Ri...
MotivationEnterprise Java platforms are awash with bundlecollectionsApache Aries – ApplicationsApache Geronimo - Applicati...
Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot)                                      ...
Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot)Each can have many children           ...
Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot)Each can have many children           ...
Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy                                              ...
Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy                                              ...
Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy                                              ...
Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy                                              ...
Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy                                              ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)                                                            ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle                                           ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycleCan have children                          ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycleCan have children                          ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle                                           ...
Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle                                           ...
Subsystem Types: CompositeCoarse-grained sub-assembly  module                                                             ...
Subsystem Types: CompositeCoarse-grained sub-assembly  moduleExplicit export and import of  capabilities (e.g. packages,  ...
Subsystem Types: CompositeCoarse-grained sub-assembly  moduleExplicit export and import of  capabilities (e.g. packages,  ...
Subsystem Types: CompositeCoarse-grained sub-assembly  moduleExplicit export and import of  capabilities (e.g. packages,  ...
Subsystem Types: Composite Coarse-grained sub-assembly   module Explicit export and import of   capabilities (e.g. package...
Subsystem Types: ApplicationUsed for composing hosted  applications using  Resources (e.g. Bundles)                       ...
Subsystem Types: ApplicationUsed for composing hosted  applications using  Resources (e.g. Bundles)Scoped                 ...
Subsystem Types: ApplicationUsed for composing hosted  applications using  Resources (e.g. Bundles)                       ...
Subsystem Types: ApplicationUsed for composing hosted  applications using  Resources (e.g. Bundles)                       ...
Example CombinationSubsystem Types can be                                                              A1                 ...
Subsystem Meta-dataManifest format with relaxed rules    OSGI-INF/SUBSYSTEM.MFSome headers unique to Subsystem typeCommon ...
Subsystem Meta-data: Identity HeadersIdentified by   symbolic name                                                    Mani...
Subsystem Meta-data: Type HeaderType governs the sharing policyStandard Types:                                            ...
ContentIdentifies the resources containedin the Subsystem                                               Manifest-Version: ...
Explicit Sharing                                      Manifest-Version: 1.0                                               ...
InformationalHeaders for humans                                     Manifest-Version: 1.0                                 ...
PortabilitySubsystem Manifests areportable to a pointTarget Environment + TransitiveDependencies must support the         ...
PackagingPackaged in a Subsystem                                                         my.first.subsystem.esaArchiveA zi...
Subsystem ServiceLife-cycle management                                                                  A1                ...
Subsystem Lifecycle: InstallingRoot Subsystem Service                                                                     ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystems                                        ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystemsRepository based provisioning           ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystemsRepository based provisioning   Content ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystemsRepository based provisioning   Content ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystemsRepository based provisioning   Content ...
Subsystem Lifecycle: InstallingRoot Subsystem Service   used to install subsystemsRepository based provisioning   Content ...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystems                                             star...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystems                                             star...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystems                                             star...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystems                                             star...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystems                                                 ...
Subsystem Lifecycle: StartingSubsystem Service   used to start subsystemsEffect on referenced resources   Dependencies are...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystem                                            stop(...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystem                                            stop(...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystem                                            stop(...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystem                                            stop(...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystemEffect on referenced resources   Content resource...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystem                                                 ...
Subsystem Lifecycle: StoppingSubsystem Service   used to stop a subsystemEffect on referenced resources   Content resource...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystem                                      un...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystem                                      un...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystem                                      un...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystem                                      un...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystemEffect on referenced resources   Content...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystem                                        ...
Subsystem Lifecycle: UninstallingSubsystem Service   used to uninstall a subsystemEffect on referenced resources   Content...
SummarySubsystems are the standard way to manage groups ofresourcesRepository based provisioning of subsystem content and ...
Trademarksational Business Machines Corp., registered in many jurisdictions worldwide.tered trademarks of Oracle and/or it...
Upcoming SlideShare
Loading in...5
×

Subsystems for those occasions where bundles are just too small... - Tom Watson

2,535

Published on

Presentation by Tom Watson (IBM) at OSGi DevCon 2012 BOF (22 March, 2012)

Video recording of presentation is available at http://youtu.be/3uq729vFQEc

Enterprise OSGi 4.2 standardized the use of a number of component models for developing Enterprise OSGi applications: Servlet, JSP, Blueprint, and JPA. Implementations of these specifications have since become available in many open source projects and products such as Apache Aries, Eclipse Gemini/Virgo, GlassFish, JBoss Application Server and WebSphere Application Server. Looking at a number of these environments, it's clear that when it comes to assembly and deployment there's still something missing, namely something to represent a collection of bundles (e.g. an Application). Eclipse Virgo has "PARs" and "Plans", Apache Aries has "Applications", and WebSphere Application Server has “Applications” and “Composites”. Looking further afield to kernel projects, other bundle collection concepts exist, such as Apache Karaf "Features". Each model has concepts in common, such as identity, versioning and content, but also differences like isolation and format. It is clear that this is an area of Enterprise OSGi that could benefit from standardization and hence the Subsystems specification is being created for the Enterprise OSGi 5.0 specification.

Subsystems is an OSGi specification which standardizes artifacts representing collections of bundles, such as an Application. This presentation will introduce the Subsystems design. It will describe how Subsystems can be used for development and deployment of bundle collections with different isolation semantics, to address the application, composite and feature use cases seen in the OSGi community today. The OSGi framework provides a powerful runtime for the Java platform, which promotes strong modularity, versioning and dynamic management of bundles. Bundles installed in the framework are expected to collaborate and live together sharing the same service registry and public class space. Until now there was no standard way to provide additional isolation and lifecycle to a collection of bundles installed in a single framework. This presentation will discuss how the subsystems specification can be used to provide additional isolation to a collection of bundles or applications installed into the framework.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,535
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Subsystems for those occasions where bundles are just too small... - Tom Watson

  1. 1. Subsystems:for those occasions where bundles are just too smallTom WatsonIBMMarch 27st 2012 OSGi Alliance Marketing © 2008-2010 . All Rights 1 Page Reserved COPYRIGHT © 2008-2012 OSGi Alliance. All Rights Reserved, © IBM Corp. 2012
  2. 2. AgendaMotivationModelTypesMeta-dataPackagingLife-cycle and API Page 2 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  3. 3. MotivationEnterprise Java platforms are awash with bundlecollectionsApache Aries – ApplicationsApache Geronimo - ApplicationsApache Karaf – FeaturesEclipse Virgo – Plans, PARsIBM WebSphere Application Server – Applications andCompositeOracle GlassFish – ApplicationsParemus Service Fabric – SystemsCrying out for standardizationPortabilityToolsEcosystem Page 3 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  4. 4. Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot) subsystem root Page 4 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  5. 5. Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot)Each can have many children subsystem root S1 S2 S3 S4 S5 Page 5 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  6. 6. Subsystem Model: HierarchySubsystem HierarchyEach has 1 or more parents (exceptroot)Each can have many children subsystemEach is contained in a Region region rootRegions Provides isolation for a group of one S1 S2 or more subsystems Defined by a scoped subsystem S3 S4 S5 Page 6 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  7. 7. Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy bundle requirement capability root A B Y Y S1 S2 Page 7 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  8. 8. Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy bundleA region provides isolation requirement capability root A X B Y Y S1 S2 Page 8 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  9. 9. Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy bundleA region provides isolation requirementSelectively export capabilities to the capabilityparent root exports Y A B Y Y S1 S2 Page 9 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  10. 10. Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy bundleA region provides isolation requirementSelectively export capabilities to the capabilityparent rootSelectively import capabilities from theparent imports Y exports Y A B Y Y S1 S2 Page 10 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  11. 11. Subsystem Model: Sharing PoliciesScoped subsystems controlthe sharing policy bundleA region provides isolation requirementSelectively export capabilities to the capabilityparent root Selectively import capabilities from the parentUnscoped subsystems share everything with other imports Y exports Y subsystems contained in the same A B region Y Y S1 S2 U1 C Y Page 11 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  12. 12. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles) A C B D Page 12 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  13. 13. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle A C B D F1 F2 Page 13 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  14. 14. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycleCan have children A C B D F1 F2 F F3 Page 14 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  15. 15. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycleCan have children A CNo scoping, able to share B Dresources shared E resource E F1 F2 F F3 Page 15 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  16. 16. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle S1Can have children A CNo scoping, able to share B Dresources shared E resource EMust be contained within a F1 F2region F F3 Page 16 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  17. 17. Subsystem Types: FeaturesCollection of Resources (e.g.Bundles)Shared life-cycle S1Can have children A CNo scoping, able to share B Dresources shared E resource EMust be contained within a F1 F2 region FExamples: Karaf Features, F3Virgo unscoped Plans Page 17 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  18. 18. Subsystem Types: CompositeCoarse-grained sub-assembly module X X Y Y C1 C2 Page 18 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  19. 19. Subsystem Types: CompositeCoarse-grained sub-assembly moduleExplicit export and import of capabilities (e.g. packages, Root services) Import X Import Y Export Y Export X X X Y Y C1 C2 Page 19 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  20. 20. Subsystem Types: CompositeCoarse-grained sub-assembly moduleExplicit export and import of capabilities (e.g. packages, Root services)Composed of Resources (e.g. Bundles) Import X Import Y Export Y Export X A C X X B D Y Y C1 C2 Page 20 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  21. 21. Subsystem Types: CompositeCoarse-grained sub-assembly moduleExplicit export and import of capabilities (e.g. packages, Root services)Composed of Resources (e.g. Bundles) Import X Import Y Export Y Export XScoped A C X X B D Y Y E E C1 C2 Page 21 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  22. 22. Subsystem Types: Composite Coarse-grained sub-assembly module Explicit export and import of capabilities (e.g. packages, Root services) Composed of Resources (e.g. Bundles) Import X Import Y Export Y Export X Scoped A C Examples: RFC 138 Composite X X Bundles*, WebSphere B D Y Y Composite Bundles E E C1 C2*old design prior to resolver hooks Page 22 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  23. 23. Subsystem Types: ApplicationUsed for composing hosted applications using Resources (e.g. Bundles) A C X X B E E B Y Y Y Y Page 23 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  24. 24. Subsystem Types: ApplicationUsed for composing hosted applications using Resources (e.g. Bundles)Scoped A C X X B E E B Y Y Y Y A1 A2 Page 24 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  25. 25. Subsystem Types: ApplicationUsed for composing hosted applications using Resources (e.g. Bundles) C RootScopedNo exporting capabilities, implicit imports of dependencies A X X C B E E B Y Y Y Y A1 A2 Page 25 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  26. 26. Subsystem Types: ApplicationUsed for composing hosted applications using Resources (e.g. Bundles) C RootScopedNo exporting capabilities, implicit imports of dependencies A X X CExamples: Aries Application, B E E B Virgo Scoped Plans, Virgo PARs Y A1 Y Y A2 Y Page 26 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  27. 27. Example CombinationSubsystem Types can be A1 A2 G Hmixed ‘n’ matched X X F FExample shows:Features used to assemble a Composite C1Composite providing a ‘platform’ toApplications A C X X B D Y Y E E F1 F2 Root Page 27 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  28. 28. Subsystem Meta-dataManifest format with relaxed rules OSGI-INF/SUBSYSTEM.MFSome headers unique to Subsystem typeCommon concepts use same headersHeaders cover:Identity and typeContentSharing policyHuman readable information Page 28 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  29. 29. Subsystem Meta-data: Identity HeadersIdentified by symbolic name Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 version Subsystem-SymbolicName: my.first.subsystem Subsystem-Version: 1.0.0 Page 29 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  30. 30. Subsystem Meta-data: Type HeaderType governs the sharing policyStandard Types: Manifest-Version: 1.0osgi.subsystem.application Subsystem-ManifestVersion: 1.0osgi.subsystem.composite Subsystem-SymbolicName: my.first.subsystemosgi.subsystem.feature Subsystem-Version: 1.0.0 Subsystem-Type:One directive specified for osgi.subsystem.application;controlling where dependencies provision-policy:=acceptDependenciesare installed Page 30 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  31. 31. ContentIdentifies the resources containedin the Subsystem Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0Resources identified by name, Subsystem-SymbolicName: my.first.Subsystemversion (range) and type Subsystem-Version: 1.0.0Composites only allow fixed versions Subsystem-Type: osgi.subsystem.application;Standard types provision-policy:=acceptDependencies Subsystem-Content:osgi.bundle (default) an.osgi.bundle1;version="[1.0, 1.1)",osgi.fragment an.osgi.subsystem; type=osgi.subsystem.application;subsystem types version="[1.2, 1.3)"Can be optional Page 31 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  32. 32. Explicit Sharing Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 Subsystem-Name: A Composite Subsystem Subsystem-Description: This is a Composite Subsystem Subsystem-SymbolicName: my.first.composite Subsystem-Version: 1.0.0 Subsystem-Type: osgi.subsystem.composite Subsystem-Content:Composite subsystems share an.osgi.bundle1;version="[1.0, 1.0]", an.osgi.bundle2;version="[1.0, 1.0]"nothing unless explicitly Subsystem-ExportService:stated exported.service.Interface; filter:="(color=blue)"Re-use existing bundle Subsystem-ImportService:headers where applicable imported.service.Interface Export-Package:Not applicable for implicitly an.exported.pkg;version="1.0"isolated subsystems (i.e. Import-Package: an.imported.pkg;version="[1.0, 2.0)"Features and Applications) Require-Bundle: a.required.bundle; bundle-version="[1.0, 2.0)" Page 32 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  33. 33. InformationalHeaders for humans Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 Subsystem-Name: First Subsystem Subsystem-Description: This is my first ever Subsystem and its sooo cool. Subsystem-SymbolicName: my.first.subsystem Subsystem-Version: 1.0.0 Subsystem-Type: osgi.subsystem.application; provision-policy:=acceptDependencies Subsystem-Content: an.osgi.bundle;version="[1.0, 1.1)", an.osgi.subsystem; type:=osgi.subsystem.application; version="[1.2, 1.3)" Page 33 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  34. 34. PortabilitySubsystem Manifests areportable to a pointTarget Environment + TransitiveDependencies must support the Subsystem Definitionrequired resource implementationtypes (e.g. Blueprint, WAB, DS, etc)Deployment manifests may be DependenciesportableDifferent Target Environments likely torequire different Transitive Target EnvironmentDependencies Page 34 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  35. 35. PackagingPackaged in a Subsystem my.first.subsystem.esaArchiveA zip file with .esa extension: OSGI-INF/SUBSYSTEM.MFSubsystem Manifest (optional) OSGI-INF/DEPLOYMENT.MFDeployment Manifest (optional)Resources(optional) an.osgi.bundle-1.0.0.jar an.osgi.bundle2-1.0.0.jar Page 35 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  36. 36. Subsystem ServiceLife-cycle management A1 A2Install, start, stop, uninstall G HEach subsystem logically F Fhas it’s own Subsystem A1 A2serviceNavigation C1getParents, getChildren, getConstituentsIntrospection A C1, F1, F2 C (A1, A2)getHeaders, getState, getSymbolicName,getVersion, getLocation B D F1 F2 (ALL) Root Page 36 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  37. 37. Subsystem Lifecycle: InstallingRoot Subsystem Service (Subsystem) Root Page 37 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  38. 38. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystems A1 installing install() (Subsystem) Root Page 38 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  39. 39. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystemsRepository based provisioning A1 installing install() (Subsystem) Root A, B, C, D, E, F, G Page 39 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  40. 40. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystemsRepository based provisioning Content Resources (specified by A1 Subsystem-Content header) A B installing install() (Subsystem) Root A, B, C, D, E, F, G Page 40 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  41. 41. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystemsRepository based provisioning Content Resources (specified by A1 Subsystem-Content header) A Dependencies B installing E install() (Subsystem) F Root A, B, C, D, E, F, G Page 41 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  42. 42. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystemsRepository based provisioning Content Resources (specified by A1 Subsystem-Content header) A Dependencies B installed E (Subsystem) F Root A, B, C, D, E, F, G Page 42 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  43. 43. Subsystem Lifecycle: InstallingRoot Subsystem Service used to install subsystemsRepository based provisioning Content Resources (specified by A1 A2 Subsystem-Content header) A C Dependencies B D Share capabilities installed installed E G (Subsystem) F Root A, B, C, D, E, F, G Page 43 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  44. 44. Subsystem Lifecycle: StartingSubsystem Service used to start subsystems start() A1 A2 A C B D E G F Root Page 44 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  45. 45. Subsystem Lifecycle: StartingSubsystem Service used to start subsystems start()Effect on referenced resources A1 A2 A C B D starting E G F Root Page 45 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  46. 46. Subsystem Lifecycle: StartingSubsystem Service used to start subsystems start()Effect on referenced resources Dependencies are started when one A1 A2 subsystem that uses them is started A C B D starting E G F Root Page 46 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  47. 47. Subsystem Lifecycle: StartingSubsystem Service used to start subsystems start()Effect on referenced resources Dependencies are started when one A1 A2 subsystem that uses them is started A C Content resources are started B D starting E G F Root Page 47 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  48. 48. Subsystem Lifecycle: StartingSubsystem Service used to start subsystems start()Effect on referenced resources Dependencies are started when one A1 A2 subsystem that uses them is started A C Content resources are started B D active E G F Root Page 48 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  49. 49. Subsystem Lifecycle: StartingSubsystem Service used to start subsystemsEffect on referenced resources Dependencies are started when one A1 A2 subsystem that uses them is started A C Content resources are started B D active active E G F Root Page 49 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  50. 50. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystem stop() A1 A2 A C B D active active E G F Root Page 50 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  51. 51. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystem stop()Effect on referenced resources A1 A2 A C B D stopping started E G F Root Page 51 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  52. 52. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystem stop()Effect on referenced resources Content resources are stopped A1 A2 A C B D stopping started E G F Root Page 52 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  53. 53. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystem stop()Effect on referenced resources Content resources are stopped A1 A2 Dependencies are stopped when no subsystems that use them are A C active B D stopping started E G F Root Page 53 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  54. 54. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystemEffect on referenced resources Content resources are stopped A1 A2 Dependencies are stopped when no subsystems that use them are A C active B D resolved started E G F Root Page 54 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  55. 55. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystem stop()Effect on referenced resources Content resources are stopped A1 A2 Dependencies are stopped when no subsystems that use them are A C active B D resolved started E G F Root Page 55 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  56. 56. Subsystem Lifecycle: StoppingSubsystem Service used to stop a subsystemEffect on referenced resources Content resources are stopped A1 A2 Dependencies are stopped when no subsystems that use them are A C active B D resolved resolved E G F Root Page 56 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  57. 57. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystem uninstall() A1 A2 A C B D resolved resolved E G F Root Page 57 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  58. 58. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystem uninstall()Effect on referenced resources A1 A2 A C B D uninstalling resolved E G F Root Page 58 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  59. 59. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystem uninstall()Effect on referenced resources Content resources are uninstalled A1 A2 A C B D uninstalling resolved E G F Root Page 59 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  60. 60. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystem uninstall()Effect on referenced resources Content resources are uninstalled A1 A2 Dependencies are uninstalled when no subsystem is installed that uses C them D uninstalling resolved E G F Root Page 60 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  61. 61. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystemEffect on referenced resources Content resources are uninstalled A1 A2 Dependencies are uninstalled when no subsystem is installed that uses C them D uninstalled resolved G F Root Page 61 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  62. 62. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystem uninstall()Effect on referenced resources Content resources are uninstalled A1 A2 Dependencies are uninstalled when no subsystem is installed that uses C them D uninstalled resolved G F Root Page 62 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  63. 63. Subsystem Lifecycle: UninstallingSubsystem Service used to uninstall a subsystemEffect on referenced resources Content resources are uninstalled A1 A2 Dependencies are uninstalled when no subsystem is installed that uses them uninstalled uninstalled Root Page 63 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  64. 64. SummarySubsystems are the standard way to manage groups ofresourcesRepository based provisioning of subsystem content and dependenciesSubsystem types define sharing semanticsAPI enables management of Subsystem life-cycleStandardized meta-data and packaging (.esa file) Page 64 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  65. 65. Trademarksational Business Machines Corp., registered in many jurisdictions worldwide.tered trademarks of Oracle and/or its affiliates.companies. A current list of IBM trademarks is available on the Web at “Copyright Page 65 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×