Service-Oriented Architectures: from Design to Production exploiting Workflow Patterns

Saverio GIALLORENZO, Maurizio GABBRIELLI, Fabrizio MONTESI

Abstract


In Service-Oriented Architectures (SOA) services are composed by coordinating their communications into a flow of interactions. Coloured Petri nets (CPN) offer a formal yet easy tool for modelling abstract SOAs. Still, mapping abstract SOAs into executable ones requires a non-trivial and time-costly analysis. Here, we propose a methodology that maps CPN-modelled SOAs into executable Jolie SOAs (our target language). To this end, we employ a collection of recurring control-flow patterns, called Workflow Patterns, as composable blocks of the translation. Following our methodology, we discuss how the Workflow Patterns we consider are translated in Jolie. Finally, we validate our methodology with a realistic use case. As additional result of our research, we could pragmatically assess the expressiveness of Jolie with relation to the considered Workflow Patterns.

Keywords


Service-Oriented Architectures; Workflow Patterns; Coloured Petri Nets

Full Text:

PDF

References


BARROS, Alistair; DUMAS, Marlon; TER HOFSTEDE, Arthur H. M. (2005). Service interaction patterns. In: Business Process Management. Springer Berlin Heidelberg. p. 302-318.

CARBONE, Marco; MONTESI, Fabrizio. (2013)Deadlock-freedom-by-design: multiparty asynchronous global programming. ACM SIGPLAN Notices, 48.1: 263-274.

ERL, Thomas. (2005). Service-oriented architecture: concepts, technology, and design. Pearson Education India.

GUIDI, Claudio; GIALLORENZO, Saverio; GABBRIELLI, Maurizio. (2014). Towards a composition-based APIaaS layer. to appear in CLOSER 2014, SciTePress.

GUIDI, Claudio; LUCCHI, Roberto; GORRIERI, Roberto; BUSI, Nadia; ZAVATTARO, Gianluigi. (2006). SOCK: a calculus for service oriented computing. In: ICSOC 2006. Springer Berlin Heidelberg, p. 327-338.

JENSEN, Kurt; KRISTENSEN, Lars Michael. (2009). Coloured Petri Nets - Modelling and Validation of Concurrent Systems. Pages I-XI, 1-384. Springer.

JOLIE Website. (2014). http://jolie-lang.org.

LANESE, Ivan; GUIDI, Claudio; MONTESI, Fabrizio; ZAVATTARO, Gianluigi. (2008). Bridging the gap between interaction-and process-oriented choreographies. In: Software Engineering and Formal Methods, 2008. SEFM'08. Sixth IEEE International Conference on. IEEE. p. 323-332.

LOHMANN, Niels; KLEINE, Jens. (2008). Fully-automatic Translation of Open Workflow Net Models into Simple Abstract BPEL Processes. In: Modellierung. p. 14.

LOHMANN, Niels; KOPP, Oliver; LEYMANN, Frank; REISIG, Wolfgang. (2008). Analyzing BPEL4Chor: Verification and participant synthesis. In: Web Services and Formal Methods. Springer Berlin Heidelberg. p. 46-60.

MAYER Philip; KOCH Nora; SCHROEDER Andreas. (2009). The UML4SOA Profile. Ludwig-Maximilians-Universitaet Muenchen.

MENDES, Joao Marcos; LEITAO, Paulo; RESTIVO, Francisco; COLOMBO, Armando Walter. (2010). Composition of petri nets models in service-oriented industrial automation. In INDIN’10, pages 578–583.

MONTESI, Fabrizio. (2010). Jolie: a service-oriented programming language. M.Sc. Thesis.

MONTESI, Fabrizio; CARBONE, Marco. (2011). Programming services with correlation sets. In ICSOC 2011, pages 125–141.

MONTESI, Fabrizio; GUIDI, Claudio; and ZAVATTARO, G. (2013). Service Oriented Programming with Jolie, volume 1 of Web Services Foundations. Pages 79-106.

OBJECT MANAGEMENT GROUP. (2008). Service oriented architecture modeling language (SoaML)-specification for the UML profile and metamodel for services.

ORGANIZATION FOR THE ADVANCEMENT OF STRUCTURED INFORMATION STANDARDS. Web Services Business Process Execution Language. http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html. 2006.

ORGANIZATION FOR THE ADVANCEMENT OF STRUCTURED INFORMATION STANDARDS. Reference Architecture Foundation for SOA Version 1.0. http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/cs01/soa-ra-v1.0-cs01.html. 2012.

REISIG, Wolfgang. Petri Nets: An Introduction, volume 4 of Monographs in Theoretical Computer Science. An EATCS Series. Springer. 1985.

RUSSELL, Nick; TER HOFSTEDE, Arthur H. M. ; MULYAR, Nataliya. Workflow control-flow patterns: A revised view. Technical report. 2006.

VAN DER AALST, Wil M. P.; DUMAS, Marlon; TER HOFSTEDE, Arthur H. M.; WOHED, Petia. Pattern-based analysis of BPML (and WSCI). 2002.

VAN DER AALST, Wil M. P.; TER HOFSTEDE, Arthur H. M.; KIEPUSZEWSI, Bartosz; BARROS, Alistair. Workflow patterns. Distributed. Parallel Databases, 14(1): 5–51. 2003.

http://dx.doi.org/10.1023/A:1022883727209

WOHED; Petia; VAN DER AALST, WIL M. P.; DUMAS, Marlon; TER HOFSTEDE, Arthur H. M. Analysis of Web Services Composition Languages: The Case of BPEL4WS. In Proc. of ER, LNCS 2813, pages 200–215. Springer Verlag. 2003.

WORKFLOW MANAGEMENT COALITION. Workflow Management Coalition Terminology & Glossary. 1999.

WS-CDL Working Group. Web services choreography description language version 1.0. http://www.w3.org/TR/ws-cdl-10/. 2004.




DOI: http://dx.doi.org/10.14201/ADCAIJ2014322652





Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.

Clarivate Analytics