Streams & Workflows

In the recent years, the paradigm of Service-oriented Computing has attracted considerable interest, both from the research community and the industrial sector. A service-oriented architecture (SoA) allows to provide, deploy, and invoke functionality as service in a well-defined, modular way. A main advantage in SoAs is the possibility to build sophisticated applications, namely composite services, workflows or processes, out of existing services - this is also also known as "programming in the large".

The DBIS group's vision is to generalize and extend concepts from databases and make them available at a higher level of abstraction for service-oriented architectures and workflows. A SoA must support the concurrent access to shared application services similar to databases supporting concurrent access to shared data. Thus, a main challenge is to provide solutions for SoAs that allow the generation and optimization of service requests, for sophisticated routing and parallelization, for correctness of concurrent accesses including a generalized notion of atomicity, flexible failure treatment, availability, or scalability. This includes both 'traditional' applications in a SoA which consist of discrete service invocations, but also continuous streams of data that need to be processed, analyzed (e.g., for complex event detection), and stored by means of dedicated workflows. OSIRIS (Open Service Infrastructure for Reliable and Integrated process Support) is a distributed and fully decentralized and at the same time highly scalable and reliable infrastructure for composite services (both discrete and streaming services), developed by the DBIS group, that implements this vision.

On the basis of OSIRIS, the DBIS group addresses these challenges by providing:

Complex event detection in distributed sensor data streams: In a large variety of applications, sensors of different types are deployed to continuously capture their environment. The applications then have to process and analyze the streams of data generated by these sensors. Sensor analysis is quite challenging when not only the activities of individuals but also the interaction of individuals has to be assessed (e.g., the collective actions of players in a sports team). In our work, we aim at monitoring, coordinating, and analyzing the actions of teams of individuals in real-time in highly dynamic and mobile environments in a robust and scalable way. This is done by following a workflow-oriented approach that goes beyond the mere data collection about sensed facts and the post-hoc analysis of simple events.

Self-organizing and reliable distributed workflow management: In order to achieve a highly scalable workflow support, not only the services encompassed within a workflow but also the workflow engine itself need to be distributed. This, in turn, necessitates additional mechanisms to guarantee the reliability and robustness of the workflow engine, even in the presence of (partial) failures. In our work, we design and implement an extension to OSIRIS, called safety ring, that allows to dynamically allocate nodes in a network for monitoring other nodes and for dynamic failure handling. This is applied to 'standard' workflow processes integrating discrete services and for streaming services / streaming processes.

Context-aware adaptation of workflow processes: Workflows are very well suited for defining service-oriented applications that feature a high level of recurrence (i.e., a large number of instantiations). At the same time, the workflow paradigm does not support applications in which dynamic changes need to be applied rather often. Especially in mobile applications where the context of users rapidly changes, this is an urgent demand. In our work, we aim at adding support for dynamic changes to workflow types and workflow instances, based on the context of a user. The results are applied in a eHealth context.