• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Subsystems for those occasions where bundles are just too small... - Tom Watson
 

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

on

  • 2,458 views

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

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.

Statistics

Views

Total Views
2,458
Views on SlideShare
2,458
Embed Views
0

Actions

Likes
1
Downloads
72
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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
    • AgendaMotivationModelTypesMeta-dataPackagingLife-cycle and API Page 2 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Subsystem Lifecycle: InstallingRoot Subsystem Service (Subsystem) Root Page 37 OSGi Alliance Marketing © 2008-2012 . All Rights Reserved, © IBM Corp. 2012
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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