Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Â
Presentation of CHOReVOLUTION Studio, EclipseCon Europe 2017
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)
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
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