SlideShare a Scribd company logo
1 of 17
OSGi
Enterprise Expert Group



                    David Bosschaert
    Principal Engineer, JBoss/Red Hat
                   david@redhat.com
                       December 2012
Agenda

●   What is the EEG?
●   New specs in OSGi Enterprise R5
●   Work in progress for OSGi Enterprise R6
What is the EEG
●   One of the 3 active expert groups in the OSGi
    Alliance, others are CPEG and REG
●   Works on OSGi Specifications that are
    applicable to Enterprise use-cases
    –   but are potentially useful in other contexts too
●   Active members include: IBM, RedHat, TIBCO,
    Adobe, Oracle, Luminis, Paremus and others
●   Previous releases:
    –   R4.2 (first Enterprise Release, 2010)
    –   R5 (second Enterprise Release, 2012)
New specs in the
Enterprise R5 release
Repository Spec (Enterprise R5)
Find resources in a repository...
●   based on capabilities
    –   (not just their name)
    –   osgi-defined capabilities (exported packages, bsn)
    –   user-defined capabilities (e.g. passed QA)
●   E.g. “find a bundles that provides package
           org.acme.foo in version range [1.2, 2)”
●   API, can be implemented over existing repos
        public Map<Requirement,Collection<Capability>>
          findProviders(Collection<Requirement> requirements)
●   Can be used with any resource, not just bundles
●   Implementation at JBoss
     (github: jbosgi-repository)
Resolver spec (Enterprise R5)
●   Resolve on behalf of a framework
    –   Given a framework with existing bundles...
    –   Will a set of bundles resolve?
    –   What else is needed?
    –   Transitive dependencies
●   Can be used to prepare bundles to-be-installed
●   Run what-if scenarios
●   Can work seamlessly with the Repository API
●   Implementation at Apache Felix
Subsystems (Enterprise R5)
●   Allows definition of OSGi Applications
    –   made up of a number of bundles
    –   other coarse-grained components also possible
        ●   e.g. a library that consists of many bundles
    –   either an archive that contains bundles (.esa file)
    –   or just a subsystem desc
        ●   bundles obtained from Repository
●   subsystems can be nested
●   version ranges can be frozen in a deployment
    descriptor
Subsystems (Enterprise R5)
●   Sharing models
    –   Feature (everything shared)
    –   Application (nothing shared out, libraries shared in)
    –   Composite (custom sharing)
Subsystem examples (Enterprise R5)
Two example subsystem definitions
MyZippedApplication.esa:        MyDeclarativeApplication.esa:
META-INF/SUBSYSTEM.MF:         META-INF/SUBSYSTEM.MF:
 Subsystem-SymbolicName: foo    Subsystem-SymbolicName: bar
 Subsystem-Version: 1.0.0       Subsystem-Type: osgi.subsystem.feature
 Subsystem-Type:                Subsystem-Content:
  osgi.subsystem.application     org.acme.b1;
bundle1.jar                       type=osgi.bundle;
bundle2.jar                       version=[1.1, 2),
bundle3.jar                      org.acme.s2;
subsystem4.esa                    type=osgi.subsystem.feature

                               META-INF/DEPLOYMENT.MF:
                                Deployed-Content:
                                 org.acme.b1; deployed-version=1.7.2,
                                 org.acme.s2; deployed-version=1.0.2



Implementation at Apache Aries
Migration Support (Enterprise R5)
ServiceLoader Mediator specification
●   Enables java.util.ServiceLoader in OSGi
●   Implementation at Apache Aries
    http://aries.apache.org/modules/spi-fly.html



For any OSGi spec, find the available implementations on
Wikipedia:
    http://en.wikipedia.org/wiki/OSGi_Specification_Implementations
Capability Namespaces (Enterprise R5)
For use by Framework Resolver, Repository or tools
●   osgi.extender
    –   allows a bundle to say 'I need this extender to run'
    –   or 'I am this extender'
    –   prevents system from resolving if extender not there
    –   can prevent multiple extenders from extending the same
●   osgi.contract
    –   a shorthand for a group of imports (e.g. Servlet, JPA, JAXB)
    –   primarily for use by tools
●   osgi.service
    –   express that a bundle needs/provides a service
    –   primarily for use with the Repository
Work in progress for R6
●   Tentative release date: early 2014
●   Current themes:
    –   Cloud
    –   JavaEE Integration
    –   Updating existing specs
R6 – Cloud
REST management API (RFC 182)
●   A remote management API for OSGi
    frameworks over REST (JSON or XML)
●   Install/Uninstall/Start/Stop bundles
●   Inspect the framework, services etc...

Cloud Ecosystems (RFC 183)
●   A fluid, multi-node, service-based PaaS
    –   deployments can dynamically scale up/down
    –   move around
    –   be repurposed
R6 – JavaEE integration (1)
●   CDI integration (RFC 193)
    –   Use the CDI programming model to work with OSGi
        services
    –   Integrate across JavaEE and OSGi boundaries
        using CDI

●   JCA integration (RFC 146)
    –   Use JCA Resource Adapters in OSGi
R6 – JavaEE integration (2)
●   EJB integration (RFC 194)
    –   Deploy and use EJBs in OSGi

●   JavaEE Package Versions (RFC 180)
    –   projects developed for OSGi use semantic
        versioning on their Java Packages
    –   but what versions do I use when I need to import
        something from javax.xxx / JSR spec?
    –   This RFC aims at providing a solution to this
R6 – Other Spec Updates
●   Blueprint 1.1, Blueprint transactions and
    possibly other Blueprint updates
●   HttpService is being updated (RFC 189)
    –   to include support for newer Servlet features
    –   Whiteboard pattern support
●   Declarative Services update (RFC 190)
    –   a number of updates including an administrative API
        and enhanced Annotation support
Interested? Come and help out!
●   If you're interested in any of the R6 EEG topics,
    come and help out!
    –   the OSGi Alliance is always open for new members:
           http://www.osgi.org/Join
    –   if your employer is already a member, talk to me
        (david at redhat.com) or any other co-chair on how
        to get involved
●   If you're not a member
    –   regular Early Access Drafts are released for
        feedback

More Related Content

What's hot

BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopLinaro
 
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...mfrancis
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat OpenShift Origin
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightSyed Moneeb
 
The current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster projectThe current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster projectAlexander Pyhalov
 
Openshift + Openstack + Fedora = Awesome
Openshift + Openstack + Fedora = AwesomeOpenshift + Openstack + Fedora = Awesome
Openshift + Openstack + Fedora = AwesomeMark Atwood
 
JDK 9: 55 New Features
JDK 9: 55 New FeaturesJDK 9: 55 New Features
JDK 9: 55 New FeaturesSimon Ritter
 
cgo and Go plugins
cgo and Go pluginscgo and Go plugins
cgo and Go pluginsstrikr .
 
Ryu dynamic loader
Ryu dynamic loaderRyu dynamic loader
Ryu dynamic loaderYi Tseng
 
Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015Ramesh Nachimuthu
 
Why the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructureWhy the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructureWSO2
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기OpenStack Korea Community
 
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound pluginsUsing OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound pluginsOpenDaylight
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateTom Herbert
 
Boston meetup : MySQL Innodb Cluster - May 1st 2017
Boston meetup : MySQL Innodb Cluster - May 1st  2017Boston meetup : MySQL Innodb Cluster - May 1st  2017
Boston meetup : MySQL Innodb Cluster - May 1st 2017Frederic Descamps
 
클라우드 네트워킹과 SDN 그리고 OpenStack
클라우드 네트워킹과 SDN 그리고 OpenStack클라우드 네트워킹과 SDN 그리고 OpenStack
클라우드 네트워킹과 SDN 그리고 OpenStackChoe Cheng-Dae
 

What's hot (20)

BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing Hadoop
 
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylight
 
The current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster projectThe current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster project
 
Openshift + Openstack + Fedora = Awesome
Openshift + Openstack + Fedora = AwesomeOpenshift + Openstack + Fedora = Awesome
Openshift + Openstack + Fedora = Awesome
 
Ironic
IronicIronic
Ironic
 
OCI Support in Mesos
OCI Support in MesosOCI Support in Mesos
OCI Support in Mesos
 
JDK 9: 55 New Features
JDK 9: 55 New FeaturesJDK 9: 55 New Features
JDK 9: 55 New Features
 
cgo and Go plugins
cgo and Go pluginscgo and Go plugins
cgo and Go plugins
 
Ryu dynamic loader
Ryu dynamic loaderRyu dynamic loader
Ryu dynamic loader
 
Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015
 
Rethinking the OS
Rethinking the OSRethinking the OS
Rethinking the OS
 
Why the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructureWhy the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructure
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
 
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound pluginsUsing OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
 
What's New in Java 9
What's New in Java 9What's New in Java 9
What's New in Java 9
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and Update
 
Boston meetup : MySQL Innodb Cluster - May 1st 2017
Boston meetup : MySQL Innodb Cluster - May 1st  2017Boston meetup : MySQL Innodb Cluster - May 1st  2017
Boston meetup : MySQL Innodb Cluster - May 1st 2017
 
클라우드 네트워킹과 SDN 그리고 OpenStack
클라우드 네트워킹과 SDN 그리고 OpenStack클라우드 네트워킹과 SDN 그리고 OpenStack
클라우드 네트워킹과 SDN 그리고 OpenStack
 

Similar to OSGi Enterprise Expert Group (OSGi Users Forum Germany)

OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriensmfrancis
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi WebinarWSO2
 
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.0David Bosschaert
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesJan S. Rellermeyer
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010Adrian Trenaman
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...IndicThreads
 
node.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoonnode.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang YoonJesang Yoon
 
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?Wong Hoi Sing Edison
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Martin Toshev
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroEPAM
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
 
Jax london 2011
Jax london 2011Jax london 2011
Jax london 2011njbartlett
 
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJava Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJAX London
 
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...mfrancis
 
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
 
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
 

Similar to OSGi Enterprise Expert Group (OSGi Users Forum Germany) (20)

OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
 
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
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
 
Carbon and OSGi Deep Dive
Carbon and OSGi Deep DiveCarbon and OSGi Deep Dive
Carbon and OSGi Deep Dive
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 
OSGi introduction
OSGi introductionOSGi introduction
OSGi introduction
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
Apache Marmotta - Introduction
Apache Marmotta - IntroductionApache Marmotta - Introduction
Apache Marmotta - Introduction
 
node.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoonnode.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoon
 
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
Jax london 2011
Jax london 2011Jax london 2011
Jax london 2011
 
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJava Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
 
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
 
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
 
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
 

More from David Bosschaert

Maximize the power of OSGi
Maximize the power of OSGiMaximize the power of OSGi
Maximize the power of OSGiDavid Bosschaert
 
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
 
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)David Bosschaert
 
What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)David Bosschaert
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in PractiseDavid Bosschaert
 
OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)David Bosschaert
 
OSGi Cloud Ecosystems (OSGi Users Forum Germany)
OSGi Cloud Ecosystems (OSGi Users Forum Germany)OSGi Cloud Ecosystems (OSGi Users Forum Germany)
OSGi Cloud Ecosystems (OSGi Users Forum Germany)David Bosschaert
 
OpenJDK Penrose Presentation (JavaOne 2012)
OpenJDK Penrose Presentation (JavaOne 2012)OpenJDK Penrose Presentation (JavaOne 2012)
OpenJDK Penrose Presentation (JavaOne 2012)David Bosschaert
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupDavid Bosschaert
 
What's new in the OSGi 4.2 Enterprise Release
What's new in the OSGi 4.2 Enterprise ReleaseWhat's new in the OSGi 4.2 Enterprise Release
What's new in the OSGi 4.2 Enterprise ReleaseDavid Bosschaert
 
Distributed Services - OSGi 4.2 and possible future enhancements
Distributed Services - OSGi 4.2 and possible future enhancementsDistributed Services - OSGi 4.2 and possible future enhancements
Distributed Services - OSGi 4.2 and possible future enhancementsDavid Bosschaert
 
Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009David Bosschaert
 

More from David Bosschaert (14)

Node MCU Fun
Node MCU FunNode MCU Fun
Node MCU Fun
 
Maximize the power of OSGi
Maximize the power of OSGiMaximize the power of OSGi
Maximize the power of OSGi
 
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
 
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
 
What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
 
OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)
 
OSGi Cloud Ecosystems (OSGi Users Forum Germany)
OSGi Cloud Ecosystems (OSGi Users Forum Germany)OSGi Cloud Ecosystems (OSGi Users Forum Germany)
OSGi Cloud Ecosystems (OSGi Users Forum Germany)
 
OSGi Cloud Ecosystems
OSGi Cloud EcosystemsOSGi Cloud Ecosystems
OSGi Cloud Ecosystems
 
OpenJDK Penrose Presentation (JavaOne 2012)
OpenJDK Penrose Presentation (JavaOne 2012)OpenJDK Penrose Presentation (JavaOne 2012)
OpenJDK Penrose Presentation (JavaOne 2012)
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert Group
 
What's new in the OSGi 4.2 Enterprise Release
What's new in the OSGi 4.2 Enterprise ReleaseWhat's new in the OSGi 4.2 Enterprise Release
What's new in the OSGi 4.2 Enterprise Release
 
Distributed Services - OSGi 4.2 and possible future enhancements
Distributed Services - OSGi 4.2 and possible future enhancementsDistributed Services - OSGi 4.2 and possible future enhancements
Distributed Services - OSGi 4.2 and possible future enhancements
 
Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
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
 
"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
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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?
 
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
 
"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...
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
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
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

OSGi Enterprise Expert Group (OSGi Users Forum Germany)

  • 1. OSGi Enterprise Expert Group David Bosschaert Principal Engineer, JBoss/Red Hat david@redhat.com December 2012
  • 2. Agenda ● What is the EEG? ● New specs in OSGi Enterprise R5 ● Work in progress for OSGi Enterprise R6
  • 3. What is the EEG ● One of the 3 active expert groups in the OSGi Alliance, others are CPEG and REG ● Works on OSGi Specifications that are applicable to Enterprise use-cases – but are potentially useful in other contexts too ● Active members include: IBM, RedHat, TIBCO, Adobe, Oracle, Luminis, Paremus and others ● Previous releases: – R4.2 (first Enterprise Release, 2010) – R5 (second Enterprise Release, 2012)
  • 4. New specs in the Enterprise R5 release
  • 5. Repository Spec (Enterprise R5) Find resources in a repository... ● based on capabilities – (not just their name) – osgi-defined capabilities (exported packages, bsn) – user-defined capabilities (e.g. passed QA) ● E.g. “find a bundles that provides package org.acme.foo in version range [1.2, 2)” ● API, can be implemented over existing repos public Map<Requirement,Collection<Capability>> findProviders(Collection<Requirement> requirements) ● Can be used with any resource, not just bundles ● Implementation at JBoss (github: jbosgi-repository)
  • 6. Resolver spec (Enterprise R5) ● Resolve on behalf of a framework – Given a framework with existing bundles... – Will a set of bundles resolve? – What else is needed? – Transitive dependencies ● Can be used to prepare bundles to-be-installed ● Run what-if scenarios ● Can work seamlessly with the Repository API ● Implementation at Apache Felix
  • 7. Subsystems (Enterprise R5) ● Allows definition of OSGi Applications – made up of a number of bundles – other coarse-grained components also possible ● e.g. a library that consists of many bundles – either an archive that contains bundles (.esa file) – or just a subsystem desc ● bundles obtained from Repository ● subsystems can be nested ● version ranges can be frozen in a deployment descriptor
  • 8. Subsystems (Enterprise R5) ● Sharing models – Feature (everything shared) – Application (nothing shared out, libraries shared in) – Composite (custom sharing)
  • 9. Subsystem examples (Enterprise R5) Two example subsystem definitions MyZippedApplication.esa: MyDeclarativeApplication.esa: META-INF/SUBSYSTEM.MF: META-INF/SUBSYSTEM.MF: Subsystem-SymbolicName: foo Subsystem-SymbolicName: bar Subsystem-Version: 1.0.0 Subsystem-Type: osgi.subsystem.feature Subsystem-Type: Subsystem-Content: osgi.subsystem.application org.acme.b1; bundle1.jar type=osgi.bundle; bundle2.jar version=[1.1, 2), bundle3.jar org.acme.s2; subsystem4.esa type=osgi.subsystem.feature META-INF/DEPLOYMENT.MF: Deployed-Content: org.acme.b1; deployed-version=1.7.2, org.acme.s2; deployed-version=1.0.2 Implementation at Apache Aries
  • 10. Migration Support (Enterprise R5) ServiceLoader Mediator specification ● Enables java.util.ServiceLoader in OSGi ● Implementation at Apache Aries http://aries.apache.org/modules/spi-fly.html For any OSGi spec, find the available implementations on Wikipedia: http://en.wikipedia.org/wiki/OSGi_Specification_Implementations
  • 11. Capability Namespaces (Enterprise R5) For use by Framework Resolver, Repository or tools ● osgi.extender – allows a bundle to say 'I need this extender to run' – or 'I am this extender' – prevents system from resolving if extender not there – can prevent multiple extenders from extending the same ● osgi.contract – a shorthand for a group of imports (e.g. Servlet, JPA, JAXB) – primarily for use by tools ● osgi.service – express that a bundle needs/provides a service – primarily for use with the Repository
  • 12. Work in progress for R6 ● Tentative release date: early 2014 ● Current themes: – Cloud – JavaEE Integration – Updating existing specs
  • 13. R6 – Cloud REST management API (RFC 182) ● A remote management API for OSGi frameworks over REST (JSON or XML) ● Install/Uninstall/Start/Stop bundles ● Inspect the framework, services etc... Cloud Ecosystems (RFC 183) ● A fluid, multi-node, service-based PaaS – deployments can dynamically scale up/down – move around – be repurposed
  • 14. R6 – JavaEE integration (1) ● CDI integration (RFC 193) – Use the CDI programming model to work with OSGi services – Integrate across JavaEE and OSGi boundaries using CDI ● JCA integration (RFC 146) – Use JCA Resource Adapters in OSGi
  • 15. R6 – JavaEE integration (2) ● EJB integration (RFC 194) – Deploy and use EJBs in OSGi ● JavaEE Package Versions (RFC 180) – projects developed for OSGi use semantic versioning on their Java Packages – but what versions do I use when I need to import something from javax.xxx / JSR spec? – This RFC aims at providing a solution to this
  • 16. R6 – Other Spec Updates ● Blueprint 1.1, Blueprint transactions and possibly other Blueprint updates ● HttpService is being updated (RFC 189) – to include support for newer Servlet features – Whiteboard pattern support ● Declarative Services update (RFC 190) – a number of updates including an administrative API and enhanced Annotation support
  • 17. Interested? Come and help out! ● If you're interested in any of the R6 EEG topics, come and help out! – the OSGi Alliance is always open for new members: http://www.osgi.org/Join – if your employer is already a member, talk to me (david at redhat.com) or any other co-chair on how to get involved ● If you're not a member – regular Early Access Drafts are released for feedback