SlideShare a Scribd company logo
1 of 62
Download to read offline
1	





Reconfigurable
Service-Oriented
Software
Architectures

Lionel Seinturier
U. of Lille & IUF

Constantine – Dec. 2011



                          1
2	


     About me

•  Pr. @ U. of Lille since 2006
•  Institut Universitaire de France (IUF) – Junior member since oct. 2011
     •  Associate professor at U. Paris 6 (1999 - 2006)

•  Research domain & background
    •  Component, aspect and middleware
          –  Aspect-Oriented Software Development [Apress 2005, Eyrolles 2004]

          –    Dynamic AOP – JAC [Pawlak 02]
          –    Components & contracts [Legond-Aubry 05]
          –    Aspects & components – AOKell & FAC [Pessemier 07]
          –    Adaptation & software tracability [Diaz 07]
          –    Components for embedded systems – Hulotte [Loiret 08]
          –    Software architecture for soft realtime – SOLEIL [Plsek 09]
          –    Ubiquitous computing [Romero 09]

          –  Multi-cloud interoperability, energy awareness in middleware systems,
             reconfigurable MOM, feed-back control loops, adaptable business
             process, trace management
                                                                                2
3	


     ADAM
Adaptive Distributed Application and Middleware


ADAM leader: Pr. Laurence Duchien, since 01/2007
Previously Jacquard (Pr. J.-M. Geib) : 10/2003 – 12/2006
Software engineering for middleware
    •  design approaches and languages
    •  runtime platforms
Senior staff: 4 faculty (2 pr., 2 assoc. pr.), 1 Inria research assoc.
1 post-doc, 12 PhD, 7 engineers



                                                                    33
4	


  Outline


1. Service-Oriented Architecture – SOA
2. Service Component Architecture – SCA
3. OW2 FraSCAti
4. Conclusion




                                          4
Service-Oriented Architecture
            SOA




                                5
6	


      From SOA challenges…


•  IT architectures
•  Complexity
    •  Managing 10n lines of code
•  Monolithic
    •  Breaking application «silos»
•  Seldom evolvable
    •  Freeing systems from
      immutable dependencies


•  MDE, SOA, CBSE, AOSD, …            Source: oasis-open.org



                                                               6
7	


Decomposition of software




                            7
8	


SOA and SPL, FOD, MDE, CBSE, AOSD, ...




                                     8
9	


Composition of software




                          9
10	


   …to existing SOA, but…
SOA leverages complexity and promotes flexibility
  •  Loose coupling
  •  Service composition and orchestration
  •  Well defined and contractualized interfaces
  •  Standard tools and technologies




                                Source: oasis-open.org!

                                                          10
11	


    …Still a partial solution
Today's SOA need to be…
   •  Deployable in different environments
   •  Ensure security and reliability
   •  Adaptable to changing business needs

…and thus, SOA lack…
  •  Structured architectures
      – What is behind the scene?
  •  Reuse capabilities
      – Reuse the wheel when possible…
  •  Flexibility support
      – …Or tune it if not!

                                             11
12	


    A definition of service
•  A piece of software running somewhere


•  A well defined business interface
    •  WSDL, WADL, OMG IDL, Java interface, …

•  Available at a given address
    •  {host, port, …}, URL, IOR, naming, trading, …

•  Interactions via a given communication protocol
     •  HTTP, REST, JSON-RPC, SOAP, UPnP, IIOP, Java
        RMI, JMS, …

                                                       12
13	





13
14	


SOAP API versus REST API




                           14
15	


     Three challenges for SOA
•  Interoperability
     •  Orchestrate services with heterogeneous protocols
         –  e.g., access REST Twitter user account then
            SOAP weather service
         –  BPEL orchestrates WSDL-based services only!

•  Integration
     •  Compose heterogeneous piece of software to build a service
         –  e.g., compose a BPEL process, an OSGi bundle and a Xquery
            script
         –  CORBA composes OMG IDL-based software only!

•  Dynamically reconfigurable runtime architectures
    •  research challenge #1 in Service foundations [Papazoglou 07]

                                                                      15
Service Component Architecture
            SCA




                                 16
17	


         SCA in a nutshell"
SCA (Service Component Architecture)"
    •    a component model for SOA"
    •    11/2005"


Hosted by the Open SOA consortium"
    •    http://www.osoa.org"

Standardized by OASIS"
    •    http://www.oasis-opencsa.org"

"
Platform providers"
    •    Open Source: Apache Tuscany, Newton, Fabric3, FraSCAti"
    •    Vendors: IBM WebSphere FP for SOA, TIBCO ActiveMatrix, Covansys
         SCA Framework, Paremus, Newton, Rogue Wave HydraSCA, Oracle
         Fusion Middleware"
                                                                           17
18	


          SCA in a nutshell"
A set of specifications (16) (02/2010)"
Assembly model"
     •    how to define structure of composite applications"
     •    extension for event processing and publish/subscribe"
Component implementation specifications"
     •    how to write business services in particular languages"
     •    Java, C++, Spring, BPEL, EJB SLSB, COBOL, C"
Binding specifications"
     •    how to access services"
     •    Web services, JMS, JCA, EJB"
Policy framework"
     •    how to add infrastructure services"
     •    security, transaction, reliable messaging"
Integration"
     •    SCA Java EE Integration"
     •    SCA OSGi/Spring (draft)"


+ SDO for accessing data sources"


                                                                    18
19	


       SCA in a nutshell

Component implements the
business logic


Concepts
  •  Service(s)
      – Interface type: Java , WSDL
  •  Reference(s)
  •  Property(s)
  •  Implementation
  •  Non functional property(s)
      – Intent & policy

                                      19
20	


     SCA in a nutshell

Assembly: ”Process of composing business applications by
configuring and connecting components that provide service
implementations”




                                                       20
21	


                 SCA in a nutshell
                                                         RMI/IIOP               AccountsComposite
                                External Services                                                         External
                                                      Binding        Payment              Payments        Banking
    Order        Entry Points                      Loosely coupled    Service            Component       Reference
    Processing           OrderProcessing
                           Component
    Service
                                                                                     Closely coupled
                                                                                                                     Java EE
                                                                                            Accounts
                                                                                             Ledger
SOAP/HTTP
                                                    Multi-level
                                                                                           Component
                  BPEL

                                                    composition
                         Loosely coupled
                                                                                    External Service
                                      WarehouseComposite                                 External
                                                                                       Warehouse
                                                                                       Reference

                            Entry Points
                                Warehouse
                                                    Warehouse
                                                                            Warehouse
                                                                                                       Mixed:
                                                                                                       - technologies
                                                      Broker
                                 Service                                    Component
                                            Wire    Component

                   JMS                                                                                 - app locations

                      C++                                                                Shipping
                                                                           Wire         Reference

                                                                                   External Service

                                                                                                                      21
22	


  Simple SCA assembly



     Composite bank.account

                                                 Reference
                                                StockQuote
Service            Component
Account
                  AccountFacade
                                  Component
                                  AccountData




                                  [Mike Edwards]
                                  IBM Hursley Lab, England


                                                             22
23	

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


                                                                                                              23
24	


      Java implementation example: Service
                                         Service
                                         Account




package services.account;                      Interface is available
                                               remotely, e.g. as a
@Remotable                                     Web Service
public interface Account {

    AccountReport getAccountReport(String customerID);
}




                                                                   24
25	


       Java implementation example:
       Component                                            Component
                                                           AccountFacade


package services.account;

import org.osoa.sca.annotations.*;                    Annotation for the
                                                      service offered by
@Service(interfaces = Account.class)                  this class
public class AccountFacadeImpl implements Account {

    private String currency = "USD";
    private Data accountDataService;                  Annotated
    private StockQuote stockQuoteService;             Constructor to
                                                      inject property
    public AccountServiceImpl(                        and references
    @Property("currency") String currency,
    @Reference("accountData") Data dataService,
    @Reference("stockQuote") StockQuote stockService) {
       this.currency       = currency;
       this.accountDataService = dataService;
       this.stockQuoteService = stockService;
}   }

                                                                           25
26	


Modelling with Eclipse SCA Tools




                                   26
27	


            SCA benefits

               Use Case                                           Benefit of using SCA Standard

                                            •  Neutral to communication technologies
     SOA does not always mean WS            •  Supports WS, JMS, JCA bindings
                                            •  Wires internal to SCA domain use proprietary technology

                                            •  Modeling and configuring QoS aspects is handled by the platform
 Bridging QoS Models of heterogeneous       neutral SCA Assembly layer
               platforms                    • SCA defines QoS aspects in abstract terms ( intents ) and allows their
                                            mapping to individual platform environments

                                            •  SCA component implementations are programmed to interfaces
 Managing changes to service provider/
              location                      •  Service endpoint information is not hardwired into client code
                                            •  Wiring of components is a first class concept with elaborate support for
                                            common scenarios (internal, external, redeployment)


                                            •  By providing a holistic view of the solution, it becomes possible for
    Support for testing, management         management tools to capture service dependency information
                                            • Service testing tools can be more effective


Tolerance to new application runtimes and   •  Framework for bindings to different technologies makes it possible for
      communication technologies            developers to apply a consistent programming model




                                                                                                                       27
28	


    SCA limitations
Static configuration & deployment
  •  XML file for describing composite components
  •  Lack of deployment API

No runtime adaptation & reconfiguration
  •  Lack of introspection API
  •  Lack of reconfiguration API

SCA is not a reflective component
model

                                                    28
FraSCAti




           29
30	


 Adaptability, reconfiguration,
 reflective systems
•  SCA platform challenge
•  dynamically reconfigurable runtime architectures
   research challenge #1 in Service foundations [Papazoglou 07]


•  “A system which can examine and modify its own state is said to
   be reflective”
     •  Introspection corresponds to “examine”
     •  Intercession corresponds to “modify”

•  FraSCAti brings reflection and reconfiguration to SCA


                                                              30
31	


     FraSCAti in one slide
•  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
                                                          31
32	


     Interoperability & integration with FraSCAti
•  Interoperability is supported by SCA bindings
     •  (5) : Web Service / SOAP / WSDL via Apache CXF, JMS via OW2
        JORAM, REST / WADL, JSON-RPC, UPnP, Java RMI


•  Integration is mainly supported by SCA implementations
     •  (9) : SCA composite, Java POJO and @SCA, BPEL, Scala,
        Fractal, OSGi, scripts (BeanShell, Groovy, JavaScript, Jython,
        Jruby), Spring, Xquery
     •  HTTP servlet binding
     •  C interface/implementation/binding
     •  JMX




                                                                         32
33	


       FraSCAti and the SCA specifications


                                                      FraSCAti
             SCA Specification
                                            Status           Component
SCA Assembly Model (v1.0)                    J J    Assembly Factory
SCA Policy Framework (v1.0)                 J / L   Assembly Factory
SCA Transaction Policy (v1.0)                 J      Transaction Intents
SCA Java Common Annotations & APIs (v1.0)   J J J Tinfi
SCA Java Component Implementation (v1.0)    J J J Tinfi
SCA Web Services Binding (v1.0)             J J J Binding Factory



 J = supported                   J / L = under development

                                                                       33
34	





FraSCAti and the SCA specifications
                                                         FraSCAti
            SCA Specification
                                           Status           Components
SCA Spring Component Implementation        J / L Plug-in Assembly Factory
(v1.0)
SCA BPEL Client & Implementation (v1.0)      J       Plug-in Assembly Factory
SCA C++ Client & Implementation (v1.0)     L L L
SCA C Client & Implementation (v1.0)       L L L
SCA COBOL Client & Implementation (v1.0)   L L L
SCA JMS Binding (v1.0)                       J       Plug-in Binding Factory
SCA EJB Session Bean Binding (v1.0)          L       Plug-in Binding Factory
SCA JCA Binding (v1.0)                       L       Plug-in Binding Factory
SCA Java EE Integration (v0.9)               L


                                                                            34
35	


      FraSCAti principles
Designed with adaptability/extensibility/flexibility in mind
    •  Software components [McIlroy 68]
    •  Reflection [Smith 82]
    •  Aspect-Oriented Programming (AOP) [Kiczales 97]
    •  Software Product Lines (SPL) [Pohl 05]
    •  Domain Specific Language (DSL)

Component-based architecture to support protocols and implementations
   •  Communication protocols plugged within a binding factory
   •  Component implementation languages encapsulated as platform
      components
Reflection to enable introspection and reconfiguration
    •  Self-descriptive structure
    •  CRUD like operations for runtime discovery and modification

                                                                     35
36	


       FraSCAti principles
Designed with adaptability/extensibility/flexibility in mind
AOP-based mechanism to integrate non functional services
    •  Non-functional services developed as regular SCA components
    •  Non-functional policies dynamically woven into the base architecture
    •  So-called intents and poilicies in SCA jargon
SPL-based design to handle variability in the different configurations
    •  Plug-in mechanism to select features
DSL for reconfiguration
     •  Syntactic sugar for a low level reconfiguration API
     •  At various levels: application
Fractal-based runtime substrate (cf. http://fractal.ow2.org)
     •  Dynamic reconfiguration capabilities
     •  Java 5 @-based development style (dependency injection)
     •  XML-based architecture descriptors
     •  Structuring concepts (component personality, membrane, control interface, etc.)


                                                                                          36
37	


       FraSCAti architecture
                                                                     Application Level




                                                                                              Application
 DSL for                                     View
                                                                           Model
 reconfiguration
              @intent
              and policy sets
 everywhere
                                                                      @intent and
                                                                      policy sets




                                                                                              Non functional
                                                                                                services
                                                           Logging
                             Security
                             Service                       Service
                                                                                Transaction
                                                                                  Service                      AOP
                                                                     ...
                  Non-functional Level


Component assemble
          components                                           Description
Reflection




                                                                                              Platform
                                   Assembly                      Parser
                                    Factory                                                                    SPL
everywhere                                                     Personality
                                                                Factory
                       Run-time Level




                                                                                              Framework
                                  «interface»
                                 Component
                       +getFcInterface(in name) : Object
                       +getFcInterfaces() : Object[]
                       +getFcType() : Type
                                                                                                               Fractal
                                                                     Component

                    Kernel Level                                                                                     37
38	


    FraSCAti and SPL


                                                                                          FraSCAti
                                                                      SCA
                                                                                         Metamodel
                                                                     Parser
             Assembly
                                Composite                                                     SCA
                                                                        SCA              Metamodel
                                                                      Resolver
                                                                                    Description Parser

                          Property           XSD
                                              XSD
                                                                      Factory                Tinfi
                                                                                              Tinfi
                                                                                                Tinfi
                                                              Personality Factory

                            Implementation
                                                                                      Spring
                                                                                       Spring
                                                                                        Spring
          Component                                                                       BPEL
                                                                                          Spring
                                                                                           Spring
                                                                                             Spring
                          Service                                                              BPEL
                                                    Binding
                                                                                     Spring
                                                                                      Spring
                                                                                       Spring
                                                                                          BPEL
                                                                                          Spring
                         Reference                                 WSDL                    Spring
                                             Interface              WSDL                    Spring
                                                                     WSDL                     SOAP
      Assembly Factory
Run-time



                                                                                                         38
39	


    FraSCAti and SPL
A la carte configuration

•  256KB      FraSCAti reflective kernel
                 –  API + membrane controllers

•  500KB      + mininal FraSCAti architecture
•  2.4MB      + minimal FraSCAti architecture
                 –  Around 2MB for EMF & SCA MM

•  2.9MB      + membrane generation on the fly
                 –  Using JDK6 compiler

•  6.9MB      + Eclipse Java compiler (JDT)
                 –  Around 4MB for JDT

•  …          + the FraSCAti features you need
•  40MB       All FraSCAti 1.3 features

                                                  39
40	


      FraSCAti and AOP




•  Non functional concerns as shared & reflective FraSCAti composites
•  AOP for crosscutting concerns


                                                                  40
41	




      FraSCAti and DSL
Simple reconfiguration scenario




                                  41
42	


      FraSCAti and DSL
Fscript/Fpath language




 composite = $domain/scachild::MyComposite;
 account = $composite/scachild::AccountFacade;
 accountRef = $account/scareference::AccountData;
 stop($account);                                            // (1)
 unwire($accountRef);                                       // (2)
 newAccountData = sca-new(«NewAccountDataServiceComponent»); // (3a)
 add($composite, $newAccountData);                          // (3b)
 wire($accountRef, $newAccountData/scaservice::Data);       // (4)
 start($account);                                           // (5)
                                                                  42
43	


    FraSCAti usages
•  Open-source OW2 consortium project
    •  LGPL licence, http://frascati.ow2.org

•  Embedded by the Petals Link and Open Wide
   compagnies for their products (PEtALS,
   EasyBPEL and SCARBO)


•  Several demonstrators and applications developed
   with industrial partners in the context of funded
   research projects

                                                43
44	


    FraSCAti demonstrators
Artenum: Service-oriented scientific computing
(Computing On Demand)




Defining SCA-based
interoperable scientific components




                                                 44
45	


FraSCAti demonstrators
Inria: New generation source forge
     •  Service-oriented components for content management, continuous
        build, release management…




                                                                   45
46	


    FraSCAti demonstrators

Edifixio: e-Business integration with SCA




                                            46
47	


    FraSCAti demonstrators
Edifixio




                             47
48	


    FraSCAti demonstrators
Thales: Network monitoring


                                         Java
                                         Swing
 Inventory               Visualization


 Discovery               Monitoring




             VNUML
             Virtualized Network




                                                 48
49	


         FraSCAti demonstrators
Autonomous home control system
                  Movement Sensor




  HOME                               ZigBee


                                                                             SOAP
                                     UPnP
                                                                                    Module Store
                                                               Set-Top-Box

   TV                                                   HTTP
                                    HTTP
           UPnP




                       RMI



        Smart Phone
                                    Multimedia Server
50	



                           FraSCAti demonstrators
                                                                                              Home Control System                                         STB Device
                                                                                                                                          RPC (SOAP)

                                 Reconfiguration                                                                                                                                                Module Store
                                                                 Rule Engine                                                               Adaptation Runtime
  push              push      push  Executor                                                   Adaptation
                                                                  (SPACES)
                                   (SPACES)                                                    Triggering
                                                     push     push              push   push                        push           push      push                  push     push
                                                                                               (SPACES)
                                                                                                                                                 Context                                          Movement
                                                                                                                                                                                   REST
                                                                                                                                               Processing                                          Sensor
                                   Reconfiguration                                                                                                                                 (HTTP)
                                                                               SCA Platform                                                     (SPACES)
  push                        push     Engine
                                                                                (FraSCAti)                                                                        push     push
                                      (FScript)


 REST
(XMPP)
                                                                                                                                                                                                Multimedia
                                                                                                               RPC (RMI)
                                                          RPC (UPnP)               UPnP TV                                                                                                          Server
                                                              RPC (UPnP)                                                                     Provider                      Content

                                                                                                                    push
                                                                                                                                                                                           Server Runtime
                                                                                                                                    Multimedia Provider




                                                                                                                           push
                                                                                                Mobile                                                                                            push   push
                                                              Remote Control                    Device                                                                                      Context
                                                                                                                           Reconfiguration                                   SCA
                                                                 Module                                                                                                                      Policy
                  View                                                                                                         Engine                                     Platform
                                    Controller                                                                                                                                             (SPACES)
                                                                                                                              (FScript)                                  (FraSCAti)
                                                                Multimedia
                Client-side                                      Module
push            Application                                                                    Mobile
                                                                                              Runtime
         push




                                                                                Context
                Reconfiguration                           SCA Platform
                                                                                 Policy push            push
                                                                                                                REST (XMPP)
                Engine (FScript)                         (FraSCAme)
                                                                               (SPACES)



                                A             B                SCA service                      SCA wire (local)           push asynchronous context push

                                                               SCA reference                    SCA binding (remote)       pull     (a)synchronous context pull
  Third-party provider     SCA component SCA composite




                                                                                                                                                                                                                50
51	


      FraSCAti demonstrators
Tool demo @ [ASE 2010]
•  Home environment
    •  Heterogeneous
       devices/technologies/
       protocols


•  UPnP communications
    •  From Android to
       FraSCAti services


•  Highlight FraSCAti
   reconfiguration capabilities

                                  51
52	


FraSCAti and multi-cloud computing




                                     52
53	


     FraSCAti Vs.
L Less SCA features supported
    •  Less implementation languages and binding protocols
L Smaller ecosystem
    •  Less sponsoring companies, developers, and users
J Better continuum from SCA tooling to runtime platform
    •  Share the same SCA metamodel with Eclipse SCA Tools
J Better footprint to target embedded systems
    •  Smaller disk and memory footprints
J Ready for dynamic runtime reconfiguration
    •  Based on OW2 Fractal component model and associated tools


                                                                   53
54	


Memory consumption




                     54
55	


Invocation time




                  55
56	


     Other OSS Competitors
•  Fabric3
   L/J Fork from the Apache Tuscany project
   L Developed by fewer contributors
•  The Newton Project
   J Distributed runtime framework based on OSGi, Jini, and SCA
   J SCA bindings for OSGi and Jini
   L Does not target a fully-compliant SCA framework
      L No support for SCA Java annotations
      L No Web Service binding

•  The Mule Project - MuleSCA activity
   J Some Web pages
   L No open source code currently available



                                                                   56
Conclusion




             57
58	


     What you should keep in mind about
•  A framework for SOA interoperability and integration
    •  A middleware of middleware
•  A reflective component model for SOA
    •  FraSCAti = SCA + Fractal + FAC + ACO + CBM
•  Used at any software level
    •  SOA applications
    •  FraSCAti platform and its plugins
    •  Non functional crosscutting concerns, aka SCA intents
    •  Component-based reflective membranes
    •  New middleware, e.g., EasyBPEL/EasyViper
•  Visit the FraSCAti Web site: http://frascati.ow2.org
•  Read [SCC’09] and [SPE’11]


                                                               58
59	


     FraSCAti research perspectives
•  FraSCAti as a Software Product Line (SPL)
•  A component-based programming language for dynamic SOA
•  Real-time systems
    •  OMG Data Distribution Service (DDS)
•  Event-based systems
•  Embedded systems
•  Autonomous systems
•  E-green systems
•  Home clouds
•  Large scale SOA & Cloud Computing


                                                            59
60	


     Thank you for your attention




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

                                                            60
61	


    SCA references
SCA Specifications
    •    OpenSOA             http://www.osoa.org
    •    OASIS OpenSCA       http://www.oasis-opencsa.org
OSS Implementations
    •    Tuscany             http://tuscany.apache.org
    •    Newton              http://newton.codecauldron.org/site/index.html
    •    Fabric3             http://xircles.codehaus.org/projects/fabric3
    •    FraSCAti            http://frascati.ow2.org
SCA Resources
    •    http://www.osoa.org/display/Main/SCA+Resources
    •    http://www-128.ibm.com/developerworks/library/specification/ws-sca
    •    http://www.davidchappell.com/articles/Introducing_SCA.pdf
    •    http://www-128.ibm.com/developerworks/websphere/techjournal/0510_brent/
         0509_brent.html
    •    http://events.oasis-open.org/home/sites/events.oasis-open.org.home/files/
         Flexible_Agile_Composition_01.ppt [Mike Edwards]
    •    http://www.osoa.org/download/attachments/250/
         Power_Combination_SCA_Spring_OSGi.pdf?version=3


                                                                                     61
62	


   Acknowledgements

•  Slides from
    •  Philippe Merle – Inria
    •  Romain Rouvoy – U. of Lille
    •  Rémi Melisson – Orange Labs & U. of Lille

•  All FraSCAti team members & contributors
    •  Christophe Demarey, Michel Dirix, Nicolas Dolet,
       Damiel Fournier, Nicolas Petitprez, Valerio Schiavoni,
       Guillaume Surrel
    •  Mahmoud Ben Hassine, Pierre Carton, Jonathan
       Labejof, Adel Noureddine, Russel Nzekwa, Nicolas
       Pessemier, Clément Quinton, Daniel Romero
    •  …
                                                           62

More Related Content

What's hot

Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gGuido Schmutz
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Arun Gupta
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001jucaab
 
Managing Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareManaging Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareFumiko Yamashita
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011Marc Dutoo
 
Fusion app integration_con8685_pdf_8685_0001
Fusion app integration_con8685_pdf_8685_0001Fusion app integration_con8685_pdf_8685_0001
Fusion app integration_con8685_pdf_8685_0001jucaab
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Arun 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
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Zubair Ali
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Ebs idm con9020_pdf_9020_0001
Ebs idm con9020_pdf_9020_0001Ebs idm con9020_pdf_9020_0001
Ebs idm con9020_pdf_9020_0001jucaab
 
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)Marc Dutoo
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Arun Gupta
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Arun Gupta
 
Sun welcome middleware_overview 0324101_bosnia(2)
Sun welcome middleware_overview 0324101_bosnia(2)Sun welcome middleware_overview 0324101_bosnia(2)
Sun welcome middleware_overview 0324101_bosnia(2)Oracle BH
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011Arun Gupta
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformJon Petter Hjulstad
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any Morekaraznie
 

What's hot (20)

Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
 
Managing Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareManaging Oracle Fusion Middleware
Managing Oracle Fusion Middleware
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011
 
Fusion app integration_con8685_pdf_8685_0001
Fusion app integration_con8685_pdf_8685_0001Fusion app integration_con8685_pdf_8685_0001
Fusion app integration_con8685_pdf_8685_0001
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011
 
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)
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Ebs idm con9020_pdf_9020_0001
Ebs idm con9020_pdf_9020_0001Ebs idm con9020_pdf_9020_0001
Ebs idm con9020_pdf_9020_0001
 
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
 
Sun welcome middleware_overview 0324101_bosnia(2)
Sun welcome middleware_overview 0324101_bosnia(2)Sun welcome middleware_overview 0324101_bosnia(2)
Sun welcome middleware_overview 0324101_bosnia(2)
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
 
Where to use OSB
Where to use OSBWhere to use OSB
Where to use OSB
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platform
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any More
 

Similar to Reconfigurable Service-Oriented Architectures

FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradevdemarey
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Marc Dutoo
 
OW2con11 Use Case SOA, Nov 24-25, Paris
OW2con11 Use Case SOA, Nov 24-25, ParisOW2con11 Use Case SOA, Nov 24-25, Paris
OW2con11 Use Case SOA, Nov 24-25, ParisOW2
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EEDmitri Shiryaev
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Bruno Borges
 
Competitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixCompetitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixDavid Castro
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solutionSwati Bansal
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NIErnest Mueller
 
Sandip hazra resume
Sandip hazra resumeSandip hazra resume
Sandip hazra resumeSandip Hazra
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAIMC Institute
 
#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?Tammy Bednar
 
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...Juan Antonio Martin Checa
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010Agora Group
 

Similar to Reconfigurable Service-Oriented Architectures (20)

FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradev
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
 
OW2con11 Use Case SOA, Nov 24-25, Paris
OW2con11 Use Case SOA, Nov 24-25, ParisOW2con11 Use Case SOA, Nov 24-25, Paris
OW2con11 Use Case SOA, Nov 24-25, Paris
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EE
 
Wael Abdeen Resume
Wael Abdeen ResumeWael Abdeen Resume
Wael Abdeen Resume
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Shivanad
ShivanadShivanad
Shivanad
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
 
Competitive Analysis w SWOT Matrix
Competitive Analysis w SWOT MatrixCompetitive Analysis w SWOT Matrix
Competitive Analysis w SWOT Matrix
 
Oracle SOA Suite 11g
Oracle SOA Suite 11gOracle SOA Suite 11g
Oracle SOA Suite 11g
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solution
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
Sandip hazra resume
Sandip hazra resumeSandip hazra resume
Sandip hazra resume
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?
 
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...
eSOA: A Contextual Analysis on Service Oriented Architecture for Embeddded Ne...
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 

Recently uploaded

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
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
 
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
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
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
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 

Recently uploaded (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
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
 
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
 
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...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
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.
 
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
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 

Reconfigurable Service-Oriented Architectures

  • 2. 2 About me •  Pr. @ U. of Lille since 2006 •  Institut Universitaire de France (IUF) – Junior member since oct. 2011 •  Associate professor at U. Paris 6 (1999 - 2006) •  Research domain & background •  Component, aspect and middleware –  Aspect-Oriented Software Development [Apress 2005, Eyrolles 2004] –  Dynamic AOP – JAC [Pawlak 02] –  Components & contracts [Legond-Aubry 05] –  Aspects & components – AOKell & FAC [Pessemier 07] –  Adaptation & software tracability [Diaz 07] –  Components for embedded systems – Hulotte [Loiret 08] –  Software architecture for soft realtime – SOLEIL [Plsek 09] –  Ubiquitous computing [Romero 09] –  Multi-cloud interoperability, energy awareness in middleware systems, reconfigurable MOM, feed-back control loops, adaptable business process, trace management 2
  • 3. 3 ADAM Adaptive Distributed Application and Middleware ADAM leader: Pr. Laurence Duchien, since 01/2007 Previously Jacquard (Pr. J.-M. Geib) : 10/2003 – 12/2006 Software engineering for middleware •  design approaches and languages •  runtime platforms Senior staff: 4 faculty (2 pr., 2 assoc. pr.), 1 Inria research assoc. 1 post-doc, 12 PhD, 7 engineers 33
  • 4. 4 Outline 1. Service-Oriented Architecture – SOA 2. Service Component Architecture – SCA 3. OW2 FraSCAti 4. Conclusion 4
  • 6. 6 From SOA challenges… •  IT architectures •  Complexity •  Managing 10n lines of code •  Monolithic •  Breaking application «silos» •  Seldom evolvable •  Freeing systems from immutable dependencies •  MDE, SOA, CBSE, AOSD, … Source: oasis-open.org 6
  • 8. 8 SOA and SPL, FOD, MDE, CBSE, AOSD, ... 8
  • 10. 10 …to existing SOA, but… SOA leverages complexity and promotes flexibility •  Loose coupling •  Service composition and orchestration •  Well defined and contractualized interfaces •  Standard tools and technologies Source: oasis-open.org! 10
  • 11. 11 …Still a partial solution Today's SOA need to be… •  Deployable in different environments •  Ensure security and reliability •  Adaptable to changing business needs …and thus, SOA lack… •  Structured architectures – What is behind the scene? •  Reuse capabilities – Reuse the wheel when possible… •  Flexibility support – …Or tune it if not! 11
  • 12. 12 A definition of service •  A piece of software running somewhere •  A well defined business interface •  WSDL, WADL, OMG IDL, Java interface, … •  Available at a given address •  {host, port, …}, URL, IOR, naming, trading, … •  Interactions via a given communication protocol •  HTTP, REST, JSON-RPC, SOAP, UPnP, IIOP, Java RMI, JMS, … 12
  • 13. 13 13
  • 14. 14 SOAP API versus REST API 14
  • 15. 15 Three challenges for SOA •  Interoperability •  Orchestrate services with heterogeneous protocols –  e.g., access REST Twitter user account then SOAP weather service –  BPEL orchestrates WSDL-based services only! •  Integration •  Compose heterogeneous piece of software to build a service –  e.g., compose a BPEL process, an OSGi bundle and a Xquery script –  CORBA composes OMG IDL-based software only! •  Dynamically reconfigurable runtime architectures •  research challenge #1 in Service foundations [Papazoglou 07] 15
  • 17. 17 SCA in a nutshell" SCA (Service Component Architecture)" •  a component model for SOA" •  11/2005" Hosted by the Open SOA consortium" •  http://www.osoa.org" Standardized by OASIS" •  http://www.oasis-opencsa.org" " Platform providers" •  Open Source: Apache Tuscany, Newton, Fabric3, FraSCAti" •  Vendors: IBM WebSphere FP for SOA, TIBCO ActiveMatrix, Covansys SCA Framework, Paremus, Newton, Rogue Wave HydraSCA, Oracle Fusion Middleware" 17
  • 18. 18 SCA in a nutshell" A set of specifications (16) (02/2010)" Assembly model" •  how to define structure of composite applications" •  extension for event processing and publish/subscribe" Component implementation specifications" •  how to write business services in particular languages" •  Java, C++, Spring, BPEL, EJB SLSB, COBOL, C" Binding specifications" •  how to access services" •  Web services, JMS, JCA, EJB" Policy framework" •  how to add infrastructure services" •  security, transaction, reliable messaging" Integration" •  SCA Java EE Integration" •  SCA OSGi/Spring (draft)" + SDO for accessing data sources" 18
  • 19. 19 SCA in a nutshell Component implements the business logic Concepts •  Service(s) – Interface type: Java , WSDL •  Reference(s) •  Property(s) •  Implementation •  Non functional property(s) – Intent & policy 19
  • 20. 20 SCA in a nutshell Assembly: ”Process of composing business applications by configuring and connecting components that provide service implementations” 20
  • 21. 21 SCA in a nutshell RMI/IIOP AccountsComposite External Services External Binding Payment Payments Banking Order Entry Points Loosely coupled Service Component Reference Processing OrderProcessing Component Service Closely coupled Java EE Accounts Ledger SOAP/HTTP Multi-level Component BPEL composition Loosely coupled External Service WarehouseComposite External Warehouse Reference Entry Points Warehouse Warehouse Warehouse Mixed: - technologies Broker Service Component Wire Component JMS - app locations C++ Shipping Wire Reference External Service 21
  • 22. 22 Simple SCA assembly Composite bank.account Reference StockQuote Service Component Account AccountFacade Component AccountData [Mike Edwards] IBM Hursley Lab, England 22
  • 23. 23 <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> 23
  • 24. 24 Java implementation example: Service Service Account package services.account; Interface is available remotely, e.g. as a @Remotable Web Service public interface Account { AccountReport getAccountReport(String customerID); } 24
  • 25. 25 Java implementation example: Component Component AccountFacade package services.account; import org.osoa.sca.annotations.*; Annotation for the service offered by @Service(interfaces = Account.class) this class public class AccountFacadeImpl implements Account { private String currency = "USD"; private Data accountDataService; Annotated private StockQuote stockQuoteService; Constructor to inject property public AccountServiceImpl( and references @Property("currency") String currency, @Reference("accountData") Data dataService, @Reference("stockQuote") StockQuote stockService) { this.currency = currency; this.accountDataService = dataService; this.stockQuoteService = stockService; } } 25
  • 27. 27 SCA benefits Use Case Benefit of using SCA Standard •  Neutral to communication technologies SOA does not always mean WS •  Supports WS, JMS, JCA bindings •  Wires internal to SCA domain use proprietary technology •  Modeling and configuring QoS aspects is handled by the platform Bridging QoS Models of heterogeneous neutral SCA Assembly layer platforms • SCA defines QoS aspects in abstract terms ( intents ) and allows their mapping to individual platform environments •  SCA component implementations are programmed to interfaces Managing changes to service provider/ location •  Service endpoint information is not hardwired into client code •  Wiring of components is a first class concept with elaborate support for common scenarios (internal, external, redeployment) •  By providing a holistic view of the solution, it becomes possible for Support for testing, management management tools to capture service dependency information • Service testing tools can be more effective Tolerance to new application runtimes and •  Framework for bindings to different technologies makes it possible for communication technologies developers to apply a consistent programming model 27
  • 28. 28 SCA limitations Static configuration & deployment •  XML file for describing composite components •  Lack of deployment API No runtime adaptation & reconfiguration •  Lack of introspection API •  Lack of reconfiguration API SCA is not a reflective component model 28
  • 29. FraSCAti 29
  • 30. 30 Adaptability, reconfiguration, reflective systems •  SCA platform challenge •  dynamically reconfigurable runtime architectures research challenge #1 in Service foundations [Papazoglou 07] •  “A system which can examine and modify its own state is said to be reflective” •  Introspection corresponds to “examine” •  Intercession corresponds to “modify” •  FraSCAti brings reflection and reconfiguration to SCA 30
  • 31. 31 FraSCAti in one slide •  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 31
  • 32. 32 Interoperability & integration with FraSCAti •  Interoperability is supported by SCA bindings •  (5) : Web Service / SOAP / WSDL via Apache CXF, JMS via OW2 JORAM, REST / WADL, JSON-RPC, UPnP, Java RMI •  Integration is mainly supported by SCA implementations •  (9) : SCA composite, Java POJO and @SCA, BPEL, Scala, Fractal, OSGi, scripts (BeanShell, Groovy, JavaScript, Jython, Jruby), Spring, Xquery •  HTTP servlet binding •  C interface/implementation/binding •  JMX 32
  • 33. 33 FraSCAti and the SCA specifications FraSCAti SCA Specification Status Component SCA Assembly Model (v1.0) J J Assembly Factory SCA Policy Framework (v1.0) J / L Assembly Factory SCA Transaction Policy (v1.0) J Transaction Intents SCA Java Common Annotations & APIs (v1.0) J J J Tinfi SCA Java Component Implementation (v1.0) J J J Tinfi SCA Web Services Binding (v1.0) J J J Binding Factory J = supported J / L = under development 33
  • 34. 34 FraSCAti and the SCA specifications FraSCAti SCA Specification Status Components SCA Spring Component Implementation J / L Plug-in Assembly Factory (v1.0) SCA BPEL Client & Implementation (v1.0) J Plug-in Assembly Factory SCA C++ Client & Implementation (v1.0) L L L SCA C Client & Implementation (v1.0) L L L SCA COBOL Client & Implementation (v1.0) L L L SCA JMS Binding (v1.0) J Plug-in Binding Factory SCA EJB Session Bean Binding (v1.0) L Plug-in Binding Factory SCA JCA Binding (v1.0) L Plug-in Binding Factory SCA Java EE Integration (v0.9) L 34
  • 35. 35 FraSCAti principles Designed with adaptability/extensibility/flexibility in mind •  Software components [McIlroy 68] •  Reflection [Smith 82] •  Aspect-Oriented Programming (AOP) [Kiczales 97] •  Software Product Lines (SPL) [Pohl 05] •  Domain Specific Language (DSL) Component-based architecture to support protocols and implementations •  Communication protocols plugged within a binding factory •  Component implementation languages encapsulated as platform components Reflection to enable introspection and reconfiguration •  Self-descriptive structure •  CRUD like operations for runtime discovery and modification 35
  • 36. 36 FraSCAti principles Designed with adaptability/extensibility/flexibility in mind AOP-based mechanism to integrate non functional services •  Non-functional services developed as regular SCA components •  Non-functional policies dynamically woven into the base architecture •  So-called intents and poilicies in SCA jargon SPL-based design to handle variability in the different configurations •  Plug-in mechanism to select features DSL for reconfiguration •  Syntactic sugar for a low level reconfiguration API •  At various levels: application Fractal-based runtime substrate (cf. http://fractal.ow2.org) •  Dynamic reconfiguration capabilities •  Java 5 @-based development style (dependency injection) •  XML-based architecture descriptors •  Structuring concepts (component personality, membrane, control interface, etc.) 36
  • 37. 37 FraSCAti architecture Application Level Application DSL for View Model reconfiguration @intent and policy sets everywhere @intent and policy sets Non functional services Logging Security Service Service Transaction Service AOP ... Non-functional Level Component assemble components Description Reflection Platform Assembly Parser Factory SPL everywhere Personality Factory Run-time Level Framework «interface» Component +getFcInterface(in name) : Object +getFcInterfaces() : Object[] +getFcType() : Type Fractal Component Kernel Level 37
  • 38. 38 FraSCAti and SPL FraSCAti SCA Metamodel Parser Assembly Composite SCA SCA Metamodel Resolver Description Parser Property XSD XSD Factory Tinfi Tinfi Tinfi Personality Factory Implementation Spring Spring Spring Component BPEL Spring Spring Spring Service BPEL Binding Spring Spring Spring BPEL Spring Reference WSDL Spring Interface WSDL Spring WSDL SOAP Assembly Factory Run-time 38
  • 39. 39 FraSCAti and SPL A la carte configuration •  256KB FraSCAti reflective kernel –  API + membrane controllers •  500KB + mininal FraSCAti architecture •  2.4MB + minimal FraSCAti architecture –  Around 2MB for EMF & SCA MM •  2.9MB + membrane generation on the fly –  Using JDK6 compiler •  6.9MB + Eclipse Java compiler (JDT) –  Around 4MB for JDT •  … + the FraSCAti features you need •  40MB All FraSCAti 1.3 features 39
  • 40. 40 FraSCAti and AOP •  Non functional concerns as shared & reflective FraSCAti composites •  AOP for crosscutting concerns 40
  • 41. 41 FraSCAti and DSL Simple reconfiguration scenario 41
  • 42. 42 FraSCAti and DSL Fscript/Fpath language composite = $domain/scachild::MyComposite; account = $composite/scachild::AccountFacade; accountRef = $account/scareference::AccountData; stop($account); // (1) unwire($accountRef); // (2) newAccountData = sca-new(«NewAccountDataServiceComponent»); // (3a) add($composite, $newAccountData); // (3b) wire($accountRef, $newAccountData/scaservice::Data); // (4) start($account); // (5) 42
  • 43. 43 FraSCAti usages •  Open-source OW2 consortium project •  LGPL licence, http://frascati.ow2.org •  Embedded by the Petals Link and Open Wide compagnies for their products (PEtALS, EasyBPEL and SCARBO) •  Several demonstrators and applications developed with industrial partners in the context of funded research projects 43
  • 44. 44 FraSCAti demonstrators Artenum: Service-oriented scientific computing (Computing On Demand) Defining SCA-based interoperable scientific components 44
  • 45. 45 FraSCAti demonstrators Inria: New generation source forge •  Service-oriented components for content management, continuous build, release management… 45
  • 46. 46 FraSCAti demonstrators Edifixio: e-Business integration with SCA 46
  • 47. 47 FraSCAti demonstrators Edifixio 47
  • 48. 48 FraSCAti demonstrators Thales: Network monitoring Java Swing Inventory Visualization Discovery Monitoring VNUML Virtualized Network 48
  • 49. 49 FraSCAti demonstrators Autonomous home control system Movement Sensor HOME ZigBee SOAP UPnP Module Store Set-Top-Box TV HTTP HTTP UPnP RMI Smart Phone Multimedia Server
  • 50. 50 FraSCAti demonstrators Home Control System STB Device RPC (SOAP) Reconfiguration Module Store Rule Engine Adaptation Runtime push push push Executor Adaptation (SPACES) (SPACES) Triggering push push push push push push push push push (SPACES) Context Movement REST Processing Sensor Reconfiguration (HTTP) SCA Platform (SPACES) push push Engine (FraSCAti) push push (FScript) REST (XMPP) Multimedia RPC (RMI) RPC (UPnP) UPnP TV Server RPC (UPnP) Provider Content push Server Runtime Multimedia Provider push Mobile push push Remote Control Device Context Reconfiguration SCA Module Policy View Engine Platform Controller (SPACES) (FScript) (FraSCAti) Multimedia Client-side Module push Application Mobile Runtime push Context Reconfiguration SCA Platform Policy push push REST (XMPP) Engine (FScript) (FraSCAme) (SPACES) A B SCA service SCA wire (local) push asynchronous context push SCA reference SCA binding (remote) pull (a)synchronous context pull Third-party provider SCA component SCA composite 50
  • 51. 51 FraSCAti demonstrators Tool demo @ [ASE 2010] •  Home environment •  Heterogeneous devices/technologies/ protocols •  UPnP communications •  From Android to FraSCAti services •  Highlight FraSCAti reconfiguration capabilities 51
  • 53. 53 FraSCAti Vs. L Less SCA features supported •  Less implementation languages and binding protocols L Smaller ecosystem •  Less sponsoring companies, developers, and users J Better continuum from SCA tooling to runtime platform •  Share the same SCA metamodel with Eclipse SCA Tools J Better footprint to target embedded systems •  Smaller disk and memory footprints J Ready for dynamic runtime reconfiguration •  Based on OW2 Fractal component model and associated tools 53
  • 56. 56 Other OSS Competitors •  Fabric3 L/J Fork from the Apache Tuscany project L Developed by fewer contributors •  The Newton Project J Distributed runtime framework based on OSGi, Jini, and SCA J SCA bindings for OSGi and Jini L Does not target a fully-compliant SCA framework L No support for SCA Java annotations L No Web Service binding •  The Mule Project - MuleSCA activity J Some Web pages L No open source code currently available 56
  • 58. 58 What you should keep in mind about •  A framework for SOA interoperability and integration •  A middleware of middleware •  A reflective component model for SOA •  FraSCAti = SCA + Fractal + FAC + ACO + CBM •  Used at any software level •  SOA applications •  FraSCAti platform and its plugins •  Non functional crosscutting concerns, aka SCA intents •  Component-based reflective membranes •  New middleware, e.g., EasyBPEL/EasyViper •  Visit the FraSCAti Web site: http://frascati.ow2.org •  Read [SCC’09] and [SPE’11] 58
  • 59. 59 FraSCAti research perspectives •  FraSCAti as a Software Product Line (SPL) •  A component-based programming language for dynamic SOA •  Real-time systems •  OMG Data Distribution Service (DDS) •  Event-based systems •  Embedded systems •  Autonomous systems •  E-green systems •  Home clouds •  Large scale SOA & Cloud Computing 59
  • 60. 60 Thank you for your attention Visit http://frascati.ow2.org Contact •  Lionel Seinturier: Lionel.Seinturier@univ-lille1.fr 60
  • 61. 61 SCA references SCA Specifications •  OpenSOA http://www.osoa.org •  OASIS OpenSCA http://www.oasis-opencsa.org OSS Implementations •  Tuscany http://tuscany.apache.org •  Newton http://newton.codecauldron.org/site/index.html •  Fabric3 http://xircles.codehaus.org/projects/fabric3 •  FraSCAti http://frascati.ow2.org SCA Resources •  http://www.osoa.org/display/Main/SCA+Resources •  http://www-128.ibm.com/developerworks/library/specification/ws-sca •  http://www.davidchappell.com/articles/Introducing_SCA.pdf •  http://www-128.ibm.com/developerworks/websphere/techjournal/0510_brent/ 0509_brent.html •  http://events.oasis-open.org/home/sites/events.oasis-open.org.home/files/ Flexible_Agile_Composition_01.ppt [Mike Edwards] •  http://www.osoa.org/download/attachments/250/ Power_Combination_SCA_Spring_OSGi.pdf?version=3 61
  • 62. 62 Acknowledgements •  Slides from •  Philippe Merle – Inria •  Romain Rouvoy – U. of Lille •  Rémi Melisson – Orange Labs & U. of Lille •  All FraSCAti team members & contributors •  Christophe Demarey, Michel Dirix, Nicolas Dolet, Damiel Fournier, Nicolas Petitprez, Valerio Schiavoni, Guillaume Surrel •  Mahmoud Ben Hassine, Pierre Carton, Jonathan Labejof, Adel Noureddine, Russel Nzekwa, Nicolas Pessemier, Clément Quinton, Daniel Romero •  … 62