Reuse-based & Choreography-based Distributed Systems
Invited Seminar Lecture № 1 Course: Advanced Service-oriented Software Engineering 08 May 2017 – University of L’Aquila (IT)
Reuse-based & Choreography-based Distributed Systems - - PowerPoint PPT Presentation
Reuse-based & Choreography-based Distributed Systems Reuse-based Software Engineering Distributed Systems Mar Marco Autili BPMN2 Choreographies basics University of LAquila Invited Seminar Lecture 1 Course: Advanced
Invited Seminar Lecture № 1 Course: Advanced Service-oriented Software Engineering 08 May 2017 – University of L’Aquila (IT)
Automated Synthesis of Dynamic and Secured Choreographies for the Future Internet (H2020 project)
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 2
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 3
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 4
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 5
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 6
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 7
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 8
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 9
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 10
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 11
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 12
creating a message that details the services required from another component
component
and (if needed) creates a response message for the sending component with the required results
sender and receiver of the message to be aware of each other. They simply communicate with the middleware
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 13
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 14
Req.mts Ch Chan ange
Dynami misms ms
Evolutio ion
Components Services
Abs Abstraction Mo Modul dularity for Re Reuse & RO ROI
Monolithic Functions/ procedures Objects
SO SOC
Static ic
Frozen
Frozen Re Req.mts
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 15
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 16
past 10 years.
support software reuse
demands for
investments
eb Ser ervice e st stan andar ards, have made it easier to develop general services and reuse them across a range of applications
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 17
Sof
units ts tha that t ca can be re reused ma may y be of f ra radica cally y diffe ffere rent sizes
System reuse
Application reuse
developing application families.
Se Servic vice re reuse
and reuse them across a range of applications.
Component reuse
Object and function reuse
may be reused. This form of reuse, based around standard libraries, has been common for the past 40 years.
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 18
Design patterns Architectural patterns Application frameworks Software product lines Application system integration ERP systems Systems of systems Configurable application systems Legacy system wrapping Component-based software engineering Model-driven engineering Service-oriented systems Aspect-oriented software engineering Program generators Program libraries
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 19
future business value
built a multibillion dollar software company, and now flies fighter jets
http://www.guj.com.br/t/soa-facts/6917
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 20
Although the process may be tied to a physical product, the performance is essentially intangible and does not normally result in ownership of any of the factors of production”
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 21
is loosely coupled
and still keeping independence (e.g., using late binding to “attach” required interfaces)
loosely ely coupled pled, reu eusable ble soft ftware e compo ponent nent that encapsulates discrete functionality, which may be geographically distributed and programmatically accessed
accessed u using s stan andar ard I Internet an and X XML-ba based ed pr protocols ls
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 22
e.g., , JA JAVA)
e.g., , WS WS-BP BPEL)
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 23
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 24
Service registry Service requestor Service provider Service Find Publish Bind (SOAP) (WSDL)
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 25
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 26
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 27
(e.g., WS-Addressing, WS-Discovery, WS-Federation, WS-Policy, WS-Security, and WS-Trust)
It is a specification that allows web services to use XML to advertise their policies (on security, quality of service, etc.) and for web service consumers to specify their policy requirements
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 28
Transport (HTTP, HTTPS, SMTP, ...) Messaging (SOAP) Service definition (UDDI, WSDL) Process (WS-BPEL) Support (WS-Security, WS-Addressing, ...) XML technologies (XML, XSD, XSLT, ....)
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 29
Se Servic ice Implementat atio ion an and d Se Servic ice Pr Provide ider Se Servic ice Contrac actual al De Description
Do Do not worry y about ut HO HOW … … … only ly ex expec ect that it it wi will
ST STOP ST STOP ST STOP
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 30
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 31
We are in the Future Internet (FI) era distributed computing environment large number of available software systems that can be composed to meet user needs
* * European Co
Eu Europe pe - Fu Futu ture Inte nterne net t Research h and nd Ex Expe perimentation (FI FIRE) E) initiative, 20 2015
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 32
dy dynamic evol
ding to to... ... ... changing us user preferences ... ... changing en environmen ental al co contex ext ... ... new bu busin iness needs
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 33
Gr Grow
innov
and r revol
everyday-li life sce cenarios within smart ci cities
th the futu ture sm smart t mobili lity ty ecosy syste stem sc scenario
di different u users di different e environments di different s stakeholde ders fu fully connected fu fully connected
Dynamism
Heterogeneity
New value added services e. e.g., ro route e guidance, e, speed eed advi visory ry, pa parkin ing g avail ilabil bilit ity, , POI sugge ggestio ions
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 34
Or Orchest strat ation (central alized) Ch Chore
raphy (fully distri stribute ted)
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 35
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 36
Support for auto automati ation is needed (time-to-market, correctness by construction, etc.) Ai Aiding ng software producers to re realize, de deploy, exec execute, and mo monitor choreography-based systems by re reusing existing services
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 37
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 38
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 39
Choreography modelers cooperate each
staying, to departure
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 40
Reserve Taxi Find POI Reserve Table Check Flight
… ... … ... … ... Identify tasks and participants required to achieve the goal, e.g.,
company,
train station,
services based on near field communication in a shop
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 41
Reserve Taxi Find POI Reserve Table Check Flight
… ... … ... … ... Specify how participants must collaborate as admissible workflows of the identified business tasks
Model
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 42
Admissible workflows specified as:
Diagrams
Mo Model
BPMN2 Specification - http://www.omg.org/spec/BPMN/2.0/
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 43
inventory contains services/things published by providers, e.g.,
Mo Model In Inventory
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 44
inventory ...
Running choreography
Synthesis Processor
CHOReOSynt
Choreography developer
Synthesis Processor automatically produces (if possible) a choreography- based application achieving the specified goal
CHOReVOLUTION Cloud Infrastructure Mo Model In Inventory
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 45
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 46
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 47
Process describes a sequence or flow of Ac Activities in an organization with the objective of carrying out work
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 48
Co Collaboratio ion
shown as Po Pools,
Message Fl Flows
Pr Processes wi within the Po Pools
the work of a specific Pa PartnerEntit ity (e.g., “Fe FedEx”), often substituted by a Pa PartnerRole (e.g., “Sh Shipper”) when a PartnerEntity is not identified and can be decided later
called a Pa Partic icip ipant in BPMN
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 49
Choreography is a type of process, but differs in purpose and behavior from a standard BP BPMN Pr Process
Process, or an Orchestration Pr Process is more familiar to most process modelers and de defines the flow of Activi vities of a sp specific Pa PartnerEntity/Pa PartnerRoles or
ization ion
Choreography formalizes the way business Participants coordinate their interactions
these Participants, but rather on the exchange of information (Me Messages) between these Participants
type pe of bus business contr trac act between two or more organizations.
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 50
non-in init itiat iatin ing) Me Messages the symbol of the Me Message is shaded with a light fill
08/05/2017
Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 51
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 52
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 53
08/05/2017
Me Message fl flow
Co Collaboration Diagrams ms VS VS Ch Choreography Diagrams ms
Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 54
Choreographies be betw tween the Po Pools
08/05/2017
Me Message fl flow
Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 55
Ch Choreography be betw tween the Pools of a Co Collaboration
Process wi withi hin a Pool
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 56
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 57
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 58
08/05/2017 Marco Autili - Invited Seminar Lecture - Course: Advanced Service-oriented Software Engineering 59