chorevolution studio, an eclipse environment for composing ...€¦ · chorevolution studio, an...

27
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

Upload: others

Post on 15-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications

Claudio Pompilio, Alexander PerucciUniversity of L’AquilaITALYe-mail: [claudio.pompilio, alexander.perucci]@graduate.univaq.it

Page 2: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

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

Page 3: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Outline

• Setting the context

• Development approach (high-level view)

• Synthesis process

• CHOReVOLUTION platform

• CHOReVOLUTION Studio

Page 4: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Service composition approaches

Orchestration (centralized) Choreography (fully distributed)

Local centralized view from the perspective of oneparticipant

Global decentralized view from a multi-participant perspective (albeit

without a central controller)

Setting the context

Page 5: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

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)

Page 6: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Development approach

Choreography modelers cooperate each other to set business goals, e.g.,

- assisting travelers from arrival, to staying, to departure

Page 7: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

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

Page 8: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Development approach (cont’d)

Reserve TaxiFind POI

Reserve Table

Check Flight

… ...

… ...

… ...

Specify how participants must collaborate as admissible flows of the identified business tasksthrough:

- BPMN2 ChoreographyDiagrams

Model

BPMN2 Specification - http://www.omg.org/spec/BPMN/2.0/

Page 9: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

inventory contains services/things published by providers, e.g.,

- transportation companies

- airport retailers

Development approach (cont’d)

ModelInventory

Page 10: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

• Out of the specified business goal, and

• the set of services available in the inventory ...

JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53

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 goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and

• specify how participants must collaborate through a BPMN2 choreography diagram.

To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2

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 specifi cation’s quality.

Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.

Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web

Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.

Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at

Design time Synthesis time

3

Businessmanager

Softwareengineer

End users

CHOReOSynt

Coordinationdelegates

Enactmentengine

Service providers

Domainexpert

Choreographydiagram

Model refin ement

Model transformation

2

1

Execution time

4

1 5

1 6

Running choreography

Cloudmiddleware

Publish

Register

Standard communication (I/O messages)Additional communication (coordination information)

Registry

Services and things

1 5

FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.

s1aut.indd 53 12/9/14 3:02 PM

JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53

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 goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and

• specify how participants must collaborate through a BPMN2 choreography diagram.

To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2

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 specifi cation’s quality.

Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.

Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web

Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.

Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at

Design time Synthesis time

3

Businessmanager

Softwareengineer

End users

CHOReOSynt

Coordinationdelegates

Enactmentengine

Service providers

Domainexpert

Choreographydiagram

Model refin ement

Model transformation

2

1

Execution time

4

1 51 6

Running choreography

Cloudmiddleware

Publish

Register

Standard communication (I/O messages)Additional communication (coordination information)

Registry

Services and things1 5

FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.

s1aut.indd 53 12/9/14 3:02 PM

SynthesisProcessor

JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53

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 goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and

• specify how participants must collaborate through a BPMN2 choreography diagram.

To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2

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 specifi cation’s quality.

Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.

Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web

Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.

Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at

Design time Synthesis time

3

Businessmanager

Softwareengineer

End users

CHOReOSynt

Coordinationdelegates

Enactmentengine

Service providers

Domainexpert

Choreographydiagram

Model refin ement

Model transformation

2

1

Execution time

4

1 5

1 6

Running choreography

Cloudmiddleware

Publish

Register

Standard communication (I/O messages)Additional communication (coordination information)

Registry

Services and things

1 5

FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.

s1aut.indd 53 12/9/14 3:02 PM

Choreography developer

Synthesis Processor automatically produces (if

possible) a choreography-based application achieving the

specified goal

Synthesis phaseModelling phase

CHOReVOLUTIONCloud InfrastructureModel

Inventory

Page 11: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

ChoreographyArchitectureGeneration

BCService/Thing SF A

ChoreographyDeploymentGeneration

ChoreographyArchitectureDescription

ChoreographyDeploymentDescription

CD

OVERALL GOAL provide automatic support to the realization of choreography-based systems by realizing a synthesis process

Page 12: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

GOAL check the choreography realizability and its enforceability by the process

Page 13: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Projection of "Tourist Agent" participant

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

GOAL derive a (sub-) BPMN2 Choreography Diagram that contains only the choreography flows involving the considered participant

Page 14: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Service/Thing specification process

ParticipantModel(BPMN2Choreography

Diagram)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

InterfaceSpecification

InterfaceDescription

Interaction ProtocolSpecification

InteractionProtocol

Description

QoSSpecification

QoSDescription

SecuritySpecification

SecurityDescription

Inventory

GOAL querying the Service Inventory in order to select concrete services (or things) that can play the roles of the choreography participant

Page 15: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

ParticipantModel(BPMN2Choreography

Diagram)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

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

Page 16: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

ParticipantModel(BPMN2Choreography

Diagram)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

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

Page 17: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

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

Page 18: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

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

Page 19: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Architectural description of the use case

GOAL generate an architectural description of the choreographed system

ChoreographyArchitectureGeneration

BCService/Thing SF A

ChoreographyDeploymentGeneration

ChoreographyArchitectureDescription

ChoreographyDeploymentDescription

CD

Page 20: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Synthesis Process (cont’d)

Choreography Deployment Description of the use case

ChoreographyArchitectureGeneration

BCService/Thing SF A

ChoreographyDeploymentGeneration

ChoreographyArchitectureDescription

ChoreographyDeploymentDescription

CD

GOAL generate the Choreography Deployment Description

Page 21: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION platformCHOReVOLUTION Front-end provides

CHOReVOLUTION Studio• design a choreography with BPMN2

• drive the generation of additional artifactsexploiting the Synthesis Processor

CHOReVOLUTION Console• manage running services and choreographies

• monitor the execution of a choreography

Page 22: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION platformCHOReVOLUTION 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)

Page 23: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION platformExecution 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

Page 24: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION Studio

Page 25: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

CHOReVOLUTION Studio

Choreography Specification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

Messages XMLSchema

ChoreographyArchitectureGeneration

BCService/Thing SF A

ChoreographyDeploymentGeneration

ChoreographyArchitectureDescription

ChoreographyDeploymentDescription

CD

Page 26: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

Try CHOReVOLUTION!download the VM: https://l.ow2.org/cpvm

Visit us at the booth #9

Page 27: CHOReVOLUTION Studio, an Eclipse environment for composing ...€¦ · CHOReVOLUTION Studio, an Eclipse environment for composing Internet of Everything Applications Claudio Pompilio,

References• Web Site

http://www.chorevolution.eu

• Twitterhttps://twitter.com/CHOR_eVOLUTION

• Source Code (GIT repositories)https://gitlab.ow2.org/chorevolution

• OW2 JIRAhttps://goo.gl/9FxVSj

Evaluate the Sessions

Sign in and vote at eclipsecon.org

- 1 + 10