Managing data dependencies in service compositions

G.J.Y.J Monsieur, M. Snoeck, W. Lemahieu

    Research output: Contribution to journalArticleScientificpeer-review

    15 Citations (Scopus)

    Abstract

    Composing services into service-based systems requires the design of coordination logic, which describes all service interactions realizing the composition. Coordination can be defined as the management of dependencies; in a services context we can discriminate between ‘control flow’ that manages sequence dependencies and ‘data flow’ for managing data dependencies. Current research fails to address the management of data dependencies in a systematic way and mostly treats it as subordinate to sequence dependencies. In this article a ‘data flow’ pattern language is presented that provides a systematic way of designing the data flow aspects of a coordination scenario, orthogonally to the way in which the control flow is designed. Starting from a set of fundamental and basic building blocks, each data dependency will yield a data flow design that takes a set of design criteria (e.g. loose coupling, data confidentiality, etc.) into account. The pattern language is evaluated in three ways. First, it is shown that every potential coordination scenario for managing a data dependency can be composed by the set of patterns. Second, the pattern language was applied in a real-life insurance case to show how it can guide the design of complex data flows. Third, the patterns were implemented in a tool that provides configurable model-to-code transformations for automatically generating BPEL coordination scenarios. In this tool both the data flow and control flow can be designed separately using different sets of patterns.
    Original languageEnglish
    Pages (from-to)2604-2628
    JournalJournal of Systems and Software
    Volume85
    Issue number11
    DOIs
    Publication statusPublished - 2013

    Fingerprint Dive into the research topics of 'Managing data dependencies in service compositions'. Together they form a unique fingerprint.

    Cite this