Fractal & FraSCAti Fractal & FraSCAti An Open SOA/SCA Platform An Open SOA/SCA Platform fOSSa Conference fOSSa Conference fOSSa Conference fOSSa Conference Lionel Seinturier University of Lille & INRIA, France University of Lille & INRIA, France Lionel Seinturier 1 November 18, 2009
Fractal: This presentation introduces Fractal which is a modular, extensible and programming language agnostic component model that can be used to design, implement, deploy and reconfigure systems and applications, from operating systems to middleware platforms and to graphical user interfaces. The goal of Fractal is to reduce the development, deployment and maintenance costs of software systems in general, and of ObjectWeb projects in particular. The Fractal component model has the following important features: recursivity, reflectivity, component sharing, binding components, execution model independence, openness.
FraSCAti: The Service Component Architecture (SCA) is a technology agnostic standard for developing and deploying distributed service-oriented architectures (SOA). However, SCA does not define standard means for runtime manageability (including introspection and reconfiguration) of SOA applications and of their supporting environment. This presentation introduces the FraSCAti platform, which brings runtime management features to SCA, and discusses key principles in its design: the adoption of an extended SCA component model for the implementation of SOA applications and of the FraSCAti platform itself; the use of component-based interception techniques for dynamically weaving non-functional services such as transaction management with components.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
OpenCSA Member Section – Service Component Architecture 6OpenCSA Member Section – Service Component Architecture 6
Outline
••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• SCA in a nutshellSCA in a nutshellSCA in a nutshell• Motivation & principles for FraSCAti••• ArchitectureArchitectureArchitecture••• ArchitectureArchitectureArchitecture••• Positioning wrt other platformsPositioning wrt other platformsPositioning wrt other platforms••• ConclusionConclusionConclusion••• ConclusionConclusionConclusion
Lionel Seinturier 7 November 18, 2009
FraSCAti = SCA++
Dynamic deployment & configuration– Distributed deployment with FDF/DeployWareDistributed deployment with FDF/DeployWare
Runtime adaptation & reconfigurationp g– Introspection & reconfiguration support via Fractal– Reconfiguration of SCA components & FraSCAti itself
Reflective SCA platformLi ht i ht ffi i t di t bl l bl– Lightweight, efficient, predictable, scalable
Lionel Seinturier 8 November 18, 2009
FraSCAti Principles
Designed with adaptability/extensibility/flexibility in mind
Component-based architecture to support protocols and implementationsp 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 services developed as regular SCA componentsNon functional services developed as regular SCA components– Non-functional policies dynamically woven into the base architecture
– 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 diSCA 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.
SCA SpecificationFraSCAti
State ComponentSCA A bl M d l ( 1 0) ! A bl F tSCA Assembly Model (v1.0) ! Assembly Factory
••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• Motivation & principles for FraSCAtiMotivation & principles for FraSCAtiMotivation & principles for FraSCAti• Architecture• Architecture••• Positioning wrt other platformsPositioning wrt other platformsPositioning wrt other platforms••• ConclusionConclusionConclusion••• ConclusionConclusionConclusion
Lionel Seinturier 13 November 18, 2009
Platform Architecture
Modular (plugin like) architecture to support variation points• implementation types• implementation types
••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• Motivation & principles for FraSCAtiMotivation & principles for FraSCAtiMotivation & principles for FraSCAti••• ArchitectureArchitectureArchitecture••• ArchitectureArchitectureArchitecture• Positioning wrt other platforms••• ConclusionConclusionConclusion••• ConclusionConclusionConclusion
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 contin m from SCA tooling to r ntime platform! Better continuum from SCA tooling to runtime platform– Share the same SCA metamodel with Eclipse STP SCA project
! Better footprint to target embedded systemsp g y– Smaller disk and memory footprints
! Ready for dynamic runtime reconfigurationB d OW2 F t l t d l d i t d t l– Based on OW2 Fractal component model and associated tools
• 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 support for SCA Java annotations" No Web Service binding
• The Mule Project - MuleSCA activity! Some Web pages! Some Web pages" No open source code currently available
Lionel Seinturier 25 November 18, 2009
Outline
••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• SCA in a nutshellSCA in a nutshellSCA in a nutshell••• Motivation & principles for FraSCAtiMotivation & principles for FraSCAtiMotivation & principles for FraSCAti••• ArchitectureArchitectureArchitecture••• ArchitectureArchitectureArchitecture••• Positioning wrt other platformsPositioning wrt other platformsPositioning wrt other platforms• Conclusion• 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– based on OW2 code blocks
• Pierre Carton, Christophe Demarey, Nicolas Dolet, Damien Fournier, Philippe Merle, Nicolas Pessemier, Valerio Schiavoni, Lionel Seinturier
AcknowledgementsAcknowledgements– 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