SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
The OSGi R5
Enterprise Release
David Bosschaert, Red Hat
Tim Diekmann, TIBCO
EEG co-chairs
Agenda
•  Brief Summary
•  What's new in R5
•  What's next?
Brief Summary
•  2nd Release of Enterprise Specification
•  Extends Core Specification R5
•  Driving theme for this release is 'Applications' in OSGi
•  Available now as an EA draft (official release follows soon)
o  download from www.osgi.org
o  RI and CT to be published end of June 2012
What's New in R5
•  Support for "Applications” and supporting services
o  Subsystem Service
o  Repository Service
o  Resolver Service
•  Auxiliary Services and Specifications
o  Service Loader Mediator
o  Common Namespaces
•  Service Updates and Enhancements
o  JMX Management Model
o  Configuration Admin
o  Declarative Services
o  Coordinator Service
Subsystem Service
•  Aggregation of resources (incl. bundles, subsystems)
o  three types: feature, composite, application
•  Declarative scoping and sharing policies allow for boundaries
between different applications
•  Common lifecycle of resources in the same scope
•  Applications may be self-contained or require external resources
o  uses Repository and Resolver service to identify missing resources and use
policies to drive provisioning
•  Defines an abstract and concrete description of the subsystem,
subsystem archive (*.esa)
•  Based on Core framework hooks that allow for limiting visibility and
duplicate installation of bundles
Subsystem Types
Subsystem Archives
Subsystem Archives
Nested Subsystems
"Turtles All The Way Down"
•  A subsystem can contain a
subsystem, thereby, allowing
subsystems inside subsystems
•  The framework itself is the root
subsystem that all other
subsystems are installed into
Repository Service
•  A Service to access Repositories (local or remote)
o  Bundle or other Resource
o  Query on Generic Capabilities (introduced in Core R4.3 spec)
•  Provides resources that can be installed and used in Resolve
operations
•  Can be used standalone or with Subsystems / Resolver
•  Defines XML Schema for repository description
o  Interchange format
Repository Service
Examples
Resolver Service
•  Allow management agents to do provisioning
o  "Find me everything I need to deploy so that this bundle resolves"
•  Can resolve any constraint expressed as a generic capability/
requirement
o  Not limited to predefined OSGi namespaces
•  Designed to work with Repository Services for dependencies
•  Can be used for what-if scenarios
o  "Will this combination of bundles resolve?"
Resolver Example
OSGi ServiceLoader Mediator
java.util.ServiceLoader is non-modular by design
•  expects global visibility: classloader issues
•  encapsulation issues: exposure of internals
•  hard to get working in general
OSGi ServiceLoader Mediator spec:
1. Services found in META-INF/services
registered in OSGi ServiceRegistry
with serviceloader.mediator property
2. Clients using ServiceLoader.load() can be made to work
as-is
generally involves weaving, other implementations possible
Common Namespaces
•  Generic Requirement-Capability model
o  Introduced in Core 4.3
o  Can be used by Bundles, Resolver, Repository, etc
o  Capability types defined using Namespaces
•  Enterprise R5 adds Capability Namespaces for:
o  Services:
  "I provide a Configuration Admin service"
Provide-Capability: osgi.service; !
               objectClass=org.osgi.service.cm.ConfigurationAdmin"
o  Extenders:
  "I require a Blueprint implementation"
Require-Capability: osgi.extender;!
                filter:="(osgi.extender=osgi.blueprint)”"
o  Contracts:
  Instead of individual imports: "I need the Servlet 2.5 API"
Require-Capability: osgi.contract;!
                filter:="(&(osgi.contract=Servlet)(version>=2.5))”!
Service Updates and Enhancements
•  JMX Management Model
o  API updates and support Bundle Wiring API
•  Configuration Admin Service
o  SynchronousConfigurationListener!
  Allow 'transactional' configuration updates across PIDs when used with the
Coordinator Service
o  Targeted PIDs
  Address specific bundle when multiple bundles listen to the same PID, e.g.
MS and MSF from different versions
o  Allow multiple bundles to share the same configuration
•  Declarative Services
o  Build-time only annotations that are processed by tools like BndTools to
create runtime XML component declarations
•  Coordinator Service
o  Allows coordination across APIs
  (e.g. ConfigurationAdmin updating multi-PID updates)
What's Next
•  "OSGi In The Cloud"
o  see workshop during EclipseCon 2012
•  Blueprint enhancements
o  Transactions
o  Configuration Admin integration
o  Namespaces
•  WebApp enhancements and update
•  Asynchronous services / Scala actors support
•  Javascript support
•  CDI integration
•  EJB support
•  JavaEE package version handling
•  ... more ...
More
•  OSGi Website: www.osgi.org
•  OSGi Core Specification R5:
http://www.osgi.org/download/osgi.core-5.0.0-pfd.pdf
•  OSGi Enterprise Specification R5:
http://www.osgi.org/download/osgi.enterprise-5.0.0-pfd.pdf
•  OSGi BoF Tuesday 19:00
•  "OSGi In The Cloud" workshop
at EclipseCon 2012
o  Thursday March 29, 09:00 am
o  register: http://osgi-cloudworkshop-2012.eventbrite.com

Mais conteúdo relacionado

Mais procurados

Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
Kunal Hire
 

Mais procurados (20)

Globus Connect Server 5.1 Webinar
Globus Connect Server 5.1 WebinarGlobus Connect Server 5.1 Webinar
Globus Connect Server 5.1 Webinar
 
Super Size Your Search
Super Size Your SearchSuper Size Your Search
Super Size Your Search
 
Apache ManifoldCF
Apache ManifoldCFApache ManifoldCF
Apache ManifoldCF
 
REAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKEREAL Expert Alliance OCI series part 4 - OKE
REAL Expert Alliance OCI series part 4 - OKE
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
 
Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016
Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016
Efficient HTTP applications on the JVM with Ratpack - Voxxed Days Berlin 2016
 
Apache ManifoldCF @ Linux Day 2012
Apache ManifoldCF @ Linux Day 2012Apache ManifoldCF @ Linux Day 2012
Apache ManifoldCF @ Linux Day 2012
 
Writing HTTP Middleware In Go
Writing HTTP Middleware In GoWriting HTTP Middleware In Go
Writing HTTP Middleware In Go
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
 
ASP.NET Core Demos
ASP.NET Core DemosASP.NET Core Demos
ASP.NET Core Demos
 
Service Discovery in Distributed Systems
Service Discovery in Distributed SystemsService Discovery in Distributed Systems
Service Discovery in Distributed Systems
 
Gr8Conf 2016 - GORM Inside and Out
Gr8Conf 2016 - GORM Inside and OutGr8Conf 2016 - GORM Inside and Out
Gr8Conf 2016 - GORM Inside and Out
 
Expose BizTalk to the world (ACSUG)
Expose BizTalk to the world (ACSUG)Expose BizTalk to the world (ACSUG)
Expose BizTalk to the world (ACSUG)
 
Cloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy AgentCloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy Agent
 
Gr8Conf 2016 - What's new in Grails 3
Gr8Conf 2016 - What's new in Grails 3Gr8Conf 2016 - What's new in Grails 3
Gr8Conf 2016 - What's new in Grails 3
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
 
OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup
OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack MeetupOpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup
OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
 
Internals of Steroids Framework
Internals of Steroids FrameworkInternals of Steroids Framework
Internals of Steroids Framework
 

Destaque

Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
mfrancis
 
Building LinkedIn's Next Generation Architecture with OSGi
Building LinkedIn's Next Generation  Architecture with OSGiBuilding LinkedIn's Next Generation  Architecture with OSGi
Building LinkedIn's Next Generation Architecture with OSGi
LinkedIn
 

Destaque (10)

Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
 
Liberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair NottinghamLiberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair Nottingham
 
Towards a Modularity Maturity Model
Towards a Modularity Maturity ModelTowards a Modularity Maturity Model
Towards a Modularity Maturity Model
 
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
 
Service oriented component model
Service oriented component modelService oriented component model
Service oriented component model
 
Why OSGi?
Why OSGi?Why OSGi?
Why OSGi?
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
 
Building LinkedIn's Next Generation Architecture with OSGi
Building LinkedIn's Next Generation  Architecture with OSGiBuilding LinkedIn's Next Generation  Architecture with OSGi
Building LinkedIn's Next Generation Architecture with OSGi
 

Semelhante a What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diekmann

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
Dileepa Jayakody
 
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
mfrancis
 
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
mfrancis
 

Semelhante a What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diekmann (20)

What's new in the OSGi Enterprise Release 5.0
What's new in the OSGi Enterprise Release 5.0What's new in the OSGi Enterprise Release 5.0
What's new in the OSGi Enterprise Release 5.0
 
FOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component InfrastructureFOSDEM19 MySQL Component Infrastructure
FOSDEM19 MySQL Component Infrastructure
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
Liberty Deep Dive
Liberty Deep DiveLiberty Deep Dive
Liberty Deep Dive
 
Osgi
OsgiOsgi
Osgi
 
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
 
OSGi introduction
OSGi introductionOSGi introduction
OSGi introduction
 
Java onebrazil hk2
Java onebrazil hk2Java onebrazil hk2
Java onebrazil hk2
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and Scala
 
Distributing OSGi
Distributing OSGiDistributing OSGi
Distributing OSGi
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
 
What’s new in WSO2 Enterprise Integrator 6.6
What’s new in WSO2 Enterprise Integrator 6.6What’s new in WSO2 Enterprise Integrator 6.6
What’s new in WSO2 Enterprise Integrator 6.6
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
CTS2 Development Framework
CTS2 Development FrameworkCTS2 Development Framework
CTS2 Development Framework
 
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
 
Dependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesDependencies, dependencies, dependencies
Dependencies, dependencies, dependencies
 
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
 
Building a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGiBuilding a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGi
 

Mais de 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
 
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
 
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
 

Mais de 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)
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
[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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diekmann

  • 1. The OSGi R5 Enterprise Release David Bosschaert, Red Hat Tim Diekmann, TIBCO EEG co-chairs
  • 2. Agenda •  Brief Summary •  What's new in R5 •  What's next?
  • 3. Brief Summary •  2nd Release of Enterprise Specification •  Extends Core Specification R5 •  Driving theme for this release is 'Applications' in OSGi •  Available now as an EA draft (official release follows soon) o  download from www.osgi.org o  RI and CT to be published end of June 2012
  • 4. What's New in R5 •  Support for "Applications” and supporting services o  Subsystem Service o  Repository Service o  Resolver Service •  Auxiliary Services and Specifications o  Service Loader Mediator o  Common Namespaces •  Service Updates and Enhancements o  JMX Management Model o  Configuration Admin o  Declarative Services o  Coordinator Service
  • 5. Subsystem Service •  Aggregation of resources (incl. bundles, subsystems) o  three types: feature, composite, application •  Declarative scoping and sharing policies allow for boundaries between different applications •  Common lifecycle of resources in the same scope •  Applications may be self-contained or require external resources o  uses Repository and Resolver service to identify missing resources and use policies to drive provisioning •  Defines an abstract and concrete description of the subsystem, subsystem archive (*.esa) •  Based on Core framework hooks that allow for limiting visibility and duplicate installation of bundles
  • 9. Nested Subsystems "Turtles All The Way Down" •  A subsystem can contain a subsystem, thereby, allowing subsystems inside subsystems •  The framework itself is the root subsystem that all other subsystems are installed into
  • 10. Repository Service •  A Service to access Repositories (local or remote) o  Bundle or other Resource o  Query on Generic Capabilities (introduced in Core R4.3 spec) •  Provides resources that can be installed and used in Resolve operations •  Can be used standalone or with Subsystems / Resolver •  Defines XML Schema for repository description o  Interchange format
  • 12. Resolver Service •  Allow management agents to do provisioning o  "Find me everything I need to deploy so that this bundle resolves" •  Can resolve any constraint expressed as a generic capability/ requirement o  Not limited to predefined OSGi namespaces •  Designed to work with Repository Services for dependencies •  Can be used for what-if scenarios o  "Will this combination of bundles resolve?"
  • 14. OSGi ServiceLoader Mediator java.util.ServiceLoader is non-modular by design •  expects global visibility: classloader issues •  encapsulation issues: exposure of internals •  hard to get working in general OSGi ServiceLoader Mediator spec: 1. Services found in META-INF/services registered in OSGi ServiceRegistry with serviceloader.mediator property 2. Clients using ServiceLoader.load() can be made to work as-is generally involves weaving, other implementations possible
  • 15. Common Namespaces •  Generic Requirement-Capability model o  Introduced in Core 4.3 o  Can be used by Bundles, Resolver, Repository, etc o  Capability types defined using Namespaces •  Enterprise R5 adds Capability Namespaces for: o  Services:   "I provide a Configuration Admin service" Provide-Capability: osgi.service; !                objectClass=org.osgi.service.cm.ConfigurationAdmin" o  Extenders:   "I require a Blueprint implementation" Require-Capability: osgi.extender;!                 filter:="(osgi.extender=osgi.blueprint)”" o  Contracts:   Instead of individual imports: "I need the Servlet 2.5 API" Require-Capability: osgi.contract;!                 filter:="(&(osgi.contract=Servlet)(version>=2.5))”!
  • 16. Service Updates and Enhancements •  JMX Management Model o  API updates and support Bundle Wiring API •  Configuration Admin Service o  SynchronousConfigurationListener!   Allow 'transactional' configuration updates across PIDs when used with the Coordinator Service o  Targeted PIDs   Address specific bundle when multiple bundles listen to the same PID, e.g. MS and MSF from different versions o  Allow multiple bundles to share the same configuration •  Declarative Services o  Build-time only annotations that are processed by tools like BndTools to create runtime XML component declarations •  Coordinator Service o  Allows coordination across APIs   (e.g. ConfigurationAdmin updating multi-PID updates)
  • 17. What's Next •  "OSGi In The Cloud" o  see workshop during EclipseCon 2012 •  Blueprint enhancements o  Transactions o  Configuration Admin integration o  Namespaces •  WebApp enhancements and update •  Asynchronous services / Scala actors support •  Javascript support •  CDI integration •  EJB support •  JavaEE package version handling •  ... more ...
  • 18. More •  OSGi Website: www.osgi.org •  OSGi Core Specification R5: http://www.osgi.org/download/osgi.core-5.0.0-pfd.pdf •  OSGi Enterprise Specification R5: http://www.osgi.org/download/osgi.enterprise-5.0.0-pfd.pdf •  OSGi BoF Tuesday 19:00 •  "OSGi In The Cloud" workshop at EclipseCon 2012 o  Thursday March 29, 09:00 am o  register: http://osgi-cloudworkshop-2012.eventbrite.com