chorevolution studio demo at eclipsecon europe 2016

47
Compose and run new services without programming experience, with Eclipse-based Studio Amleto Di Salle University of L’Aquila ITALY e-mail: [email protected]

Upload: chorevolution

Post on 13-Apr-2017

143 views

Category:

Software


0 download

TRANSCRIPT

Page 1: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

Compose and run new services without programming experience, with Eclipse-based Studio

Amleto Di Salle

University of L’Aquila

ITALY

e-mail: [email protected]

Page 2: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

Outline

• Setting the context

• Development approach (high-level view)

• Synthesis process

• CHOReVOLUTION platform

• CHOReVOLUTION Studio

Page 4: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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

Page 5: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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/

Page 9: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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

- transportation companies

- airport retailers

Development approach (cont’d)

ModelInventory

Page 10: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

• 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 InfrastructureModel

Inventory

Page 11: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

Synthesis Process

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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 Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

GOAL check the choreography realizability and its enforceability by the process

Page 13: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

Projection of "Tourist Agent" participant

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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

Page 14: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

Service/Thing specification process

ParticipantModel(BPMN2Choreography

Diagram)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

InterfaceSpecification

InterfaceDescription

InteractionProtocolSpecification

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 Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

ParticipantModel(BPMN2Choreography

Diagram)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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 Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

ParticipantModel(BPMN2Choreography

Diagram)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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 Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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 Demo at EclipseCon Europe 2016

Synthesis Process (cont’d)

ChoreographySpecification

Validation

ChoreographyProjection

Selection

BCGeneration

SFGeneration

AdapterGeneration

BC

Service/ThingDescription

Inventory

ParticipantModel(BPMN2Choreography

Diagram)

SF

A

CDGeneration

CD

BPMN2Choreography

Diagram

MessagesXMLSchema

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 Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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

Page 22: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

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 Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 25: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 26: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 27: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 28: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 29: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 30: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 31: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 32: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 33: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 34: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 35: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 36: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 37: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 38: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 39: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 40: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 41: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 42: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 43: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 44: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 45: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

CHOReVOLUTION Studio

Page 46: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

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

Page 47: CHOReVOLUTION Studio Demo at EclipseCon Europe 2016

That’s all folks