SlideShare a Scribd company logo
1 of 24
Download to read offline
© 2014 IBM Corporation
OSGi DevCon 2014Wednesday, June 11, 2014
SUBSYSTEMS IN THE WILD
Graham Charters
Senior Technical Staff Member
IBM
1
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Contents
• Motivation
• Subsystems Overview
• Use case “In the Wild”
…with a demo or two along the way
2
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Motivation
• Many Enterprise Java platforms offer
bundle collections
• Apache Aries – Applications
• Apache Karaf – Features
• Eclipse Virgo – Plans, PARs
• WebSphere – OSGi Applications,
Composite, Features
• Oracle GlassFish – Applications
• Paremus Service Fabric – System Parts
• Standardization enables
• Portability
• Tools
• Ecosystem
3
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Subsystem Concepts
• A Grouping Resources (Bundles)
• An Identity
• Scoping for visibility
• Group Management
• Documentation (coming in 1.1)
4
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Subsystem Types
• Subsystem types aligned with common sharing policies
5
Type Sharing Policy
Feature Share everything
Application Share everything in, share
nothing out
Composite Explicit selective sharing
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Feature Subsystems
• A grouping of related artefacts
• Simplifies re-use &
provisioning
• Raw resources in the runtime
• Useful for frameworks &
libraries
6
Bundle A Bundle B
Bundle C Bundle D
Feature A Feature B
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Feature A
Application Subsystems
• Isolated group of related
artefacts
• Share nothing out
• Implicitly share all in
• Useful for independent
applications in same process
• cheap/weak multi-tenancy
• Can share common
infrastructure
• e.g. frameworks or libraries
7
Bundle A Bundle B
Bundle C Bundle D
Application A Application B
✘
✘
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Composite Subsystems
• Isolated group of related
artefacts
• Explicitly share in
• Explicitly share out
• Useful for controlling
coupling of “subsytems”
(hide internals)
8
Feature A
Bundle A Bundle B
Bundle C Bundle D
Composite A Composite B
✘
✘
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Nesting
• Subsystems can be nested
• All subsystems are
descendants of the “Root
Subsystem”
• Enables runtime subsystem
‘sharing’
• Enables logical groupings
9
Feature
Bundle A Bundle B
Bundle D
Application
Root
Bundle C
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Definition
• Subsystem manifest format
• Jar manifest without the annoying restrictions
• Familiar to bundle programmers
• Configuration by exception
• Can be left out altogether
• Version ranges enabled deployment flexibility
10
Subsystem-ManifestVersion: 1.0
Subsystem-Name: HttpService
Subsystem-Description: This feature enables the http service
Subsystem-SymbolicName: com.acme.httpService
Subsystem-Version: 1.0.0
Subsystem-Type: osgi.subsystem.feature
Subsystem-Content: httpServiceWab;version="1.0.0",
org.eclipse.equinox.http.servlet;version="1.1.200",
org.eclipse.osgi.services;version="3.3.0"
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Packaging
• Zip file with .esa extension
• Optionally contains resources
(bundles) for provisioning
• duplicates binaries
• bloats deployment
• inhibits update
• does not influence runtime
sharing
• uses repositories if not
• Optionally contains
Subsystem manifest
• defaulted if not
11
Subsystem.esa
Bundle A
Bundle C
Bundle B
Bundle D
Subsystem.MF
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Management
• Subsystem service
• Introspection of subsystem
• Lifecycle management of
subsystem
• Management of child
subsystems (e.g. install)
• Roots subsystem – solves
the bootstrap problem
• Really only for systems
programmers – runtimes
should simplify management
capabilities
12
Feature A
Bundle A Bundle B
Bundle C Bundle D
Application A Application B
Root
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Repositories
• Repositories represent
collections of resources
considered during
provisioning
• The Subsystem archive
contents
• Simplifies operations, bloats
deployment
• The visible set of installed things
• Configured repository services
• Enables single binary for install and
service
• Fits well with ‘continuous delivery’
13
Subsystem.esa
Bundle A
Bundle C
Bundle B
Bundle D
Subsystem.MF
Feature
Bundle A Bundle B
Bundle D
Application
Bundle C
Bundle A
Bundle C
Bundle B
Bundle D
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Dependency Management
• Installs missing
dependencies
• Removes redundant
dependencies
• Dependency installation
maximises runtime sharing
• Dependency types
• Package
• Services via declarative
models (optional)
• Require-Capability
14
Bundle A Bundle B
Feature
Bundle C
Bundle D
Application Composite
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
From Test to Production
• Product deployment
resolution uncertainty
• Deployment manifests lock
down deployment
• Repository and install
governance necessary for
guarantees
15
Subsystem.esa
Bundle A
Bundle C
Bundle B
Bundle D
Subsystem.MF
Deployment.MF
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Extenders and whiteboards
• Extender & whiteboard patterns
commonplace
• Rely on visibility of bundle &
service lifecycle events
• Subsystem scoping can hide
these events from extenders
• The System Bundle is your friend
• Sees all events
• Can be found by any bundle using
its location string
• Use this to register trackers
16
Bundle
Service
Bundle systemBundle =
bc.getBundle(org.osgi.framework.Constants.SYSTEM_BUNDLE_LOCATION);
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Demo
• httpservice:
http service
whiteboard
• greenWeb,
redWeb:
register http
services
• wab-1.0: web
container
17
wab-1.0
WebContainer
Impl
WebContainer
API
Root
(kernel)
greenWab
greenWeb
redWab
redWeb
httpservice
httpServiceWab http.servlet
osgi.services
“User”
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
In the Wild
• Confession time…
18
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Reuse/release equivalence principle
• The unit of reuse is the unit of release
• A matter of perspective; jar, library, framework, product
• Higher levels take on ‘product’ qualities
• Licensing
• Documentation
• Install
• Subsystems 1.1 adds many headers for product qualities
• Icons, Docs, License, Localization
19
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Use Case
• Decomposition of a product into re-usable capabilities
• Independent release of product capabilities
• Users care about capabilities, not implementation
• Users want to consume capabilities piecemeal
• ‘Stack’ products re-use subset of capabilities
• ‘Stack’ products add their own capabilities
20
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Subsystem Asset Life-cycle
21
Dev,
build,
test
Provision
Feature A
Bundle A Bundle B
Bundle C Bundle D
Application A Application B
Root
Install
W.esa X.esa
Y.esa Z.esa
Repository &
Resolver Services
Z.esa
Y.esa
X.esa
Release
Repository
X.esa
Doc, license, icon, etc
Repository &
Resolver
Services
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Demo
22
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Summary
• The standard way to manage groups of resources
• Subsystem ‘types’ defines sharing for most common use
cases
• Deployment resolution enables sharing of runtime
resources
• Repositories-based resolution enables sharing of binaries
• New 1.1 features enable more ‘product’ and marketplace-
like qualities
23
© 2014 IBM Corporation
OSGi DevCon 201411 June 2014
Find out more
• Reference Implementation:
• Subsystems 1.0
https://svn.apache.org/repos/asf/aries/trunk/subsystem/
• Subsystems 1.1
https://svn.apache.org/repos/asf/aries/branches/subsystemsR6/subsystem/
• New Early Draft Specification of OSGi Enterprise Release 6
• http://www.osgi.org/Specifications/Drafts
• New OSGi Core Release 6 Specification
• http://www.osgi.org/Specifications/HomePage
• OSGi Alliance Design Documents
• https://github.com/osgi/design
24

More Related Content

What's hot

Server Day 2009: Spring dm Server by Alef Arendsen
Server Day 2009: Spring dm Server by Alef ArendsenServer Day 2009: Spring dm Server by Alef Arendsen
Server Day 2009: Spring dm Server by Alef ArendsenJUG Genova
 
Introducing XL Deploy 4.5
Introducing XL Deploy 4.5Introducing XL Deploy 4.5
Introducing XL Deploy 4.5XebiaLabs
 
Demo Slides: Application Release Automation with Deployit
Demo Slides: Application Release Automation with DeployitDemo Slides: Application Release Automation with Deployit
Demo Slides: Application Release Automation with DeployitXebiaLabs
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudBruno Borges
 
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor ApplicationsCloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor ApplicationsVMware Tanzu
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...Sanjeev Sharma
 
Microservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentationMicroservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentationCarlos Ferreira
 
Success Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationSuccess Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationDustin Ruehle
 
XebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
OpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitOpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitDan Wendlandt
 
A Cloud Native Platform - Cloud Native Day Santa Monica
A Cloud Native Platform - Cloud Native Day Santa MonicaA Cloud Native Platform - Cloud Native Day Santa Monica
A Cloud Native Platform - Cloud Native Day Santa MonicaDustin Ruehle
 
Cloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns TutorialCloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns TutorialMatt Stine
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Finaldcoletta
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXBruno Borges
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 

What's hot (17)

Server Day 2009: Spring dm Server by Alef Arendsen
Server Day 2009: Spring dm Server by Alef ArendsenServer Day 2009: Spring dm Server by Alef Arendsen
Server Day 2009: Spring dm Server by Alef Arendsen
 
Introducing XL Deploy 4.5
Introducing XL Deploy 4.5Introducing XL Deploy 4.5
Introducing XL Deploy 4.5
 
Demo Slides: Application Release Automation with Deployit
Demo Slides: Application Release Automation with DeployitDemo Slides: Application Release Automation with Deployit
Demo Slides: Application Release Automation with Deployit
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor ApplicationsCloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
Microservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentationMicroservices and IBM Bluemix meetup presentation
Microservices and IBM Bluemix meetup presentation
 
Success Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationSuccess Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices Implementation
 
XebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphere
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
OpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitOpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack Summit
 
A Cloud Native Platform - Cloud Native Day Santa Monica
A Cloud Native Platform - Cloud Native Day Santa MonicaA Cloud Native Platform - Cloud Native Day Santa Monica
A Cloud Native Platform - Cloud Native Day Santa Monica
 
Cloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns TutorialCloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns Tutorial
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 

Viewers also liked

Massive Enterprise Product Migration to OSG - Raymond Auge
Massive Enterprise Product Migration to OSG - Raymond AugeMassive Enterprise Product Migration to OSG - Raymond Auge
Massive Enterprise Product Migration to OSG - Raymond Augemfrancis
 
OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015mfrancis
 
Keynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex BlewittKeynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex Blewittmfrancis
 
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...mfrancis
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016mfrancis
 
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...mfrancis
 

Viewers also liked (6)

Massive Enterprise Product Migration to OSG - Raymond Auge
Massive Enterprise Product Migration to OSG - Raymond AugeMassive Enterprise Product Migration to OSG - Raymond Auge
Massive Enterprise Product Migration to OSG - Raymond Auge
 
OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015
 
Keynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex BlewittKeynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex Blewitt
 
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...
Business and IoT Economic Alchemy or Another Anticlimax - March 2016 - OSGi A...
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016
 
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
 

Similar to Subsystems in the Wild - G Charters

Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalAlain Delafosse
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsGuillaume Berche
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os giDileepa Jayakody
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixMarcel Offermans
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse Day India
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodologylaeshin park
 
SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014mharkus
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaSCloudBees
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Barton George
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceCloudBees
 
Introduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and CommunityIntroduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and CommunityOpenShift Origin
 
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Joelith
 

Similar to Subsystems in the Wild - G Charters (20)

Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and Benefits
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os gi
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 
OSGi
OSGiOSGi
OSGi
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in Bluemix
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Plataforma DevOps en OpenShift
Plataforma DevOps en OpenShiftPlataforma DevOps en OpenShift
Plataforma DevOps en OpenShift
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Introduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and CommunityIntroduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and Community
 
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
 

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

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Subsystems in the Wild - G Charters

  • 1. © 2014 IBM Corporation OSGi DevCon 2014Wednesday, June 11, 2014 SUBSYSTEMS IN THE WILD Graham Charters Senior Technical Staff Member IBM 1
  • 2. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Contents • Motivation • Subsystems Overview • Use case “In the Wild” …with a demo or two along the way 2
  • 3. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Motivation • Many Enterprise Java platforms offer bundle collections • Apache Aries – Applications • Apache Karaf – Features • Eclipse Virgo – Plans, PARs • WebSphere – OSGi Applications, Composite, Features • Oracle GlassFish – Applications • Paremus Service Fabric – System Parts • Standardization enables • Portability • Tools • Ecosystem 3
  • 4. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Subsystem Concepts • A Grouping Resources (Bundles) • An Identity • Scoping for visibility • Group Management • Documentation (coming in 1.1) 4
  • 5. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Subsystem Types • Subsystem types aligned with common sharing policies 5 Type Sharing Policy Feature Share everything Application Share everything in, share nothing out Composite Explicit selective sharing
  • 6. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Feature Subsystems • A grouping of related artefacts • Simplifies re-use & provisioning • Raw resources in the runtime • Useful for frameworks & libraries 6 Bundle A Bundle B Bundle C Bundle D Feature A Feature B
  • 7. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Feature A Application Subsystems • Isolated group of related artefacts • Share nothing out • Implicitly share all in • Useful for independent applications in same process • cheap/weak multi-tenancy • Can share common infrastructure • e.g. frameworks or libraries 7 Bundle A Bundle B Bundle C Bundle D Application A Application B ✘ ✘
  • 8. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Composite Subsystems • Isolated group of related artefacts • Explicitly share in • Explicitly share out • Useful for controlling coupling of “subsytems” (hide internals) 8 Feature A Bundle A Bundle B Bundle C Bundle D Composite A Composite B ✘ ✘
  • 9. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Nesting • Subsystems can be nested • All subsystems are descendants of the “Root Subsystem” • Enables runtime subsystem ‘sharing’ • Enables logical groupings 9 Feature Bundle A Bundle B Bundle D Application Root Bundle C
  • 10. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Definition • Subsystem manifest format • Jar manifest without the annoying restrictions • Familiar to bundle programmers • Configuration by exception • Can be left out altogether • Version ranges enabled deployment flexibility 10 Subsystem-ManifestVersion: 1.0 Subsystem-Name: HttpService Subsystem-Description: This feature enables the http service Subsystem-SymbolicName: com.acme.httpService Subsystem-Version: 1.0.0 Subsystem-Type: osgi.subsystem.feature Subsystem-Content: httpServiceWab;version="1.0.0", org.eclipse.equinox.http.servlet;version="1.1.200", org.eclipse.osgi.services;version="3.3.0"
  • 11. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Packaging • Zip file with .esa extension • Optionally contains resources (bundles) for provisioning • duplicates binaries • bloats deployment • inhibits update • does not influence runtime sharing • uses repositories if not • Optionally contains Subsystem manifest • defaulted if not 11 Subsystem.esa Bundle A Bundle C Bundle B Bundle D Subsystem.MF
  • 12. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Management • Subsystem service • Introspection of subsystem • Lifecycle management of subsystem • Management of child subsystems (e.g. install) • Roots subsystem – solves the bootstrap problem • Really only for systems programmers – runtimes should simplify management capabilities 12 Feature A Bundle A Bundle B Bundle C Bundle D Application A Application B Root
  • 13. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Repositories • Repositories represent collections of resources considered during provisioning • The Subsystem archive contents • Simplifies operations, bloats deployment • The visible set of installed things • Configured repository services • Enables single binary for install and service • Fits well with ‘continuous delivery’ 13 Subsystem.esa Bundle A Bundle C Bundle B Bundle D Subsystem.MF Feature Bundle A Bundle B Bundle D Application Bundle C Bundle A Bundle C Bundle B Bundle D
  • 14. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Dependency Management • Installs missing dependencies • Removes redundant dependencies • Dependency installation maximises runtime sharing • Dependency types • Package • Services via declarative models (optional) • Require-Capability 14 Bundle A Bundle B Feature Bundle C Bundle D Application Composite
  • 15. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 From Test to Production • Product deployment resolution uncertainty • Deployment manifests lock down deployment • Repository and install governance necessary for guarantees 15 Subsystem.esa Bundle A Bundle C Bundle B Bundle D Subsystem.MF Deployment.MF
  • 16. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Extenders and whiteboards • Extender & whiteboard patterns commonplace • Rely on visibility of bundle & service lifecycle events • Subsystem scoping can hide these events from extenders • The System Bundle is your friend • Sees all events • Can be found by any bundle using its location string • Use this to register trackers 16 Bundle Service Bundle systemBundle = bc.getBundle(org.osgi.framework.Constants.SYSTEM_BUNDLE_LOCATION);
  • 17. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Demo • httpservice: http service whiteboard • greenWeb, redWeb: register http services • wab-1.0: web container 17 wab-1.0 WebContainer Impl WebContainer API Root (kernel) greenWab greenWeb redWab redWeb httpservice httpServiceWab http.servlet osgi.services “User”
  • 18. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 In the Wild • Confession time… 18
  • 19. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Reuse/release equivalence principle • The unit of reuse is the unit of release • A matter of perspective; jar, library, framework, product • Higher levels take on ‘product’ qualities • Licensing • Documentation • Install • Subsystems 1.1 adds many headers for product qualities • Icons, Docs, License, Localization 19
  • 20. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Use Case • Decomposition of a product into re-usable capabilities • Independent release of product capabilities • Users care about capabilities, not implementation • Users want to consume capabilities piecemeal • ‘Stack’ products re-use subset of capabilities • ‘Stack’ products add their own capabilities 20
  • 21. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Subsystem Asset Life-cycle 21 Dev, build, test Provision Feature A Bundle A Bundle B Bundle C Bundle D Application A Application B Root Install W.esa X.esa Y.esa Z.esa Repository & Resolver Services Z.esa Y.esa X.esa Release Repository X.esa Doc, license, icon, etc Repository & Resolver Services
  • 22. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Demo 22
  • 23. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Summary • The standard way to manage groups of resources • Subsystem ‘types’ defines sharing for most common use cases • Deployment resolution enables sharing of runtime resources • Repositories-based resolution enables sharing of binaries • New 1.1 features enable more ‘product’ and marketplace- like qualities 23
  • 24. © 2014 IBM Corporation OSGi DevCon 201411 June 2014 Find out more • Reference Implementation: • Subsystems 1.0 https://svn.apache.org/repos/asf/aries/trunk/subsystem/ • Subsystems 1.1 https://svn.apache.org/repos/asf/aries/branches/subsystemsR6/subsystem/ • New Early Draft Specification of OSGi Enterprise Release 6 • http://www.osgi.org/Specifications/Drafts • New OSGi Core Release 6 Specification • http://www.osgi.org/Specifications/HomePage • OSGi Alliance Design Documents • https://github.com/osgi/design 24