TU Darmstadt / ULB / TUprints

Aspect-Oriented Workflow Languages

Charfi, Anis (2007)
Aspect-Oriented Workflow Languages.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
PDF
thesischarfifinal.pdf
Copyright Information: In Copyright.

Download (3MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Aspect-Oriented Workflow Languages
Language: English
Referees: Alonso, Prof.Dr. Gustavo
Advisors: Mezini, Prof.Dr. Mira
Date: 24 July 2007
Place of Publication: Darmstadt
Date of oral examination: 6 February 2007
Abstract:

This thesis focuses on the modularity of workflow process specifications. In particular, it studies the expression support for crosscutting concerns and workflow changes in current workflow languages and workflow management systems. To illustrate the issues, two workflow languages are considered: a visual graph-based language and the Web Service composition language BPEL. This thesis starts by describing the implementation of several crosscutting concerns such as data collection for billing, activity execution time measurement, and security in typical processes of a travel agency. When examining the resulting workflow specifications, the following observations are made. First, the workflow constructs that implement a crosscutting concern cannot be encapsulated in a separate module with a well-defined interface. They are rather scattered across the specifications of several workflow processes. Second, the workflow specifications that result after adding the implementation of a crosscutting concern are tangled. That is, the workflow constructs that implement the business logic are intertwined with the workflow constructs that implement the other concerns. This leads to monolithic and complex workflow process specifications that are hard to understand, reuse, maintain, and evolve. Moreover, this thesis studies the expression of workflow changes such as adding business logic to a travel process to search for a rental car, or replacing a partner service. Thereby, the following observations are made. In static workflow management systems such as BPEL-based ones, the workflow constructs that implement a workflow change must be integrated directly in the specifications of the workflow processes that are affected by that change. There is no module concept for encapsulating these constructs and expressing the workflow change as a separate first-class entity. In adaptive workflow management systems, the same problems exist because these systems also lack a module concept for encapsulating workflow changes and expressing them as separate first-class entities. This makes understanding, tracing, and managing workflow changes difficult. The modularity problems mentioned so far are due to the lack of appropriate decomposition mechanisms in current workflow languages. To solve these problems, a concern-based decomposition of workflow specifications is proposed. This decomposition technique is incorporated in a new type of workflow languages that are called aspect-oriented workflow languages. These languages introduce concepts from Aspect-Oriented Software Development such as aspects and pointcuts to the domains of workflow modeling and workflow specification. At the workflow modeling level, this thesis extends the graph-based language that was mentioned earlier with new constructs that graphically represent aspect-oriented concepts such as pointcuts, advice, and aspects. The resulting extension, which is called aspectual workflow graphs, illustrates the concepts of aspect-oriented workflow languages in a simple way independently of any specific workflow language. At the workflow specification level, this thesis presents requirements to aspect-oriented workflow languages and the core concepts of such languages. In particular, the join point models, the pointcut languages, the advice languages, and the composition mechanisms of aspects and processes will be discussed. Moreover, this thesis introduces a specific aspect-oriented workflow language for Web Service composition called AO4BPEL. The design and implementation of AO4BPEL can be considered as a proof-of-concept for aspect-oriented workflow languages. This thesis shows using examples how workflow aspects support a better modularization of crosscutting concerns and workflow changes. Moreover, AO4BPEL aspects increase the flexibility and adaptability of BPEL processes, as they can be used to modify BPEL processes at runtime. In addition, this thesis presents two applications of AO4BPEL to show the value and usefulness of aspect-oriented workflow languages. In the first application, a process container framework for providing middleware support to BPEL processes is proposed. In this framework, the non-functional requirements of the process activities such as security, reliable messaging, and transactions are specified declaratively using a deployment descriptor. These requirements are enforced using a process container that is inspired by enterprise component models. The process container is implemented as a light-weight and extensible container using a set of AO4BPEL aspects that are generated automatically from the deployment descriptor. The container calls middleware Web Services to enforce non-functional requirements such as security, reliable messaging, and transactions. These Web Services are implemented by extending Open Source implementations of WS-* specifications such as WS-Security and WS-AtomicTransaction. In the second application, a hybrid approach to Web Service composition is introduced. This approach separates the implementation of the business rules from the BPEL process according to the principles of the Business Rules Approach. At the implementation level, AO4BPEL aspects are used to implement all types of business rules in a separate and modular way.

Alternative Abstract:
Alternative AbstractLanguage

Diese Dissertation beschäftigt sich mit der Verbesserung der Modularizierung von Workflow-Spezifikationen, im Besonderen mit der Formulierung querschneidender Belange (engl. crosscutting concerns) und Workflow-Änderungen in heutigen Workflow-Sprachen und Workflow-Systemen. Zu diesem Zweck werden zwei Workflow-Sprachen betrachtet: eine einfache Graph-basierte Sprache und die BPEL-Sprache für Web Service Komposition. In einem Szenario, das typische Abläufe bei einem Reiseveranstalter nachbildet, wurden mehrere querschneidende Belange mit Hilfe der beiden Beispielsprachen implementiert, wie z. B. Datensammlung für Abrechnung, Messung der Ausführungszeit der Aktivitäten, und Sicherheit. Bei der Untersuchung der resultierenden Workflow-Spezifikationen wurden folgende Probleme beobachtet: Zum einen sind die Workflow-Konstrukte, die einen querschneidenden Belang implementieren, auf die Spezifikationen von mehreren Workflow-Prozessen verstreut (engl. scattering). Diese Konstrukte können nicht in einem separaten Modul, das eine eindeutig-definierte Schnittstelle hat, gekapselt werden. Zum anderen vermischen sich (engl. tangling) die Workflow-Konstrukte, die die Geschäftslogik ausdrücken, mit den Konstrukten, die den querschneidenden Belang implementieren. Das führt zu komplexen Workflow-Spezifikationen, die schwer zu verstehen, zu warten und wiederzuverwenden sind. Darüberhinaus wurde die Formulierung von Workflow-Änderungen in heutigen Workflow-Systemen studiert, wie z. B. das Erweitern eines Urlaubspaketprozesses um die Suche nach einem Mietwagen. Dabei wurden folgende Beobachtungen gemacht: In statischen Workflow-Management Systemen, wie beispielsweise heutige BPEL Workflow-Engines, müssen die Workflow-Konstrukte, die eine Workflow-Änderung implementieren, direkt in die Spezifikationen der betroffenen Prozesse eingebettet werden. Es gibt kein Modulkonzept, um diese Konstrukte zu kapseln und die Änderungen als separate Entitäten erster Klasse auszudrücken. In adaptiven Workflow-Management Systemen, die dynamische Änderungen des Workflows unterstützten, treten ähnliche Modularitätsprobleme auf; Auch diese Systeme bieten kein Modul, um Workflow-Änderungen als separate Entitäten erster Klasse auszudrücken. Dies erschwert das Verständnis und die Verwaltung von Workflow-Änderungen. Die Modularitätsprobleme, die bisher besprochen wurden, sind auf den Mangel an geeigneten Dekompositionsmechanismen in heutigen Workflow-Sprachen zurückzuführen. Um diese Probleme zu lösen, wird eine Belang-basierte Dekomposition von den Workflow-Spezifikationen vorgeschlagen. Diese Dekomposition wird in eine neue Klasse von Workflow-Sprachen eingebaut, die aspektorientierte Workflow-Sprachen genannt werden. Diese Sprachen führen Konzepte aus der aspektorientierten Softwareentwicklung in den Bereichen der Workflow-Modellierung und Workflow-Spezifikation ein. Auf der Workflow-Modellierungsebene wird die bereits erwähnte Graph-basierte Workflow-Sprache um neue Konstrukte erweitert, die aspektorientierte Konzepte wie Pointcut und Advice graphisch darstellen. Diese Erweiterung zeigt die Konzepte aspektorientierter Workflow-Sprachen auf eine einfache und generische Art und Weise. Auf der Workflow-Spezifikationsebene wird besonders auf Join Point Modelle, Pointcut-Sprachen, Advice Sprachen, und Kompositionsmechanismen für aspektorientierte Workflow-Sprachen eingegangen. Zusätzlich wird die aspektorientierte Workflow-Sprache AO4BPEL vorgestellt. Diese Sprache und die zugehörige Workflow-Engine demonstrieren die technische Umsetzbarkeit von aspektorientierten Workflow-Sprachen. Es wird durch mehrere Beispiele gezeigt, wie Workflow-Aspekte im Allgemeinen und AO4BPEL Aspekte speziell eine bessere Modularisierung von querschneidenden Belangen und Workflow-Änderungen ermöglichen. Ausserdem macht AO4BPEL BPEL Prozesse flexibler, weil AO4BPEL Aspekte Prozesse zur Laufzeit ändern können. Um die Vorteile und die Nützlichkeit von aspektorientierten Workflow-Sprachen zu zeigen, werden zwei Anwendungen von AO4BPEL vorgestellt. In der ersten Anwendung wird ein Prozess Container Framework vorgestellt, das BPEL Prozessen Middlewareunterstützung anbietet. In diesem Framework spezifiziert man die nicht-funktionalen Anforderungen der Aktivitäten deklarativ, wie z. B. Sicherheit und Transaktionen. Diese Anforderungen werden dann mit Hilfe eines Prozess-Containers durchgesetzt, der ähnlich funktioniert wie Container in Enterprise Komponenten Modellen. Der Prozess-Container wurde als ein leichtgewichtiger und erweiterbarer Container implementiert, unter Zuhilfenahme von AO4BPEL Aspekten, die automatisch aus dem Deployment-Deskriptor generiert werden. Der Container ruft dann Middleware Web Services auf, um nicht-funktionale Anforderungen umzusetzen. Für die Implementierung dieser Web Services wurden Open-Source Implementierungen von Web Service Spezifikationen erweitert. In der zweiten Anwendung wird eine hybride Vorgehensweise zur Komposition von Web Services vorgeschlagen. Diese Vorgehensweise trennt die Implementierung der Geschäftsregeln von dem BPEL-Prozess, den Prinzipien des Business Rules Approaches entsprechend. Auf der Implementierungsebene, werden AO4BPEL-Aspekte benutzt, um die verschiedenen Typen von Geschäftsregeln modular zu implementieren.

German
Uncontrolled Keywords: Workflow Management, AO4BPEL
Alternative keywords:
Alternative keywordsLanguage
Workflow Management, AO4BPELEnglish
URN: urn:nbn:de:tuda-tuprints-8523
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science
Date Deposited: 17 Oct 2008 09:22
Last Modified: 08 Jul 2020 22:58
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/852
PPN:
Export:
Actions (login required)
View Item View Item