SlideShare a Scribd company logo
1 of 31
Download to read offline
Subsystems:
for those occassions where bundles are just too small

Graham Charters

IBM

21st September 2011




                                                                             OSGi Alliance Marketing © 2008-2010 . 1
                                                                                                             Page
COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011
                                                                             All Rights Reserved
Disclaimer

• Subsystems is an in-progress RFC. What follows is a
  snapshot in time of the expert group thinking and is
  subject to change.




   Page 2   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
            © IBM Corp. 2011
Agenda

•   Motivation
•   Model
•   Development Meta-data
•   Deployment Meta-data
•   Packaging
•   Life-cycle
•   API



     Page 3   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
              © IBM Corp. 2011
Motivation
•   Enterprise Java platforms are awash with bundle
    collections
     •   Apache Aries – Applications
     •   Apache Geronimo - Applications
     •   Apache Karaf – Features
     •   Eclipse Virgo – Plans, PARs
     •   IBM WebSphere Application Server – Applications
         and Composite
     •   Oracle GlassFish – Applications
     •   Paremus Service Fabric – Systems
•   Crying out for standardization
     •   Portability
     •   Tools
     •   Ecosystem



     Page 4            OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                       © IBM Corp. 2011
Subsystems Model: Hierarchy

• Most common model is                                                                              subsystem
  hierarchy and so
  Subsystems are no                                                                             subsystem
  different
   • Each has 1 parent                                                                          subsystem
   • Each can have many children
                                                                           subsystem         subsystem
   • Children of the same parent
     are siblings
• Visually represented by                                                  subsystem         subsystem

  containment



    Page 5    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,               26.09.2011
              © IBM Corp. 2011
Subsystem Model: Sharing Policies

• Subsystems may provide and consume capabilities
   • E.g. packages, services, etc…
• Different subsystem types have different default sharing
  policies
   • E.g. share everything, share nothing, provide nothing
• Subsystem types that provide isolation may also have
  affinity – i.e. prefer the capabilities of their contents




   Page 6     OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
              © IBM Corp. 2011
Feature Subsystems
                                                                          feature
                                                                          bundle
• Collection of Resources
  (e.g. Bundles)                                                                                    feature
• Shared life-cycle                                                       bundle
• Can be nested
• No isolation or affinity                                                                       bundle

• Repository-based                                                        bundle
  provisioning
• Examples: Karaf
  Features, Virgo unscoped
  Plans                                                                   bundle        bundle


    Page 7   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
             © IBM Corp. 2011
Composite Subsystems
  • Coarse-grained sub-                                                          bundle

    assembly module
  • Isolated                                                                                           composite
  • Explicit share in/out
                                                                             bundle
  • Affinity
                                                                                           bundle
  • Repository-based
    provisioning                                                             bundle
  • Examples: RFC 138
    Composite Bundles*,
    WebSphere Composite
                                                                             bundle        bundle
    Bundles
       Page 8   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                26.09.2011
                © IBM Corp. 2011

*old design prior to resolver hooks
Application Subsystems
• Model for hosted
  applications
• Isolated                                                                                  application
                                                                          bundle
• No sharing out, implicit
  sharing in                                                                        bundle
• Affinity
                                                                          bundle
• Repository-based
  provisioning
• Examples: Aries
                                                                          bundle    bundle
  Application, Virgo Scoped
  Plans, Virgo PARs
    Page 9   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,            26.09.2011
             © IBM Corp. 2011
Example Combination

• Subsystem Types can be
  mixed ‘n’ matched                                                                                        framework
• Example shows:                                                                application            application
  •     Features used to assemble a
        Composite
  •     Composite providing a ‘platform’ to
                                                                                                       composite
        Applications
                                                                                feature              feature


                                                                                feature




      Page 10      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                 26.09.2011
                   © IBM Corp. 2011
Developer Headers

•   Manifest format with relaxed rules
•   Common concepts use same headers
•   Some headers unique to Subsystem type
•   Headers cover:
    •    Identity
    •    Content
    •    Isolation policy
    •    Human readable information



     Page 11     OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                 © IBM Corp. 2011
Identity Headers


• Identified by symbolic
  name and version                                                         Manifest-Version: 1.0
                                                                           Subsystem-ManifestVersion: 1.0
• All subsystem types                                                      Subsystem-SymbolicName:
                                                                            my.first.subsystem
  live in the same                                                         Subsystem-Version: 1.0.0

  namespace so type
  not part of the identity



    Page 12   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,               26.09.2011
              © IBM Corp. 2011
Type Header
• Type governs the sharing policy
• Standard Types:
                                                                     Manifest-Version: 1.0
   • osgi.application (the default)                                  Subsystem-ManifestVersion: 1.0
   • osgi.composite                                                  Subsystem-SymbolicName:
                                                                      my.first.subsystem
   • osgi.feature                                                    Subsystem-Version: 1.0.0
                                                                     Subsystem-Type:
• All subsystem types live in                                         osgi.application;
  same resource type                                                   provision-policy:=acceptTransitive
  (osgi.subsystem), so their
  subsystem type is not part of
  their identity
• One directive used in
  provisioning (see later)


     Page 13    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
                © IBM Corp. 2011
Content
   • Identifies the resources
     contained in the Subsystem                                        Manifest-Version: 1.0
                                                                       Subsystem-ManifestVersion: 1.0
   • Resources identified by name,                                     Subsystem-SymbolicName:
                                                                        my.first.Subsystem
     version (range) and type                                          Subsystem-Version: 1.0.0
       • Composites only allow fixed                                   Subsystem-Type:
         versions                                                       osgi.application;
                                                                          provision-policy:=acceptTransitive
   • Standard types                                                    Subsystem-Content:
                                                                        an.osgi.bundle1;version="[1.0, 1.1)",
       • osgi.bundle (default)                                          an.osgi.subsystem;
       • osgi.subsystem                                                  type:=osgi.subsystem;
                                                                         version="[1.2, 1.3)",
       • osgi.configuration*                                            an.osgi.config;
   • Can be optional                                                     type:=osgi.configuration;
                                                                         version="[1.0, 1.1)";
                                                                         resolution:=optional


*if we get there…
         Page 14    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,            26.09.2011
                    © IBM Corp. 2011
Informational
                                                                 Manifest-Version: 1.0
• Headers for humans                                             Subsystem-ManifestVersion: 1.0
                                                                 Subsystem-Name: First Subsystem
• Localized just like bundles                                    Subsystem-Description:
                                                                  This is my first ever Subsystem and
                                                                  it's sooo cool.
                                                                 Subsystem-SymbolicName:
                                                                  my.first.subsystem
                                                                 Subsystem-Version: 1.0.0
                                                                 Subsystem-Type:
                                                                  osgi.application;
                                                                    provision-policy:=acceptTransitive
                                                                 Subsystem-Content:
                                                                  an.osgi.bundle;version="[1.0, 1.1)",
                                                                  an.osgi.subsystem;
                                                                   type:=osgi.subsystem;
                                                                   version="[1.2, 1.3)",
                                                                  an.osgi.config;
                                                                   type:=osgi.configuration;
                                                                   version="[1.0, 1.1)"


    Page 15   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,            26.09.2011
              © IBM Corp. 2011
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
• Composite subsystems                                         Subsystem-Type: osgi.composite
                                                               Subsystem-Content:
  share nothing unless                                          an.osgi.bundle1;version="[1.0, 1.0]",
  explicitly stated                                             an.osgi.bundle2;version="[1.0, 1.0]"
                                                               Subsystem-ExportService:
• Re-use existing bundle                                        exported.service.Interface;
  headers where applicable                                      filter:="(color=blue)"
                                                               Subsystem-ImportService:
• Not applicable for implicitly                                 imported.service.Interface
  isolated subsystems (i.e.                                    Export-Package:
                                                                an.exported.pkg;version="1.0"
  Features and                                                 Import-Package:
  Applications)                                                 an.imported.pkg;version="[1.0, 2.0)"
                                                               Require-Bundle:
                                                                a.required.bundle;
                                                                bundle-version="[1.0, 2.0)"


     Page 16    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,         26.09.2011
                © IBM Corp. 2011
Locking down deployment

• Subsystem manifest allows version variability
  • Enables flexibility during development
  • Bounds operational upgrade
• Desirable to lock down versions during QA
  • Carry same deployment from testing to production
• Deployment Manifest
  • Locks down contents to specific versions
  • Identifies supporting transitive dependencies
  • Describes package/service import/export details

   Page 17   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
             © IBM Corp. 2011
Deployment Manifest
DESCRIPT’N          SUBSYSTEM.MF                                                                DEPLOYMENT.MF

Boilerplate         Manifest-Version: 1.0                                                       Manifest-Version: 1.0
                    Subsystem-ManifestVersion: 1.0                                              Deployment-ManifestVersion: 1.0
Identity +          Subsystem-SymbolicName:                                                     Subsystem-SymbolicName:
Subsystype           my.first.subsystem                                                          my.first.subsystem
                    Subsystem-Version: 1.0.0                                                    Subsystem-Version: 1.0.0
                    Subsystem-Type: osgi.application
Content             Subsystem-Content:                                                          Deployed-Content:
                     an.osgi.bundle;version="[1.0, 1.1)",                                        an.osgi.bundle;type:=osgi.bundle;
                     an.osgi.subsystem;type:=osgi.subsystem;                                      deployed-version=1.0.0,
                       version="[1.2, 1.3)",                                                     an.osgi.subsystem;type:=osgi.subsystem;
                    an.osgi.config;type:=osgi.configuration;                                      deployed-version=1.2.0,
                      version="[1.0, 1.1)";                                                      an.osgi.config;type:=osgi.configuration;
                      resolution:=optional                                                        deployed-version=1.0.5
Transitive          <Only part of the deployment>                                               Provision-Resource:
Dependencies                                                                                     an.osgi.bundle2;type:=osgi.bundle;
                                                                                                  deployed-version=1.0.0
                                                                                                 an.osgi.bundle3;type:=osgi.bundle;
                                                                                                  deployed-version=1.0.0
Sharing Policy      <Implicit for Application Subsystems>                                       Deployed-ServiceImport:
                                                                                                 (objectClass=an.osgi.Service)
                                                                                                Import-Package:
                                                                                                 a.pkg;version="1.0.0",
                                                                                                 a.pkg2;version="1.4"



                 Page 18           OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                     26.09.2011
                                   © IBM Corp. 2011
Manifest-Version: 1.0
                                                                       Example
Deployment-ManifestVersion: 1.0
Subsystem-SymbolicName:
my.first.subsystem
Subsystem-Version: 1.0.0
Deployed-Content:
 an.osgi.bundle;type:=osgi.bundle;
  deployed-version=1.0.0,                                                                                    application
 an.osgi.subsystem;type:=osgi.subsystem;
  deployed-version=1.2.0,
 an.osgi.config;                                                                   config             subsystem
  type:=osgi.configuration;
  deployed-version=1.0.5
Provision-Resource:
 an.osgi.bundle2;type:=osgi.bundle;                                                    bundle
  deployed-version=1.0.0
 an.osgi.bundle3;type:=osgi.bundle;
  deployed-version=1.0.0                                                     Service        pkg                pkg2
Deployed-ServiceImport:
 (objectClass=an.osgi.Service)
Import-Package:
 a.pkg;version="1.0.0",                                                          bundle3          bundle2
 a.pkg2;version="1.4"

     Page 19    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                      26.09.2011
                © IBM Corp. 2011
Transitive
                                                                                 Subsystem-Type: osgi.composite;
Dependencies                                                                      provision-policy:=acceptTransitive


                                                                                    Subsystem-Type:
•   Provision-Resource identifies                                                    osgi.application
    resources to be provisioned in
                                                                                                        Subsystem-Type:
    support of a Subsystem                                                              config           osgi.composite

•   A Subsystem can choose to accept
    transitive dependencies from itself
    and its children                                                                        bundle
    Subsystem-Type: osgi.composite;
     provision-policy:=acceptTransitive

                                                                                  Service         pkg             pkg2
•   The Root Subsystem always
    accepts transitive dependencies
•   Sharing policies need to be correct                                                bundle3          bundle2
    to ensure children can see their
    transitive dependencies

                                                                                 Transitive Dependencies

       Page 20      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                       26.09.2011
                    © IBM Corp. 2011
Portability
• Subsystem Manifests are
  portable to a point
   • Target Environment +
                                                                               Subsystem Definition
     Transitive Dependencies must
     support the required resource
     implementation types (e.g.                                              Transitive
     Blueprint, WAB, DS, etc)                                              Dependencies
• Deployment manifests may
  be portable                                                                   Target Environment
   • Different Target Environments
     likely to require different
     Transitive Dependencies


    Page 21   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                  26.09.2011
              © IBM Corp. 2011
Packaging

• Packaged in a Subsystem                                                  my.first.subsystem.ssa
  Archive
• A zip file with .ssa                                                     OSGI-INF/SUBSYSTEM.MF

  extension:                                                              OSGI-INF/DEPLOYMENT.MF
  • Subsystem Manifest
    (optional)
                                                                          an.osgi.bundle-1.0.0.jar
  • Deployment Manifest
    (optional)                                                            an.osgi.bundle2-1.0.0.jar
  • Resources
    (optional)



   Page 22   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                26.09.2011
             © IBM Corp. 2011
Life-cycle




                                                                                      install
                                                                                    INSTALLING



• Life-cycle similar to that of
                                                                                     INSTALLED                             UPDATING
  bundles                                                                                                   update




                                                                                      resolve
• Adds ‘transitional states’




                                                                        uninstall
  to reflect periods where                                                          RESOLVING
                                                                                                                            STARTING
  contents are in process of
  changing state                                                                     RESOLVED                                ACTIVE




                                                                                                uninstall
   • E.g. INSTALLING,                                                                                                            stop


     RESOLVING, …
                                                                                                                            STOPPING


                                                                                    UNINSTALLIN
                                                                                         G



                                                                                    UNINSTALLED




     Page 23   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                                     26.09.2011
               © IBM Corp. 2011
Shared resource life-cycle
• Resources may be shared
  between Subsystems
   • Intersecting Features
                                                                             ACTIVE
   • Common transitive
     dependencies
• Shared resource states
  determined by states of                                                   RESOLVED
  Subsystems that depend on
  them
• State precedence used to                                                  INSTALLED
  determine shared resource state
   • Highest state wins
   • All uninstalled == garbage
                                                                            UNSTALLED
     collection


    Page 24    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,       26.09.2011
               © IBM Corp. 2011
Application Subsystem
Example                                                         installed and resolved

 Composite                                                                                  ACTIVE


       Application                        RESOLVED


             bundle
                           RESOLVED




                      transitive bundle
                                        RESOLVED




   Page 25       OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,    26.09.2011
                 © IBM Corp. 2011
Second Application
Example                                                             Subsystem installed and
                                                                            started


 Composite                                                                                                   ACTIVE


       Application                        RESOLVED                            Application                  ACTIVE


             bundle                                                                  bundle
                           RESOLVED                                                               ACTIVE




                      transitive bundle                                       transitive bundle
                                          ACTIVE                                       ACTIVE




   Page 26       OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                   26.09.2011
                 © IBM Corp. 2011
Second Application
Example                                                               Subsystem uninstalled


 Composite                                                                                                   ACTIVE


       Application                        RESOLVED                            Application              UNINSTALLED


             bundle                                                                  bundle
                           RESOLVED                                                         UNINSTALLED




                      transitive bundle                                       transitive bundle
                                        RESOLVED                                   UNINSTALLED




   Page 27       OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                   26.09.2011
                 © IBM Corp. 2011
First Application Subsystem
Example                                                                  uninstalled


 Composite                                                                                                   ACTIVE


       Application                   UNINSTALLED                              Application              UNINSTALLED


             bundle                                                                  bundle
                      UNINSTALLED                                                           UNINSTALLED




                      transitive bundle                                       transitive bundle
                                  UNINSTALLED                                      UNINSTALLED




   Page 28       OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                   26.09.2011
                 © IBM Corp. 2011
Subsystem Service
• Each subsystem                                                                                        framework
  logically has it’s own                                                                               application
  Subsystem service
   •   An environment can choose to
       hide for certain subsystems
                                                                                                       composite
• Life-cycle management
   •   Install, start, stop, uninstall,                                         feature    feature
       cancel

• Navigation                                                                    feature
   •   getParent, getChildren,
       getConstituents

• Introspection
   •   getHeaders, getState,
       getSymbolicName, getVersion,
       getLocation
   Page 29         OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
                   © IBM Corp. 2011
Summary

• Subsystems are the standard way to manage groups of
  resources
• Version ranges allow flexibility in resource selection
• Subsystem types define sharing semantics
• Deployment definition
   • locks down versions and sharing
   • Identifies transitive dependencies
• API enables management of Subsystem life-cycle


   Page 30    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
              © IBM Corp. 2011
Trademarks

IBM and WebSphere are trademarks or registered trademarks of
International Business Machines Corp., registered in many
jurisdictions worldwide.

Java and all Java-based trademarks and logos are trademarks or
registered trademarks of Oracle and/or its affiliates.

Other product and service names might be trademarks of IBM or other
companies. A current list of IBM trademarks is available on the Web at
“Copyright and trademark information” at
www.ibm.com/legal/copytrade.shtml.




      Page 31    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                 © IBM Corp. 2011

More Related Content

Viewers also liked

Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixProvisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixDavid Bosschaert
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
When dispatcher caching is not enough... (extended version)
When dispatcher caching is not enough... (extended version)When dispatcher caching is not enough... (extended version)
When dispatcher caching is not enough... (extended version)Jakub Wadolowski
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM ICF CIRCUIT
 
Understanding Sling Models in AEM
Understanding Sling Models in AEMUnderstanding Sling Models in AEM
Understanding Sling Models in AEMAccunity Software
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsStefano Celentano
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6Damien Antipa
 
AEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser CachingAEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser CachingAndrew Khoury
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM HUB
 
New Repository in AEM 6 by Michael Marth
New Repository in AEM 6 by Michael MarthNew Repository in AEM 6 by Michael Marth
New Repository in AEM 6 by Michael MarthAEM HUB
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationKasun Indrasiri
 

Viewers also liked (18)

Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixProvisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
When dispatcher caching is not enough... (extended version)
When dispatcher caching is not enough... (extended version)When dispatcher caching is not enough... (extended version)
When dispatcher caching is not enough... (extended version)
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
(Re)discover your AEM
(Re)discover your AEM(Re)discover your AEM
(Re)discover your AEM
 
Understanding Sling Models in AEM
Understanding Sling Models in AEMUnderstanding Sling Models in AEM
Understanding Sling Models in AEM
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
AEM - Client Libraries
AEM - Client LibrariesAEM - Client Libraries
AEM - Client Libraries
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling Models
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6
 
AEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser CachingAEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser Caching
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
 
New Repository in AEM 6 by Michael Marth
New Repository in AEM 6 by Michael MarthNew Repository in AEM 6 by Michael Marth
New Repository in AEM 6 by Michael Marth
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
 

Similar to Subsystems: For those occasions where bundles are just too small... - Graham Charters

IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham ChartersIBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Chartersmfrancis
 
Modular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim WardModular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim Wardmfrancis
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
Subsystems for those occasions where bundles are just too small... - Tom Watson
Subsystems for those occasions where bundles are just too small... - Tom WatsonSubsystems for those occasions where bundles are just too small... - Tom Watson
Subsystems for those occasions where bundles are just too small... - Tom Watsonmfrancis
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...mfrancis
 
AS7/OSGi One Day Talk 2012
AS7/OSGi One Day Talk 2012AS7/OSGi One Day Talk 2012
AS7/OSGi One Day Talk 2012tdiesler
 
µServices for the rest of us - karl pauls
µServices for the rest of us - karl paulsµServices for the rest of us - karl pauls
µServices for the rest of us - karl paulsmfrancis
 
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm ServerEnterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm ServerSam Brannen
 
Towards a Modularity Maturity Model
Towards a Modularity Maturity ModelTowards a Modularity Maturity Model
Towards a Modularity Maturity ModelGraham Charters
 
Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011mfrancis
 
Subsystems in the Wild - G Charters
Subsystems in the Wild - G ChartersSubsystems in the Wild - G Charters
Subsystems in the Wild - G Chartersmfrancis
 
Java programming basics
Java programming basicsJava programming basics
Java programming basicsPragya Rastogi
 
The Cloud Concierge
The Cloud ConciergeThe Cloud Concierge
The Cloud ConciergeBob Rhubart
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesRob Davies
 
UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft
 
OSGi Best Practices - Tim Ward
OSGi Best Practices - Tim WardOSGi Best Practices - Tim Ward
OSGi Best Practices - Tim Wardmfrancis
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMDataLeader.io
 
CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009johnnewton
 

Similar to Subsystems: For those occasions where bundles are just too small... - Graham Charters (20)

IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham ChartersIBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
 
Modular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim WardModular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim Ward
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
Subsystems for those occasions where bundles are just too small... - Tom Watson
Subsystems for those occasions where bundles are just too small... - Tom WatsonSubsystems for those occasions where bundles are just too small... - Tom Watson
Subsystems for those occasions where bundles are just too small... - Tom Watson
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
 
AS7/OSGi One Day Talk 2012
AS7/OSGi One Day Talk 2012AS7/OSGi One Day Talk 2012
AS7/OSGi One Day Talk 2012
 
µServices for the rest of us - karl pauls
µServices for the rest of us - karl paulsµServices for the rest of us - karl pauls
µServices for the rest of us - karl pauls
 
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm ServerEnterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm Server
 
Towards a Modularity Maturity Model
Towards a Modularity Maturity ModelTowards a Modularity Maturity Model
Towards a Modularity Maturity Model
 
Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011
 
Subsystems in the Wild - G Charters
Subsystems in the Wild - G ChartersSubsystems in the Wild - G Charters
Subsystems in the Wild - G Charters
 
Java programming basics
Java programming basicsJava programming basics
Java programming basics
 
The Cloud Concierge
The Cloud ConciergeThe Cloud Concierge
The Cloud Concierge
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
 
UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012
 
OSGi Best Practices - Tim Ward
OSGi Best Practices - Tim WardOSGi Best Practices - Tim Ward
OSGi Best Practices - Tim Ward
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
 
Link Samba to Cloud Storage
Link Samba to Cloud StorageLink Samba to Cloud Storage
Link Samba to Cloud Storage
 
CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Subsystems: For those occasions where bundles are just too small... - Graham Charters

  • 1. Subsystems: for those occassions where bundles are just too small Graham Charters IBM 21st September 2011 OSGi Alliance Marketing © 2008-2010 . 1 Page COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011 All Rights Reserved
  • 2. Disclaimer • Subsystems is an in-progress RFC. What follows is a snapshot in time of the expert group thinking and is subject to change. Page 2 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 3. Agenda • Motivation • Model • Development Meta-data • Deployment Meta-data • Packaging • Life-cycle • API Page 3 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 4. Motivation • Enterprise Java platforms are awash with bundle collections • Apache Aries – Applications • Apache Geronimo - Applications • Apache Karaf – Features • Eclipse Virgo – Plans, PARs • IBM WebSphere Application Server – Applications and Composite • Oracle GlassFish – Applications • Paremus Service Fabric – Systems • Crying out for standardization • Portability • Tools • Ecosystem Page 4 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 5. Subsystems Model: Hierarchy • Most common model is subsystem hierarchy and so Subsystems are no subsystem different • Each has 1 parent subsystem • Each can have many children subsystem subsystem • Children of the same parent are siblings • Visually represented by subsystem subsystem containment Page 5 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 6. Subsystem Model: Sharing Policies • Subsystems may provide and consume capabilities • E.g. packages, services, etc… • Different subsystem types have different default sharing policies • E.g. share everything, share nothing, provide nothing • Subsystem types that provide isolation may also have affinity – i.e. prefer the capabilities of their contents Page 6 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 7. Feature Subsystems feature bundle • Collection of Resources (e.g. Bundles) feature • Shared life-cycle bundle • Can be nested • No isolation or affinity bundle • Repository-based bundle provisioning • Examples: Karaf Features, Virgo unscoped Plans bundle bundle Page 7 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 8. Composite Subsystems • Coarse-grained sub- bundle assembly module • Isolated composite • Explicit share in/out bundle • Affinity bundle • Repository-based provisioning bundle • Examples: RFC 138 Composite Bundles*, WebSphere Composite bundle bundle Bundles Page 8 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011 *old design prior to resolver hooks
  • 9. Application Subsystems • Model for hosted applications • Isolated application bundle • No sharing out, implicit sharing in bundle • Affinity bundle • Repository-based provisioning • Examples: Aries bundle bundle Application, Virgo Scoped Plans, Virgo PARs Page 9 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 10. Example Combination • Subsystem Types can be mixed ‘n’ matched framework • Example shows: application application • Features used to assemble a Composite • Composite providing a ‘platform’ to composite Applications feature feature feature Page 10 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 11. Developer Headers • Manifest format with relaxed rules • Common concepts use same headers • Some headers unique to Subsystem type • Headers cover: • Identity • Content • Isolation policy • Human readable information Page 11 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 12. Identity Headers • Identified by symbolic name and version Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 • All subsystem types Subsystem-SymbolicName: my.first.subsystem live in the same Subsystem-Version: 1.0.0 namespace so type not part of the identity Page 12 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 13. Type Header • Type governs the sharing policy • Standard Types: Manifest-Version: 1.0 • osgi.application (the default) Subsystem-ManifestVersion: 1.0 • osgi.composite Subsystem-SymbolicName: my.first.subsystem • osgi.feature Subsystem-Version: 1.0.0 Subsystem-Type: • All subsystem types live in osgi.application; same resource type provision-policy:=acceptTransitive (osgi.subsystem), so their subsystem type is not part of their identity • One directive used in provisioning (see later) Page 13 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 14. Content • Identifies the resources contained in the Subsystem Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 • Resources identified by name, Subsystem-SymbolicName: my.first.Subsystem version (range) and type Subsystem-Version: 1.0.0 • Composites only allow fixed Subsystem-Type: versions osgi.application; provision-policy:=acceptTransitive • Standard types Subsystem-Content: an.osgi.bundle1;version="[1.0, 1.1)", • osgi.bundle (default) an.osgi.subsystem; • osgi.subsystem type:=osgi.subsystem; version="[1.2, 1.3)", • osgi.configuration* an.osgi.config; • Can be optional type:=osgi.configuration; version="[1.0, 1.1)"; resolution:=optional *if we get there… Page 14 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 15. Informational Manifest-Version: 1.0 • Headers for humans Subsystem-ManifestVersion: 1.0 Subsystem-Name: First Subsystem • Localized just like bundles Subsystem-Description: This is my first ever Subsystem and it's sooo cool. Subsystem-SymbolicName: my.first.subsystem Subsystem-Version: 1.0.0 Subsystem-Type: osgi.application; provision-policy:=acceptTransitive Subsystem-Content: an.osgi.bundle;version="[1.0, 1.1)", an.osgi.subsystem; type:=osgi.subsystem; version="[1.2, 1.3)", an.osgi.config; type:=osgi.configuration; version="[1.0, 1.1)" Page 15 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 16. 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 • Composite subsystems Subsystem-Type: osgi.composite Subsystem-Content: share nothing unless an.osgi.bundle1;version="[1.0, 1.0]", explicitly stated an.osgi.bundle2;version="[1.0, 1.0]" Subsystem-ExportService: • Re-use existing bundle exported.service.Interface; headers where applicable filter:="(color=blue)" Subsystem-ImportService: • Not applicable for implicitly imported.service.Interface isolated subsystems (i.e. Export-Package: an.exported.pkg;version="1.0" Features and Import-Package: Applications) an.imported.pkg;version="[1.0, 2.0)" Require-Bundle: a.required.bundle; bundle-version="[1.0, 2.0)" Page 16 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 17. Locking down deployment • Subsystem manifest allows version variability • Enables flexibility during development • Bounds operational upgrade • Desirable to lock down versions during QA • Carry same deployment from testing to production • Deployment Manifest • Locks down contents to specific versions • Identifies supporting transitive dependencies • Describes package/service import/export details Page 17 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 18. Deployment Manifest DESCRIPT’N SUBSYSTEM.MF DEPLOYMENT.MF Boilerplate Manifest-Version: 1.0 Manifest-Version: 1.0 Subsystem-ManifestVersion: 1.0 Deployment-ManifestVersion: 1.0 Identity + Subsystem-SymbolicName: Subsystem-SymbolicName: Subsystype my.first.subsystem my.first.subsystem Subsystem-Version: 1.0.0 Subsystem-Version: 1.0.0 Subsystem-Type: osgi.application Content Subsystem-Content: Deployed-Content: an.osgi.bundle;version="[1.0, 1.1)", an.osgi.bundle;type:=osgi.bundle; an.osgi.subsystem;type:=osgi.subsystem; deployed-version=1.0.0, version="[1.2, 1.3)", an.osgi.subsystem;type:=osgi.subsystem; an.osgi.config;type:=osgi.configuration; deployed-version=1.2.0, version="[1.0, 1.1)"; an.osgi.config;type:=osgi.configuration; resolution:=optional deployed-version=1.0.5 Transitive <Only part of the deployment> Provision-Resource: Dependencies an.osgi.bundle2;type:=osgi.bundle; deployed-version=1.0.0 an.osgi.bundle3;type:=osgi.bundle; deployed-version=1.0.0 Sharing Policy <Implicit for Application Subsystems> Deployed-ServiceImport: (objectClass=an.osgi.Service) Import-Package: a.pkg;version="1.0.0", a.pkg2;version="1.4" Page 18 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 19. Manifest-Version: 1.0 Example Deployment-ManifestVersion: 1.0 Subsystem-SymbolicName: my.first.subsystem Subsystem-Version: 1.0.0 Deployed-Content: an.osgi.bundle;type:=osgi.bundle; deployed-version=1.0.0, application an.osgi.subsystem;type:=osgi.subsystem; deployed-version=1.2.0, an.osgi.config; config subsystem type:=osgi.configuration; deployed-version=1.0.5 Provision-Resource: an.osgi.bundle2;type:=osgi.bundle; bundle deployed-version=1.0.0 an.osgi.bundle3;type:=osgi.bundle; deployed-version=1.0.0 Service pkg pkg2 Deployed-ServiceImport: (objectClass=an.osgi.Service) Import-Package: a.pkg;version="1.0.0", bundle3 bundle2 a.pkg2;version="1.4" Page 19 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 20. Transitive Subsystem-Type: osgi.composite; Dependencies provision-policy:=acceptTransitive Subsystem-Type: • Provision-Resource identifies osgi.application resources to be provisioned in Subsystem-Type: support of a Subsystem config osgi.composite • A Subsystem can choose to accept transitive dependencies from itself and its children bundle Subsystem-Type: osgi.composite; provision-policy:=acceptTransitive Service pkg pkg2 • The Root Subsystem always accepts transitive dependencies • Sharing policies need to be correct bundle3 bundle2 to ensure children can see their transitive dependencies Transitive Dependencies Page 20 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 21. Portability • Subsystem Manifests are portable to a point • Target Environment + Subsystem Definition Transitive Dependencies must support the required resource implementation types (e.g. Transitive Blueprint, WAB, DS, etc) Dependencies • Deployment manifests may be portable Target Environment • Different Target Environments likely to require different Transitive Dependencies Page 21 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 22. Packaging • Packaged in a Subsystem my.first.subsystem.ssa Archive • A zip file with .ssa OSGI-INF/SUBSYSTEM.MF extension: OSGI-INF/DEPLOYMENT.MF • Subsystem Manifest (optional) an.osgi.bundle-1.0.0.jar • Deployment Manifest (optional) an.osgi.bundle2-1.0.0.jar • Resources (optional) Page 22 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 23. Life-cycle install INSTALLING • Life-cycle similar to that of INSTALLED UPDATING bundles update resolve • Adds ‘transitional states’ uninstall to reflect periods where RESOLVING STARTING contents are in process of changing state RESOLVED ACTIVE uninstall • E.g. INSTALLING, stop RESOLVING, … STOPPING UNINSTALLIN G UNINSTALLED Page 23 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 24. Shared resource life-cycle • Resources may be shared between Subsystems • Intersecting Features ACTIVE • Common transitive dependencies • Shared resource states determined by states of RESOLVED Subsystems that depend on them • State precedence used to INSTALLED determine shared resource state • Highest state wins • All uninstalled == garbage UNSTALLED collection Page 24 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 25. Application Subsystem Example installed and resolved Composite ACTIVE Application RESOLVED bundle RESOLVED transitive bundle RESOLVED Page 25 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 26. Second Application Example Subsystem installed and started Composite ACTIVE Application RESOLVED Application ACTIVE bundle bundle RESOLVED ACTIVE transitive bundle transitive bundle ACTIVE ACTIVE Page 26 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 27. Second Application Example Subsystem uninstalled Composite ACTIVE Application RESOLVED Application UNINSTALLED bundle bundle RESOLVED UNINSTALLED transitive bundle transitive bundle RESOLVED UNINSTALLED Page 27 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 28. First Application Subsystem Example uninstalled Composite ACTIVE Application UNINSTALLED Application UNINSTALLED bundle bundle UNINSTALLED UNINSTALLED transitive bundle transitive bundle UNINSTALLED UNINSTALLED Page 28 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 29. Subsystem Service • Each subsystem framework logically has it’s own application Subsystem service • An environment can choose to hide for certain subsystems composite • Life-cycle management • Install, start, stop, uninstall, feature feature cancel • Navigation feature • getParent, getChildren, getConstituents • Introspection • getHeaders, getState, getSymbolicName, getVersion, getLocation Page 29 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 30. Summary • Subsystems are the standard way to manage groups of resources • Version ranges allow flexibility in resource selection • Subsystem types define sharing semantics • Deployment definition • locks down versions and sharing • Identifies transitive dependencies • API enables management of Subsystem life-cycle Page 30 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 31. Trademarks IBM and WebSphere are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml. Page 31 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011