SlideShare a Scribd company logo
1 of 21
Download to read offline
1!




            FraSCAti with OSGi
               Philippe Merle & Christophe Munilla
                          INRIA ADAM

OSGi Users' Group France, IFSTTAR, Villeneuve d’Ascq, France, 19th May 2011




                                                  © Copyright 2011 INRIA/ADAM
2!




Outline
•! Four challenges for SOA


•! SCA overview


•! Combining SCA with OSGi


•! FraSCAti overview


•! FraSCAti with OSGi


•! Related work



                             © Copyright 2011 INRIA/ADAM
3!




Four challenges for SOA
•! Structuring reusable flexible architectures
    •!    What is behind the scene?                             You want
    •!    Reuse the wheel when possible…                         SCA and !
    •!    …Or tune it if not!                                   FraSCAti!!
•! Interoperability
     •!   Orchestrate heterogeneous services
           –! The weather of the city where a Twitter user lives?
               –! Access the REST-based Twitter user account then
                  a SOAP-based weather service
•! Integration
     •!   Compose heterogeneous piece of software to build a new service
           –! e.g., compose a BPEL process, an OSGi bundle and a Xquery script
•! Dynamically reconfigurable runtime architectures
     •!   research challenge #1 in Service foundations [Papazoglou 07]



                                                                 © Copyright 2011 INRIA/ADAM
4!

       Service Component Architecture (SCA)
       An OASIS’s standard programming model for SOA


Network!




                                                                                     Network!




    •! Technology-agnostic, adaptability, variability
        •! Interface languages (Java, WSDL, OMG IDL, etc.)
        •! Implementation languages (Java, Spring, OSGi, BPEL, C/C++, etc.)
        •! Binding protocols (WS, REST, JSON-RPC, Java RMI, CORBA, etc.)
        •! Non functional aspects, aka SCA intents and policies
        •! Packaging formats and deployment targets (JAR, JBI, WAR, OSGi, etc.)

                                                                       © Copyright 2011 INRIA/ADAM
5!
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
           name="bank.account" >

    <service name="Account" promote="AccountFacade">
        <interface.java interface="services.account.Account"/>
        <binding.ws port="http://www.example.org/Account#
          wsdl.endpoint(Account/AccountSOAP)"/>
    </service>

    <component name="AccountFacade">
        <implementation.java class="services.account.AccountFacadeImpl"/>
        <reference name="StockQuote"/>
        <reference name="AccountData"
                   target="AccountData/Data"/>                    Composite bank.account

        <property name="currency">EURO</property>                                                               Reference
                                                                                                               StockQuote
    </component>                                            Service
                                                           Account
                                                                              Component
                                                                                AccountFacade
                                                                                                  Component
                                                                                                 AccountData
    <component name="AccountData">
        <implementation.bpel process=“QName"/>
        <service name="Data">
            <interface.java interface="services.account.Data"/>
        </service>
    </component>

    <reference name="StockQuote" promote="AccountFacade/StockQuote">
        <interface.java interface="services.stockquote.StockQuote"/>
        <binding.ws port="http://example.org/StockQuote#
          wsdl.endpoint(StockQuote/StockQuoteSOAP)"/>
    </reference>
</composite>                                                         © Copyright 2007 OSOA Collaboration




                                                                                         © Copyright 2011 INRIA/ADAM
Modelling with Eclipse SCA Tools
                                                            6!




                                   © Copyright 2011 INRIA/ADAM
7!




Combining SCA with OSGi
•! Interoperability and integration between SCA and OSGi


•! “Power Combination: SCA, OSGi and Spring”, White paper,
   OSOA Collaboration, March 2007
    •!   http://www.osoa.org/download/attachments/250/
         Power_Combination_SCA_Spring_OSGi.pdf



•! Already implementations of these ideas
    •!   Apache Tuscany, Fabric3, Newton


•! Not still part of the SCA standard !



                                                         © Copyright 2011 INRIA/ADAM
8!




Combining SCA with OSGi
•! OSGI to SCA
   •!   SCA service exported into the OSGi registry
•! SCA to OSGi
   •!   SCA reference imported from the OSGi registry
•! OSGI in SCA
   •!   SCA component implemented by OSGi bundles
•! OSGi for SCA
   •!   Dynamic « à la carte » SCA applications
•! SCA for OSGi
   •!   Assembly model
   •!   Multiple implementation languages
   •!   Multiple network binding protocols
   •!   Non functional policies and intents



                                                        © Copyright 2011 INRIA/ADAM
9!




OSGi to SCA




         <component name=“X”>
           <service name=“S”>
              <binding.osgi …/>
           </service>
         </component>
                                  © Copyright 2007 OSOA Collaboration




                                        © Copyright 2011 INRIA/ADAM
10!




SCA to OSGi




         <component name=“X”>
           <reference name=“R”>
              <binding.osgi …/>
           </reference>
         </component>
                                  © Copyright 2007 OSOA Collaboration




                                        © Copyright 2011 INRIA/ADAM
11!




OSGi in SCA
              Composite bank.account




                                                                                    Reference
                                                                                   StockQuote




                                        Component
                                       AccountFacade
    Service
    Account



                                       BPEL
                                                        Component
                                                        AccountData



                                                        OSGi
                                                       Bundle

                   <component name=“X”>
                      <implementation.osgi…>
                   </component>
                                                                      © Copyright 2007 OSOA Collaboration




                                                                            © Copyright 2011 INRIA/ADAM
12!




OSGi for SCA




               © Copyright 2007 OSOA Collaboration




                     © Copyright 2011 INRIA/ADAM
13!




OSGi for SCA




               © Copyright 2007 OSOA Collaboration




                     © Copyright 2011 INRIA/ADAM
14!




OSGi for SCA




               © Copyright 2007 OSOA Collaboration




                     © Copyright 2011 INRIA/ADAM
15!




Combining SCA with OSGi




                          © Copyright 2007 OSOA Collaboration




                                © Copyright 2011 INRIA/ADAM
16!




Distributed heterogeneous containers




                              © Copyright 2007 OSOA Collaboration




                                    © Copyright 2011 INRIA/ADAM
17!




FraSCAti Overview
•! A framework for SOA interoperability and integration


•! A reflective SCA component model and framework
    •!   Runtime adaptability
    •!   Lightweight, efficient, predictable, scalable



•! Components everywhere
    •!   Adaptability of all software layers



•! An open source SCA implementation
    •!   LGPLv2 at http://frascati.ow2.org


                                                         © Copyright 2011 INRIA/ADAM
FraSCAti, an open reflective SCA platform
                                                                                     18!




                                           FraSCAti                   FraSCAti
                                           Explorer                    FScript



             Reflective            Ad-hoc manual          Anticipated scripted
           FraSCAti API            reconfiguration         reconfiguration
                      Reflective SCA component model



                  Middleware for integrating middleware
           Interoperability                           Integration
                                    C
Apache CXF                OW2       O       Java                OSGi      Easy
           Java JMS JSON                             Spring
 SOA stack               PEtALS     R    … Script            Apache Felix BPEL
           RMI JORAM RPC            B              Framework
(WS, REST)               JBI ESB           Engines             Equinox Engine
                                    A


                                                             © Copyright 2011 INRIA/ADAM
19!




FraSCAti on OSGI
•! Set of OSGi bundles
   •!   Now: few couple
   •!   WIP: 200+
   •!   Issue: Bundle granularity?
•! Gateway agnostic
   •!   Now: Equinox, Felix, Knopflerfish
   •!   WIP: Concierge, …
   •!   Issue: Manifest portability?
•! Combining SCA with OSGi
   •!   Now: <implementation.osgi>
   •!   WIP: <binding.osgi>
•! Dynamic « à la carte » FraSCAti
   •!   WIP: Install, start, update, stop, uninstall FraSCAti plugins



                                                                © Copyright 2011 INRIA/ADAM
20!




Related work
•! Apache Tuscany, Fabric3, Newton
    " More or less all presented “Combining SCA with OSGi” features
•! OSGi Declarative Services
    ! No composites
•! OSGi Blueprint
    " Composites
•! Spring Dynamic Modules
    " or heavy !?
•! Apache Felix iPOJO
    " Very very well " " " but
    ! Will BluePrint kill it?
! All OSGi component frameworks
    ! Only Java implementation
    ! What about various remote bindings
! All: No fine grain reflective & reconfiguration capabilities



                                                             © Copyright 2011 INRIA/ADAM
21!




FraSCAti everywhere, what else?




Visit http://frascati.ow2.org
Contact
     •!   Philippe Merle: Philippe.Merle@inria.fr
     •!   Lionel Seinturier: Lionel.Seinturier@univ-lille1.fr



                                                                © Copyright 2011 INRIA/ADAM

More Related Content

What's hot

Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudArun Gupta
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Serverekkehard gentz
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloudcodemotion_es
 
Modular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim WardModular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim Wardmfrancis
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Arun Gupta
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
 
JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?Arun Gupta
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache AriesOSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Ariesmfrancis
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudArun Gupta
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGArun Gupta
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationArun Gupta
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 

What's hot (20)

Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Server
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
Modular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim WardModular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim Ward
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
Websocket 1.0
Websocket 1.0Websocket 1.0
Websocket 1.0
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache AriesOSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
SAP NetWeaver Gateway - RFC & BOR Generators
SAP NetWeaver Gateway - RFC & BOR GeneratorsSAP NetWeaver Gateway - RFC & BOR Generators
SAP NetWeaver Gateway - RFC & BOR Generators
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
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
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 

Similar to FraSCAti with OSGi

Introducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineIntroducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineJames Strachan
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP Portal
 
FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradevdemarey
 
2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical UpdateWSO2
 
Pointwest. Agility Defined.
Pointwest. Agility Defined.Pointwest. Agility Defined.
Pointwest. Agility Defined.Pointwest
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaArun Gupta
 
Paper published on web application testing with sahi tool
Paper published on web application testing with sahi toolPaper published on web application testing with sahi tool
Paper published on web application testing with sahi toolLalit Choudhary
 
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
 
Modernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsModernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsApigee | Google Cloud
 
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceSAP Portal
 
Oracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotOracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotMee Nam Lee
 
Common Security Services. Consolidation patterns for legacy components - Stef...
Common Security Services. Consolidation patterns for legacy components - Stef...Common Security Services. Consolidation patterns for legacy components - Stef...
Common Security Services. Consolidation patterns for legacy components - Stef...mfrancis
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stackALDAN3
 
Getting started with Sakai development
Getting started with Sakai developmentGetting started with Sakai development
Getting started with Sakai developmentSteve Swinsburg
 

Similar to FraSCAti with OSGi (20)

Introducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineIntroducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template Engine
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
 
FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradev
 
2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update
 
Pointwest. Agility Defined.
Pointwest. Agility Defined.Pointwest. Agility Defined.
Pointwest. Agility Defined.
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
 
Gangadhar_Challa_Profile
Gangadhar_Challa_ProfileGangadhar_Challa_Profile
Gangadhar_Challa_Profile
 
Vijay_Resume
Vijay_ResumeVijay_Resume
Vijay_Resume
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
Paper published on web application testing with sahi tool
Paper published on web application testing with sahi toolPaper published on web application testing with sahi tool
Paper published on web application testing with sahi tool
 
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...
 
Modernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsModernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIs
 
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
 
Notes
NotesNotes
Notes
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
 
Oracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotOracle Mobile Cloud / Bot
Oracle Mobile Cloud / Bot
 
Common Security Services. Consolidation patterns for legacy components - Stef...
Common Security Services. Consolidation patterns for legacy components - Stef...Common Security Services. Consolidation patterns for legacy components - Stef...
Common Security Services. Consolidation patterns for legacy components - Stef...
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stack
 
Getting started with Sakai development
Getting started with Sakai developmentGetting started with Sakai development
Getting started with Sakai development
 

Recently uploaded

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Recently uploaded (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

FraSCAti with OSGi

  • 1. 1! FraSCAti with OSGi Philippe Merle & Christophe Munilla INRIA ADAM OSGi Users' Group France, IFSTTAR, Villeneuve d’Ascq, France, 19th May 2011 © Copyright 2011 INRIA/ADAM
  • 2. 2! Outline •! Four challenges for SOA •! SCA overview •! Combining SCA with OSGi •! FraSCAti overview •! FraSCAti with OSGi •! Related work © Copyright 2011 INRIA/ADAM
  • 3. 3! Four challenges for SOA •! Structuring reusable flexible architectures •! What is behind the scene? You want •! Reuse the wheel when possible… SCA and ! •! …Or tune it if not! FraSCAti!! •! Interoperability •! Orchestrate heterogeneous services –! The weather of the city where a Twitter user lives? –! Access the REST-based Twitter user account then a SOAP-based weather service •! Integration •! Compose heterogeneous piece of software to build a new service –! e.g., compose a BPEL process, an OSGi bundle and a Xquery script •! Dynamically reconfigurable runtime architectures •! research challenge #1 in Service foundations [Papazoglou 07] © Copyright 2011 INRIA/ADAM
  • 4. 4! Service Component Architecture (SCA) An OASIS’s standard programming model for SOA Network! Network! •! Technology-agnostic, adaptability, variability •! Interface languages (Java, WSDL, OMG IDL, etc.) •! Implementation languages (Java, Spring, OSGi, BPEL, C/C++, etc.) •! Binding protocols (WS, REST, JSON-RPC, Java RMI, CORBA, etc.) •! Non functional aspects, aka SCA intents and policies •! Packaging formats and deployment targets (JAR, JBI, WAR, OSGi, etc.) © Copyright 2011 INRIA/ADAM
  • 5. 5! <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="bank.account" > <service name="Account" promote="AccountFacade"> <interface.java interface="services.account.Account"/> <binding.ws port="http://www.example.org/Account# wsdl.endpoint(Account/AccountSOAP)"/> </service> <component name="AccountFacade"> <implementation.java class="services.account.AccountFacadeImpl"/> <reference name="StockQuote"/> <reference name="AccountData" target="AccountData/Data"/> Composite bank.account <property name="currency">EURO</property> Reference StockQuote </component> Service Account Component AccountFacade Component AccountData <component name="AccountData"> <implementation.bpel process=“QName"/> <service name="Data"> <interface.java interface="services.account.Data"/> </service> </component> <reference name="StockQuote" promote="AccountFacade/StockQuote"> <interface.java interface="services.stockquote.StockQuote"/> <binding.ws port="http://example.org/StockQuote# wsdl.endpoint(StockQuote/StockQuoteSOAP)"/> </reference> </composite> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 6. Modelling with Eclipse SCA Tools 6! © Copyright 2011 INRIA/ADAM
  • 7. 7! Combining SCA with OSGi •! Interoperability and integration between SCA and OSGi •! “Power Combination: SCA, OSGi and Spring”, White paper, OSOA Collaboration, March 2007 •! http://www.osoa.org/download/attachments/250/ Power_Combination_SCA_Spring_OSGi.pdf •! Already implementations of these ideas •! Apache Tuscany, Fabric3, Newton •! Not still part of the SCA standard ! © Copyright 2011 INRIA/ADAM
  • 8. 8! Combining SCA with OSGi •! OSGI to SCA •! SCA service exported into the OSGi registry •! SCA to OSGi •! SCA reference imported from the OSGi registry •! OSGI in SCA •! SCA component implemented by OSGi bundles •! OSGi for SCA •! Dynamic « à la carte » SCA applications •! SCA for OSGi •! Assembly model •! Multiple implementation languages •! Multiple network binding protocols •! Non functional policies and intents © Copyright 2011 INRIA/ADAM
  • 9. 9! OSGi to SCA <component name=“X”> <service name=“S”> <binding.osgi …/> </service> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 10. 10! SCA to OSGi <component name=“X”> <reference name=“R”> <binding.osgi …/> </reference> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 11. 11! OSGi in SCA Composite bank.account Reference StockQuote Component AccountFacade Service Account BPEL Component AccountData OSGi Bundle <component name=“X”> <implementation.osgi…> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 12. 12! OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 13. 13! OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 14. 14! OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 15. 15! Combining SCA with OSGi © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 16. 16! Distributed heterogeneous containers © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 17. 17! FraSCAti Overview •! A framework for SOA interoperability and integration •! A reflective SCA component model and framework •! Runtime adaptability •! Lightweight, efficient, predictable, scalable •! Components everywhere •! Adaptability of all software layers •! An open source SCA implementation •! LGPLv2 at http://frascati.ow2.org © Copyright 2011 INRIA/ADAM
  • 18. FraSCAti, an open reflective SCA platform 18! FraSCAti FraSCAti Explorer FScript Reflective Ad-hoc manual Anticipated scripted FraSCAti API reconfiguration reconfiguration Reflective SCA component model Middleware for integrating middleware Interoperability Integration C Apache CXF OW2 O Java OSGi Easy Java JMS JSON Spring SOA stack PEtALS R … Script Apache Felix BPEL RMI JORAM RPC B Framework (WS, REST) JBI ESB Engines Equinox Engine A © Copyright 2011 INRIA/ADAM
  • 19. 19! FraSCAti on OSGI •! Set of OSGi bundles •! Now: few couple •! WIP: 200+ •! Issue: Bundle granularity? •! Gateway agnostic •! Now: Equinox, Felix, Knopflerfish •! WIP: Concierge, … •! Issue: Manifest portability? •! Combining SCA with OSGi •! Now: <implementation.osgi> •! WIP: <binding.osgi> •! Dynamic « à la carte » FraSCAti •! WIP: Install, start, update, stop, uninstall FraSCAti plugins © Copyright 2011 INRIA/ADAM
  • 20. 20! Related work •! Apache Tuscany, Fabric3, Newton " More or less all presented “Combining SCA with OSGi” features •! OSGi Declarative Services ! No composites •! OSGi Blueprint " Composites •! Spring Dynamic Modules " or heavy !? •! Apache Felix iPOJO " Very very well " " " but ! Will BluePrint kill it? ! All OSGi component frameworks ! Only Java implementation ! What about various remote bindings ! All: No fine grain reflective & reconfiguration capabilities © Copyright 2011 INRIA/ADAM
  • 21. 21! FraSCAti everywhere, what else? Visit http://frascati.ow2.org Contact •! Philippe Merle: Philippe.Merle@inria.fr •! Lionel Seinturier: Lionel.Seinturier@univ-lille1.fr © Copyright 2011 INRIA/ADAM