Your SlideShare is downloading. ×
FraSCAti with OSGi
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

FraSCAti with OSGi


Published on

Le standard Service Component Architecture (SCA) du consortium OASIS est un modèle de programmation d'applications SOA à base de composants logiciels. L'intérêt principal de SCA est d'être agnostique …

Le standard Service Component Architecture (SCA) du consortium OASIS est un modèle de programmation d'applications SOA à base de composants logiciels. L'intérêt principal de SCA est d'être agnostique par rapport aux technologies de mise en oeuvre. SCA supporte 1) différents langages/modèles de programmation des composants métiers d'une application tels que Composite, Java, Spring, BPEL, C, COBOL, etc., 2) différents langages de description des interfaces fonctionnelles d'un composant métier tels que Java, WSDL, WADL, etc., 3) différents protocoles d'interaction avec les services d'une application tels que SOAP, REST, JMS, Java RMI/IIOP, etc., 4) différentes politiques non-fonctionnelles comme la sécurité, les transactions, etc., 5) différentes technologies de conditionnement des applications telles que de simples JAR, composants JBI, bundles OSGi, WAR, etc., 6) différents environnements d'exécution des applications comme J2SE, OSGi, JBI, serveur Web, etc. Ainsi SCA favorise la construction, l'interopérabilité et l'intégration de systèmes orientés services. FraSCAti est une implantation open source du standard SCA à laquelle nous avons ajouté des capacités réflexives de reconfiguration à grain fin des applications SOA. Dans cet exposé, nous présentons nos travaux en cours sur l'interopérabilité et l'intégration entre FraSCAti et OSGi.

Published in: Technology

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. 1! FraSCAti with OSGi Philippe Merle & Christophe Munilla INRIA ADAMOSGi Users Group France, IFSTTAR, Villeneuve d’Ascq, France, 19th May 2011 © Copyright 2011 INRIA/ADAM
  • 2. 2!Outline•! Four challenges for SOA•! SCA overview•! Combining SCA with OSGi•! FraSCAti overview•! FraSCAti with OSGi•! Related work © Copyright 2011 INRIA/ADAM
  • 3. 3!Four challenges for SOA•! Structuring reusable flexible architectures •! What is behind the scene? You want •! Reuse the wheel when possible… SCA and ! •! …Or tune it if not! FraSCAti!!•! Interoperability •! Orchestrate heterogeneous services –! The weather of the city where a Twitter user lives? –! Access the REST-based Twitter user account then a SOAP-based weather service•! Integration •! Compose heterogeneous piece of software to build a new service –! e.g., compose a BPEL process, an OSGi bundle and a Xquery script•! Dynamically reconfigurable runtime architectures •! research challenge #1 in Service foundations [Papazoglou 07] © Copyright 2011 INRIA/ADAM
  • 4. 4! Service Component Architecture (SCA) An OASIS’s standard programming model for SOANetwork! Network! •! Technology-agnostic, adaptability, variability •! Interface languages (Java, WSDL, OMG IDL, etc.) •! Implementation languages (Java, Spring, OSGi, BPEL, C/C++, etc.) •! Binding protocols (WS, REST, JSON-RPC, Java RMI, CORBA, etc.) •! Non functional aspects, aka SCA intents and policies •! Packaging formats and deployment targets (JAR, JBI, WAR, OSGi, etc.) © Copyright 2011 INRIA/ADAM
  • 5. 5!<composite xmlns="" name="bank.account" > <service name="Account" promote="AccountFacade"> < interface="services.account.Account"/> < port=" wsdl.endpoint(Account/AccountSOAP)"/> </service> <component name="AccountFacade"> < class="services.account.AccountFacadeImpl"/> <reference name="StockQuote"/> <reference name="AccountData" target="AccountData/Data"/> Composite bank.account <property name="currency">EURO</property> Reference StockQuote </component> Service Account Component AccountFacade Component AccountData <component name="AccountData"> <implementation.bpel process=“QName"/> <service name="Data"> < interface="services.account.Data"/> </service> </component> <reference name="StockQuote" promote="AccountFacade/StockQuote"> < interface="services.stockquote.StockQuote"/> < port=" wsdl.endpoint(StockQuote/StockQuoteSOAP)"/> </reference></composite> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 6. Modelling with Eclipse SCA Tools 6! © Copyright 2011 INRIA/ADAM
  • 7. 7!Combining SCA with OSGi•! Interoperability and integration between SCA and OSGi•! “Power Combination: SCA, OSGi and Spring”, White paper, OSOA Collaboration, March 2007 •! Power_Combination_SCA_Spring_OSGi.pdf•! Already implementations of these ideas •! Apache Tuscany, Fabric3, Newton•! Not still part of the SCA standard ! © Copyright 2011 INRIA/ADAM
  • 8. 8!Combining SCA with OSGi•! OSGI to SCA •! SCA service exported into the OSGi registry•! SCA to OSGi •! SCA reference imported from the OSGi registry•! OSGI in SCA •! SCA component implemented by OSGi bundles•! OSGi for SCA •! Dynamic « à la carte » SCA applications•! SCA for OSGi •! Assembly model •! Multiple implementation languages •! Multiple network binding protocols •! Non functional policies and intents © Copyright 2011 INRIA/ADAM
  • 9. 9!OSGi to SCA <component name=“X”> <service name=“S”> <binding.osgi …/> </service> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 10. 10!SCA to OSGi <component name=“X”> <reference name=“R”> <binding.osgi …/> </reference> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 11. 11!OSGi in SCA Composite bank.account Reference StockQuote Component AccountFacade Service Account BPEL Component AccountData OSGi Bundle <component name=“X”> <implementation.osgi…> </component> © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 12. 12!OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 13. 13!OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 14. 14!OSGi for SCA © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 15. 15!Combining SCA with OSGi © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 16. 16!Distributed heterogeneous containers © Copyright 2007 OSOA Collaboration © Copyright 2011 INRIA/ADAM
  • 17. 17!FraSCAti Overview•! A framework for SOA interoperability and integration•! A reflective SCA component model and framework •! Runtime adaptability •! Lightweight, efficient, predictable, scalable•! Components everywhere •! Adaptability of all software layers•! An open source SCA implementation •! LGPLv2 at © Copyright 2011 INRIA/ADAM
  • 18. FraSCAti, an open reflective SCA platform 18! FraSCAti FraSCAti Explorer FScript Reflective Ad-hoc manual Anticipated scripted FraSCAti API reconfiguration reconfiguration Reflective SCA component model Middleware for integrating middleware Interoperability Integration CApache CXF OW2 O Java OSGi Easy Java JMS JSON Spring SOA stack PEtALS R … Script Apache Felix BPEL RMI JORAM RPC B Framework(WS, REST) JBI ESB Engines Equinox Engine A © Copyright 2011 INRIA/ADAM
  • 19. 19!FraSCAti on OSGI•! Set of OSGi bundles •! Now: few couple •! WIP: 200+ •! Issue: Bundle granularity?•! Gateway agnostic •! Now: Equinox, Felix, Knopflerfish •! WIP: Concierge, … •! Issue: Manifest portability?•! Combining SCA with OSGi •! Now: <implementation.osgi> •! WIP: <binding.osgi>•! Dynamic « à la carte » FraSCAti •! WIP: Install, start, update, stop, uninstall FraSCAti plugins © Copyright 2011 INRIA/ADAM
  • 20. 20!Related work•! Apache Tuscany, Fabric3, Newton " More or less all presented “Combining SCA with OSGi” features•! OSGi Declarative Services ! No composites•! OSGi Blueprint " Composites•! Spring Dynamic Modules " or heavy !?•! Apache Felix iPOJO " Very very well " " " but ! Will BluePrint kill it?! All OSGi component frameworks ! Only Java implementation ! What about various remote bindings! All: No fine grain reflective & reconfiguration capabilities © Copyright 2011 INRIA/ADAM
  • 21. 21!FraSCAti everywhere, what else?Visit http://frascati.ow2.orgContact •! Philippe Merle: •! Lionel Seinturier: © Copyright 2011 INRIA/ADAM