SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Fractal & FraSCAti

                    An Open SOA/SCA Platform

                         fOSSa Conference
                                Lionel Seinturier
                       University of Lille & INRIA, France




Lionel Seinturier                   1                        November 18, 2009
Outline

1.    SCA in a nutshell
2.
2     Motivation & principles
3.    Architecture
4.
4     Positioning wrt other platforms
5.    Conclusion




Lionel Seinturier             2         November 18, 2009
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
Standardised by OASIS
      – http://www.oasis-opencsa.org


Platform providers
         pro iders
      – Open Source: Apache Tuscany, Fabric3, FraSCAti, Mule, Newton
      – Vendors: IBM WebSphere FP for SOA, TIBCO ActiveMatrix, Covansys
        SCA Framework, Paremus, Newton, Rogue Wave HydraSCA, Oracle
        Fusion Middleware



Lionel Seinturier                   3                    November 18, 2009
SCA in a Nutshell

SCA Business Components & Assemblies




Lionel Seinturier            4          November 18, 2009
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
           name="bigbank.accountcomposite" >
                "bi b k        t      it "

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

    <component name="AccountServiceComponent">
        <implementation.java class="services.account.AccountServiceImpl"/>
        <implementation java class "services account AccountServiceImpl"/>
        <reference name="StockQuoteService"/>
        <reference name="AccountDataService"
                   target="AccountDataServiceComponent/AccountDataService"/>
        <property name="currency">EURO</property>
                  name currency >EURO</property>
                                                                    bigbank.accountcomposite
                                                                                        StockQuote
    </component>
                                                                                                                   Reference
                                                                                                                   StockQuote
                                                                                                                    Service
                                                                               AccountService
    <component name="AccountDataServiceComponent">               Service
                                                                AccountService  Component
                                                                                                     AccountData
        <implementation.bpel process=“QName"/>                                                       Service
                                                                                                     Component
        <service name="AccountDataService">
            <interface.java interface="services.accountdata.AccountDataService"/>
        </service>
    </component>

    <reference name=“StockQuoteService" promote="AccountServiceComponent/StockQuoteService">
        <interface.java interface="services.stockquote.StockQuoteService"/>
        <binding.ws port="http://example.org/StockQuoteService#
          wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP) />
          wsdl endpoint(StockQuoteService/StockQuoteServiceSOAP)"/>
    </reference>
</composite>

OpenCSA Member Section – Service Component Architecture                                                            5
Java Implementation Example
p
package org.example.services.account;
     g    g     p
                                                                Annotation for the
import org.osoa.sca.annotations.*;                              service offered by
                                                                this class
@Service(interfaces = AccountService.class)
public class AccountServiceImpl implements AccountService {

      private String currency = "USD";                          Constructor with
      p
      private AccountDataService accountDataService;            annotations for
      private StockQuoteService stockQuoteService;              injected property
                                                                and references
      public AccountServiceImpl(
              @Property("currency") String currency,
              @Reference("accountDataService") AccountDataService dataService,
              @Reference("stockQuoteService") StockQuoteService stockService) {
         this.currency           = currency;
         this.accountDataService = dataService;
         this.stockQuoteService = stockService;
      }




OpenCSA Member Section – Service Component Architecture                           6
Outline


•   SCA in a nutshell
•   Motivation & principles for FraSCAti
•   Architecture
•   Positioning wrt other platforms
•   Conclusion




Lionel Seinturier           7              November 18, 2009
FraSCAti = SCA++

Dynamic deployment & configuration
      – Distributed deployment with FDF/DeployWare


Runtime adaptation & reconfiguration
           p                g
      – Introspection & reconfiguration support via Fractal
      – Reconfiguration of SCA components & FraSCAti itself


Reflective SCA platform
      – Li ht i ht efficient, predictable, scalable
        Lightweight, ffi i t     di t bl      l bl




Lionel Seinturier                 8                    November 18, 2009
FraSCAti Principles
Designed with adaptability/extensibility/flexibility in mind

Component-based architecture to support protocols and implementations
   p                              pp p                  p
      –   Communication protocols plugged within a binding factory
      –   Component implementation languages encapsulated as platform components
AOP-based mechanism to integrate intents and policies
      –   Non functional
          Non-functional services developed as regular SCA components
      –   Non-functional policies dynamically woven into the base architecture

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

2 execution modes for the FraSCAti platform
      –   Standalone application server (support for 2 backends)
      –   Integrated in the PEtALS JBI ESB (cf. http://petals.ow2.org)




Lionel Seinturier                              9                                 November 18, 2009
FraSCAti Features

SCA component implementation
      – Java POJO and SCA annotations
      – Spring
      – Fractal
SCA bi di
    binding
      – Web Services via Apache CXF
      – Java RMI
Under development
      – OSGi implementation and binding
      – JMS, JSONRPC




Lionel Seinturier              10         November 18, 2009
FraSCAti and SCA Spec.



                                                                FraSCAti
                      SCA Specification
                                                      State           Component
SCA A
    Assembly Model (v1.0)
         bl M d l ( 1 0)                               !      Assembly Factory
                                                              A    bl F t
SCA Policy Framework (v1.0)                           !/"     Assembly Factory
SCA Transaction Policy (v1.0)
                     y(     )                          !      Transaction Service
SCA Java Common Annotations & APIs (v1.0)              !      Tinfi
SCA Java Component Implementation (v1.0)               !      Tinfi
SCA Web Services Binding (v1.0)                        !      Binding Factory




                ! = supported
                      pp                   ! / " = under development
                                                               p

  Lionel Seinturier                       11                      November 18, 2009
FraSCAti and SCA Spec.



                                                             FraSCAti
                  SCA Specification
                                                State           Components
SCA Spring Component Implementation (v1.0)      !/"     Plug-in Assembly Factory
SCA BPEL Client & Implementation (v1.0)         ""      Plug-in Assembly Factory
SCA C++ Client & Implementation (v1.0)          """
SCA C Client & Implementation (v1.0)            """
SCA COBOL Client & Implementation (v1.0)
                                  (v1 0)        """
SCA JMS Binding (v1.0)                          ""      Plug-in Binding Factory
SCA EJB Session Bean Binding (v1.0)             ""      Plug-in Binding Factory
SCA JCA Binding (v1.0)                          """     Plug-in Binding Factory
SCA Java EE Integration (v0.9)                  """



   Lionel Seinturier                       12                    November 18, 2009
Outline


•   SCA in a nutshell
•   Motivation & principles for FraSCAti
•   Architecture
•   Positioning wrt other platforms
•   Conclusion




Lionel Seinturier           13             November 18, 2009
Platform Architecture

Modular (plugin like) architecture to support variation points
• implementation types
      – Java 5, Java POJO, Spring, OSGi, Java supported scripting languages,
        Scala
• binding types
      – SOAP, RMI, OSGi, REST, JBI




Lionel Seinturier                  14                        November 18, 2009
Container Architecture

Component container architecture
• host a business logic instance which provides the
  component services
• generalize the notion of a meta level
                             meta-level
• decomposed in some fine-grained services




Lionel Seinturier              15             November 18, 2009
Non Functional Services

Support for non-functional (NF) services

• SCA Policy Framework provides some metada
      – @Confidentiality, @Integrity, @Authentication
      – general purpose: @Intent @Requires
                          @Intent,

 • NF services implemented as
   SCA components t
 • NF wiring between business
   components and NF
      p
   components
 • API for dynamic management




Lionel Seinturier                   16                  November 18, 2009
FraSCAti Tinfi
Fractal architecturing principles for the implementation of the container (control
   membranes)

6 controllers
      –   SCAComponent : component identity dedicated interface (ComponentContext) and
          implementation
      –   SCAContentController : component instantiation policy
          dedicated implementation, private interface (no need to export it)
      –   SCAIntentController : intent handlers management
      –   SCAPropertyController : component properties management
      –   SCALifeCycleController : component initialization (@EagerInit)
          same interface as Fractal LC, dedicated implementation
      –   SCABindingController : component bindings
          same interface as Fractal BC, dedicated implementation
Interceptors
      – lifecycle management
      – component instantiation policy
      – i t t di
        intent dispatch
                    t h




Lionel Seinturier                          17                              November 18, 2009
FraSCAti Tooling

Eclipse STP/SCA modeler
      – http://www eclipse org/stp/sca/
        http://www.eclipse.org/stp/sca/




Lionel Seinturier                 18      November 18, 2009
FraSCAti Tooling

FraSCAti Explorer




Lionel Seinturier           19         November 18, 2009
Outline


•   SCA in a nutshell
•   Motivation & principles for FraSCAti
•   Architecture
•   Positioning wrt other platforms
•   Conclusion




Lionel Seinturier           20             November 18, 2009
FraSCAti vs Tuscany

" Less SCA features supported
      – Less implementation languages and binding protocols
" Smaller ecosystem
      – Less sponsoring companies, developers, and users
! Better continuum from SCA tooling to runtime platform
         contin m                      r ntime
      – Share the same SCA metamodel with Eclipse STP SCA project
! Better footprint to target embedded systems
             p           g             y
      – Smaller disk and memory footprints
! Ready for dynamic runtime reconfiguration
      – B
        Based on OW2 F t l component model and associated t l
            d        Fractal       t   d l d        i t d tools




Lionel Seinturier                  21                         November 18, 2009
FraSCAti vs Tuscany

                         Performance Evaluation: Instantiation Time




                         25000
                                                                                            FraSCAti
                                                                                            Tuscany
                         20000
Instantiatio Time( ms)




                          15000
           on




                          10000



                          5000



                             0
                                  10   50   100   250   500   1000   2000   3000    4000   5000      6000   7000   8000   9000   10000   11000   12000   13000

                                                                              Number of Components




                 Lionel Seinturier                                             22                                                 November 18, 2009
FraSCAti vs Tuscany

                       Performance Evaluation: Invocation Time




                       450
                       400                                                                                                         FraSCAti
                       350                                                                                                         Tuscany
    cation Time (ms)




                       300
                       250
                       200
                       150
Invoc




                       100
                        50
                         0
                             10   50       100   250   500   1000   2000   3000    4000   5000   6000   7000   8000   9000   10000 11000 12000 13000
                                                                            Number of Components




                       Lionel Seinturier                                      23                                             November 18, 2009
FraSCAti vs Tuscany

Performance Evaluation: Memory Consumption



                              70


                              60
                     Bytes)




                              50
         nsumption (MB




                              40


                              30
Memory Con




                                                                                                                               FraSCAti
                              20
                                                                                                                               Tuscany

                              10


                              0
                                   10   50   100   250   500   1000   2000   3000   4000   5000   6000   7000   8000   9000 10000 11000 12000 13000
                                                                              Number of Components




Lionel Seinturier                                                              24                                            November 18, 2009
Other OSS Competitors
• Fabric3
      "/! Fork from the Apache Tuscany project
      " Developed by fewer contributors
• The Newton Project
      ! Distributed runtime framework based on OSGi, Jini, and SCA
      ! SCA bindings for OSGi and Jini
      " Does not target a fully-compliant SCA framework
        " No support for SCA Java annotations
        " No Web Service binding
• The Mule Project - MuleSCA activity
      ! Some Web pages
      " No open source code currently available




Lionel Seinturier                   25                       November 18, 2009
Outline


•   SCA in a nutshell
•   Motivation & principles for FraSCAti
•   Architecture
•   Positioning wrt other platforms
•   Conclusion




Lionel Seinturier           26             November 18, 2009
Conclusion

 FraSCAti

      – an open and extensible implementation of the SCA
        specifications
            • continuum from tooling to runtime (common SCA metamodel shared
              with STP)
            • reconfigurable SCA applications
            • lightweight version for embedded devices currently being developed


      – based on OW2 code blocks




Lionel Seinturier                    27                         November 18, 2009
Contact
Web site
      – http://frascati.ow2.org

Project heads
      – Philippe Merle: Philippe.Merle@inria.fr
      – Lionel Seinturier: Lionel.Seinturier@univ-lille1.fr
                                            @

Development team
      – INRIA ADAM & SARDES
            • Pierre Carton, Christophe Demarey, Nicolas Dolet, Damien Fournier, Philippe Merle,
              Nicolas Pessemier, Valerio Schiavoni, Lionel Seinturier

Acknowledgements
      –   Vivien Quéma, Jean-Bernard Stefani, Alain Boulze, Adrian Mos, Adrien Louis, Stéphane Bagnier, Daniel
          Hagimont, Etienne Juliot, Gaël Blondelle, Jean-Pierre Lorre, Marc Dutoo, Marc Pantel, Mickael Istria,
          Mohammed Eljai, Nicolas Salatge, Samir Tata, Roland Naudin, Samuel Quaireau, Stéphane Drapeau,
          Thomas Darbois




Lionel Seinturier                                  28                                      November 18, 2009
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
                                    p                           g
      –   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://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




Lionel Seinturier                           29                                    November 18, 2009

Más contenido relacionado

La actualidad más candente

GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Arun Gupta
 
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012Arun Gupta
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgArun Gupta
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012Arun Gupta
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloudcodemotion_es
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 
2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical UpdateWSO2
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudArun Gupta
 
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidsJAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidscodemotion_es
 
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
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Serverekkehard gentz
 
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeMaking Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeWesley Hales
 
Dave hay web sphere administration for domino administrators
Dave hay   web sphere administration for domino administratorsDave hay   web sphere administration for domino administrators
Dave hay web sphere administration for domino administratorsDave Hay
 
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
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGArun Gupta
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Arun Gupta
 

La actualidad más candente (20)

GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
 
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 
2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update2009 Q2 WSO2 Technical Update
2009 Q2 WSO2 Technical Update
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
 
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidsJAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroids
 
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
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Server
 
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeMaking Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
 
Dave hay web sphere administration for domino administrators
Dave hay   web sphere administration for domino administratorsDave hay   web sphere administration for domino administrators
Dave hay web sphere administration for domino administrators
 
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
 
SAP NetWeaver Gateway - RFC & BOR Generators
SAP NetWeaver Gateway - RFC & BOR GeneratorsSAP NetWeaver Gateway - RFC & BOR Generators
SAP NetWeaver Gateway - RFC & BOR Generators
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0
 

Similar a SOA/SCA FraScAti

S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCJohn Lewis
 
FraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of MiddlewareFraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of Middlewarephilippe_merle
 
Using state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalUsing state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalGuido Schmutz
 
Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09Charles Severance
 
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010Arun Gupta
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesAlcide
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Apache Stratos Hangout VI
Apache Stratos Hangout VIApache Stratos Hangout VI
Apache Stratos Hangout VIpradeepfn
 
Developing Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideDeveloping Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideMohanraj Thirumoorthy
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Shameer Thaha Koya
 
OSGi Remote Services With SCA using Apache Tuscany
OSGi Remote Services With SCA using Apache TuscanyOSGi Remote Services With SCA using Apache Tuscany
OSGi Remote Services With SCA using Apache TuscanyRaymond Feng
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyJean-Sebastien Delfino
 
From Open Source to Open API with Restlet
From Open Source to Open API with RestletFrom Open Source to Open API with Restlet
From Open Source to Open API with RestletRestlet
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC SeminarJohn Lewis
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyJean-Sebastien Delfino
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-finalRuslan Meshenberg
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...Amazon Web Services
 

Similar a SOA/SCA FraScAti (20)

S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVC
 
FraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of MiddlewareFraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of Middleware
 
Using state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalUsing state-engine-as-sca-component-final
Using state-engine-as-sca-component-final
 
Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09
 
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
SCA Reaches the Cloud
SCA Reaches the CloudSCA Reaches the Cloud
SCA Reaches the Cloud
 
Apache Stratos Hangout VI
Apache Stratos Hangout VIApache Stratos Hangout VI
Apache Stratos Hangout VI
 
Developing Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideDeveloping Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's Guide
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)
 
OSGi Remote Services With SCA using Apache Tuscany
OSGi Remote Services With SCA using Apache TuscanyOSGi Remote Services With SCA using Apache Tuscany
OSGi Remote Services With SCA using Apache Tuscany
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
 
From Open Source to Open API with Restlet
From Open Source to Open API with RestletFrom Open Source to Open API with Restlet
From Open Source to Open API with Restlet
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC Seminar
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache Tuscany
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-final
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
 

Más de Inria

Diffusion des developpements informatiques
Diffusion des developpements informatiquesDiffusion des developpements informatiques
Diffusion des developpements informatiquesInria
 
Choir and Community Management
Choir and Community ManagementChoir and Community Management
Choir and Community ManagementInria
 
Open Source Governance v2.5
Open Source Governance v2.5Open Source Governance v2.5
Open Source Governance v2.5Inria
 
Ecosystemes logiciel-libre PARIS - GTLL - Systematic
Ecosystemes logiciel-libre PARIS - GTLL - SystematicEcosystemes logiciel-libre PARIS - GTLL - Systematic
Ecosystemes logiciel-libre PARIS - GTLL - SystematicInria
 
Spago Bi
Spago BiSpago Bi
Spago BiInria
 
Quattor
QuattorQuattor
QuattorInria
 
Platine Fossa
Platine FossaPlatine Fossa
Platine FossaInria
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo PlatformInria
 
Ocelot (OSS remote Instrumentation)
Ocelot (OSS remote Instrumentation)Ocelot (OSS remote Instrumentation)
Ocelot (OSS remote Instrumentation)Inria
 
Mandriva Present Task Oriented Desktop
Mandriva Present Task Oriented DesktopMandriva Present Task Oriented Desktop
Mandriva Present Task Oriented DesktopInria
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
Compiler Ggcc
Compiler GgccCompiler Ggcc
Compiler GgccInria
 
Software applicance Ushare Soft
Software applicance Ushare SoftSoftware applicance Ushare Soft
Software applicance Ushare SoftInria
 
SOA Galaxy
SOA GalaxySOA Galaxy
SOA GalaxyInria
 
Cloud Biocep
Cloud BiocepCloud Biocep
Cloud BiocepInria
 
Floss Metrics 2009
Floss Metrics 2009Floss Metrics 2009
Floss Metrics 2009Inria
 
SOA Sim Sy Prod
SOA Sim Sy ProdSOA Sim Sy Prod
SOA Sim Sy ProdInria
 
Bonita Soft Presentation
Bonita Soft PresentationBonita Soft Presentation
Bonita Soft PresentationInria
 
Topcased
TopcasedTopcased
TopcasedInria
 
03 Researchfriendly Org2
03 Researchfriendly Org203 Researchfriendly Org2
03 Researchfriendly Org2Inria
 

Más de Inria (20)

Diffusion des developpements informatiques
Diffusion des developpements informatiquesDiffusion des developpements informatiques
Diffusion des developpements informatiques
 
Choir and Community Management
Choir and Community ManagementChoir and Community Management
Choir and Community Management
 
Open Source Governance v2.5
Open Source Governance v2.5Open Source Governance v2.5
Open Source Governance v2.5
 
Ecosystemes logiciel-libre PARIS - GTLL - Systematic
Ecosystemes logiciel-libre PARIS - GTLL - SystematicEcosystemes logiciel-libre PARIS - GTLL - Systematic
Ecosystemes logiciel-libre PARIS - GTLL - Systematic
 
Spago Bi
Spago BiSpago Bi
Spago Bi
 
Quattor
QuattorQuattor
Quattor
 
Platine Fossa
Platine FossaPlatine Fossa
Platine Fossa
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo Platform
 
Ocelot (OSS remote Instrumentation)
Ocelot (OSS remote Instrumentation)Ocelot (OSS remote Instrumentation)
Ocelot (OSS remote Instrumentation)
 
Mandriva Present Task Oriented Desktop
Mandriva Present Task Oriented DesktopMandriva Present Task Oriented Desktop
Mandriva Present Task Oriented Desktop
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
Compiler Ggcc
Compiler GgccCompiler Ggcc
Compiler Ggcc
 
Software applicance Ushare Soft
Software applicance Ushare SoftSoftware applicance Ushare Soft
Software applicance Ushare Soft
 
SOA Galaxy
SOA GalaxySOA Galaxy
SOA Galaxy
 
Cloud Biocep
Cloud BiocepCloud Biocep
Cloud Biocep
 
Floss Metrics 2009
Floss Metrics 2009Floss Metrics 2009
Floss Metrics 2009
 
SOA Sim Sy Prod
SOA Sim Sy ProdSOA Sim Sy Prod
SOA Sim Sy Prod
 
Bonita Soft Presentation
Bonita Soft PresentationBonita Soft Presentation
Bonita Soft Presentation
 
Topcased
TopcasedTopcased
Topcased
 
03 Researchfriendly Org2
03 Researchfriendly Org203 Researchfriendly Org2
03 Researchfriendly Org2
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

SOA/SCA FraScAti

  • 1. Fractal & FraSCAti An Open SOA/SCA Platform fOSSa Conference Lionel Seinturier University of Lille & INRIA, France Lionel Seinturier 1 November 18, 2009
  • 2. Outline 1. SCA in a nutshell 2. 2 Motivation & principles 3. Architecture 4. 4 Positioning wrt other platforms 5. Conclusion Lionel Seinturier 2 November 18, 2009
  • 3. 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 Standardised by OASIS – http://www.oasis-opencsa.org Platform providers pro iders – Open Source: Apache Tuscany, Fabric3, FraSCAti, Mule, Newton – Vendors: IBM WebSphere FP for SOA, TIBCO ActiveMatrix, Covansys SCA Framework, Paremus, Newton, Rogue Wave HydraSCA, Oracle Fusion Middleware Lionel Seinturier 3 November 18, 2009
  • 4. SCA in a Nutshell SCA Business Components & Assemblies Lionel Seinturier 4 November 18, 2009
  • 5. <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="bigbank.accountcomposite" > "bi b k t it " <service name="AccountService" promote="AccountServiceComponent"> <interface.java interface="services.account.AccountService"/> <binding.ws port="http://www.example.org/AccountService# binding.ws port http://www.example.org/AccountService# wsdl.endpoint(AccountService/AccountServiceSOAP)"/> </service> <component name="AccountServiceComponent"> <implementation.java class="services.account.AccountServiceImpl"/> <implementation java class "services account AccountServiceImpl"/> <reference name="StockQuoteService"/> <reference name="AccountDataService" target="AccountDataServiceComponent/AccountDataService"/> <property name="currency">EURO</property> name currency >EURO</property> bigbank.accountcomposite StockQuote </component> Reference StockQuote Service AccountService <component name="AccountDataServiceComponent"> Service AccountService Component AccountData <implementation.bpel process=“QName"/> Service Component <service name="AccountDataService"> <interface.java interface="services.accountdata.AccountDataService"/> </service> </component> <reference name=“StockQuoteService" promote="AccountServiceComponent/StockQuoteService"> <interface.java interface="services.stockquote.StockQuoteService"/> <binding.ws port="http://example.org/StockQuoteService# wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP) /> wsdl endpoint(StockQuoteService/StockQuoteServiceSOAP)"/> </reference> </composite> OpenCSA Member Section – Service Component Architecture 5
  • 6. Java Implementation Example p package org.example.services.account; g g p Annotation for the import org.osoa.sca.annotations.*; service offered by this class @Service(interfaces = AccountService.class) public class AccountServiceImpl implements AccountService { private String currency = "USD"; Constructor with p private AccountDataService accountDataService; annotations for private StockQuoteService stockQuoteService; injected property and references public AccountServiceImpl( @Property("currency") String currency, @Reference("accountDataService") AccountDataService dataService, @Reference("stockQuoteService") StockQuoteService stockService) { this.currency = currency; this.accountDataService = dataService; this.stockQuoteService = stockService; } OpenCSA Member Section – Service Component Architecture 6
  • 7. Outline • SCA in a nutshell • Motivation & principles for FraSCAti • Architecture • Positioning wrt other platforms • Conclusion Lionel Seinturier 7 November 18, 2009
  • 8. FraSCAti = SCA++ Dynamic deployment & configuration – Distributed deployment with FDF/DeployWare Runtime adaptation & reconfiguration p g – Introspection & reconfiguration support via Fractal – Reconfiguration of SCA components & FraSCAti itself Reflective SCA platform – Li ht i ht efficient, predictable, scalable Lightweight, ffi i t di t bl l bl Lionel Seinturier 8 November 18, 2009
  • 9. FraSCAti Principles Designed with adaptability/extensibility/flexibility in mind Component-based architecture to support protocols and implementations p pp p p – Communication protocols plugged within a binding factory – Component implementation languages encapsulated as platform components AOP-based mechanism to integrate intents and policies – Non functional Non-functional services developed as regular SCA components – Non-functional policies dynamically woven into the base architecture 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.) 2 execution modes for the FraSCAti platform – Standalone application server (support for 2 backends) – Integrated in the PEtALS JBI ESB (cf. http://petals.ow2.org) Lionel Seinturier 9 November 18, 2009
  • 10. FraSCAti Features SCA component implementation – Java POJO and SCA annotations – Spring – Fractal SCA bi di binding – Web Services via Apache CXF – Java RMI Under development – OSGi implementation and binding – JMS, JSONRPC Lionel Seinturier 10 November 18, 2009
  • 11. FraSCAti and SCA Spec. FraSCAti SCA Specification State Component SCA A Assembly Model (v1.0) bl M d l ( 1 0) ! Assembly Factory A bl F t SCA Policy Framework (v1.0) !/" Assembly Factory SCA Transaction Policy (v1.0) y( ) ! Transaction Service SCA Java Common Annotations & APIs (v1.0) ! Tinfi SCA Java Component Implementation (v1.0) ! Tinfi SCA Web Services Binding (v1.0) ! Binding Factory ! = supported pp ! / " = under development p Lionel Seinturier 11 November 18, 2009
  • 12. FraSCAti and SCA Spec. FraSCAti SCA Specification State Components SCA Spring Component Implementation (v1.0) !/" Plug-in Assembly Factory SCA BPEL Client & Implementation (v1.0) "" Plug-in Assembly Factory SCA C++ Client & Implementation (v1.0) """ SCA C Client & Implementation (v1.0) """ SCA COBOL Client & Implementation (v1.0) (v1 0) """ SCA JMS Binding (v1.0) "" Plug-in Binding Factory SCA EJB Session Bean Binding (v1.0) "" Plug-in Binding Factory SCA JCA Binding (v1.0) """ Plug-in Binding Factory SCA Java EE Integration (v0.9) """ Lionel Seinturier 12 November 18, 2009
  • 13. Outline • SCA in a nutshell • Motivation & principles for FraSCAti • Architecture • Positioning wrt other platforms • Conclusion Lionel Seinturier 13 November 18, 2009
  • 14. Platform Architecture Modular (plugin like) architecture to support variation points • implementation types – Java 5, Java POJO, Spring, OSGi, Java supported scripting languages, Scala • binding types – SOAP, RMI, OSGi, REST, JBI Lionel Seinturier 14 November 18, 2009
  • 15. Container Architecture Component container architecture • host a business logic instance which provides the component services • generalize the notion of a meta level meta-level • decomposed in some fine-grained services Lionel Seinturier 15 November 18, 2009
  • 16. Non Functional Services Support for non-functional (NF) services • SCA Policy Framework provides some metada – @Confidentiality, @Integrity, @Authentication – general purpose: @Intent @Requires @Intent, • NF services implemented as SCA components t • NF wiring between business components and NF p components • API for dynamic management Lionel Seinturier 16 November 18, 2009
  • 17. FraSCAti Tinfi Fractal architecturing principles for the implementation of the container (control membranes) 6 controllers – SCAComponent : component identity dedicated interface (ComponentContext) and implementation – SCAContentController : component instantiation policy dedicated implementation, private interface (no need to export it) – SCAIntentController : intent handlers management – SCAPropertyController : component properties management – SCALifeCycleController : component initialization (@EagerInit) same interface as Fractal LC, dedicated implementation – SCABindingController : component bindings same interface as Fractal BC, dedicated implementation Interceptors – lifecycle management – component instantiation policy – i t t di intent dispatch t h Lionel Seinturier 17 November 18, 2009
  • 18. FraSCAti Tooling Eclipse STP/SCA modeler – http://www eclipse org/stp/sca/ http://www.eclipse.org/stp/sca/ Lionel Seinturier 18 November 18, 2009
  • 19. FraSCAti Tooling FraSCAti Explorer Lionel Seinturier 19 November 18, 2009
  • 20. Outline • SCA in a nutshell • Motivation & principles for FraSCAti • Architecture • Positioning wrt other platforms • Conclusion Lionel Seinturier 20 November 18, 2009
  • 21. FraSCAti vs Tuscany " Less SCA features supported – Less implementation languages and binding protocols " Smaller ecosystem – Less sponsoring companies, developers, and users ! Better continuum from SCA tooling to runtime platform contin m r ntime – Share the same SCA metamodel with Eclipse STP SCA project ! Better footprint to target embedded systems p g y – Smaller disk and memory footprints ! Ready for dynamic runtime reconfiguration – B Based on OW2 F t l component model and associated t l d Fractal t d l d i t d tools Lionel Seinturier 21 November 18, 2009
  • 22. FraSCAti vs Tuscany Performance Evaluation: Instantiation Time 25000 FraSCAti Tuscany 20000 Instantiatio Time( ms) 15000 on 10000 5000 0 10 50 100 250 500 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 Number of Components Lionel Seinturier 22 November 18, 2009
  • 23. FraSCAti vs Tuscany Performance Evaluation: Invocation Time 450 400 FraSCAti 350 Tuscany cation Time (ms) 300 250 200 150 Invoc 100 50 0 10 50 100 250 500 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 Number of Components Lionel Seinturier 23 November 18, 2009
  • 24. FraSCAti vs Tuscany Performance Evaluation: Memory Consumption 70 60 Bytes) 50 nsumption (MB 40 30 Memory Con FraSCAti 20 Tuscany 10 0 10 50 100 250 500 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 Number of Components Lionel Seinturier 24 November 18, 2009
  • 25. Other OSS Competitors • Fabric3 "/! Fork from the Apache Tuscany project " Developed by fewer contributors • The Newton Project ! Distributed runtime framework based on OSGi, Jini, and SCA ! SCA bindings for OSGi and Jini " Does not target a fully-compliant SCA framework " No support for SCA Java annotations " No Web Service binding • The Mule Project - MuleSCA activity ! Some Web pages " No open source code currently available Lionel Seinturier 25 November 18, 2009
  • 26. Outline • SCA in a nutshell • Motivation & principles for FraSCAti • Architecture • Positioning wrt other platforms • Conclusion Lionel Seinturier 26 November 18, 2009
  • 27. Conclusion FraSCAti – an open and extensible implementation of the SCA specifications • continuum from tooling to runtime (common SCA metamodel shared with STP) • reconfigurable SCA applications • lightweight version for embedded devices currently being developed – based on OW2 code blocks Lionel Seinturier 27 November 18, 2009
  • 28. Contact Web site – http://frascati.ow2.org Project heads – Philippe Merle: Philippe.Merle@inria.fr – Lionel Seinturier: Lionel.Seinturier@univ-lille1.fr @ Development team – INRIA ADAM & SARDES • Pierre Carton, Christophe Demarey, Nicolas Dolet, Damien Fournier, Philippe Merle, Nicolas Pessemier, Valerio Schiavoni, Lionel Seinturier Acknowledgements – Vivien Quéma, Jean-Bernard Stefani, Alain Boulze, Adrian Mos, Adrien Louis, Stéphane Bagnier, Daniel Hagimont, Etienne Juliot, Gaël Blondelle, Jean-Pierre Lorre, Marc Dutoo, Marc Pantel, Mickael Istria, Mohammed Eljai, Nicolas Salatge, Samir Tata, Roland Naudin, Samuel Quaireau, Stéphane Drapeau, Thomas Darbois Lionel Seinturier 28 November 18, 2009
  • 29. 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 p g – 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://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 Lionel Seinturier 29 November 18, 2009