際際滷

際際滷Share a Scribd company logo
Claudio Pompilio
Ph.D. Student in Computer Science at University of LAquila
claudio.pompilio@graduate.univaq.it
1
Model-driven adaptation of service
choreographies
Marco Autili, Amleto Di Salle, Francesco Gallo,
Claudio Pompilio, Massimo Tivoli  University of LAquila, Italy
SAC 2018, SATTA - Software Architecture: Theory, Technology, and Applications
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
Approach
則 Adapter Metamodel
則 Rule-based Adapter Generation
Case Study
Adapter Generation at work
4
Setting the context
5
Service choreographies
Choreography (fully distributed)
Global decentralized view from a multi-participant
perspective (without a central controller)
6
Choreography realizability enforcement
Automatic realizability enforcement:
given a choreography specification and a set of existing services to be
reused, externally coordinate their interaction so to fulfill the
collaboration prescribed by the choreography specification
 coordination and adaptation issues must be solved automatically
 automatically compose services, and perform exogenous coordination
and adaptation of their interactions (nontrivial and error prone)
7
BPMN2 choreographies
Task in BPMN2
- atomic activity
- two participant roles (one is initiating)
- XML Schema used internally, e.g.,
for discovery purposes
Parallel flow
- Diverging Parallel Gateway
- Converging Parallel Gateway
Alternative branches
- Diverging Exclusive Gateway
- Converging Exclusive Gateway
8
CHOReVOLUTION synthesis process
Binding Components (BCs): are generated when the middleware-
level interaction paradigm of a selected service is different from SOAP,
which is used by as the middleware-level interaction paradigm
Security Filters (SFs): are generated for those (selected) services
having security constraints
Adapters (As): allow to bridge the gap between the interfaces and
interaction protocols of the selected services and the ones of the
(respective) participant roles they have to play and solve possible
interoperability issues due to operation names mismatches and I/O data
mapping mismatches
Coordination Delegate Generation(CDs): are in charge of
coordinating the interactions among the selected services so as to fulfill the
global collaboration prescribed by the choreography specification, in a fully
distributed way
9
CHOReVOLUTION synthesis process
Binding Components (BCs): are generated when the middleware-
level interaction paradigm of a selected service is different from SOAP,
which is used by as the middleware-level interaction paradigm
Security Filters (SFs): are generated for those (selected) services
having security constraints
Adapters (As): allow to bridge the gap between the interfaces and
interaction protocols of the selected services and the ones of the
(respective) participant roles they have to play and solve possible
interoperability issues due to operation names mismatches and I/O data
mapping mismatches
Coordination Delegate Generation(CDs): are in charge of
coordinating the interactions among the selected services so as to fulfill the
global collaboration prescribed by the choreography specification, in a fully
distributed way
1 0
Approach
1 1
Approach
 Model-driven approach: Adapter metamodel
 Transformation rules
 Subset of Enterprise Integration Patterns (EIPs) [1]
 Flow-driven adaptation
 Data-driven adaptation
[1] - Gregor Hohpe and Bobby Woolf. 2004. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging
Solutions - Fiftheenth printing 2011. Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA.
1 2
Flow-driven adaptation
Flow-driven adaptation: is realized by means of Message Routing EIPs
and it is used to adapt sequences of messages; this type of adaptation operates at
the granularity of messages, without touching the content of the messages
1 3
Data-driven adaptation
Data-driven adaptation: is realized by means of Message
Transformation EIPs and are used to adapt the content of a single message
exchange; this type of adaptation operates at the granularity of the data items
constituting the message and their types
1 4
Adapter metamodel
Choreography Service
Matching
1 5
Adapter metamodel
Flow-driven adaptation
Data-driven adaptation
1 6
Flow-driven adaptation - rules
[Rule 1] Splitter choreography_to_service
[Rule 2] Aggregator choreography_to_service
1 7
Flow-driven adaptation - rules
[Rule 3] Aggregator service_to_choreography
1 8
Flow-driven adaptation - rules
[Rule 4] Aggregator choreography_to_service
1 9
Flow-driven adaptation - rules
[Rule 5] Splitter service_to_choreography
[Rule 6] Aggregator service_to_choreography
2 0
Flow-driven adaptation - rules
[Rule 7] Resequencer choreography_to_service
and service_to_choreography
2 1
Data-driven adaptation - rules
[Rule 8] Message Translator
[Rule 9] Content Filter (a)
(c)
(b)
(d)
2 2
Case Study
2 3
Smart Mobility and Tourism choreography
2 4
Adapter Generation at work
2 5
Smart Mobility and Tourism choreography
Regarding Smart Mobility
Information
one of the involved participant is the
Journey Planner participant, who
is in charge of providing trips
information to the
Mobility Information
Planner
The two participants exchange
the messages tripsRequest
and tripsResponse within the
choreography task Get Trips
Information.
2 6
Choreography return message
2 7
Service output messages
2 8
Mappings
2 9
Adapter
[Rule 1] Splitter choreography_to_service
[Rule 8] Message Translator
[Rule 9] Content Filter
[Rule 8] Message Translator
[Rule 2] Aggregator choreography_to_service
Inbound channel: Outbound channel:
Thanks!
Any questions?
You can find me at:
claudio.pompilio@graduate.univaq.it
3 0

More Related Content

Model-driven adaptation of service choreographies [SAC 2018]

  • 1. Claudio Pompilio Ph.D. Student in Computer Science at University of LAquila claudio.pompilio@graduate.univaq.it 1 Model-driven adaptation of service choreographies Marco Autili, Amleto Di Salle, Francesco Gallo, Claudio Pompilio, Massimo Tivoli University of LAquila, Italy SAC 2018, SATTA - Software Architecture: Theory, Technology, and Applications
  • 2. 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. 3 Outline Setting the context Approach 則 Adapter Metamodel 則 Rule-based Adapter Generation Case Study Adapter Generation at work
  • 5. 5 Service choreographies Choreography (fully distributed) Global decentralized view from a multi-participant perspective (without a central controller)
  • 6. 6 Choreography realizability enforcement Automatic realizability enforcement: given a choreography specification and a set of existing services to be reused, externally coordinate their interaction so to fulfill the collaboration prescribed by the choreography specification coordination and adaptation issues must be solved automatically automatically compose services, and perform exogenous coordination and adaptation of their interactions (nontrivial and error prone)
  • 7. 7 BPMN2 choreographies Task in BPMN2 - atomic activity - two participant roles (one is initiating) - XML Schema used internally, e.g., for discovery purposes Parallel flow - Diverging Parallel Gateway - Converging Parallel Gateway Alternative branches - Diverging Exclusive Gateway - Converging Exclusive Gateway
  • 8. 8 CHOReVOLUTION synthesis process Binding Components (BCs): are generated when the middleware- level interaction paradigm of a selected service is different from SOAP, which is used by as the middleware-level interaction paradigm Security Filters (SFs): are generated for those (selected) services having security constraints Adapters (As): allow to bridge the gap between the interfaces and interaction protocols of the selected services and the ones of the (respective) participant roles they have to play and solve possible interoperability issues due to operation names mismatches and I/O data mapping mismatches Coordination Delegate Generation(CDs): are in charge of coordinating the interactions among the selected services so as to fulfill the global collaboration prescribed by the choreography specification, in a fully distributed way
  • 9. 9 CHOReVOLUTION synthesis process Binding Components (BCs): are generated when the middleware- level interaction paradigm of a selected service is different from SOAP, which is used by as the middleware-level interaction paradigm Security Filters (SFs): are generated for those (selected) services having security constraints Adapters (As): allow to bridge the gap between the interfaces and interaction protocols of the selected services and the ones of the (respective) participant roles they have to play and solve possible interoperability issues due to operation names mismatches and I/O data mapping mismatches Coordination Delegate Generation(CDs): are in charge of coordinating the interactions among the selected services so as to fulfill the global collaboration prescribed by the choreography specification, in a fully distributed way
  • 11. 1 1 Approach Model-driven approach: Adapter metamodel Transformation rules Subset of Enterprise Integration Patterns (EIPs) [1] Flow-driven adaptation Data-driven adaptation [1] - Gregor Hohpe and Bobby Woolf. 2004. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions - Fiftheenth printing 2011. Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  • 12. 1 2 Flow-driven adaptation Flow-driven adaptation: is realized by means of Message Routing EIPs and it is used to adapt sequences of messages; this type of adaptation operates at the granularity of messages, without touching the content of the messages
  • 13. 1 3 Data-driven adaptation Data-driven adaptation: is realized by means of Message Transformation EIPs and are used to adapt the content of a single message exchange; this type of adaptation operates at the granularity of the data items constituting the message and their types
  • 15. 1 5 Adapter metamodel Flow-driven adaptation Data-driven adaptation
  • 16. 1 6 Flow-driven adaptation - rules [Rule 1] Splitter choreography_to_service [Rule 2] Aggregator choreography_to_service
  • 17. 1 7 Flow-driven adaptation - rules [Rule 3] Aggregator service_to_choreography
  • 18. 1 8 Flow-driven adaptation - rules [Rule 4] Aggregator choreography_to_service
  • 19. 1 9 Flow-driven adaptation - rules [Rule 5] Splitter service_to_choreography [Rule 6] Aggregator service_to_choreography
  • 20. 2 0 Flow-driven adaptation - rules [Rule 7] Resequencer choreography_to_service and service_to_choreography
  • 21. 2 1 Data-driven adaptation - rules [Rule 8] Message Translator [Rule 9] Content Filter (a) (c) (b) (d)
  • 23. 2 3 Smart Mobility and Tourism choreography
  • 25. 2 5 Smart Mobility and Tourism choreography Regarding Smart Mobility Information one of the involved participant is the Journey Planner participant, who is in charge of providing trips information to the Mobility Information Planner The two participants exchange the messages tripsRequest and tripsResponse within the choreography task Get Trips Information.
  • 27. 2 7 Service output messages
  • 29. 2 9 Adapter [Rule 1] Splitter choreography_to_service [Rule 8] Message Translator [Rule 9] Content Filter [Rule 8] Message Translator [Rule 2] Aggregator choreography_to_service Inbound channel: Outbound channel:
  • 30. Thanks! Any questions? You can find me at: claudio.pompilio@graduate.univaq.it 3 0