CHOReVOLUTION Studio
Automatic and distributed composition of business
services and things
Amleto Di Salle
University of L’Aquila
ITALY
e-mail: amleto.disalle@univaq.it
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
Outline
• Setting the context
• Development approach (high-level view)
• Synthesis process
• CHOReVOLUTION platform
• CHOReVOLUTION Studio
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
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)
Development approach
Choreography modelers cooperate each
other to set business goals, e.g.,
- assisting travelers from arrival, to
staying, to departure
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
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/
inventory contains services/things
published by providers, e.g.,
- transportation companies
- airport retailers
Development approach (cont’d)
Model
Inventory
• Out of the specified business goal, and
• the set of services available in the
inventory ...
Synthesis
Processor
Choreography
developer
Synthesis Processor
automatically produces (if
possible) a choreography-
based application achieving
the specified goal
Synthesis phaseModelling phase
CHOReVOLUTION
Cloud Infrastructure
Model
Inventory
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
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
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
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
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
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
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
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
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
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
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
• monitor the execution of a cloud
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)
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
CHOReVOLUTION Studio
References
• Web Site
http://www.chorevolution.eu
• Twitter
https://twitter.com/CHOR_eVOLUTION
• Source Code (GIT repositories)
https://goo.gl/kQUXgk
• OW2 JIRA
https://goo.gl/9FxVSj

CHOReVOLUTION Studio POSS Demo

  • 1.
    CHOReVOLUTION Studio Automatic anddistributed composition of business services and things Amleto Di Salle University of L’Aquila ITALY e-mail: amleto.disalle@univaq.it
  • 2.
    CHOReVOLUTION • Title: AutomatedSynthesis 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.
    Outline • Setting thecontext • Development approach (high-level view) • Synthesis process • CHOReVOLUTION platform • CHOReVOLUTION Studio
  • 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.
    Reusing existing servicesand 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.
    Development approach Choreography modelerscooperate each other to set business goals, e.g., - assisting travelers from arrival, to staying, to departure
  • 7.
    Development approach (cont’d) Reserve TaxiFindPOI 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.
    Development approach (cont’d) Reserve TaxiFindPOI 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.
    inventory contains services/things publishedby providers, e.g., - transportation companies - airport retailers Development approach (cont’d) Model Inventory
  • 10.
    • Out ofthe specified business goal, and • the set of services available in the inventory ... Synthesis Processor 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.
    Synthesis Process Choreography Specification Validation Choreography Projection Selection BCGeneration 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.
    Synthesis Process (cont’d) ChoreographySpecification 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.
    Synthesis Process (cont’d) Projectionof "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.
    Synthesis Process (cont’d) Service/Thingspecification 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.
    Synthesis Process (cont’d) ParticipantModel (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.
    Synthesis Process (cont’d) ParticipantModel (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.
    Synthesis Process (cont’d) ChoreographySpecification 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.
    Synthesis Process (cont’d) ChoreographySpecification 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.
    Synthesis Process (cont’d) Architecturaldescription 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.
    Synthesis Process (cont’d) ChoreographyDeployment 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.
    CHOReVOLUTION platform CHOReVOLUTION Front-endprovides 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 • monitor the execution of a cloud
  • 22.
    CHOReVOLUTION platform CHOReVOLUTION Back-endprovides • 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.
    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.
  • 25.
    References • Web Site http://www.chorevolution.eu •Twitter https://twitter.com/CHOR_eVOLUTION • Source Code (GIT repositories) https://goo.gl/kQUXgk • OW2 JIRA https://goo.gl/9FxVSj