TU Darmstadt / ULB / TUprints

Integration of Event Processing with Service-oriented Architectures and Business Processes

Appel, Stefan (2014)
Integration of Event Processing with Service-oriented Architectures and Business Processes.
Technische Universität
Ph.D. Thesis, Primary publication

[img]
Preview
Text
dissertationAppel-tuprints.pdf - Accepted Version
Copyright Information: CC BY-NC-ND 2.5 Generic - Creative Commons, Attribution, NonCommercial, NoDerivs .

Download (7MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Integration of Event Processing with Service-oriented Architectures and Business Processes
Language: English
Referees: Buchmann, Prof. Alejandro ; Karastoyanova, Jun.-Prof. Dimka ; Eugster, Prof. Patrick
Date: 20 May 2014
Place of Publication: Darmstadt
Date of oral examination: 20 May 2014
Abstract:

Data sources like the Internet of Things or Cyber-physical Systems provide enormous amounts of real-time information in form of streams of events. The use of such event streams enables reactive software components as building blocks in a new generation of systems. Businesses, for example, can benefit from the integration of event streams; new services can be provided to customers, or existing business processes can be improved. The development of reactive systems and the integration with existing application landscapes, however, is challenging. While traditional system components follow a pull-based request/reply interaction style, event-based systems follow a push-based interaction scheme; events arrive continuously and application logic is triggered implicitly.

To benefit from push-based and pull-based interactions together, an intuitive software abstraction is necessary to integrate push-based application logic with existing systems. In this work we introduce such an abstraction: we present Event Stream Processing Units (SPUs) - a container model for the encapsulation of event-processing application logic at the technical layer as well as at the business process layer. At the technical layer SPUs provide a service-like abstraction and simplify the development of scalable reactive applications. At the business process layer SPUs make event processing explicitly representable. SPUs have a managed lifecycle and are instantiated implicitly - upon arrival of appropriate events - or explicitly upon request. At the business process layer SPUs encapsulate application logic for event stream processing and enable a seamless transition between process models, executable process representations, and components at the IT layer.

Throughout this work, we focus on different aspects of the SPU container model: we first introduce the SPU container model and its execution semantics. Since SPUs rely on a publish/subscribe system for event dissemination, we discuss quality of service requirements in the context of event processing. SPUs rely on input in form of events; in event-based systems, however, event production is logically decoupled, i.e., event producers are not aware of the event consumers. This influences the system development process and requires an appropriate methodology. Fur this purpose we present a requirements engineering approach that takes the specifics of event-based applications into account.

The integration of events with business processes leads to new business opportunities. SPUs can encapsulate event processing at the abstraction level of business functions and enable a seamless integration with business processes. For this integration, we introduce extensions to the business process modeling notations BPMN and EPCs to model SPUs. We also present a model-to-execute workflow for SPU-containing process models and implementation with business process modeling software.

The SPU container model itself is language-agnostic; thus, we present Eventlets as SPU implementation based on Java Enterprise technology. Eventlets are executed inside a distributed middleware and follow a lifecycle. They reduce the development effort of scalable event processing applications as we show in our evaluation. Since the SPU container model introduces an additional layer of abstraction we analyze the overhead in terms of performance and show that Eventlets can compete with traditional event processing approaches in terms of performance.

SPUs can be used to process sensitive data, e.g., in health care environments. Thus, privacy protection is an important requirement for certain use cases and we sketch the application of a privacy-preserving event dissemination scheme to protect event consumers and producers from curious brokers. We also quantify the resulting overhead introduced by a privacy-preserving brokering scheme in an evaluation.

Alternative Abstract:
Alternative AbstractLanguage

Datenquellen wie das Internet der Dinge oder Cyber-physical Systems stellen enorme Mengen an Echtzeitinformationen in Form von Ereignisströmen zur Verfügung. Solche Ereignisströme ermöglichen die Entwicklung reaktiver Software Komponenten die als Bausteine einer neuen Generation von Systemen dienen. Unternehmen können beispielsweise neue Dienstleistungsangebote bereitstellen, die auf der Nutzung von Ereignisströmen basieren. Ebenso können bestehende Geschäftsprozesse durch die Integration von Echtzeitdaten in Form von Ereignisströmen optimiert werden. Die Integration von Komponenten zur Ereignisstromverarbeitung in bestehende Anwendungslandschaften stellt jedoch eine große Herausforderung dar. Während traditionelle Systemkomponenten wie Services einem Abfrage-orientierten Interaktionsstil folgen (Request/Reply), sind Interaktionen in Ereignis-basierten Systemen datengetrieben: Ereignisse treffen kontinuierlich ein - daher die Bezeichnung Ereignisstrom - und führen zum impliziten Aufruf von Anwendungslogik.

In reaktiven Systemen von morgen spielt die Integration beider Paradigmen eine tragende Rolle. Voraussetzung hierf\"ur sind Abstraktionsmechanismen die Ereignisverarbeitung im Kontext komplexer Systemlandschaften kapseln. In dieser Arbeit wird solch eine Abstraktion eingeführt: Ereignisstromverarbeitungseinheiten (Event Stream Processing Units, SPUs) sind ein Container Modell das die Kapselung von Anwendungslogik zur Ereignisverarbeitung sowohl auf der technischen als auch auf der Geschäftsprozessebene ermöglicht. Auf der technischen Ebene stellen SPUs eine serviceähnliche Abstraktion dar, die eine Entwicklung skalierbarer reaktiver Anwendungen vereinfacht. Auf der Geschäftsprozessebene erlauben SPUs eine explizite Darstellung von Ereignisverarbeitung und des damit einhergehenden reaktiven Verhaltens in Prozessen. SPU unterliegen einem Lebenszyklus und werden implizit - bei der Ankunft der entsprechenden Ereignisse - oder explizit - auf Anfrage hin - instanziiert. In Prozessmodellen ermöglicht die Kapselung von Ereignisverarbeitung in SPUs eine direkte Abbildung von Prozessschritten auf IT Komponenten.

Ziel dieser Arbeit ist die umfassende Darstellung des SPU Container Modells. Zunächst wird die Struktur von SPU Containern dargestellt und die Ausführungssemantik definiert. Da SPUs auf ein Publish/Subscribe System zum Transport von Daten zurückgreifen, spielen Quality of Service Aspekte dieser Transportschicht eine zentrale Rolle und werden diskutiert. Des Weiteren sind in Ereignis-basierten Systemen Ereignisproduzenten und -konsumenten logisch entkoppelt, d.h. Produzenten wissen nichts über potentielle Konsumenten und umgekehrt. Dies hat maßgeblichen Einfluss auf den Softwareentwicklungsprozess und erfordert ein adaptiertes Vorgehensmodell. Im Rahmen dieser Arbeit wird daher ein Verfahren zur Anforderungsanalyse vorgestellt das die Charakteristika Ereignis-basierter Systeme berücksichtigt.

SPUs können Ereignisverarbeitung auf der Abstraktionsebene geschäftsrelevanter Vorgänge kapseln und ermöglichen somit eine nahtlose Integration in Geschäftsprozesse. Zur Darstellung von SPUs in Prozessmodellen führt diese Arbeit Erweiterungen der Prozessmodellierungssprachen BPMN und Ereignis-gesteuerte Prozessketten (EPK) ein. Weiterhin wird ein Vorgehen beschrieben wie Prozessmodelle, die SPUs enthalten, zur Ausführung gebracht werden können.

Da das SPU Container Modell sprachunabhängig ist, werden im Rahmen dieser Arbeit Eventlets - eine Implementierung des SPU Container Modells basierend auf Java Enterprise Technologie - vorgestellt. Eventlets werden von einer verteilten Middleware ausgeführt. Die Evaluation zeigt, dass sie den Entwicklungsaufwand skalierbarer Anwendungen zur Ereignisverarbeitung erheblich reduzieren. Da SPUs eine zusätzliche Abstraktionsebene darstellen, wird die Performanz analysiert: Durchsatzmessungen bei der Verarbeitung von Ereignisströmen zeigen, dass Eventlets gegenüber traditionellen Ereignisverarbeitungsansätzen konkurrenzfähig sind.

Abhängig vom Anwendungsszenario kann die Verarbeitung sensibler Daten durch SPUs notwendig sein, z.B. die Verarbeitung von Patientendaten Gesundheitswesen. Daher wird im Rahmen dieser Arbeit die Anwendung kryptografischer Mechanismen zum Schutz der Privatsphäre bei der Zustellung von Ereignissen an SPUs skizziert. Weiterhin werden die damit einhergehenden Performanzeinbußen quantifiziert.

German
Uncontrolled Keywords: Event Processing, Business Process Management, Publish/Subscribe, Reactive Middleware
URN: urn:nbn:de:tuda-tuprints-39785
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Databases and Distributed Systems
Date Deposited: 10 Jun 2014 07:04
Last Modified: 09 Jul 2020 00:40
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/3978
PPN: 386752893
Export:
Actions (login required)
View Item View Item