Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Presentation of CHOReVOLUTION Studio, EclipseCon Europe 2017

132 views

Published on

Presentation and demonstration of the CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Presentation of CHOReVOLUTION Studio, EclipseCon Europe 2017

  1. 1. CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio, Alexander Perucci University of L’Aquila ITALY e-mail: [claudio.pompilio, alexander.perucci]@graduate.univaq.it
  2. 2. CHOReVOLUTION • Title: Automated Synthesis of Dynamic and Secured Choreographies for the Future Internet • Follow up FP7 EU project CHOReOS • Period: January 2015 - January 2018 • Site: http://www.chorevolution.eu
  3. 3. Outline • Setting the context • Development approach (high-level view) • Synthesis process • CHOReVOLUTION platform • CHOReVOLUTION Studio
  4. 4. Service composition approaches Orchestration (centralized) Choreography (fully distributed) Local centralized view from the perspective of one participant Global decentralized view from a multi-participant perspective (albeit without a central controller) Setting the context
  5. 5. Reusing existing services and things (often black-box) Distributed composition Support for automation is needed (time-to-market, correctness by construction, etc.) Aiding software producers to realize, deploy, execute, and monitor choreography-based systems by (possibly) reusing existing services Setting the context (cont’d)
  6. 6. Development approach Choreography modelers cooperate each other to set business goals, e.g., - assisting travelers from arrival, to staying, to departure
  7. 7. Development approach (cont’d) Reserve TaxiFind POI Reserve Table Check Flight … ... … ... … ... Identify tasks and participants required to achieve the goal, e.g., - reserving a taxi from the local taxi company, - purchasing digital tickets at the train station, - performing transactions through services based on near field communication in a shop
  8. 8. Development approach (cont’d) Reserve TaxiFind POI Reserve Table Check Flight … ... … ... … ... Specify how participants must collaborate as admissible flows of the identified business tasks through: - BPMN2 Choreography Diagrams Model BPMN2 Specification - http://www.omg.org/spec/BPMN/2.0/
  9. 9. inventory contains services/things published by providers, e.g., - transportation companies - airport retailers Development approach (cont’d) Model Inventory
  10. 10. • Out of the specified business goal, and • the set of services available in the inventory ... Synthesis time 3 ftware gineer End users CHOReOSynt Coordination delegates Enactment engine Service providers del refi nement Model trans formation2 Execution time 4 1 5 1 6 Running choreogra Cloud middleware Publish Register Standard communication (I/O messages) Additional communication (coordination in Registry Services and things 1 5 Synthesis time 3 tware gineer End users CHOReOSynt Coordination delegates Enactment engine Service providers el refi nement Model trans formation 2 Execution time 4 1 5 1 6 Running choreography Cloud middleware Publish Register Standard communication (I/O messages) Additional communication (coordination information) Registry Services and things 1 5 w of automatic choreography synthesis, using a scenario involving the coordination of business services, d stakeholders from air transportation, customer relationship management, and intelligent transportation. ervices Description Language; BPEL stands for Business Process Execution Language. Synthesis Processor Step 1. Software producers cooperate with domain experts and business managers to • set the business goal (for exam- ple, assist travellers from arrival, to staying, to departure), • identify the tasks and partici- pants required to achieve the constructs and quality-of-service constraints. In particular, CHOReOS uses both the Q4BPMN notation— an extension to BPMN2—to specify nonfunctional properties and dedi- cated automated tools to assess the choreography specification’s quality. Step 2. MagicDraw exports the mod- Services Descriptio w3.org/TR/wsdl). T interaction behavio Process Execution fies the flow of m with the environm also contains the re interested in explo raphy through their Design time Synthesis time 3 Business manager Software engineer End users CHOReOSynt Coordination delegates Enactment engine Service providers Domain expert Choreography diagram Model refi nement Model trans formation 2 1 Execution time 4 1 5 1 6 Runnin m Publish Register Standard communication (I/O m Additional communication (coo Registry Services and things 1 5 FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of bu thing-based services, and stakeholders from air transportation, customer relationship management, and intelligen WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language. Choreography developer Synthesis Processor automatically produces (if possible) a choreography-based application achieving the specified goal Synthesis phaseModelling phase CHOReVOLUTION Cloud Infrastructure Model Inventory
  11. 11. Synthesis Process Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema Choreography Architecture Generation BCService/Thing SF A Choreography Deployment Generation Choreography Architecture Description Choreography Deployment Description CD OVERALL GOAL provide automatic support to the realization of choreography-based systems by realizing a synthesis process
  12. 12. Synthesis Process (cont’d) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL check the choreography realizability and its enforceability by the process
  13. 13. Synthesis Process (cont’d) Projection of "Tourist Agent" participant Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL derive a (sub-) BPMN2 Choreography Diagram that contains only the choreography flows involving the considered participant
  14. 14. Synthesis Process (cont’d) Service/Thing specification process Participant Model (BPMN2 Choreography Diagram) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema Interface Specification Interface Description Interaction Protocol Specification Interaction Protocol Description QoS Specification QoS Description Security Specification Security Description Inventory GOAL querying the Service Inventory in order to select concrete services (or things) that can play the roles of the choreography participant
  15. 15. Synthesis Process (cont’d) Participant Model (BPMN2 Choreography Diagram) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL generate BCs when the interaction style (e.g., REST) of a selected service (or thing) is different from SOAP S1 S2 CD1 CD2 BC1 BC2
  16. 16. Synthesis Process (cont’d) Participant Model (BPMN2 Choreography Diagram) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL generate SFs to filter the services interactions according to the specified security requirements (e.g., different authentication & authorization attributes) S1 S2 CD1 CD2 BC1 BC2 SF1 SF2
  17. 17. Synthesis Process (cont’d) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL generate adapters that bridge the gap between the abstract interface and concrete interface of a selected service (or thing) S1 S2 BC1 BC2 SF1 SF2 CD1 CD2 A1 A2
  18. 18. Synthesis Process (cont’d) Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema GOAL generate CDs that coordinate the interactions among the selected services (or things) in order to fulfill the global collaboration prescribed by the choreography specification, in a fully distributed way S1 S2 BC1 BC2 SF1 SF2 CD1 CD2 A1 A2
  19. 19. Synthesis Process (cont’d) Architectural description of the use case GOAL generate an architectural description of the choreographed system Choreography Architecture Generation BCService/Thing SF A Choreography Deployment Generation Choreography Architecture Description Choreography Deployment Description CD
  20. 20. Synthesis Process (cont’d) Choreography Deployment Description of the use case Choreography Architecture Generation BCService/Thing SF A Choreography Deployment Generation Choreography Architecture Description Choreography Deployment Description CD GOAL generate the Choreography Deployment Description
  21. 21. CHOReVOLUTION platform CHOReVOLUTION Front-end provides CHOReVOLUTION Studio • design a choreography with BPMN2 • drive the generation of additional artifacts exploiting the Synthesis Processor CHOReVOLUTION Console • manage running services and choreographies • monitor the execution of a choreography
  22. 22. CHOReVOLUTION platform CHOReVOLUTION Back-end provides • Generation of the Concrete Choreography specification and all the required BCs, Ads, CDs, SFs (Synthesis Processor) • Deployment, configuration and control of BCs, Ads, CDs, SFs on the CHOReVOLUTION cloud infrastructure (Enactment Engine) • Management of authentication and authorization for services at run-time that uses different security mechanisms at protocol level (Identity Manager) • Propagation/synchronizion of service/user profiles to/from external resources and provision of managed services (Federation Server)
  23. 23. CHOReVOLUTION platform Execution time, for each choreography, in the CHOReVOLUTION cloud, there are • A set of choreography instances at different execution states • A set of virtual machines executing a custom-tailored mix of services and middleware components to serve different parts of the choreography
  24. 24. CHOReVOLUTION Studio
  25. 25. CHOReVOLUTION Studio Choreography Specification Validation Choreography Projection Selection BC Generation SF Generation Adapter Generation BC Service/Thing Description Inventory Participant Model (BPMN2 Choreography Diagram) SF A CD Generation CD BPMN2 Choreography Diagram Messages XML Schema Choreography Architecture Generation BCService/Thing SF A Choreography Deployment Generation Choreography Architecture Description Choreography Deployment Description CD
  26. 26. Try CHOReVOLUTION! download the VM: https://l.ow2.org/cpvm Visit us at the booth #9
  27. 27. References • Web Site http://www.chorevolution.eu • Twitter https://twitter.com/CHOR_eVOLUTION • Source Code (GIT repositories) https://gitlab.ow2.org/chorevolution • OW2 JIRA https://goo.gl/9FxVSj Evaluate the Sessions Sign in and vote at eclipsecon.org - 1 + 10

×