This presentation discusses modeling service-oriented architectures (SOAs) using colored Petri nets (CPNs) and translating those models into executable implementations. It motivates modeling SOAs with CPNs to coordinate communication flows and describes implementing common workflow patterns. CPNs represent system states and behavior, and tokens indicate control flow. The translation maps CPN elements to the Jolie language, representing places as message passing and transitions as services. Examples demonstrate modeling and implementing a file upload use case with different workflow patterns.
Service-Oriented Architectures: From Design to Production Exploiting Workflow Patterns
1. Service-Oriented Architectures:
From Design to Production
Exploiting Workflow Patterns
Presentation by:
Martin Villumsen
<mvill11@student.sdu.dk>
Authors
Maurizio Gabbrielli, Saverio Giallorenzo, and Fabrizio Montesi
3. Motivation
• Service-Oriented Architecture (SOA)
• Coordinate communications into a flow of
interactions
• Model SOA with Coloured Petri Nets (CPN)
• Translation of CPN-modelled SOAs into
executable ones (Jolie)
4. Motivation
• Workflow Patterns
• Describe CPNs in terms of Workflow Patterns
• Implementations of Workflow Patterns
provided
6. Coloured Petri Nets (CPN)
• Modelling language that consists of:
• places - represent the state of the system according to a
specific marking
7. Coloured Petri Nets (CPN)
• Modelling language that consists of:
• places - represent the state of the system according to a
specific marking
• tokens - used to mark when a certain state holds. In CPNs
tokens have a value attached to them (token colour)
8. Coloured Petri Nets (CPN)
• Modelling language that consists of:
• places - represent the state of the system according to a
specific marking
• tokens - used to mark when a certain state holds. In CPNs
tokens have a value attached to them (token colour)
• transitions - represent the dynamic behaviour of the system
9. Coloured Petri Nets (CPN)
• Modelling language that consists of:
• places - represent the state of the system according to a
specific marking
• tokens - used to mark when a certain state holds. In CPNs
tokens have a value attached to them (token colour)
• transitions - represent the dynamic behaviour of the system
• arcs - specify the “flow”
10. Coloured Petri Nets (CPN)
• Tokens that indicate control-flow are typed CID
• Input places are denoted by i1, …, in
• Output places are denoted by o1, …, on
• Internal places are denoted by p1, …, pn
• Transitions are denoted by A, …, Z.
11. CPN to Jolie SOAs
• Jolie has two kinds of message-passing operations
• One-Way: Send/Receive message and pass
thread of control
• Request-Response: Send/Receive and keep
thread of control until it receive/send a response
12. CPN to Jolie SOAs
• Translation based on five principles:
1.transitions are services
2.places are message passing operations
3.communications carry typed messages (as coloured tokens)
4.arcs express the type of carried messages and the condition
that allow the communication to pass
5.a CPN models a SOA composed by several services running
in parallel
13. CPN to Jolie SOAs
• Map input places, internal places and output
places into One-Way operations (principle 2.)
14. CPN to Jolie SOAs
• Map input places, internal places and output
places into One-Way operations (principle 2.)
• Combine two round-trip One-Way operations into
one Request-Response operation
15. CPN to Jolie SOAs
• Map input places, internal places and output
places into One-Way operations (principle 2.)
• Combine two round-trip One-Way operations into
one Request-Response operation
• Map output places into default One-Way locations
DefaultOutput1, …, n
16. CPN to Jolie SOAs
• SOA can be realized using
• Centralized approach (“orchestration”)
• Distributed approach (“choreography”)
• For each WP both a centralized and distributed
implementation is provided
27. Conclusion
• Methodology for translating CPN-modelled SOAs to
Jolie
• A realistic use case illustrates that CPN and WP
can be used for building SOAs
• The work provides a pragmatic assessment on the
expressiveness of Jolie
• Table on next slide summarizes the results