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





From SOA to SCA
  with FraSCAti
Christophe Demarey, Philippe Merle
           INRIA ADAM
                                                          	

    RivieraDev, Sophia Antipolis, France, 20th October 2011




                                  © Copyright 2011 INRIA/ADAM
2	





About
•  Adaptive Distributed Applications and Middleware
    •    SPL, FOD, MDE, CBSE, AOSD, SOA, CAC, reflective middleware

•  Joint project-team between U. Lille 1, CNRS and INRIA
    •    Created in 2008
    •    2 prof + 1 CR + 2 MdC
    •    2 postdocs + 10 PhD + 7 engineers + 2 students
•  Research activities
    •    CALICO
    •    CAPucine
    •    FraSCAti
    •    …

•  http://adam.lille.inria.fr


                                                          © Copyright 2011 INRIA/ADAM
3	





About me
•  Research engineer at INRIA since 2004
   •    Engineer at U. Lille 1 (2002 - 2004)

•  Background
   •    Component models and frameworks
         –  OMG CCM – OpenCCM
         –  OW2 Fractal and FraSCAti
   •    JVM for embedded-systems
         –  JITS (Pops team)
   •    Model Driven Engineering
   •    Software tools & pratices
         –  Build tools, forge, continuous integration, code analysis, …




                                                              © Copyright 2011 INRIA/ADAM
4	





About you
•  Who knows SOA?
•  Who applies SOA?
•  Who would like to apply SOA?

•  Who knows SCA?
•  Who uses SCA?
•  Who would like to use SCA?

•  Who knows FraSCAti?
•  Who uses FraSCAti?
•  Who would like to use FraSCAti?


                                     © Copyright 2011 INRIA/ADAM
5	





Outline


1.  Service-Oriented Architecture – SOA




2.  Service Component Architecture – SCA




3.  OW2 FraSCAti




                                           © Copyright 2011 INRIA/ADAM
6	




        From SOA…


Service-Oriented Architecture
7	





   From SOA challenges…

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


•  SPL, MDE, CBSE, AOSD, …


                                      © Copyright 2011 INRIA/ADAM
8	





Software decomposition




                         © Copyright 2011 INRIA/ADAM
9	





SOA and SPL, MDE, CBSE, AOSD, …




                           © Copyright 2011 INRIA/ADAM
10	





Software composition




                       © Copyright 2011 INRIA/ADAM
11	





Tools, skills or contexts?




                             © Copyright 2011 INRIA/ADAM
12	



…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




« This is the SOLUTION !!! »         Source: oasis-open.org!



                                             © Copyright 2011 INRIA/ADAM
13	





© Copyright 2011 INRIA/ADAM
14	





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


                                               You want SCA!
                                                for your business


                                                © Copyright 2011 INRIA/ADAM
15	





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?
               –  REST Twitter user account + SOAP 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
16	





Service Component Architecture
            SCA
17	





   SCA in a Nutshell

SCA (Service Component Architecture)
  •  Aka a «Component Model for SOA»
  •  Since 11/2005
Hosted by the Open SOA consortium
  •  http://www.osoa.org
Standardised at OASIS
   •  http://www.oasis-opencsa.org
Existing platform providers
   •  Open Source (4): Apache Tuscany, Newton, Fabric3, FraSCAti
   •  Vendors (7): IBM WebSphere FP for SOA, TIBCO ActiveMatrix,
      Covansys SCA Framework, Paremus, Rogue Wave HydraSCA,
      Oracle Fusion Middleware


                                                     © Copyright 2011 INRIA/ADAM
18	


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


Network!



           Sec.                 log                            Trans.

                                                                                      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
19	





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



                         Loosely coupled
                                                    composition
                                                                                    External Service
                                      WarehouseComposite                                 External
                                                                                       Warehouse
                                                                                       Reference

                            Entry Points
                                Warehouse
                                                    Warehouse
                                                                            Warehouse
                                                                                                       Mixed:
                                                      Broker
                                 Service
                                            Wire    Component
                                                                            Component                  - technologies
                   JMS                                                                                 - app locations

                      C++                                                                Shipping
                                                                           Wire         Reference

                                                                                   External Service


                                                                                                © Copyright 2011 INRIA/ADAM
Modelling with Eclipse SCA Tools
                                                           20	





                                   © Copyright 2011 INRIA/ADAM
21	





SCA Hello World Example




                          © Copyright 2011 INRIA/ADAM
22	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
23	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
24	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
25	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
26	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
27	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
28	





SCA Hello World Example (cont’d)




                                   © Copyright 2011 INRIA/ADAM
29	





SCA Benefits
A Component Model…
 •    Hierarchic compositions
 •    Configurable properties
 •    Provided/required ports
 •    Synchronous/asynchronous invocations
 •    Communication bindings
 •    Intent and policy supports
…for SOA
 •    OASIS standard
 •    Industry acceptance (Apache Tuscany, IBM, Eclipse, …)
4 degrees of flexibility / adaptability
 •    Implementation language (Java, C++, BPEL, etc.)
 •    Interface description language (Java, WSDL, etc.)
 •    Communication protocol (SOAP, IIOP, etc.)
 •    Non-functional properties (security, transactions, etc.)


                                                                 © Copyright 2011 INRIA/ADAM
30	





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
                                                          You want
                                                          FraSCAti!



                                                       © Copyright 2011 INRIA/ADAM
31	





FraSCAti
32	





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
33	





     Middleware made from middleware




                       API


                  Middleware for integrating middleware
           Interoperability                       Integration

Apache CXF                OW2      .    Java                OSGi       Easy
           Java JMS JSON                         Spring
 SOA stack               PEtALS    .    Script           Apache Felix BPEL
           RMI JORAM RPC           .           Framework
(WS, REST)               JBI ESB       Engines             Equinox    Engine



                                                         © Copyright 2011 INRIA/ADAM
34	





Interoperability with FraSCAti

•  Interoperability is supported by SCA bindings
    •  Web Service / SOAP / WSDL via Apache CXF
    •  JMS via OW2 JORAM

   •    REST / WADL
   •    JSON-RPC
   •    UPnP
   •    Java RMI




                                              © Copyright 2011 INRIA/ADAM
35	





Integration with FraSCAti
•  Integration is mainly supported by SCA implementations
    •    SCA composite
    •    Java POJO and @SCA
    •    BPEL
    •    Spring


    •    Fractal
    •    OSGi
    •    Script
           –  BeanShell, Fscript, Groovy, JavaScript, Jython, Jruby, Xquery
    •    Scala
•  HTTP servlet binding
•  C interface/implementation/binding
•  JMX


                                                                 © Copyright 2011 INRIA/ADAM
36	





Multiple programming languages

•  FraSCAti is implemented in Java
    •     need a JVM at runtime



•  But not limited to Java only
    •    BPEL
    •    Spring
    •    BeanShell, Fscript, Groovy, JavaScript, Jython, JRuby, Xquery, …
    •    Scala
    •    C




                                                                © Copyright 2011 INRIA/ADAM
Adaptability, reconfiguration,
                                                                        37	





reflective systems

•  Adaptability at runtime is reconfiguration
   •    Examine and modify running systems

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

•  Reconfiguration is introspection then intercession on
   reflective systems

•  FraSCAti brings reflexivity and reconfiguration to SCA


                                                © Copyright 2011 INRIA/ADAM
38	





FraSCAti: The marriage of SCA and Fractal

                                  ANR 2007-2009




                               FraSCAti
                              An open SCA runtime platform
                               built on top of OW2 Fractal




Reflective SCA Applications                                     SOA for Fractal




                                                             © Copyright 2011 INRIA/ADAM
An open reflective SCA platform
                                                                                               39	





                                                  FraSCAti
                                 FraSCAti           REST                        FraSCAti
          FraSCAti                 JMX               API                         FScript
          Explorer



                     Ad-hoc manual & anticipated scripted reconfiguration

                        Reflective SCA component model

                         API


                     Middleware for integrating middleware
           Interoperability                                     Integration

Apache CXF                OW2                .     Java                OSGi       Easy
           Java JMS JSON                                    Spring
 SOA stack               PEtALS              .     Script           Apache Felix BPEL
           RMI JORAM RPC                     .            Framework
(WS, REST)               JBI ESB                  Engines             Equinox    Engine



                                                                       © Copyright 2011 INRIA/ADAM
FraSCAti Explorer - an SCA microscope
                                                       40	





                               © Copyright 2011 INRIA/ADAM
FraSCAti Explorer more than just
                                                           41	





an SCA microscope




                                   © Copyright 2011 INRIA/ADAM
42	





   FraSCAti Explorer
Load SCA composites
Visualize, introspect, navigate within SCA composites
   •    Components
   •    Services / References / Bindings / Wires
   •    Properties
   •    Intents
Reconfiguration actions
   •    Start/stop SCA components
   •    Add/remove SCA components / wires / bindings / intents
   •    Update SCA properties / intents
   •    Update SCA bindings
          –  Web service address
          –  Java RMI port and exported name



                                                                 © Copyright 2011 INRIA/ADAM
FraSCAti JMX
                                       43	





               © Copyright 2011 INRIA/ADAM
Reconfiguring SCA applications with
                                                                          44	





FraSCAti




•  Interactively via FraSCAti Explorer or JMX
•  Programmatically via FraSCAti API or Fscript


                                                  © Copyright 2011 INRIA/ADAM
Fscript/Fpath for SCA
                                                                               45	





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)



                                                       © Copyright 2011 INRIA/ADAM
46	





  FraSCAti Aspect Components (FAC)




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


                                                     © Copyright 2011 INRIA/ADAM
FraSCAti UML Diagram Sequence Aspect
                                                     47	





                             © Copyright 2011 INRIA/ADAM
48	





   OW2 FraSCAti
SCA-based Architecture
49	





OW2 FraSCAti
•  Itself an SCA application


•  13 composites


•  91 components


•  Biggest SCA application to our knowledge


•  Most of features implemented by one SCA component



                                               © Copyright 2011 INRIA/ADAM
Self-introspecting with FraSCAti Explorer
                                                          50	





                                  © Copyright 2011 INRIA/ADAM
Self-introspecting with FraSCAti JMX
                                                         51	





                                 © Copyright 2011 INRIA/ADAM
52	





FraSCAti « à la carte »
•  Support the extensible nature of SCA
    •    <sca:implementation>
    •    <sca:interface>
    •    <sca:binding>
    •    SCA intents

•  Select the right subset of FraSCAti features to meet application
   requirements and system constraints
•  Add new application-specific FraSCAti features


•  FraSCAti is self implemented




                                                     © Copyright 2011 INRIA/ADAM
53	





FraSCAti Extensible Architecture in SCA




                                 © Copyright 2011 INRIA/ADAM
54	





FraSCAti « à la carte » disk footprint
•  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

•  …       + FraSCAti features you need
•  40Mb    All FraSCAti 1.4 features


                                               © Copyright 2011 INRIA/ADAM
55	





Use
Cases
56	





FraSCAti industrial users
•  Demonstrators from SCOrWare, Cappucino, ITEmIS, SALTY,
   Macchiato, EasySOA, SocEDA projects


•  Embedded as a JBI Service Engine in OW2 PEtALS (EBM WS)
   •    Deploying SCA composites on PEtALS ESB


•  Embedded as an SOA library in OW2 Scarbo (Open Wide)
   •    FraSCAti as an SOA binding factory


•  Component framework for EasyVIPER, EasyBPEL and EasyESB
   (Petals Link)
   •    Easy* components implemented as FraSCAti components



                                                       © Copyright 2011 INRIA/ADAM
EasyViper
                                                              57	





http://research.petalslink.org/display/easybpel


                                      © Copyright 2011 INRIA/ADAM
FraSCAti and EasyBPEL
                                                58	





                        © Copyright 2011 INRIA/ADAM
EasyESB
                                                             59	





 http://research.petalslink.org/display/easyesb


                                     © Copyright 2011 INRIA/ADAM
60
61	





FraSCAti tooling
•  OW2 Forge (SVN, Mailing lists, releases distribution, web site)
•  OW2 Jira (bug tracker, tasks planner)
•  Jenkins (continuous integration)
•  Nexus (repository manager)
•  Sonar (code quality)




                                                     © Copyright 2011 INRIA/ADAM
62	





FraSCAti tooling




                   © Copyright 2011 INRIA/ADAM
63	





Conclusion
64	





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]



                                                             © Copyright 2011 INRIA/ADAM
65	





Large scale software systems need
•  Interoperability
•  Integration
•  Configuration
•  Deployment
•  Observation
•  Reconfiguration                     You want FraSCAti!
                                          for your business
•  . . .
•  Various forms of flexibility/adaptability




                                                   © Copyright 2011 INRIA/ADAM
66	





New features for OW2 FraSCAti 1.5
•  See http://jira.ow2.org/browse/FRASCATI
•  <implementation.osgi> with Concierge
•  <implementation.velocity> with Apache Velocity
•  <interface.wadl>
•  <binding.osgi>
•  <binding.jgroup>
•  Deployment on OSGi
•  Deployment on J2ME
•  Web-based FraSCAti Explorer



                                                    © Copyright 2011 INRIA/ADAM
67	





FraSCAti Technical Perspectives
•  EasySOA FUI project
   •    FraSCAti running on OSGi
   •    SCA-based Web components and bindings
   •    Google RPC binding
   •    Data-oriented components with Talend
   •    Deployment from Jetty to GAE
   •    Improving scripting language support
   •    Web-based FraSCAti Explorer



•  Other projects within ADAM
   •    Security
   •    J2ME



                                                © Copyright 2011 INRIA/ADAM
68	





Demonstration

FraSCAti @ cloudbees
69	





Thanks for your attention


•  Who would like to use SCA?




•  Who would like to try FraSCAti?




•  Any questions?




                                     © Copyright 2011 INRIA/ADAM
70	





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
71	





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



                                                                   © Copyright 2011 INRIA/ADAM
72	





Acknowledgements
•  Slides from
    •    Philippe Merle - INRIA
    •    Lionel Seinturier – University of Lille
    •    Romain Rouvoy – University of Lille
    •    Rémi Melisson – Orange Labs
    •    Rémi Druilhe – Orange Labs

•  All FraSCAti team members
    •    Christophe Demarey (INRIA), Michel Dirix (INRIA), Nicolas Dolet
         (INRIA), Damiel Fournier (INRIA), Christophe Munilla (INRIA), Nicolas
         Petitprez (INRIA), Valerio Schiavoni (INRIA), Guillaume Surrel
         (ScalAgent)
    •    Mahmoud Ben Hassine (INRIA), Pierre Carton (INRIA), Jonathan
         Labejof (Thalès), Adel Noureddine (INRIA), Russel Nzekwa (INRIA),
         Nicolas Pessemier (INRIA), Clément Quinton (INRIA), Daniel Romero
         (INRIA)
    •    …
                                                              © Copyright 2011 INRIA/ADAM

More Related Content

What's hot

Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...ORACLE USER GROUP ESTONIA
 
EclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel EvolutionEclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel EvolutionMarc Dutoo
 
Oracle Corporation Summary Presentation eduVision Sept. 2011
Oracle Corporation Summary Presentation eduVision Sept. 2011Oracle Corporation Summary Presentation eduVision Sept. 2011
Oracle Corporation Summary Presentation eduVision Sept. 2011Freelance PR
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing ChallengesScott Barber
 
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
 

What's hot (6)

Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...
 
EclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel EvolutionEclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel Evolution
 
Oracle Corporation Summary Presentation eduVision Sept. 2011
Oracle Corporation Summary Presentation eduVision Sept. 2011Oracle Corporation Summary Presentation eduVision Sept. 2011
Oracle Corporation Summary Presentation eduVision Sept. 2011
 
GroovyDSLs
GroovyDSLsGroovyDSLs
GroovyDSLs
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
 
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
 

Similar to FraSCAti@rivieradev

Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 
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
 
Infrastructure Consolidation and Virtualization
Infrastructure Consolidation and VirtualizationInfrastructure Consolidation and Virtualization
Infrastructure Consolidation and VirtualizationBob Rhubart
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 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
 
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityExtending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityJerome Leonard
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001jucaab
 
The Build vs. Buy Decision for SaaS Delivery
The Build vs. Buy Decision for SaaS DeliveryThe Build vs. Buy Decision for SaaS Delivery
The Build vs. Buy Decision for SaaS DeliveryOpSource
 
Cloud Computing and Electronic Design: Xuropa EDPS, 2010
Cloud Computing and Electronic Design: Xuropa EDPS, 2010Cloud Computing and Electronic Design: Xuropa EDPS, 2010
Cloud Computing and Electronic Design: Xuropa EDPS, 2010James Colgan
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Adrian Treacy
 
Self-Driving Data Center
Self-Driving Data CenterSelf-Driving Data Center
Self-Driving Data CenterSergey A. Razin
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...ORACLE USER GROUP ESTONIA
 
Oracle Staffing Practice
Oracle Staffing PracticeOracle Staffing Practice
Oracle Staffing Practiceguest5c9d51
 
#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
 
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Sivakumar Thyagarajan
 

Similar to FraSCAti@rivieradev (20)

Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
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?
 
Infrastructure Consolidation and Virtualization
Infrastructure Consolidation and VirtualizationInfrastructure Consolidation and Virtualization
Infrastructure Consolidation and Virtualization
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 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
 
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityExtending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
 
The Build vs. Buy Decision for SaaS Delivery
The Build vs. Buy Decision for SaaS DeliveryThe Build vs. Buy Decision for SaaS Delivery
The Build vs. Buy Decision for SaaS Delivery
 
Cloud Computing and Electronic Design: Xuropa EDPS, 2010
Cloud Computing and Electronic Design: Xuropa EDPS, 2010Cloud Computing and Electronic Design: Xuropa EDPS, 2010
Cloud Computing and Electronic Design: Xuropa EDPS, 2010
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11
 
An Introduction to IaaS Framework
An Introduction to IaaS FrameworkAn Introduction to IaaS Framework
An Introduction to IaaS Framework
 
Self-Driving Data Center
Self-Driving Data CenterSelf-Driving Data Center
Self-Driving Data Center
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Oracle
OracleOracle
Oracle
 
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
 
Oracle Staffing Practice
Oracle Staffing PracticeOracle Staffing Practice
Oracle Staffing Practice
 
Peter Wyatt_
Peter Wyatt_ Peter Wyatt_
Peter Wyatt_
 
#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?
 
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
 

Recently uploaded

Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
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
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 

Recently uploaded (20)

Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
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
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
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...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 

FraSCAti@rivieradev

  • 1. 1 From SOA to SCA with FraSCAti Christophe Demarey, Philippe Merle INRIA ADAM RivieraDev, Sophia Antipolis, France, 20th October 2011 © Copyright 2011 INRIA/ADAM
  • 2. 2 About •  Adaptive Distributed Applications and Middleware •  SPL, FOD, MDE, CBSE, AOSD, SOA, CAC, reflective middleware •  Joint project-team between U. Lille 1, CNRS and INRIA •  Created in 2008 •  2 prof + 1 CR + 2 MdC •  2 postdocs + 10 PhD + 7 engineers + 2 students •  Research activities •  CALICO •  CAPucine •  FraSCAti •  … •  http://adam.lille.inria.fr © Copyright 2011 INRIA/ADAM
  • 3. 3 About me •  Research engineer at INRIA since 2004 •  Engineer at U. Lille 1 (2002 - 2004) •  Background •  Component models and frameworks –  OMG CCM – OpenCCM –  OW2 Fractal and FraSCAti •  JVM for embedded-systems –  JITS (Pops team) •  Model Driven Engineering •  Software tools & pratices –  Build tools, forge, continuous integration, code analysis, … © Copyright 2011 INRIA/ADAM
  • 4. 4 About you •  Who knows SOA? •  Who applies SOA? •  Who would like to apply SOA? •  Who knows SCA? •  Who uses SCA? •  Who would like to use SCA? •  Who knows FraSCAti? •  Who uses FraSCAti? •  Who would like to use FraSCAti? © Copyright 2011 INRIA/ADAM
  • 5. 5 Outline 1.  Service-Oriented Architecture – SOA 2.  Service Component Architecture – SCA 3.  OW2 FraSCAti © Copyright 2011 INRIA/ADAM
  • 6. 6 From SOA… Service-Oriented Architecture
  • 7. 7 From SOA challenges… •  IT architectures •  Complexity •  Managing 10n lines of code •  Monolithic •  Breaking application «silos» •  Seldom evolvable •  Freeing systems from immutable dependencies •  SPL, MDE, CBSE, AOSD, … © Copyright 2011 INRIA/ADAM
  • 8. 8 Software decomposition © Copyright 2011 INRIA/ADAM
  • 9. 9 SOA and SPL, MDE, CBSE, AOSD, … © Copyright 2011 INRIA/ADAM
  • 10. 10 Software composition © Copyright 2011 INRIA/ADAM
  • 11. 11 Tools, skills or contexts? © Copyright 2011 INRIA/ADAM
  • 12. 12 …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 « This is the SOLUTION !!! » Source: oasis-open.org! © Copyright 2011 INRIA/ADAM
  • 13. 13 © Copyright 2011 INRIA/ADAM
  • 14. 14 …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! You want SCA! for your business © Copyright 2011 INRIA/ADAM
  • 15. 15 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? –  REST Twitter user account + SOAP 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
  • 17. 17 SCA in a Nutshell SCA (Service Component Architecture) •  Aka a «Component Model for SOA» •  Since 11/2005 Hosted by the Open SOA consortium •  http://www.osoa.org Standardised at OASIS •  http://www.oasis-opencsa.org Existing platform providers •  Open Source (4): Apache Tuscany, Newton, Fabric3, FraSCAti •  Vendors (7): IBM WebSphere FP for SOA, TIBCO ActiveMatrix, Covansys SCA Framework, Paremus, Rogue Wave HydraSCA, Oracle Fusion Middleware © Copyright 2011 INRIA/ADAM
  • 18. 18 Service Component Architecture (SCA) An OASIS’s standard programming model for SOA Network! Sec. log Trans. 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
  • 19. 19 SCA in a Nutshell (cont’d) RMI/IIOP AccountsComposite External Services External Binding Payment Payments Banking Order Entry Points Loosely coupled Service Component Reference OrderProcessing Processing Component Service Closely coupled Java EE Accounts Ledger SOAP/HTTP BPEL Multi-level Component Loosely coupled composition External Service WarehouseComposite External Warehouse Reference Entry Points Warehouse Warehouse Warehouse Mixed: Broker Service Wire Component Component - technologies JMS - app locations C++ Shipping Wire Reference External Service © Copyright 2011 INRIA/ADAM
  • 20. Modelling with Eclipse SCA Tools 20 © Copyright 2011 INRIA/ADAM
  • 21. 21 SCA Hello World Example © Copyright 2011 INRIA/ADAM
  • 22. 22 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 23. 23 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 24. 24 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 25. 25 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 26. 26 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 27. 27 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 28. 28 SCA Hello World Example (cont’d) © Copyright 2011 INRIA/ADAM
  • 29. 29 SCA Benefits A Component Model… •  Hierarchic compositions •  Configurable properties •  Provided/required ports •  Synchronous/asynchronous invocations •  Communication bindings •  Intent and policy supports …for SOA •  OASIS standard •  Industry acceptance (Apache Tuscany, IBM, Eclipse, …) 4 degrees of flexibility / adaptability •  Implementation language (Java, C++, BPEL, etc.) •  Interface description language (Java, WSDL, etc.) •  Communication protocol (SOAP, IIOP, etc.) •  Non-functional properties (security, transactions, etc.) © Copyright 2011 INRIA/ADAM
  • 30. 30 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 You want FraSCAti! © Copyright 2011 INRIA/ADAM
  • 32. 32 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
  • 33. 33 Middleware made from middleware API Middleware for integrating middleware Interoperability Integration Apache CXF OW2 . Java OSGi Easy Java JMS JSON Spring SOA stack PEtALS . Script Apache Felix BPEL RMI JORAM RPC . Framework (WS, REST) JBI ESB Engines Equinox Engine © Copyright 2011 INRIA/ADAM
  • 34. 34 Interoperability with FraSCAti •  Interoperability is supported by SCA bindings •  Web Service / SOAP / WSDL via Apache CXF •  JMS via OW2 JORAM •  REST / WADL •  JSON-RPC •  UPnP •  Java RMI © Copyright 2011 INRIA/ADAM
  • 35. 35 Integration with FraSCAti •  Integration is mainly supported by SCA implementations •  SCA composite •  Java POJO and @SCA •  BPEL •  Spring •  Fractal •  OSGi •  Script –  BeanShell, Fscript, Groovy, JavaScript, Jython, Jruby, Xquery •  Scala •  HTTP servlet binding •  C interface/implementation/binding •  JMX © Copyright 2011 INRIA/ADAM
  • 36. 36 Multiple programming languages •  FraSCAti is implemented in Java •   need a JVM at runtime •  But not limited to Java only •  BPEL •  Spring •  BeanShell, Fscript, Groovy, JavaScript, Jython, JRuby, Xquery, … •  Scala •  C © Copyright 2011 INRIA/ADAM
  • 37. Adaptability, reconfiguration, 37 reflective systems •  Adaptability at runtime is reconfiguration •  Examine and modify running systems •  “A system which can examine and modify its own state is said to be reflective” [google] •  Introspection is “examine” •  Intercession is “modify” •  Reconfiguration is introspection then intercession on reflective systems •  FraSCAti brings reflexivity and reconfiguration to SCA © Copyright 2011 INRIA/ADAM
  • 38. 38 FraSCAti: The marriage of SCA and Fractal ANR 2007-2009 FraSCAti An open SCA runtime platform built on top of OW2 Fractal Reflective SCA Applications SOA for Fractal © Copyright 2011 INRIA/ADAM
  • 39. An open reflective SCA platform 39 FraSCAti FraSCAti REST FraSCAti FraSCAti JMX API FScript Explorer Ad-hoc manual & anticipated scripted reconfiguration Reflective SCA component model API Middleware for integrating middleware Interoperability Integration Apache CXF OW2 . Java OSGi Easy Java JMS JSON Spring SOA stack PEtALS . Script Apache Felix BPEL RMI JORAM RPC . Framework (WS, REST) JBI ESB Engines Equinox Engine © Copyright 2011 INRIA/ADAM
  • 40. FraSCAti Explorer - an SCA microscope 40 © Copyright 2011 INRIA/ADAM
  • 41. FraSCAti Explorer more than just 41 an SCA microscope © Copyright 2011 INRIA/ADAM
  • 42. 42 FraSCAti Explorer Load SCA composites Visualize, introspect, navigate within SCA composites •  Components •  Services / References / Bindings / Wires •  Properties •  Intents Reconfiguration actions •  Start/stop SCA components •  Add/remove SCA components / wires / bindings / intents •  Update SCA properties / intents •  Update SCA bindings –  Web service address –  Java RMI port and exported name © Copyright 2011 INRIA/ADAM
  • 43. FraSCAti JMX 43 © Copyright 2011 INRIA/ADAM
  • 44. Reconfiguring SCA applications with 44 FraSCAti •  Interactively via FraSCAti Explorer or JMX •  Programmatically via FraSCAti API or Fscript © Copyright 2011 INRIA/ADAM
  • 45. Fscript/Fpath for SCA 45 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) © Copyright 2011 INRIA/ADAM
  • 46. 46 FraSCAti Aspect Components (FAC) •  Non functional concerns as shared & reflective FraSCAti composites •  AOP for crosscutting concerns © Copyright 2011 INRIA/ADAM
  • 47. FraSCAti UML Diagram Sequence Aspect 47 © Copyright 2011 INRIA/ADAM
  • 48. 48 OW2 FraSCAti SCA-based Architecture
  • 49. 49 OW2 FraSCAti •  Itself an SCA application •  13 composites •  91 components •  Biggest SCA application to our knowledge •  Most of features implemented by one SCA component © Copyright 2011 INRIA/ADAM
  • 50. Self-introspecting with FraSCAti Explorer 50 © Copyright 2011 INRIA/ADAM
  • 51. Self-introspecting with FraSCAti JMX 51 © Copyright 2011 INRIA/ADAM
  • 52. 52 FraSCAti « à la carte » •  Support the extensible nature of SCA •  <sca:implementation> •  <sca:interface> •  <sca:binding> •  SCA intents •  Select the right subset of FraSCAti features to meet application requirements and system constraints •  Add new application-specific FraSCAti features •  FraSCAti is self implemented © Copyright 2011 INRIA/ADAM
  • 53. 53 FraSCAti Extensible Architecture in SCA © Copyright 2011 INRIA/ADAM
  • 54. 54 FraSCAti « à la carte » disk footprint •  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 •  … + FraSCAti features you need •  40Mb All FraSCAti 1.4 features © Copyright 2011 INRIA/ADAM
  • 56. 56 FraSCAti industrial users •  Demonstrators from SCOrWare, Cappucino, ITEmIS, SALTY, Macchiato, EasySOA, SocEDA projects •  Embedded as a JBI Service Engine in OW2 PEtALS (EBM WS) •  Deploying SCA composites on PEtALS ESB •  Embedded as an SOA library in OW2 Scarbo (Open Wide) •  FraSCAti as an SOA binding factory •  Component framework for EasyVIPER, EasyBPEL and EasyESB (Petals Link) •  Easy* components implemented as FraSCAti components © Copyright 2011 INRIA/ADAM
  • 57. EasyViper 57 http://research.petalslink.org/display/easybpel © Copyright 2011 INRIA/ADAM
  • 58. FraSCAti and EasyBPEL 58 © Copyright 2011 INRIA/ADAM
  • 59. EasyESB 59 http://research.petalslink.org/display/easyesb © Copyright 2011 INRIA/ADAM
  • 60. 60
  • 61. 61 FraSCAti tooling •  OW2 Forge (SVN, Mailing lists, releases distribution, web site) •  OW2 Jira (bug tracker, tasks planner) •  Jenkins (continuous integration) •  Nexus (repository manager) •  Sonar (code quality) © Copyright 2011 INRIA/ADAM
  • 62. 62 FraSCAti tooling © Copyright 2011 INRIA/ADAM
  • 64. 64 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] © Copyright 2011 INRIA/ADAM
  • 65. 65 Large scale software systems need •  Interoperability •  Integration •  Configuration •  Deployment •  Observation •  Reconfiguration You want FraSCAti! for your business •  . . . •  Various forms of flexibility/adaptability © Copyright 2011 INRIA/ADAM
  • 66. 66 New features for OW2 FraSCAti 1.5 •  See http://jira.ow2.org/browse/FRASCATI •  <implementation.osgi> with Concierge •  <implementation.velocity> with Apache Velocity •  <interface.wadl> •  <binding.osgi> •  <binding.jgroup> •  Deployment on OSGi •  Deployment on J2ME •  Web-based FraSCAti Explorer © Copyright 2011 INRIA/ADAM
  • 67. 67 FraSCAti Technical Perspectives •  EasySOA FUI project •  FraSCAti running on OSGi •  SCA-based Web components and bindings •  Google RPC binding •  Data-oriented components with Talend •  Deployment from Jetty to GAE •  Improving scripting language support •  Web-based FraSCAti Explorer •  Other projects within ADAM •  Security •  J2ME © Copyright 2011 INRIA/ADAM
  • 69. 69 Thanks for your attention •  Who would like to use SCA? •  Who would like to try FraSCAti? •  Any questions? © Copyright 2011 INRIA/ADAM
  • 70. 70 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
  • 71. 71 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 © Copyright 2011 INRIA/ADAM
  • 72. 72 Acknowledgements •  Slides from •  Philippe Merle - INRIA •  Lionel Seinturier – University of Lille •  Romain Rouvoy – University of Lille •  Rémi Melisson – Orange Labs •  Rémi Druilhe – Orange Labs •  All FraSCAti team members •  Christophe Demarey (INRIA), Michel Dirix (INRIA), Nicolas Dolet (INRIA), Damiel Fournier (INRIA), Christophe Munilla (INRIA), Nicolas Petitprez (INRIA), Valerio Schiavoni (INRIA), Guillaume Surrel (ScalAgent) •  Mahmoud Ben Hassine (INRIA), Pierre Carton (INRIA), Jonathan Labejof (Thalès), Adel Noureddine (INRIA), Russel Nzekwa (INRIA), Nicolas Pessemier (INRIA), Clément Quinton (INRIA), Daniel Romero (INRIA) •  … © Copyright 2011 INRIA/ADAM