SlideShare a Scribd company logo
1 of 31
Download to read offline
Enterprise OSGi –
                How to tackle the problems of large scale
                          applications in OSGi

               Nicole Wengatz, Siemens AG
               Tim Diekmann, Siemens Communications, Inc.
               Manfred Hutt, Siemens Enterprise Communications GmbH & Co KG




© 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

    1. Where and why do we use OSGi for our enterprise
       applications?

    2. OSGi R3 is a good start, but has shortcomings in our
       application space.

    3. OSGi R4 delivers more, but there is always room for
       improvement.

    4. Still some missing parts, let’s join the OSGi Enterprise Expert
       Group

    5. What are we planning to do next...




2          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

    1. Where and why do we use OSGi for our enterprise
       applications?

    2. OSGi R3 is a good start, but has shortcomings in our
       application space.

    3. OSGi R4 delivers more, but there is always room for
       improvement.

    4. Still some missing parts, let’s join the OSGi Enterprise Expert
       Group

    5. What are we planning to do next...




3          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Siemens OpenSOA Application Product Line
    A Product line for soft real-time applications in the unified
    communications market
        Enables Product composition out of existing SW assets (Services)
        Enables Product integration with other Business Applications & Processes
    Key requirements
        Reduce time-to-market
        Maximize re-use of existing portfolio
        Increase and ensure scalability, availability, reliability
        Ease integration into existing IT infrastructures
    Key decisions
        Platform independence
        Service Oriented Architecture
        Component Container technology

4           © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Java Enterprise World: A Short History of Time




5       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Technology Option: Java EE and JMS


                                                                                    EJB Container
                                  asynchronous request / reply


                              JMS
                                                     MessageDriven
    Client                                                                              Session Bean
                                                         Bean
                                    publish / subscribe


                                                                                                             Entity Bean




6            © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Technology Decision: OSGi

    Why Not EJB Container?
        JMS based request/reply in combination with MessageDrivenBean
        too heavyweight
        JMS aimed at traditional business application / integration domains
        (i.e. guaranteed message delivery)
        EJB restrictions
        Message Driven Beans not designed for lightweight events
    Further Evaluation
        JMX Container
        OSGi
    Decisions made:
        Use OSGi as base, enhance OSGi with missing functionality



7       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

    1. Where and why do we use OSGi for our enterprise
       applications?

    2. OSGi R3 is a good start, but has shortcomings in our
       application space.

    3. OSGi R4 delivers more, but there is always room for
       improvement.

    4. Still some missing parts, let’s join the OSGi Enterprise Expert
       Group

    5. What are we planning to do next...




8          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
OSGi (R3) container has many advantages

    It’s lean and mean, provides us
         Native support for SOA applications
         Hosting environment for services with minimal footprint
         Component model
         Full lifecycle of services
         Platform independence, vendor independence
         Interface based, abstraction from implementation, supports separation of
         concerns
         Allows multithreading
         Provides registry and discovery of available services
         Tool support, e.g. Eclipse

    Plus much more that we did not use




9        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
OSGi R3 shortcomings for our application domain

     Restricted to single container
     Service model limited to OSGi container environment
     The OSGi R3 specification does not address
         support for multiple communication patterns
         declarative dependency management
         support interceptor mechanism, e.g. Spring interceptor framework
         support for deployment and configuration of non-OSGi artifacts that
         accompany an enterprise application
         support for user based authentication & authorization
     Listeners and trackers have to be coded manually




10       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Runtime Environment: Extending the OSGi R3 container


                                                                         OSGi Container
                                      Registration &                                                               Declarative
                                        Discovery                                                                  Dependency
                                                                                                                   Management
     Client    Jav                                                                 Service X
                     a se
                                     asynchronous request / reply
                         riali
                              zati
                                  on
                                                                                                                   Configuration
                                      Connectivity                                                                 Management

     Client                 AP                                                     Service Y
                       SO              publish / subscribe
                                               Interceptor                                                            Logging
                                               Framework




11            © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Our solution approach to multi-container

     Enhanced service model
         local service vs remote service

     Inter container communication support
         individual remotely addressable instances

     Service registry beyond the border of a single container
         distributed service registry
         affinity
         configurable responsibilities (properties) for individual instances




12        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Our solution approach to inter-container and intra-container
communication
     Integration of service bus (Message oriented middleware – MOM)
         client to remote service, local service to remote service
         remote service to remote service in different container
         local service to local service inside same container
     Support of multiple communication patterns
         request – reply
         request – multiple reply
         event based – publish/subscribe
     Support of multiple communication protocols
         JAVA serialization over plain TCP/IP sockets
         JMS (for events)
         HTTP(S)
         SOAP over HTTP(S)


13           © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Our solution approach to declarative dependency
management
     Add dependency manager to each component and service

     Add Deployment Descriptor to every bundle
         XML file with defined schema
         describing dependencies to other components or services
         provided interfaces
         interceptors

     Register interfaces as OSGi service (component in our terms) or
     service, which can be reached from outside

     Use inversion of control pattern for injection of dependencies



14        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Our solution approach to security

      Support of user based authentication & authorization
      Use of Spring AOP interception for enforcement
              Authentication interceptors added declaratively to service
      Support of resource based security
              e.g. access control lists


                                                                             OSGi Container

                  Request                                         Interceptor
     Client                                                                                                Service X
                                     Connectivity request / reply
                                      asynchronous
                  sec. token                                     check token




                                          publish / subscribe



15            © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
What we have reached so far

     Platform independent base for our product line
          OSGi gives us the base for free

     Scalability
          Use multiple containers and load balancers
          Communication hides the target location, client needs not to be
          aware of it

     Availability
          Distributing services allows for different failover scenarios




16        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

     1. Where and why do we use OSGi for our enterprise
        applications?

     2. OSGi R3 is a good start, but has shortcomings in our
        application space.

     3. OSGi R4 delivers more, but there is always room for
        improvement.

     4. Still some missing parts, let’s join the OSGi Enterprise Expert
        Group

     5. What are we planning to do next...




17          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
OSGi R4 came with improvements

     Declarative Services (DS)

     Deployment Admin Service

     Configuration Admin Service (already available in R3, but only
     introduced in our project with R4 container)

     Improved tool chain, e.g. Eclipse PDE




18       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Shortcomings of OSGi R4
     DS is not flexible and powerful enough for enterprise
     requirements:
         Semantics in the spec do not apply to our problem space, e.g.
         restart of services in case of configuration changes or disposal of
         stateful services if required dependency went down and no suitable
         instance is available.
         Support for POJO dependency injection and interceptors still
         missing.
         Interaction with Configuration Admin Service not well defined.
     Still no support for multi-container deployment
     No answer to scalability and availability of services
     We still miss a differentiation between services which are
     remotely accessible and services which are only locally
     accessible.


19        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
What did we take from OSGi R4

     Take ideas of Declarative Services and adapt to our needs
         Enterprise Declarative Services (EDS)

     Use CAS
         Enhanced integration with EDS

     Deployment Admin Service
         Needs to be enhanced to support of multiple versions of same
         bundle

     PDE tool chain enhanced by additional tools




20       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Our solution approach to virtualization of services
     Container hierarchy in a single system across multiple nodes
          containers host services (local and remote)
          nodes host containers (and other non-OSGi processes, e.g. web container)
          system addresses all nodes

     Central configuration management for all containers
          system, node, container management

     Single registry system wide, service discovery mechanism
          distributed remote service registry
          every remote service becomes available to any other service and to
          external clients

     Multiple services instances on multiple containers provide for increased
     reliability, availability, and scalability
     Abstraction of hosting location
          client is interested in service based on interface contract, not in
          implementation

21        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

     1. Where and why do we use OSGi for our enterprise
        applications?

     2. OSGi R3 is a good start, but has shortcomings in our
        application space.

     3. OSGi R4 delivers more, but there is always room for
        improvement.

     4. Still some missing parts, let’s join the OSGi Enterprise Expert
        Group

     5. What are we planning to do next...




22          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Enterprise Expert Group (EEG)

     Other companies ran into same issues

     All our solutions are proprietary and non-interoperable

     Standardization of solutions enables integration with other
     vendors
         supports product and solution business
         enables partnerships with other vendors

     Huge interest demonstrated by other companies to help driving
     changes in OSGi




23        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Agenda

     1. Where and why do we use OSGi for our enterprise
        applications?

     2. OSGi R3 is a good start, but has shortcomings in our
        application space.

     3. OSGi R4 delivers more, but there is always room for
        improvement.

     4. Still some missing parts, let’s join the OSGi Enterprise Expert
        Group

     5. What are we planning to do next...




24          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Next steps

     Drive the standardization of enterprise specific solutions.

     Example:
         We have a “Home build” Communication Framework which is
         integrated via a proprietary way in our OSGi service container.
         Our Goal is to replace the Communication Framework in the mid-
         term with off-the-shelf middleware and to move into the direction of
         an OSGi / SCA (Service Component Architecture) compliant
         communication middleware.




25        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Proposal: Use SCA for distributed communication (1)
                                                                                             OSGi Container
                             OSGi Container
                                                                                              SCA Container
                  SCA Container (a set of bundles)
                                                                                             EJB Implementation Type

                           OSGi Implementation Type
                                                                                                         Session
                                                                                           EJB           Bean X

Client                JMS                              EJB
                                     OSGi
                                    Service A
                       SOAP                            SOAP
Client
                                                                                            .NET Container
                                       DS

                                                                                                    .Net Service
                           OSGi                OSGi
                          Service B           Service C




26       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Proposal: Use SCA for distributed communication (2)

     OSGi container hosts SCA container, SCA container is
     implemented as set of OSGi bundles.
     OSGi bundles contain in addition to the business logic the SCA
     composite file which contains the declarative configuration for:
         SCA service bindings (via which protocol the OSGi service is
         accessible) and
         SCA reference bindings (via which protocol the OSGi service is
         going to access services running in other containers).
     For dependencies inside an OSGi container the OSGi R4
     Declarative Services will be used.




27        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Conclusions

     We started with EJB, but OSGi is better suited for most of our
     requirements.
     Our experiences with OSGi are very good.
     To fulfill the enterprise requirements some parts are still missing.
     Our goal is to define standard solutions for the missing parts in
     Enterprise Expert Group.
     Integration is a big issue inside Siemens (not only for the
     Siemens OpenSOA project). The power combination “OSGi and
     SCA” allows to use always the best suited technology and to
     integrate easily in heterogeneous environments.
     (Enterprise) OSGi is cool ☺




28        © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Backup




29       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Possible Solution: OSGi and SCA combined
                                           reference
                                                                • Bindings define the access mechanism
                                                                • used by services and references
           service      Component          reference
                                                                • example: EJB, CORBA, WebService

                                           reference

     Component



                                                                                             reference
                                   Comp A                         Comp B
              service


     Composite




         service                                                                                          reference
                         Composite A                             Composite B
                        Composite D

     Composite (Recursive Assembly Model)

30          © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
Java Enterprise World:
Always use the best suited technology


                                                                         EJB
                                                                         Service A


                                                                     EJB Container

                                                                         OSGi
                                                                         Service B


                                                                     OSGi Container


                                                                         Spring
                                                                         Service C


                                                                     Spring Container




31       © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License

More Related Content

What's hot

Managing API Security in SaaS and Cloud
Managing API Security in SaaS and CloudManaging API Security in SaaS and Cloud
Managing API Security in SaaS and CloudCA API Management
 
Managing API Security in SaaS and Cloud
Managing API Security in SaaS and CloudManaging API Security in SaaS and Cloud
Managing API Security in SaaS and CloudCA API Management
 
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCS
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCSKeynote 2: Enterprise Cloud Services, Harrick Vin, TCS
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCSCloudOps Summit
 
Soa con8642 pdf_8642_0001
Soa con8642 pdf_8642_0001Soa con8642 pdf_8642_0001
Soa con8642 pdf_8642_0001jucaab
 
¿Migrando a CU? Las mejores prácticas para Manejar los Retos
¿Migrando a CU? Las mejores prácticas para Manejar los Retos¿Migrando a CU? Las mejores prácticas para Manejar los Retos
¿Migrando a CU? Las mejores prácticas para Manejar los RetosMundo Contact
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
 
Fcs Project Delivery Capabilities Presentation (2)
Fcs Project Delivery Capabilities Presentation (2)Fcs Project Delivery Capabilities Presentation (2)
Fcs Project Delivery Capabilities Presentation (2)Akshay Pandita
 
A collaborative requirement elicitation technique
A collaborative requirement elicitation techniqueA collaborative requirement elicitation technique
A collaborative requirement elicitation techniqueHasan Dwi Cahyono
 
AssureBridge - Your company deploys applications in the cloud - Marketing Pr...
AssureBridge  - Your company deploys applications in the cloud - Marketing Pr...AssureBridge  - Your company deploys applications in the cloud - Marketing Pr...
AssureBridge - Your company deploys applications in the cloud - Marketing Pr...AssureBridge
 
Code objects overview sep 2012
Code objects overview   sep 2012Code objects overview   sep 2012
Code objects overview sep 2012steveramsthel
 
Geospatial Community Cloud Vision
Geospatial Community Cloud VisionGeospatial Community Cloud Vision
Geospatial Community Cloud VisionDaneyon Hansen
 
Migrating Legacy Code
Migrating Legacy CodeMigrating Legacy Code
Migrating Legacy CodeSiddhi
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility OpenText Cordys
 
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209
Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209Elena Nanos
 

What's hot (18)

Managing API Security in SaaS and Cloud
Managing API Security in SaaS and CloudManaging API Security in SaaS and Cloud
Managing API Security in SaaS and Cloud
 
Managing API Security in SaaS and Cloud
Managing API Security in SaaS and CloudManaging API Security in SaaS and Cloud
Managing API Security in SaaS and Cloud
 
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCS
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCSKeynote 2: Enterprise Cloud Services, Harrick Vin, TCS
Keynote 2: Enterprise Cloud Services, Harrick Vin, TCS
 
Soa con8642 pdf_8642_0001
Soa con8642 pdf_8642_0001Soa con8642 pdf_8642_0001
Soa con8642 pdf_8642_0001
 
¿Migrando a CU? Las mejores prácticas para Manejar los Retos
¿Migrando a CU? Las mejores prácticas para Manejar los Retos¿Migrando a CU? Las mejores prácticas para Manejar los Retos
¿Migrando a CU? Las mejores prácticas para Manejar los Retos
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 
NetWeaver Gateway- Extend the Reach of SAP Applications
NetWeaver Gateway- Extend the Reach of SAP ApplicationsNetWeaver Gateway- Extend the Reach of SAP Applications
NetWeaver Gateway- Extend the Reach of SAP Applications
 
Nemo intro-100811
Nemo intro-100811Nemo intro-100811
Nemo intro-100811
 
Fcs Project Delivery Capabilities Presentation (2)
Fcs Project Delivery Capabilities Presentation (2)Fcs Project Delivery Capabilities Presentation (2)
Fcs Project Delivery Capabilities Presentation (2)
 
A collaborative requirement elicitation technique
A collaborative requirement elicitation techniqueA collaborative requirement elicitation technique
A collaborative requirement elicitation technique
 
AssureBridge - Your company deploys applications in the cloud - Marketing Pr...
AssureBridge  - Your company deploys applications in the cloud - Marketing Pr...AssureBridge  - Your company deploys applications in the cloud - Marketing Pr...
AssureBridge - Your company deploys applications in the cloud - Marketing Pr...
 
Code objects overview sep 2012
Code objects overview   sep 2012Code objects overview   sep 2012
Code objects overview sep 2012
 
Geospatial Community Cloud Vision
Geospatial Community Cloud VisionGeospatial Community Cloud Vision
Geospatial Community Cloud Vision
 
Migrating Legacy Code
Migrating Legacy CodeMigrating Legacy Code
Migrating Legacy Code
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility
 
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209
Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209
 
Ucc by hp
Ucc by hpUcc by hp
Ucc by hp
 
Java CAPS
Java CAPSJava CAPS
Java CAPS
 

Viewers also liked

Health Db Primer
Health Db PrimerHealth Db Primer
Health Db Primerparag978978
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?Vasil Remeniuk
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...IT Share
 
Pragmatic Real-World Scala
Pragmatic Real-World ScalaPragmatic Real-World Scala
Pragmatic Real-World Scalaparag978978
 
Concurrency in Scala - the Akka way
Concurrency in Scala - the Akka wayConcurrency in Scala - the Akka way
Concurrency in Scala - the Akka wayYardena Meymann
 
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012Matt Raible
 
Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008Yardena Meymann
 

Viewers also liked (9)

Health Db Primer
Health Db PrimerHealth Db Primer
Health Db Primer
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
 
Pragmatic Real-World Scala
Pragmatic Real-World ScalaPragmatic Real-World Scala
Pragmatic Real-World Scala
 
Scale up your thinking
Scale up your thinkingScale up your thinking
Scale up your thinking
 
All about scala
All about scalaAll about scala
All about scala
 
Concurrency in Scala - the Akka way
Concurrency in Scala - the Akka wayConcurrency in Scala - the Akka way
Concurrency in Scala - the Akka way
 
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012
HTML5 with Play Scala, CoffeeScript and Jade - UberConf 2012
 
Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008
 

Similar to Enterprise Osgi

Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013IBM Switzerland
 
JAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components ModelsJAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components ModelsHeiko Seeberger
 
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...We4IT Group
 
USolutions - SOA and the Cloud
USolutions - SOA and the CloudUSolutions - SOA and the Cloud
USolutions - SOA and the Cloudusolutions
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkThomas Pham
 
Dynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and VaadinDynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and VaadinKai Tödter
 
AWS Customer Presentation - Alcatel Lucent
AWS Customer Presentation - Alcatel LucentAWS Customer Presentation - Alcatel Lucent
AWS Customer Presentation - Alcatel LucentAmazon Web Services
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In CloudSatish Agrawal
 
SaaS, Cloud Demystified
SaaS, Cloud DemystifiedSaaS, Cloud Demystified
SaaS, Cloud DemystifiedManish Sharma
 
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...Amazon Web Services
 
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...DanielSchellhoss
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioKim Clark
 
Web Hosting for Web Designers and Developers
Web Hosting for Web Designers and DevelopersWeb Hosting for Web Designers and Developers
Web Hosting for Web Designers and Developersgoodfriday
 
Robust Embedded Applications OSGi ME Platforms
Robust Embedded Applications OSGi ME PlatformsRobust Embedded Applications OSGi ME Platforms
Robust Embedded Applications OSGi ME PlatformsOSGi User Group France
 
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...mfrancis
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud BusinessACMBangalore
 

Similar to Enterprise Osgi (20)

Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
 
JAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components ModelsJAX 09 - OSGi Service Components Models
JAX 09 - OSGi Service Components Models
 
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...
We4IT LCTY 2013 - Infra-Man - Deep Dive into IBM Sametime - Advanced Video Te...
 
USolutions - SOA and the Cloud
USolutions - SOA and the CloudUSolutions - SOA and the Cloud
USolutions - SOA and the Cloud
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
 
Dynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and VaadinDynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and Vaadin
 
AWS Customer Presentation - Alcatel Lucent
AWS Customer Presentation - Alcatel LucentAWS Customer Presentation - Alcatel Lucent
AWS Customer Presentation - Alcatel Lucent
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In Cloud
 
SaaS, Cloud Demystified
SaaS, Cloud DemystifiedSaaS, Cloud Demystified
SaaS, Cloud Demystified
 
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...
ENT202 69% and Falling: Lowering the TCO of Enterprise Apps - AWS re: Invent ...
 
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...
ProSyst Comany Introduction (OSGi, embedded Java, Device Management, TR-69, O...
 
LotusLive
LotusLiveLotusLive
LotusLive
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolio
 
Web Hosting for Web Designers and Developers
Web Hosting for Web Designers and DevelopersWeb Hosting for Web Designers and Developers
Web Hosting for Web Designers and Developers
 
Business Intelligence in the New IT World
Business Intelligence in the New IT WorldBusiness Intelligence in the New IT World
Business Intelligence in the New IT World
 
Pro syst about us
Pro syst   about usPro syst   about us
Pro syst about us
 
Robust Embedded Applications OSGi ME Platforms
Robust Embedded Applications OSGi ME PlatformsRobust Embedded Applications OSGi ME Platforms
Robust Embedded Applications OSGi ME Platforms
 
InterConnect 2016 - Cloud and systems briefing center - z Systems
InterConnect 2016 - Cloud and systems briefing center - z SystemsInterConnect 2016 - Cloud and systems briefing center - z Systems
InterConnect 2016 - Cloud and systems briefing center - z Systems
 
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
[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
 
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
 
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...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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...apidays
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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 Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
[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
 
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
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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 ...
 
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...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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 Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Enterprise Osgi

  • 1. Enterprise OSGi – How to tackle the problems of large scale applications in OSGi Nicole Wengatz, Siemens AG Tim Diekmann, Siemens Communications, Inc. Manfred Hutt, Siemens Enterprise Communications GmbH & Co KG © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 2. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 2 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 3. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 3 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 4. Siemens OpenSOA Application Product Line A Product line for soft real-time applications in the unified communications market Enables Product composition out of existing SW assets (Services) Enables Product integration with other Business Applications & Processes Key requirements Reduce time-to-market Maximize re-use of existing portfolio Increase and ensure scalability, availability, reliability Ease integration into existing IT infrastructures Key decisions Platform independence Service Oriented Architecture Component Container technology 4 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 5. Java Enterprise World: A Short History of Time 5 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 6. Technology Option: Java EE and JMS EJB Container asynchronous request / reply JMS MessageDriven Client Session Bean Bean publish / subscribe Entity Bean 6 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 7. Technology Decision: OSGi Why Not EJB Container? JMS based request/reply in combination with MessageDrivenBean too heavyweight JMS aimed at traditional business application / integration domains (i.e. guaranteed message delivery) EJB restrictions Message Driven Beans not designed for lightweight events Further Evaluation JMX Container OSGi Decisions made: Use OSGi as base, enhance OSGi with missing functionality 7 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 8. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 8 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 9. OSGi (R3) container has many advantages It’s lean and mean, provides us Native support for SOA applications Hosting environment for services with minimal footprint Component model Full lifecycle of services Platform independence, vendor independence Interface based, abstraction from implementation, supports separation of concerns Allows multithreading Provides registry and discovery of available services Tool support, e.g. Eclipse Plus much more that we did not use 9 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 10. OSGi R3 shortcomings for our application domain Restricted to single container Service model limited to OSGi container environment The OSGi R3 specification does not address support for multiple communication patterns declarative dependency management support interceptor mechanism, e.g. Spring interceptor framework support for deployment and configuration of non-OSGi artifacts that accompany an enterprise application support for user based authentication & authorization Listeners and trackers have to be coded manually 10 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 11. Runtime Environment: Extending the OSGi R3 container OSGi Container Registration & Declarative Discovery Dependency Management Client Jav Service X a se asynchronous request / reply riali zati on Configuration Connectivity Management Client AP Service Y SO publish / subscribe Interceptor Logging Framework 11 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 12. Our solution approach to multi-container Enhanced service model local service vs remote service Inter container communication support individual remotely addressable instances Service registry beyond the border of a single container distributed service registry affinity configurable responsibilities (properties) for individual instances 12 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 13. Our solution approach to inter-container and intra-container communication Integration of service bus (Message oriented middleware – MOM) client to remote service, local service to remote service remote service to remote service in different container local service to local service inside same container Support of multiple communication patterns request – reply request – multiple reply event based – publish/subscribe Support of multiple communication protocols JAVA serialization over plain TCP/IP sockets JMS (for events) HTTP(S) SOAP over HTTP(S) 13 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 14. Our solution approach to declarative dependency management Add dependency manager to each component and service Add Deployment Descriptor to every bundle XML file with defined schema describing dependencies to other components or services provided interfaces interceptors Register interfaces as OSGi service (component in our terms) or service, which can be reached from outside Use inversion of control pattern for injection of dependencies 14 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 15. Our solution approach to security Support of user based authentication & authorization Use of Spring AOP interception for enforcement Authentication interceptors added declaratively to service Support of resource based security e.g. access control lists OSGi Container Request Interceptor Client Service X Connectivity request / reply asynchronous sec. token check token publish / subscribe 15 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 16. What we have reached so far Platform independent base for our product line OSGi gives us the base for free Scalability Use multiple containers and load balancers Communication hides the target location, client needs not to be aware of it Availability Distributing services allows for different failover scenarios 16 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 17. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 17 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 18. OSGi R4 came with improvements Declarative Services (DS) Deployment Admin Service Configuration Admin Service (already available in R3, but only introduced in our project with R4 container) Improved tool chain, e.g. Eclipse PDE 18 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 19. Shortcomings of OSGi R4 DS is not flexible and powerful enough for enterprise requirements: Semantics in the spec do not apply to our problem space, e.g. restart of services in case of configuration changes or disposal of stateful services if required dependency went down and no suitable instance is available. Support for POJO dependency injection and interceptors still missing. Interaction with Configuration Admin Service not well defined. Still no support for multi-container deployment No answer to scalability and availability of services We still miss a differentiation between services which are remotely accessible and services which are only locally accessible. 19 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 20. What did we take from OSGi R4 Take ideas of Declarative Services and adapt to our needs Enterprise Declarative Services (EDS) Use CAS Enhanced integration with EDS Deployment Admin Service Needs to be enhanced to support of multiple versions of same bundle PDE tool chain enhanced by additional tools 20 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 21. Our solution approach to virtualization of services Container hierarchy in a single system across multiple nodes containers host services (local and remote) nodes host containers (and other non-OSGi processes, e.g. web container) system addresses all nodes Central configuration management for all containers system, node, container management Single registry system wide, service discovery mechanism distributed remote service registry every remote service becomes available to any other service and to external clients Multiple services instances on multiple containers provide for increased reliability, availability, and scalability Abstraction of hosting location client is interested in service based on interface contract, not in implementation 21 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 22. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 22 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 23. Enterprise Expert Group (EEG) Other companies ran into same issues All our solutions are proprietary and non-interoperable Standardization of solutions enables integration with other vendors supports product and solution business enables partnerships with other vendors Huge interest demonstrated by other companies to help driving changes in OSGi 23 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 24. Agenda 1. Where and why do we use OSGi for our enterprise applications? 2. OSGi R3 is a good start, but has shortcomings in our application space. 3. OSGi R4 delivers more, but there is always room for improvement. 4. Still some missing parts, let’s join the OSGi Enterprise Expert Group 5. What are we planning to do next... 24 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 25. Next steps Drive the standardization of enterprise specific solutions. Example: We have a “Home build” Communication Framework which is integrated via a proprietary way in our OSGi service container. Our Goal is to replace the Communication Framework in the mid- term with off-the-shelf middleware and to move into the direction of an OSGi / SCA (Service Component Architecture) compliant communication middleware. 25 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 26. Proposal: Use SCA for distributed communication (1) OSGi Container OSGi Container SCA Container SCA Container (a set of bundles) EJB Implementation Type OSGi Implementation Type Session EJB Bean X Client JMS EJB OSGi Service A SOAP SOAP Client .NET Container DS .Net Service OSGi OSGi Service B Service C 26 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 27. Proposal: Use SCA for distributed communication (2) OSGi container hosts SCA container, SCA container is implemented as set of OSGi bundles. OSGi bundles contain in addition to the business logic the SCA composite file which contains the declarative configuration for: SCA service bindings (via which protocol the OSGi service is accessible) and SCA reference bindings (via which protocol the OSGi service is going to access services running in other containers). For dependencies inside an OSGi container the OSGi R4 Declarative Services will be used. 27 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 28. Conclusions We started with EJB, but OSGi is better suited for most of our requirements. Our experiences with OSGi are very good. To fulfill the enterprise requirements some parts are still missing. Our goal is to define standard solutions for the missing parts in Enterprise Expert Group. Integration is a big issue inside Siemens (not only for the Siemens OpenSOA project). The power combination “OSGi and SCA” allows to use always the best suited technology and to integrate easily in heterogeneous environments. (Enterprise) OSGi is cool ☺ 28 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 29. Backup 29 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 30. Possible Solution: OSGi and SCA combined reference • Bindings define the access mechanism • used by services and references service Component reference • example: EJB, CORBA, WebService reference Component reference Comp A Comp B service Composite service reference Composite A Composite B Composite D Composite (Recursive Assembly Model) 30 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License
  • 31. Java Enterprise World: Always use the best suited technology EJB Service A EJB Container OSGi Service B OSGi Container Spring Service C Spring Container 31 © 2007 by Siemens AG; made available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License