SlideShare a Scribd company logo
1 of 27
Download to read offline
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
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 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
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
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
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
Try CHOReVOLUTION!
download the VM: https://l.ow2.org/cpvm
Visit us at the booth #9
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

More Related Content

Similar to Automated Synthesis of Dynamic and Secured Choreographies

CHOReVOLUTION Platform at Open Cloud Forum Paris 2017
CHOReVOLUTION Platform at Open Cloud Forum Paris 2017CHOReVOLUTION Platform at Open Cloud Forum Paris 2017
CHOReVOLUTION Platform at Open Cloud Forum Paris 2017CHOReVOLUTION
 
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...Claudio Pompilio
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process ModelingCarlos J. Costa
 
Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing ApplicationsMarco Brambilla
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorialMike Marin
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOpsMarc Hornbeek
 
WS-VLAM
WS-VLAMWS-VLAM
WS-VLAMaszbel
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkAljoscha Krettek
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaAdaCore
 
CHOReVOLUTION project to facilitate cross-organization service integration
CHOReVOLUTION project to facilitate cross-organization service integrationCHOReVOLUTION project to facilitate cross-organization service integration
CHOReVOLUTION project to facilitate cross-organization service integrationOW2
 
Towards a metamodel for the Rubus Component Model
Towards a metamodel for the Rubus Component ModelTowards a metamodel for the Rubus Component Model
Towards a metamodel for the Rubus Component ModelAlessio Bucaioni
 
WSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2
 
The Role of Standards in BPM
The Role of Standards in BPMThe Role of Standards in BPM
The Role of Standards in BPMSandy Kemsley
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 

Similar to Automated Synthesis of Dynamic and Secured Choreographies (20)

CHOReVOLUTION Platform at Open Cloud Forum Paris 2017
CHOReVOLUTION Platform at Open Cloud Forum Paris 2017CHOReVOLUTION Platform at Open Cloud Forum Paris 2017
CHOReVOLUTION Platform at Open Cloud Forum Paris 2017
 
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...
 
C++ N Pv2
C++ N Pv2C++ N Pv2
C++ N Pv2
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing Applications
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOps
 
WS-VLAM
WS-VLAMWS-VLAM
WS-VLAM
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on Flink
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and idea
 
CHOReVOLUTION project to facilitate cross-organization service integration
CHOReVOLUTION project to facilitate cross-organization service integrationCHOReVOLUTION project to facilitate cross-organization service integration
CHOReVOLUTION project to facilitate cross-organization service integration
 
Towards a metamodel for the Rubus Component Model
Towards a metamodel for the Rubus Component ModelTowards a metamodel for the Rubus Component Model
Towards a metamodel for the Rubus Component Model
 
Tarun Kumar_Resume
Tarun Kumar_ResumeTarun Kumar_Resume
Tarun Kumar_Resume
 
Tarun Kumar_Resume
Tarun Kumar_ResumeTarun Kumar_Resume
Tarun Kumar_Resume
 
WSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product Overview
 
The Role of Standards in BPM
The Role of Standards in BPMThe Role of Standards in BPM
The Role of Standards in BPM
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 

More from CHOReVOLUTION

CHOReVOLUTION at GSSI April-2017
CHOReVOLUTION at GSSI April-2017CHOReVOLUTION at GSSI April-2017
CHOReVOLUTION at GSSI April-2017CHOReVOLUTION
 
CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...
 CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ... CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...
CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...CHOReVOLUTION
 
CHOReVOLUTION Enactment Engine Demo at POSS 2016
CHOReVOLUTION Enactment Engine Demo at POSS 2016CHOReVOLUTION Enactment Engine Demo at POSS 2016
CHOReVOLUTION Enactment Engine Demo at POSS 2016CHOReVOLUTION
 
CHOReVOLUTION at Open Cloud Forum Paris
CHOReVOLUTION at Open Cloud Forum ParisCHOReVOLUTION at Open Cloud Forum Paris
CHOReVOLUTION at Open Cloud Forum ParisCHOReVOLUTION
 
CHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION
 
CHOReVOLUTION WP3 Enablers
CHOReVOLUTION WP3 EnablersCHOReVOLUTION WP3 Enablers
CHOReVOLUTION WP3 EnablersCHOReVOLUTION
 
CHOReVOLUTION SMT Use Case v1.3
CHOReVOLUTION SMT Use Case v1.3CHOReVOLUTION SMT Use Case v1.3
CHOReVOLUTION SMT Use Case v1.3CHOReVOLUTION
 
CHOReVOLUTION Exploitation Dissemination and Market Take-up
CHOReVOLUTION Exploitation Dissemination and Market Take-upCHOReVOLUTION Exploitation Dissemination and Market Take-up
CHOReVOLUTION Exploitation Dissemination and Market Take-upCHOReVOLUTION
 
CHOReVOLUTION Technical introduction
CHOReVOLUTION Technical introductionCHOReVOLUTION Technical introduction
CHOReVOLUTION Technical introductionCHOReVOLUTION
 

More from CHOReVOLUTION (9)

CHOReVOLUTION at GSSI April-2017
CHOReVOLUTION at GSSI April-2017CHOReVOLUTION at GSSI April-2017
CHOReVOLUTION at GSSI April-2017
 
CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...
 CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ... CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...
CHOReVOLUTION Project to Facilitate Cross-Organization Service Integration, ...
 
CHOReVOLUTION Enactment Engine Demo at POSS 2016
CHOReVOLUTION Enactment Engine Demo at POSS 2016CHOReVOLUTION Enactment Engine Demo at POSS 2016
CHOReVOLUTION Enactment Engine Demo at POSS 2016
 
CHOReVOLUTION at Open Cloud Forum Paris
CHOReVOLUTION at Open Cloud Forum ParisCHOReVOLUTION at Open Cloud Forum Paris
CHOReVOLUTION at Open Cloud Forum Paris
 
CHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use case
 
CHOReVOLUTION WP3 Enablers
CHOReVOLUTION WP3 EnablersCHOReVOLUTION WP3 Enablers
CHOReVOLUTION WP3 Enablers
 
CHOReVOLUTION SMT Use Case v1.3
CHOReVOLUTION SMT Use Case v1.3CHOReVOLUTION SMT Use Case v1.3
CHOReVOLUTION SMT Use Case v1.3
 
CHOReVOLUTION Exploitation Dissemination and Market Take-up
CHOReVOLUTION Exploitation Dissemination and Market Take-upCHOReVOLUTION Exploitation Dissemination and Market Take-up
CHOReVOLUTION Exploitation Dissemination and Market Take-up
 
CHOReVOLUTION Technical introduction
CHOReVOLUTION Technical introductionCHOReVOLUTION Technical introduction
CHOReVOLUTION Technical introduction
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Automated Synthesis of Dynamic and Secured Choreographies

  • 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. 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. Outline • Setting the context • 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 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. Development approach Choreography modelers cooperate each other to set business goals, e.g., - assisting travelers from arrival, to staying, to departure
  • 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. 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. inventory contains services/things published by providers, e.g., - transportation companies - airport retailers Development approach (cont’d) Model Inventory
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 26. Try CHOReVOLUTION! download the VM: https://l.ow2.org/cpvm Visit us at the booth #9
  • 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