The University of Southampton
University of Southampton Institutional Repository

Control flow versus data flow in distributed systems integration: revival of flow-based programming for the industrial internet of things

Control flow versus data flow in distributed systems integration: revival of flow-based programming for the industrial internet of things
Control flow versus data flow in distributed systems integration: revival of flow-based programming for the industrial internet of things

When we consider the application layer1 of networked infrastructures, data and control flow are important concerns in distributed systems integration. Modularity is a fundamental principle in software design,2 in particular for distributed system architectures. Modularity emphasizes high cohesion of individual modules and low coupling between modules. Microservices are a recent modularization approach with the specific requirements of independent deployability and, in particular, decentralized data management.3 Cohesiveness of microservices goes hand-in-hand with loose coupling, making the development, deployment, and evolution of microservice architectures flexible and scalable.4 However, in our experience with microservice architectures, interactions and flows among microservices are usually more complex than in traditional, monolithic enterprise systems, since services tend to be smaller and only have one responsibility, causing collaboration needs. We suggest that for loose coupling among microservices, explicit control-flow modeling and execution with central workflow engines should be avoided on the application integration level. On the level of integrating microservices, data-flow modeling should be dominant. Control-flow should be secondary and preferably delegated to the microservices. We discuss coupling in distributed systems integration and reflect the history of business process modeling with respect to data and control flow. To illustrate our recommendations, we present some results for flow-based programming in our Industrial DevOps project Titan, where we employ flow-based programming for the Industrial Internet of Things.

1089-7801
5-12
Hasselbring, Wilhelm
ee89c5c9-a900-40b1-82c1-552268cd01bd
Wojcieszak, Maik
4a088f9b-3fe3-45df-9202-dc81e04080f3
Dustdar, Schahram
7a3be6f4-ee18-441c-9f4d-d041590408f8
Hasselbring, Wilhelm
ee89c5c9-a900-40b1-82c1-552268cd01bd
Wojcieszak, Maik
4a088f9b-3fe3-45df-9202-dc81e04080f3
Dustdar, Schahram
7a3be6f4-ee18-441c-9f4d-d041590408f8

Hasselbring, Wilhelm, Wojcieszak, Maik and Dustdar, Schahram (2021) Control flow versus data flow in distributed systems integration: revival of flow-based programming for the industrial internet of things. IEEE Internet Computing, 25 (4), 5-12, [9514390]. (doi:10.1109/MIC.2021.3053712).

Record type: Article

Abstract

When we consider the application layer1 of networked infrastructures, data and control flow are important concerns in distributed systems integration. Modularity is a fundamental principle in software design,2 in particular for distributed system architectures. Modularity emphasizes high cohesion of individual modules and low coupling between modules. Microservices are a recent modularization approach with the specific requirements of independent deployability and, in particular, decentralized data management.3 Cohesiveness of microservices goes hand-in-hand with loose coupling, making the development, deployment, and evolution of microservice architectures flexible and scalable.4 However, in our experience with microservice architectures, interactions and flows among microservices are usually more complex than in traditional, monolithic enterprise systems, since services tend to be smaller and only have one responsibility, causing collaboration needs. We suggest that for loose coupling among microservices, explicit control-flow modeling and execution with central workflow engines should be avoided on the application integration level. On the level of integrating microservices, data-flow modeling should be dominant. Control-flow should be secondary and preferably delegated to the microservices. We discuss coupling in distributed systems integration and reflect the history of business process modeling with respect to data and control flow. To illustrate our recommendations, we present some results for flow-based programming in our Industrial DevOps project Titan, where we employ flow-based programming for the Industrial Internet of Things.

This record has no associated files available for download.

More information

e-pub ahead of print date: 16 August 2021

Identifiers

Local EPrints ID: 488778
URI: http://eprints.soton.ac.uk/id/eprint/488778
ISSN: 1089-7801
PURE UUID: f76a2815-2054-4661-ad30-e4f71d8bc9f5
ORCID for Wilhelm Hasselbring: ORCID iD orcid.org/0000-0001-6625-4335

Catalogue record

Date deposited: 05 Apr 2024 16:38
Last modified: 10 Apr 2024 02:15

Export record

Altmetrics

Contributors

Author: Wilhelm Hasselbring ORCID iD
Author: Maik Wojcieszak
Author: Schahram Dustdar

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×