The SENSORIA                    The SENSORIA              Development Environment              Development Environment    ...
Context• Service‐Oriented Computing    –   Create new services         Create new services    –   By composing existing fu...
The SENSORIA ApproachThe SENSORIA ApproachSENSORIA Development Environment for SOA
The SENSORIA Development Environment (SDE) • Obj ti   Objective of the SDE              f th SDE       – Provide a service...
The SDE UI                                  Tool Browser                       Lists available tools, ordered by          ...
Correctness analysis with WS‐Engineer•   WS‐Engineer supports model‐checking WS‐BPEL, WS‐CDL and WSIF behavioural     spec...
WS‐Engineer at a glance       g           gAvailable Services                                                             ...
Dynamic and Adaptive Services (Dino)• Dino ‐ QoS and Adaptive Service Brokering   – S i Di     Service Discovery, Selectio...
Dino+Modes at a glance                                   at a glance                                                      ...
Performance analysis with PEPA   PEPA is a formal language for quantitative analysis of systems      A model is expressed ...
PEPA at a Glance    Interface for PEPA steady‐    I    f    f PEPA         d        state analysis tools                  ...
Service deployment transformations • G   Generate WSDL descriptors from UML4SOA           t WSDL d   i t f       UML4SOA •...
VIATRA2 transformations in SDE                                              WSDL files are                                ...
The UML2BPEL Transformation• The UML2BPEL transformer converts from UML activity diagrams   to BPEL and WSDL            d ...
UML2BPEL at a glance                                    Transformation      UML                                           ...
SENSORIA provides…                             SENSORIA providesSENSORIA tools extend standard design                     ...
SENSORIA answers to SOA challenges                            Precise model‐driven development of        Customizable doma...
The SENSORIA Development EnvironmentThe SENSORIA Development EnvironmentA PROGRAMMER’S PERSPECTIVE
Eclipse, OSGi as an integration platform  Eclipse OSGi as an integration platform• OSGi = Open Services Gateway Initiative...
Eclipse, OSGi as an integration platformEclipse OSGi as an integration platform                                           ...
Eclipse, OSGi as an integration platformEclipse OSGi as an integration platform                                           ...
Eclipse, OSGi as an integration platform       Eclipse OSGi as an integration platform                                    ...
Eclipse, OSGi as an integration platform  Eclipse OSGi as an integration platform• OSGi = Open Services Gateway Initiative...
Sensoria• OSGi bundles, and an Eclipse UI• Provides basic infrastructure for OSGi‐based  Provides basic infrastructure for...
Sensoria           Tool Store
Sensoria                  Tool Store                       OSGi                   implementation                   impleme...
Sensoria                   Extension point: ISensoriaTool      tool description                                        Too...
Sensoria                   Extension point:                    marker Interface, ISensoriaTool      implemented by        ...
Sensoria                                     Extension point:                                      marker Interface,  Desc...
Sensoria                                       Extension point:                                        marker Interface,  ...
Distributed operation               Distributed operation                    Sensoria                Sensoria             ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)         S         e    I                      I         r    F      ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)                        Interface is          S           present on ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)         S         e    I                                I         r ...
Remote OSGi (R‐OSGi)                    Remote OSGi (R OSGi)Register service         S                e    I              ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)         S         e    I                             I         r    ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)                                             P                       ...
Remote OSGi (R‐OSGi)             Remote OSGi (R OSGi)                                                                     ...
Comparing ECF and R‐OSGi        Comparing ECF and R OSGi• ECF                        R‐OSGi  – ‐ More complex             ...
The R‐OSGi‐based implementationThe R OSGi based implementation         Sensoria         RemoteCore       Core Registry    ...
Workflow orchestration – Hello worldWorkflow orchestration Hello worldcReg.addRemoteCore("r‐osgi://localhost:9278");remote...
Tool scripts                      Tool scriptsfunction soa2wsdl(umlFileName, outputDirectory){  viatra = sCore.findToolByN...
Outlooks• Support a proper workflow orchestration     g                                    p  engine instead of the built‐...
Where to get it?              Where to get it?• General info:  – http://www.sensoria‐ist.eu/       p //                   ...
Upcoming SlideShare
Loading in...5
×

The SENSORIA Development Environment

340

Published on

SENSORI

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
340
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

The SENSORIA Development Environment

  1. 1. The SENSORIA The SENSORIA Development Environment Development Environment CASE Tool for SOA Development p SENSORIA EU FP6 project 19 partners from 7 countries 4 years, 4 M EUR Coordinator: Prof. Dr. Martin Wirsing, Ludwig‐Maximilians‐Universität München, Germany Università di Trento | University of Leicester | Warsaw University | TU Denmark at Lyngby | Università di Pisa Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh  Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh ATX Software | SATelecom Italia Lab | Imperial College London | Cirquent GnbH (FAST GmbH) | Budapest University of  Technology and Economics |S&N AG | University College London | Politecnico di Milano István Ráth István RáthSENSORIA Development  rath@mit.bme.hu Environment for SOA
  2. 2. Context• Service‐Oriented Computing – Create new services  Create new services – By composing existing functionality – With „Loosely‐coupled” interaction – >Resilient to changing (business) environment >Resilient to changing (business) environment• Envisaged market impact – Time‐to‐market of service integration can be reduced – Increased quality of service (security, response time, throughput, availability….) – Portability to existing platforms to maintain profitable services• Challenges – Specification and querying of services? – Correctness and consistency of service composition? y p – Continuous operation in changing environment (service outages)? – Design for justifiable SLA‐compliance (security, performance)? SENSORIA Development  Environment for SOA
  3. 3. The SENSORIA ApproachThe SENSORIA ApproachSENSORIA Development Environment for SOA
  4. 4. The SENSORIA Development Environment (SDE) • Obj ti Objective of the SDE f th SDE – Provide a service‐oriented platform for tool  integration • Benefits – Discover & install SOA development tools & install SOA development tools – Orchestrate & compose tools as services – A homogeneous platform for A homogeneous platform for the service‐based toolchain • SDE is based on SOA – OSGi for services – Eclipse for UI SENSORIA Development  Environment for SOA
  5. 5. The SDE UI Tool Browser Lists available tools, ordered by  Function Browser category Shows functionality available in a  T l b di d Tools can be discovered,  tool downloaded and installed via  Aspire One talán a legszexibb az eddig nálunk  Eclipse update sites. járt mini notebookok közül. A fényes tejszínű  burkolat és a zsanérok melletti metálpiros  gyűrű már‐már nőiessé varázsolják a gépet." Blackboard Shell Stores data in‐between tool function  Allows direct access to tool functions Allows direct access to tool functions callsSENSORIA Development Environment for SOA
  6. 6. Correctness analysis with WS‐Engineer• WS‐Engineer supports model‐checking WS‐BPEL, WS‐CDL and WSIF behavioural  specifications  – Properties for analysis of service interaction & behaviour – Verification and violation traces – Animation for validation• Automotive Case Study – On Road Assistance Scenario: – Is it true that the credit card of the driver won’t be charged Is it true that the credit card of the driver won t be charged  if there are no available garages? • Generate formal models of service orchestrations • Specify a property for verification  – e.g. “property service.orderGarage throw_fault bank.revokeChar ge”” • Check model for violation traces of this property SENSORIA Development  Environment for SOA
  7. 7. WS‐Engineer at a glance g gAvailable Services WS‐BPEL  exampleBlackboard  of results of results Available Methods A trace of  property Tool  Tool Graphical  Output Views SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  8. 8. Dynamic and Adaptive Services (Dino)• Dino ‐ QoS and Adaptive Service Brokering – S i Di Service Discovery, Selection, Binding and Adaptation S l i Bi di d Ad i – Functional and non‐functional aspects required/provided – Local, Remote and P2P service repository search l d 2 i i h• DinoModes: –G Generates Dino specs. From UML Mode models  t Di F UML M d d l • Extracts services required and provided • Generates functional and non‐functional Dino inputs Generates functional and non functional Dino inputs • Check model for violation traces of this property• Modes + WS‐Engineer – Analyse modes for consistency and constraints • Architectural, Behaviour and Policy reconfigurations SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  9. 9. Dino+Modes at a glance at a glance DinoModes Browser o se ModesAPI DinoModesAPI UML Modes Functional Specificatio n Mode  Selectio nSENSORIA Development  SENSORIA Development Environment for SOAEnvironment for SOA
  10. 10. Performance analysis with PEPA PEPA is a formal language for quantitative analysis of systems A model is expressed in terms of components which perform  A model is expressed in terms of components which perform timed activities and co‐operate with each other The SCT Plug‐in for PEPA supports steady‐state analysis, that can  The SCT Plug‐in for PEPA supports steady‐state analysis that can answer questions such as: What is the percentage of time that the local discovery server is  p g y idle in the long run? (Utilisation Analysis) What is the throughput at which remote services are  discovered? (Throughput Analysis) What is the probability that the system does compensation  upon notification of failure? SENSORIA Development  Environment for SOA
  11. 11. PEPA at a Glance Interface for PEPA steady‐ I f f PEPA d state analysis tools Interface of  the UML  th UML converterPEPA model description  Available automatically inferred from UML Methodsmodel Throughput  results  results Utilisation Analysis Results reflected  back into the  UML model UML model SENSORIA Development  Environment for SOA
  12. 12. Service deployment transformations • G Generate WSDL descriptors from UML4SOA t WSDL d i t f UML4SOA • Tool: VIATRA2 – VIsual Automated model TRAnsformations Automated model TRAnsformations – general‐purpose model transformation framework  that supports the entire life‐cycle for transformations pp y • specification • design • execution • validation – within and between various modeling languages  – Eclipse subproject: http://eclipse.org/gmt // / – Wiki: http://wiki.eclipse.org/VIATRA2 SENSORIA Development  Environment for SOA
  13. 13. VIATRA2 transformations in SDE WSDL files are  createdSource models in UML Uniform representation of  Model transformation models and transformationsmodels and transformations codeSENSORIA Development Environment for SOA
  14. 14. The UML2BPEL Transformation• The UML2BPEL transformer converts from UML activity diagrams  to BPEL and WSDL d S – Input: Service orchestrations in UML based on the  UML4SOA profile – Output: BPEL and WSDL files• Integrated into Eclipse  p pp p• Based on Eclipse EMF, supports input models from Rational  Software Architect and other tools which export EMF XMI• See http://www.pst.ifi.lmu.de/projekte/uml4soa/ SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  15. 15. UML2BPEL at a glance Transformation UML BPEL + WSDL SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  16. 16. SENSORIA provides… SENSORIA providesSENSORIA tools extend standard design  VIATRA: Standard deployment code generated in WSDL. workflow by providing justifiable solutions. yp gj WS‐Engineer:No deposit will be charged if service is cancelled.No deposit will be charged if service is cancelled The driver will get everything according to his  policy if payment if confirmed. PEPA: The car will arrive within 15 minutes with 90%  probability. The GPS location service is a quality bottleneck. The GPS location service is a quality bottleneck. SENSORIA Development Environment: Additional tools can easily be integratedSENSORIA Development Environment for SOA
  17. 17. SENSORIA answers to SOA challenges Precise model‐driven development of  Customizable domain‐specific development process services Deployment to standard platforms Standards‐compliant service modelling  languages Hidden formal analysis of service models Hidden formal analysis of service models SENSORIA Development  Environment for SOA
  18. 18. The SENSORIA Development EnvironmentThe SENSORIA Development EnvironmentA PROGRAMMER’S PERSPECTIVE
  19. 19. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform• OSGi = Open Services Gateway Initiative Bundle 1 Bundle 2 Bundle n OSGi framework OSGi framework Java Runtime Environment (J2SE, J2ME, J2EE) OS
  20. 20. Eclipse, OSGi as an integration platformEclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages OSGi framework OSGi framework Java Runtime Environment (J2SE, J2ME, J2EE) OS
  21. 21. Eclipse, OSGi as an integration platformEclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages OSGi framework OSGi framework Classes are  Java Runtime Environment (re)usable (J2SE, J2ME, J2EE) OS
  22. 22. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages Dynamic configuration OSGi framework OSGi framework Classes are  Java Runtime Environment (re)usable (J2SE, J2ME, J2EE) OS
  23. 23. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform• OSGi = Open Services Gateway Initiative• Bundle  – Dynamic add / remove Dynamic add / remove – Can provide OSGi services – Web services compatible” Web services „compatible• Component‐based, extensible system• Examples: Eclipse Equinox, Knopflerfish, ...
  24. 24. Sensoria• OSGi bundles, and an Eclipse UI• Provides basic infrastructure for OSGi‐based Provides basic infrastructure for OSGi based  tool and service integration Sensoria Core Tool Store Blackboard
  25. 25. Sensoria Tool Store
  26. 26. Sensoria Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  27. 27. Sensoria Extension point: ISensoriaTool tool description Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  28. 28. Sensoria Extension point:  marker Interface, ISensoriaTool implemented by  Tools Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  29. 29. Sensoria Extension point:  marker Interface,  Describes  implemented by  ISensoriaTool services  Toolsoffered by a  Tool Store Tool OSGi  MyToolInterface implementation  implementation Eclipse + Extension  Extension point  Registry mechanism MyToolImpl
  30. 30. Sensoria Extension point:  marker Interface,  Describes  implemented by  ISensoriaTool services  Tools offered by a  Tool Store Tool OSGi  MyToolInterface implementation  implementation Eclipse + Extension  Extension point  Registry mechanism The  MyToolImplimplementation i l t ti class
  31. 31. Distributed operation Distributed operation Sensoria Sensoria Core C Core C Registry Registry Core CoreBB Tool Tool BB Store Store
  32. 32. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a i c cR‐OSGi R‐OSGi c e ebundle bundle e OSGi framwork OSGi framework
  33. 33. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) Interface is  S present on both  present on both e I the server and  I r F the client F v a a i c cR‐OSGi R‐OSGi c e ebundle bundle e OSGi framework OSGi framework
  34. 34. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a Implementation  I l t ti i c cR‐OSGi class R‐OSGi c e ebundle („server”) bundle e OSGi framework OSGi framework
  35. 35. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi)Register service S e I I r F F v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework
  36. 36. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a i c cR‐OSGi R‐OSGi c e ebundle bundle e OSGi framework OSGi framework A remote client requests the  A remote client requests the service...
  37. 37. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) P A proxy is  p y r S created... o e I I x r F F y v a a i c cR‐OSGi R‐OSGi c e ebundle bundle e OSGi framework OSGi framework
  38. 38. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) P r S o e I I x r F F y v a Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform a i c cR‐OSGi R‐OSGi c e ebundle bundle e OSGi framework OSGi framework Function calls are passed, return  values are serialized and  transported
  39. 39. Comparing ECF and R‐OSGi Comparing ECF and R OSGi• ECF R‐OSGi – ‐ More complex  + Simple architecture + Lightweight (only  – + More features  depends on OSGi) ( y (asynchronous calls, , Better suited for our  goals l timing service, stb.)
  40. 40. The R‐OSGi‐based implementationThe R OSGi based implementation Sensoria RemoteCore Core Registry RemoteService Tool R‐OSGi +mini model bundle Core BB Tool Store
  41. 41. Workflow orchestration – Hello worldWorkflow orchestration Hello worldcReg.addRemoteCore("r‐osgi://localhost:9278");remoteCore   cReg.findCoreByName( r osgi://localhost:9278 );remoteCore = cReg.findCoreByName("r‐osgi://localhost:9278");testTool = remoteCore.findToolById("hu.bme.test.htmlconverter");testIf = testTool.getServiceInterface();sCore.print(testIf.htmlEscape("<<")); p ( p ( ))
  42. 42. Tool scripts Tool scriptsfunction soa2wsdl(umlFileName, outputDirectory){ viatra = sCore.findToolByName( Viatra ).getServiceInterface(); viatra   sCore findToolByName("Viatra") getServiceInterface(); vU = sCore.findToolByName("vUtil").getServiceInterface(); fw = viatra.createFramework(); vpml = vU.getInputStream(vU.getFileFromBundle("hu.bme.mit.viatra.integration.sensoria , model/uml2soa_clean.vpml ));ation.sensoria","model/uml2soa clean.vpml")); umlmodel_file = vU.getFile(umlFileName); viatra.nativeImportFromFile(fw,umlmodel_file,"uml"); result = viatra.runTransformation(fw,"transformations.uml2soa2wsdl","Model=uml2.models."+umlmodel+"_uml"); _ ) viatra.writeoutput(fw,...); viatra.disposeFramework(fw);}
  43. 43. Outlooks• Support a proper workflow orchestration  g p engine instead of the built‐in JS interpreter – Parallelism – Exception handling Exception handling – Asynchronous messages• UI integration – Allow for user interaction in automated workflows Allow for user interaction in automated workflows
  44. 44. Where to get it? Where to get it?• General info: – http://www.sensoria‐ist.eu/ p // /• SDE: – h // http://svn.pst.ifi.lmu.de/trac/sct ifi l d / /
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×