Data-driven Workflows for Microservices

Larisa Safina, Manuel Mazzara, Fabrizio Montesi [2015].
In CoRR abs/1511.02597.

Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Jolie is a programming language based on the microservices paradigm: the main building block of Jolie systems are services, in contrast to, e.g., functions or objects. The primitives offered by the Jolie language elicit many of the recurring patterns found in microservices, like load balancers and structured processes. However, Jolie still lacks some useful constructs for dealing with message types and data manipulation that are present in service-oriented computing. In this paper, we focus on the possibility of expressing choices at the level of data types, a feature well represented in standards for Web Services, e.g., WSDL. We extend Jolie to support such type choices and show the impact of our implementation on some of the typical scenarios found in microservice systems. This shows how computation can move from a process-driven to a data-driven approach, and leads to the preliminary identification of recurring communication patterns that can be shaped as design patterns.
Additional notes
Cite (BibTeX)
Click to expand
  author       = {Larisa Safina and
                  Manuel Mazzara and
                  Fabrizio Montesi},
  title        = {Data-driven Workflows for Microservices},
  journal      = {CoRR},
  volume       = {abs/1511.02597},
  year         = {2015},
  url          = {},
  eprinttype    = {arXiv},
  eprint       = {1511.02597},
  timestamp    = {Mon, 13 Aug 2018 16:46:04 +0200},
  biburl       = {},
  bibsource    = {dblp computer science bibliography,}

Peer-reviewed version
Click to show in publication list

A PDF is available (possibly a preprint):

Download PDF