SlideShare a Scribd company logo
1 of 73
From SOA and SCA to FraSCAti  Philippe Merle – INRIA ADAM COSMAL, Villeneuve d’Ascq, France, 10th June 2011
FraSCAti TP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
About you ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
From SOA… Service-Oriented Architecture
From SOA challenges… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Software decomposition
SOA and SPL, MDE, CBSE, AOSD, …
Software composition
Tools, skills or contexts?
Service Oriented Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Source: oasis-open.org
Simple Object Access Protocol (SOAP)
Four challenges for SOA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],You want SCA and  FraSCAti!
…  to SCA … Service Component Architecture
Service Component Architecture (SCA) An OASIS’s standard programming model for SOA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Network Network Sec. Trans. log
SCA in a Nutshell (cont’d) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],intent
SCA in a Nutshell (cont’d) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA in a Nutshell (cont’d) Warehouse Service WarehouseComposite Warehouse Broker Component Warehouse Component Order Processing Service OrderProcessing Component Shipping Reference External Warehouse Reference Payments Component Payment Service AccountsComposite External Banking Reference Accounts Ledger Component BPEL Java EE C++ SOAP/HTTP JMS RMI/IIOP Mixed: - technologies - app locations Multi-level composition Loosely coupled Loosely coupled Closely coupled Entry Points Entry Points External Service External Service External Services Binding Wire Wire
Modelling with Eclipse SCA Tools
SCA Hello World Example
SCA Hello World Example (cont’d)
SCA Hello World Example (cont’d)
SCA Benefits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA Limitations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],You want FraSCAti!
FraSCAti
FraSCAti Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOA Interoperability and Integration
Interoperability with FraSCAti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integration with FraSCAti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
An open SOA framework Middleware for integrating middleware Apache CXF SOA stack (WS, REST) Spring Framework OSGi Apache Felix Equinox OW2  PEtALS JBI ESB Java RMI JSON RPC Java Script Engines Easy BPEL Engine . . . JMS JORAM Interoperability Integration
Reflective Component Model
FraSCAti: The marriage of SCA and Fractal SCA The standard component model for SOA Fractal A modular and reflective component model Reflective SCA Applications SOA for Fractal ANR 2007-2009 FraSCAti An open SCA runtime platform built on top of OW2 Fractal
An open reflective SCA platform Reflective SCA component model Middleware for integrating middleware Ad-hoc manual & anticipated scripted reconfiguration Apache CXF SOA stack (WS, REST) Spring Framework OSGi Apache Felix Equinox OW2  PEtALS JBI ESB Java RMI JSON RPC Java Script Engines Easy BPEL Engine . . . JMS JORAM API Interoperability Integration FraSCAti JMX FraSCAti REST API FraSCAti Explorer FraSCAti FScript
FraSCAti API & Runtime ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FraSCAti Explorer - an SCA microscope
More than just an SCA microscope
FraSCAti JMX
FraSCAti REST EMF-based model
Reconfiguring SCA applications with ,[object Object],[object Object]
Fscript/Fpath for SCA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FraSCAti Aspect Components (FAC) ,[object Object],[object Object],[object Object]
A FraSCAti Aspect Component
A FraSCAti Intent Implementation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FraSCAti UML Diagram Sequence Aspect
FraSCAti UML Sequence Diagram Aspect Components
Software Product Line
OW2 FraSCAti « à la carte » ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OW2 FraSCAti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Various Features in OW2 FraSCAti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OW2 FraSCAti Feature Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OW2 FraSCAti Feature Diagram
OW2 FraSCAti at S.P.L.O.T.
OW2 FraSCAti Modules ,[object Object],[object Object],[object Object],[object Object],[object Object]
OW2 FraSCAti Main Modules sca-parser.jar component-factory.jar assembly-factory.jar
All OW2 FraSCAti Modules Remote Management Binding REST Binding JSON-RPC Implementation Resource Binding Factory Implementation Fractal Binding Java RMI MM FraSCAti Fscript Sca Parser … Implementation FScript Implementation JavaScript Implementation JRuby Implementation Jython Knopflerfish Equinox Apache Felix Implementation Script Implementation OSGi MG + MF Implementation Spring Implementation Xquery Implementation BeanShell Implementation Groovy Interface Native JMX MF Julia MM Native Property JAXB Binding JNA Implementation BPEL Membrane Generation MM UPnP Binding UPnP Explorer MM Tuscany Binding WS Binding JMS Interface WSDL JDT JDK6 Component Factory … Assembly Factory … MG Tinfi Binding HTTP MF Tinfi
300+ Maven artifacts
OW2 FraSCAti Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object]
Root OW2 FraSCAti SCA Composite Assembly Factory Sca Parser Component Factory Binding Factory Explorer Fscript JMX Remote Management
OW2 FraSCAti SCA Parser Metamodels MM_SCA MM_UPnP MM_FraSCAti MM_Native MM_Tuscany
OW2 FraSCAti Component Factory Component Factory Membrane Factories MF_Julia MF_Tinfi MF_OSGi Membrane Generation
OW2 FraSCAti Component Factory Membrane Generation Membrane Generators Java Compilers MG_OSGi MG_Tinfi JDK6 JDT
OW2 FraSCAti Assembly Factory Assembly Factory Implementations Composite Java Fractal Spring OSGi Resource Script BPEL Interfaces Java WSDL Native Bindings SCA WS UPnP REST JSON-RPC JMS HTTP Java RMI JNA Java XSD JAXB Properties
Self-introspecting with FraSCAti Explorer
Self-introspecting with FraSCAti JMX
OW2 FraSCAti SPL Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Software decomposition and composition frascati-assembly-factory.jar frascati-implementation-bpel.jar Assembly Factory BPEL Decomposition @ Design Time Decomposition @ Runtime Composition @ Deployment Time Decomposition @ Implementation Time
Conclusion
What you should keep in mind about ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Next features for OW2 FraSCAti 1.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Research Perspectives ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Intensive software systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],You want FraSCAti! for your business
SCA References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acknowledgements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FraSCAti everywhere, what else?  ,[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Sun JSF Presentation
Sun JSF PresentationSun JSF Presentation
Sun JSF Presentation
Gaurav Dighe
 

What's hot (12)

Software Design Principles (SOLID)
Software Design Principles (SOLID)Software Design Principles (SOLID)
Software Design Principles (SOLID)
 
PHP Frameworks in 2015 - The rise of middleware
PHP Frameworks in 2015 - The rise of middlewarePHP Frameworks in 2015 - The rise of middleware
PHP Frameworks in 2015 - The rise of middleware
 
Programming in Spark - Lessons Learned in OpenAire project
Programming in Spark - Lessons Learned in OpenAire projectProgramming in Spark - Lessons Learned in OpenAire project
Programming in Spark - Lessons Learned in OpenAire project
 
Introduction to Ibatis by Rohit
Introduction to Ibatis by RohitIntroduction to Ibatis by Rohit
Introduction to Ibatis by Rohit
 
Java Spring Framework
Java Spring FrameworkJava Spring Framework
Java Spring Framework
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Sun JSF Presentation
Sun JSF PresentationSun JSF Presentation
Sun JSF Presentation
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Spring
SpringSpring
Spring
 
Spring notes
Spring notesSpring notes
Spring notes
 

Viewers also liked

AmyandSusan
AmyandSusanAmyandSusan
AmyandSusan
sgrobins
 
English Catcher in the Rye - Mid unit test
English Catcher in the Rye - Mid unit testEnglish Catcher in the Rye - Mid unit test
English Catcher in the Rye - Mid unit test
phychedelicmasquerade
 
Serial age of empira
Serial age of empiraSerial age of empira
Serial age of empira
sexydieg
 

Viewers also liked (20)

ARICAP
ARICAPARICAP
ARICAP
 
AmyandSusan
AmyandSusanAmyandSusan
AmyandSusan
 
English Catcher in the Rye - Mid unit test
English Catcher in the Rye - Mid unit testEnglish Catcher in the Rye - Mid unit test
English Catcher in the Rye - Mid unit test
 
Abb v2
Abb v2Abb v2
Abb v2
 
Amit PPT
Amit PPTAmit PPT
Amit PPT
 
Simple c-programs
Simple c-programsSimple c-programs
Simple c-programs
 
Serial age of empira
Serial age of empiraSerial age of empira
Serial age of empira
 
Backtrack 3 USB
Backtrack 3 USBBacktrack 3 USB
Backtrack 3 USB
 
Teens24
Teens24Teens24
Teens24
 
Orange Sparkle Ball: Who We Are and What We Do
Orange Sparkle Ball: Who We Are and What We DoOrange Sparkle Ball: Who We Are and What We Do
Orange Sparkle Ball: Who We Are and What We Do
 
Budget Simulation Assignment Renee Jackson
Budget Simulation Assignment Renee JacksonBudget Simulation Assignment Renee Jackson
Budget Simulation Assignment Renee Jackson
 
Los derechos humanos
Los derechos humanosLos derechos humanos
Los derechos humanos
 
Ank 48
Ank 48Ank 48
Ank 48
 
Sxsf
SxsfSxsf
Sxsf
 
3 jenis pengalaman
3 jenis pengalaman3 jenis pengalaman
3 jenis pengalaman
 
Inspección de flores, etiquetas y facturas.
Inspección de flores, etiquetas y facturas. Inspección de flores, etiquetas y facturas.
Inspección de flores, etiquetas y facturas.
 
Power grid
Power gridPower grid
Power grid
 
Ringers cut 5 knit for pinch point and knuckle impact protection
Ringers cut 5 knit for pinch point and knuckle impact protectionRingers cut 5 knit for pinch point and knuckle impact protection
Ringers cut 5 knit for pinch point and knuckle impact protection
 
posititude - Dec 14
posititude - Dec 14posititude - Dec 14
posititude - Dec 14
 
Unit 1 the universe
Unit 1 the universeUnit 1 the universe
Unit 1 the universe
 

Similar to From SOA to SCA and FraSCAti

Java New Evolution
Java New EvolutionJava New Evolution
Java New Evolution
Allan Huang
 
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
Jean-Sebastien Delfino
 
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
Abhishek Gupta
 

Similar to From SOA to SCA and FraSCAti (20)

A Reflective Platform for Highly Adaptable Multi-Cloud Systems
A Reflective Platform for Highly Adaptable Multi-Cloud SystemsA Reflective Platform for Highly Adaptable Multi-Cloud Systems
A Reflective Platform for Highly Adaptable Multi-Cloud Systems
 
React & Redux JS
React & Redux JS React & Redux JS
React & Redux JS
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscany
 
An Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP ProgrammersAn Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP Programmers
 
Make easier Integration of your services with Fuse Solutions - RedHat 2013
Make easier Integration of your services with Fuse Solutions - RedHat 2013Make easier Integration of your services with Fuse Solutions - RedHat 2013
Make easier Integration of your services with Fuse Solutions - RedHat 2013
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
Tech Days 2010
Tech  Days 2010Tech  Days 2010
Tech Days 2010
 
Java New Evolution
Java New EvolutionJava New Evolution
Java New Evolution
 
How Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfHow Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdf
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
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
 
Fuse technology-2015
Fuse technology-2015Fuse technology-2015
Fuse technology-2015
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
 
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
Laravel 4 presentation
Laravel 4 presentationLaravel 4 presentation
Laravel 4 presentation
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 

Recently uploaded

Recently uploaded (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
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...
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

From SOA to SCA and FraSCAti

  • 1. From SOA and SCA to FraSCAti Philippe Merle – INRIA ADAM COSMAL, Villeneuve d’Ascq, France, 10th June 2011
  • 2.
  • 3.
  • 5.
  • 7. SOA and SPL, MDE, CBSE, AOSD, …
  • 9. Tools, skills or contexts?
  • 10.
  • 11. Simple Object Access Protocol (SOAP)
  • 12.
  • 13. … to SCA … Service Component Architecture
  • 14.
  • 15.
  • 16.
  • 17. SCA in a Nutshell (cont’d) Warehouse Service WarehouseComposite Warehouse Broker Component Warehouse Component Order Processing Service OrderProcessing Component Shipping Reference External Warehouse Reference Payments Component Payment Service AccountsComposite External Banking Reference Accounts Ledger Component BPEL Java EE C++ SOAP/HTTP JMS RMI/IIOP Mixed: - technologies - app locations Multi-level composition Loosely coupled Loosely coupled Closely coupled Entry Points Entry Points External Service External Service External Services Binding Wire Wire
  • 19. SCA Hello World Example
  • 20. SCA Hello World Example (cont’d)
  • 21. SCA Hello World Example (cont’d)
  • 22.
  • 23.
  • 25.
  • 27.
  • 28.
  • 29. An open SOA framework Middleware for integrating middleware Apache CXF SOA stack (WS, REST) Spring Framework OSGi Apache Felix Equinox OW2 PEtALS JBI ESB Java RMI JSON RPC Java Script Engines Easy BPEL Engine . . . JMS JORAM Interoperability Integration
  • 31. FraSCAti: The marriage of SCA and Fractal SCA The standard component model for SOA Fractal A modular and reflective component model Reflective SCA Applications SOA for Fractal ANR 2007-2009 FraSCAti An open SCA runtime platform built on top of OW2 Fractal
  • 32. An open reflective SCA platform Reflective SCA component model Middleware for integrating middleware Ad-hoc manual & anticipated scripted reconfiguration Apache CXF SOA stack (WS, REST) Spring Framework OSGi Apache Felix Equinox OW2 PEtALS JBI ESB Java RMI JSON RPC Java Script Engines Easy BPEL Engine . . . JMS JORAM API Interoperability Integration FraSCAti JMX FraSCAti REST API FraSCAti Explorer FraSCAti FScript
  • 33.
  • 34. FraSCAti Explorer - an SCA microscope
  • 35. More than just an SCA microscope
  • 38.
  • 39.
  • 40.
  • 41. A FraSCAti Aspect Component
  • 42.
  • 43. FraSCAti UML Diagram Sequence Aspect
  • 44. FraSCAti UML Sequence Diagram Aspect Components
  • 46.
  • 47.
  • 48.
  • 49.
  • 51. OW2 FraSCAti at S.P.L.O.T.
  • 52.
  • 53. OW2 FraSCAti Main Modules sca-parser.jar component-factory.jar assembly-factory.jar
  • 54. All OW2 FraSCAti Modules Remote Management Binding REST Binding JSON-RPC Implementation Resource Binding Factory Implementation Fractal Binding Java RMI MM FraSCAti Fscript Sca Parser … Implementation FScript Implementation JavaScript Implementation JRuby Implementation Jython Knopflerfish Equinox Apache Felix Implementation Script Implementation OSGi MG + MF Implementation Spring Implementation Xquery Implementation BeanShell Implementation Groovy Interface Native JMX MF Julia MM Native Property JAXB Binding JNA Implementation BPEL Membrane Generation MM UPnP Binding UPnP Explorer MM Tuscany Binding WS Binding JMS Interface WSDL JDT JDK6 Component Factory … Assembly Factory … MG Tinfi Binding HTTP MF Tinfi
  • 56.
  • 57. Root OW2 FraSCAti SCA Composite Assembly Factory Sca Parser Component Factory Binding Factory Explorer Fscript JMX Remote Management
  • 58. OW2 FraSCAti SCA Parser Metamodels MM_SCA MM_UPnP MM_FraSCAti MM_Native MM_Tuscany
  • 59. OW2 FraSCAti Component Factory Component Factory Membrane Factories MF_Julia MF_Tinfi MF_OSGi Membrane Generation
  • 60. OW2 FraSCAti Component Factory Membrane Generation Membrane Generators Java Compilers MG_OSGi MG_Tinfi JDK6 JDT
  • 61. OW2 FraSCAti Assembly Factory Assembly Factory Implementations Composite Java Fractal Spring OSGi Resource Script BPEL Interfaces Java WSDL Native Bindings SCA WS UPnP REST JSON-RPC JMS HTTP Java RMI JNA Java XSD JAXB Properties
  • 64.
  • 65. Software decomposition and composition frascati-assembly-factory.jar frascati-implementation-bpel.jar Assembly Factory BPEL Decomposition @ Design Time Decomposition @ Runtime Composition @ Deployment Time Decomposition @ Implementation Time
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.