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

Software Design Principles (SOLID)
Software Design Principles (SOLID)Software Design Principles (SOLID)
Software Design Principles (SOLID)ASIMYILDIZ
 
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 middlewareEmmanuel Ide
 
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Łukasz Dumiszewski
 
Introduction to Ibatis by Rohit
Introduction to Ibatis by RohitIntroduction to Ibatis by Rohit
Introduction to Ibatis by RohitRohit Prabhakar
 
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 Hitesh-Java
 
Spring Framework
Spring FrameworkSpring Framework
Spring Frameworknomykk
 
Sun JSF Presentation
Sun JSF PresentationSun JSF Presentation
Sun JSF PresentationGaurav 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 (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

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 Systemsphilippe_merle
 
React & Redux JS
React & Redux JS React & Redux JS
React & Redux JS Hamed Farag
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscanyLuciano Resende
 
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 Programmersjphl
 
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 2013Charles Moulliard
 
Java New Evolution
Java New EvolutionJava New Evolution
Java New EvolutionAllan Huang
 
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 .pdfAna-Maria Mihalceanu
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
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
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On ConcurrencyWill Gage
 
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 #17GreeceJS
 
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 DeveloperRam Kumar
 
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...Codemotion
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016Tim Ellison
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek 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

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

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.