Browsing by Author "Leymann, Frank (Prof. Dr. Dr. h. c.)"
Now showing 1 - 13 of 13
- Results Per Page
- Sort Options
Item Open Access Architectural principles and decision model for Function-as-a-Service(2024) Yussupov, Vladimir; Leymann, Frank (Prof. Dr. Dr. h. c.)Cloud computing revolutionized the way modern applications are designed and operated. Instead of maintaining the on premise infrastructure many enterprises incorporate various cloud offerings when designing their applications to decrease time-to-market and reduce the required management efforts. This includes the use of traditional cloud service models such as IaaS or PaaS as well as novel models such as FaaS that enables engineering cloud applications by composing fine-grained functions hosted on FaaS platforms with a variety of provider-managed services, e.g., data persistence and messaging services. Most management tasks for the components in FaaS-based applications become a responsibility of the chosen cloud provider, which, however, results in a stronger dependence on provider products and their implementation and packaging requirements. Therefore, engineering of FaaS-based applications can benefit from a stronger focus on the architectural considerations instead of specific products that often appear as fast as they become obsolete. This work focuses on different aspects of provider-agnostic design for FaaS-based applications and is inspired by the increased dependence of components in such applications on product-specific requirements. To enable reasoning on component hosting and management requirements in a provider-agnostic manner, this work introduces a pattern language capturing various trade-offs for hosting application components in the cloud. Furthermore, to facilitate classification and selection support for components in FaaS-based applications, this work presents a classification framework for FaaS platforms and introduces a classification framework metamodel that generalizes these concepts for other component types in such applications. Additionally, this work introduces a standards-based modeling approach for specifying function orchestrations and transforming them into provider-specific formats and an automated function code extraction and wrapping approach that aims to facilitate reusing functions for different FaaS platforms. To enable using these contributions together, this thesis also introduces the GRASP method that enables gradual modeling and refinement of FaaS-based applications from abstract topologies to executable deployment models. The technological support for using the GRASP Method is enabled by an integrated GRASP toolchain. To validate the feasibility of the introduced concepts, the GRASP toolchain is implemented prototypically and integrated with the existing tools for pattern-based modeling and deployment of cloud applications.Item Open Access Cloud computing patterns : identification, design, and application(2015) Fehling, Christoph; Leymann, Frank (Prof. Dr. Dr. h. c.)The broad availability of high-speed Internet has reduced the impact of geographic location of hosting environments on the user experience provided by hosted applications. Advancements in hardware and software management have enabled hosting providers to offer such IT resources very flexibly and in an automated fashion. Cloud computing is the business model exploiting this IT evolution. Cloud providers offer numerous IT resources, such as servers, application runtime environments, or complete applications via self-service interfaces to be used by customers over the Internet. As these cloud offerings target a large number of customers, providers may leverage economies of scale. Therefore, cloud offerings are often set up more quickly and with less expense than respective IT resources managed by customers. Especially, cloud resources can commonly be provisioned and decommissioned flexibly, enabling customers to adjust resources to the current demand of their applications within minutes. The impact of these properties of the cloud environment on hosted applications and the resulting challenges have been largely unknown. Provider-supplied documentation and architecture guidelines have been tailored to the specific cloud offerings supported by each provider. The cloud computing patterns covered in this work are interrelated, well-structured documents, capturing proven solutions to recurring problems experienced by IT architects during cloud application architecture design and the associated runtime management. They have been abstracted from technology-specific provider documentation and guidelines, as well as from existing cloud applications. These patterns, therefore, capture abstract architecture concepts to provide technologyindependent and persistent knowledge gained from experience. This work presents the structured identification of the cloud computing patterns, their textual and graphical design to be easily accessible by humans, and a design method for their application. A pattern engineering process governs the research undertaken to obtain these contributions. Architectural properties of clouds and cloud applications structure the domain of cloud computing for pattern identification. A cloud reference application is also introduced. A metamodel of the document structure and organization of patterns describes the design of the cloud computing patterns. Reusable graphical elements and their composition ensure a consistent look and feel of patterns to increase user-friendliness. A design method for cloud applications describes how the cloud computing patterns can be used by IT architects in order to create new cloud applications.Item Open Access Design support for performance- and cost-efficient (re)distribution of cloud applications(2019) Gómez Sáez, Santiago; Leymann, Frank (Prof. Dr. Dr. h. c.)In the last decade the IT landscape has experienced a revolutionary change in both the research and industry domains due to the strong emergence and adoption of cloud providers and services. The increase of available cloud services together with the materialization of DevOps methodologies have forced a change in how software is engineered and operated. Nowadays, organizations can leverage a wide spectrum of cloud services to build, migrate, distribute, and even replace their application components in the cloud. In summary, the transformation of capital into operational expenditures when using private or public clouds has become a reality. The emergence of cloud services, however, brought with it a substantial complexity when designing and running cloud applications. More specifically, cloud environments are intrinsically multi-tenant, where different tenants (or cloud consumers) consume computational, network, and storage resources on an on-demand basis. This type of virtualized environment causes performance to be variable and heterogeneous, therefore having consequences on application costs. When migrating applications to the cloud, this heterogeneity causes architectural decision making to be more complex, mainly due to the limited amount of knowledge about cloud services. This work tackles the aforementioned decision making challenge, by defining and realizing a design decision support framework called SCARF to assist IT organizations to efficiently migrate their applications to the cloud, with a focus on optimizing their cost and performance. In summary, SCARF is a design and decision support framework for \textit{systematically (re)distributing applications in the cloud}. SCARF equips application architects with a design process and tools (i) to model their application architectures, (ii) to automatically discover potential cloud services to (re-)deploy their application components, (iii) to evaluate them with respect to cost and performance, and (iv) to monitor and analyze application costs and performance evolution during runtime. SCARF builds upon existing concepts and techniques in the domain of cloud application topologies, case base reasoning, similarity analysis, and utility theory, in order to simplify the steps for re-engineering and migrating traditional applications to the cloud. The technological support for SCARF, SCARF-T, comprises an integrated tool chain built upon prior standards and reusing existing technologies and tools. The evaluation of SCARF and SCARF-T show a more efficient and simplified decision making process for migrating applications to the cloud, as also shown by the publications supporting this thesis. Overall, SCARF can be considered as a starting point for enabling IT organizations with architectural decision support for migrating their applications to the cloud, with a focus on optimizing the complete spectrum of application non-functional aspects.Item Open Access Gathering solutions and providing APIs for their orchestration to implement continuous software delivery(2017) Wettinger, Johannes; Leymann, Frank (Prof. Dr. Dr. h. c.)In traditional IT environments, it is common for software updates and new releases to take up to several weeks or even months to be eventually available to end users. Therefore, many IT vendors and providers of software products and services face the challenge of delivering updates considerably more frequently. This is because users, customers, and other stakeholders expect accelerated feedback loops and significantly faster responses to changing demands and issues that arise. Thus, taking this challenge seriously is of utmost economic importance for IT organizations if they wish to remain competitive. Continuous software delivery is an emerging paradigm adopted by an increasing number of organizations in order to address this challenge. It aims to drastically shorten release cycles while ensuring the delivery of high-quality software. Adopting continuous delivery essentially means to make it economical to constantly deliver changes in small batches. Infrequent high-risk releases with lots of accumulated changes are thereby replaced by a continuous stream of small and low-risk updates. To gain from the benefits of continuous delivery, a high degree of automation is required. This is technically achieved by implementing continuous delivery pipelines consisting of different application-specific stages (build, test, production, etc.) to automate most parts of the application delivery process. Each stage relies on a corresponding application environment such as a build environment or production environment. This work presents concepts and approaches to implement continuous delivery pipelines based on systematically gathered solutions to be used and orchestrated as building blocks of application environments. Initially, the presented Gather'n'Deliver method is centered around a shared knowledge base to provide the foundation for gathering, utilizing, and orchestrating diverse solutions such as deployment scripts, configuration definitions, and Cloud services. Several classification dimensions and taxonomies are discussed in order to facilitate a systematic categorization of solutions, in addition to expressing application environment requirements that are satisfied by those solutions. The presented GatherBase framework enables the collaborative and automated gathering of solutions through solution repositories. These repositories are the foundation for building diverse knowledge base variants that provide fine-grained query mechanisms to find and retrieve solutions, for example, to be used as building blocks of specific application environments. Combining and integrating diverse solutions at runtime is achieved by orchestrating their APIs. Since some solutions such as lower-level executable artifacts (deployment scripts, configuration definitions, etc.) do not immediately provide their functionality through APIs, additional APIs need to be supplied. This issue is addressed by different approaches, such as the presented Any2API framework that is intended to generate individual APIs for such artifacts. An integrated architecture in conjunction with corresponding prototype implementations aims to demonstrate the technical feasibility of the presented approaches. Finally, various validation scenarios evaluate the approaches within the scope of continuous delivery and application environments and even beyond.Item Open Access KPI-related monitoring, analysis, and adaptation of business processes(2016) Wetzstein, Branimir; Leymann, Frank (Prof. Dr. Dr. h. c.)In today's companies, business processes are increasingly supported by IT systems. They can be implemented as service orchestrations, for example in WS-BPEL, running on Business Process Management (BPM) systems. A service orchestration implements a business process by orchestrating a set of services. These services can be arbitrary IT functionality, human tasks, or again service orchestrations. Often, these business processes are implemented as part of business-to-business collaborations spanning several participating organizations. Service choreographies focus on modeling how processes of different participants interact in such collaborations. An important aspect in BPM is performance management. Performance is measured in terms of Key Performance Indicators (KPIs), which reflect the achievement towards business goals. KPIs are based on domain-specific metrics typically reflecting the time, cost, and quality dimensions. Dealing with KPIs involves several phases, namely monitoring, analysis, and adaptation. In a first step, KPIs have to be monitored in order to evaluate the current process performance. In case monitoring shows negative results, there is a need for analyzing and understanding the reasons why KPI targets are not reached. Finally, after identifying the influential factors of KPIs, the processes have to be adapted in order to improve the performance. %The goal thereby is to enable these phases in an automated manner. This thesis presents an approach how KPIs can be monitored, analyzed, and used for adaptation of processes. The concrete contributions of this thesis are: (i) an approach for monitoring of processes and their KPIs in service choreographies; (ii) a KPI dependency analysis approach based on classification learning which enables explaining how KPIs depend on a set of influential factors; (iii) a runtime adaptation approach which combines monitoring and KPI analysis in order to enable proactive adaptation of processes for improving the KPI performance; (iv) a prototypical implementation and experiment-based evaluation.Item Open Access Die MarieQurie-Methode zur Empfehlung von Quantenressourcen(2024) Salm, Marie; Leymann, Frank (Prof. Dr. Dr. h. c.)Heutige Quantencomputer unterliegen hohen Fehlerraten, wodurch ihr Einsatz zur Lösung realer Probleme noch eingeschränkt ist. Dennoch findet Quantencomputing in immer mehr Bereichen Anklang, wodurch der praktische Nutzen in verschiedenen Anwendungsszenarien getestet wird. Ebenso steigt die Zahl verschiedener Hardwareanbieter und deren Angebot an zur Verfügung stehender Quantencomputer. Aufgrund fehlender Standards besteht eine Heterogenität der Softwareprodukte und Schnittstellen zur Programmierung von Quantencomputern, welches die Entwicklung und Ausführung von Quantenalgorithmen erschwert. Fehlt Nutzenden zudem die nötige Expertise im Quantencomputing, bildet außerdem die Selektion eines geeigneten Quantencomputers für die Ausführung große Schwierigkeiten. Um den genannten Schwierigkeiten entgegenzutreten, stellt diese Arbeit die MarieQurie-Methode zur automatisierten Empfehlung von Quantencomputern, Quantenalgorithmenimplementierungen, Quantenschaltkreisen und Quantencompilern, im Folgenden Quantenressourcen genannt, vor. Die Methode selektiert zunächst Implementierungen für gewählte Quantenalgorithmen. Für die Ausführung von Quantenschaltkreisen, die von den Implementierungen basierend auf zu lösenden Probleminstanzen erzeugt werden, ordnet die MarieQurie-Methode geeignete Quantencompiler und -computer diesen nach den Anforderungen der Nutzenden zu. Die Selektion der Quantenressourcen basiert auf Vorhersagen maschinell lernender Algorithmen anhand historischer Ausführungen. Um die Softwareheterogenität zu lösen, wendet die MarieQurie-Methode ein Übersetzungsverfahren an, sodass die Quantenschaltkreise mit diversen Quantencompilern und -computer kompatibel sind. Bei der Untersuchung der Ausführbarkeit von Quantenschaltkreisen bezüglich Fehlern, die bei der Ausführung auftreten können, werden verschiedene Arten der Initialisierung von Probleminstanzen für Quantencomputer präsentiert, welche die ausführbarkeitsbeeinflussende Größe der Quantenschaltkreise mitbestimmen. Aufgrund der zusätzlich größenverändernden Kompilierung der Quantenschaltkreise mit den gewählten Quantencompilern bestimmt die MarieQurie-Methode deren Ausführbarkeit anhand der resultierenden Kompilationen unter Berücksichtigung aktueller Quantencomputermetrikwerte. Bei mehreren ausführbaren Kompilationen werden präferenzbasierte Priorisierungsmechanismen angewendet, um den Nutzenden bei der Wahl geeigneter Kompilationen für die Ausführung zu unterstützen. Für die automatisierte Umsetzung der MarieQurie-Methode wird die Architektur des MarieQurie-Frameworks sowie eine prototypische Implementierung dessen vorgestellt. Das Framework wird mit diversen Experimenten sowie Testpersoneninterviews evaluiert.Item Open Access Eine Methode zum Verteilen, Adaptieren und Deployment partnerübergreifender Anwendungen(2022) Wild, Karoline; Leymann, Frank (Prof. Dr. Dr. h. c.)Ein wesentlicher Aspekt einer effektiven Kollaboration innerhalb von Organisationen, aber vor allem organisationsübergreifend, ist die Integration und Automatisierung der Prozesse. Dazu zählt auch die Bereitstellung von Anwendungssystemen, deren Komponenten von unterschiedlichen Partnern, das heißt Abteilungen oder Unternehmen, bereitgestellt und verwaltet werden. Die dadurch entstehende verteilte, dezentral verwaltete Umgebung bedarf neuer Konzepte zur Bereitstellung. Die Autonomie der Partner und die Verteilung der Komponenten führen dabei zu neuen Herausforderungen. Zum einen müssen partnerübergreifende Kommunikationsbeziehungen realisiert und zum anderen muss das automatisierte dezentrale Deployment ermöglicht werden. Eine Vielzahl von Technologien wurde in den letzten Jahren entwickelt, die alle Schritte von der Modellierung bis zur Bereitstellung und dem Management zur Laufzeit einer Anwendung abdecken. Diese Technologien basieren jedoch auf einer zentralisierten Koordination des Deployments, wodurch die Autonomie der Partner eingeschränkt ist. Auch fehlen Konzepte zur Identifikation von Problemen, die aus der Verteilung von Anwendungskomponenten resultieren und die Funktionsfähigkeit der Anwendung einschränken. Dies betrifft speziell die partnerübergreifenden Kommunikationsbeziehungen. Um diese Herausforderungen zu lösen, stellt diese Arbeit die DivA-Methode zum Verteilen, Adaptieren und Deployment partnerübergreifender Anwendungen vor. Die Methode vereinigt die globalen und lokalen Partneraktivitäten, die zur Bereitstellung partnerübergreifender Anwendungen benötigt werden. Dabei setzt die Methode auf dem deklarativen Essential Deployment Meta Model (EDMM) auf und ermöglicht damit die Einführung deploymenttechnologieunabhängiger Modellierungskonzepte zur Verteilung von Anwendungskomponenten sowie zur Modellanalyse und -adaption. Das Split-and-Match-Verfahren wird für die Verteilung von Anwendungskomponenten basierend auf festgelegten Zielumgebungen und zur Selektion kompatibler Cloud-Dienste vorgestellt. Für die Ausführung des Deployments können EDMM-Modelle in unterschiedliche Technologien transformiert werden. Um die Bereitstellung komplett dezentral durchzuführen, werden deklarative und imperative Technologien kombiniert und basierend auf den deklarativen EDMM-Modellen Workflows generiert, die die Aktivitäten zur Bereitstellung und zum Datenaustausch mit anderen Partnern zur Realisierung partnerübergreifender Kommunikationsbeziehungen orchestrieren. Diese Workflows formen implizit eine Deployment-Choreographie. Für die Modellanalyse und -adaption wird als Kern dieser Arbeit ein zweistufiges musterbasiertes Verfahren zur Problemerkennung und Modelladaption eingeführt. Dafür werden aus den textuellen Musterbeschreibungen die Problem- und Kontextdefinition analysiert und formalisiert, um die automatisierte Identifikation von Problemen in EDMM-Modellen zu ermöglichen. Besonderer Fokus liegt dabei auf Problemen, die durch die Verteilung der Komponenten entstehen und die Realisierung von Kommunikationsbeziehungen verhindern. Das gleiche Verfahren wird auch für die Selektion geeigneter konkreter Lösungsimplementierungen zur Behebung der Probleme angewendet. Zusätzlich wird ein Ansatz zur Selektion von Kommunikationstreibern abhängig von der verwendeten Integrations-Middleware vorgestellt, wodurch die Portabilität von Anwendungskomponenten verbessert werden kann. Die in dieser Arbeit vorgestellten Konzepte werden durch das DivA-Werkzeug automatisiert. Zur Validierung wird das Werkzeug prototypisch implementiert und in bestehende Systeme zur Modellierung und Ausführung des Deployments von Anwendungssystemen integriert.Item Open Access Modellbasiertes Management von Anwendungen(2023) Harzenetter, Lukas; Leymann, Frank (Prof. Dr. Dr. h. c.)Cloud-Anwendungen bestehen meist aus zahlreichen verschiedenen Komponenten, die zusammen die Funktionalität einer Anwendung umsetzen. Der Betrieb einer solchen Cloud-Anwendung umfasst dabei nicht nur die Bereitstellung der Anwendung, sondern auch ihr Management zur Laufzeit sowie ihre Außerbetriebnahme. Durch Deployment-Technologien lassen sich die Komponenten einer Cloud-Anwendung automatisiert und reproduzierbar bereitstellen sowie außer Betrieb nehmen. Dabei wird meist ein Deployment-Modell verwendet, welches den Zielzustand der Anwendung beschreibt und das von der entsprechenden Deployment-Technologie verarbeitet wird. Allerdings ist für das Erstellen eines Deployment-Modells Expertenwissen über die in der Anwendung verwendeten Komponenten und Technologien erforderlich, zum Beispiel welche Komponenten zusammenarbeiten können und welche Technologien sich gegenseitig ausschließen. Des Weiteren ist das Management ein zentraler Bestandteil einer sich im Betrieb befindlichen Anwendung. Wie auch für die Bereitstellung wird für das Management einer Anwendung Expertenwissen über die eingesetzten Komponenten und Technologien benötigt. Dabei können die Komponenten der Anwendung über mehrere Cloud-Anbieter und in-Haus-Lösungen verteilt sein und steigern somit die Komplexität dieser Aufgabe. Aktuelle Arbeiten und Deployment-Technologien unterstützten das automatisierte Management von verteilten Anwendungskomponenten jedoch kaum. Da die Komponenten einer Anwendung darüber hinaus meist von mehreren interdisziplinären Teams entwickelt werden, werden zudem unterschiedliche Deployment-Technologien für einzelne Komponenten eingesetzt. Dies erschwert das ganzheitliche Management einer Anwendung zusätzlich. In der vorliegenden Dissertation werden diese Herausforderungen angegangen, indem eine Methode vorgestellt wird, mit der (i) Anwendungen modelliert werden können, ohne dass Expertenwissen über Komponenten, Technologien und deren Konfigurationen benötigt wird. Anstelle der konkreten Komponenten und Technologien können Deployment-Modelle mit Muster modelliert werden, die abstrakte Lösungen zu wiederkehrenden Problemen beschreiben. Anschließend werden die Muster in einem solchen musterbasierten Deployment-Modell automatisiert zu passenden Komponenten und Technologien verfeinert. Bevor eine Anwendung im nächsten Schritt automatisiert bereitgestellt wird, kann das nun ausführbare Deployment-Modell (ii) automatisiert um zusätzliche Managementfunktionalitäten erweitert werden. Diese können zur Laufzeit der Anwendung ausgeführt werden und unterstützen sowohl verteilte Multi-Cloud-Anwendungen als auch Anwendungen, die mit mehreren Deployment-Technologien bereitgestellt werden. Zum Beispiel wird ein Managementkonzept eingeführt, das (iii) Anwendungen im aktuellen Zustand außer Betrieb nehmen und im selben Zustand wieder bereitstellen kann. Neben neu modellierten Anwendungen können die in dieser Arbeit vorgestellten Konzepte auch (iv) auf bereits laufende Anwendungen übertragen und angewendet werden. Die Umsetzbarkeit der Konzepte wird durch einen Open-Source Prototyp gezeigt.Item Open Access Eine musterbasierte Methode zur Automatisierung des Anwendungsmanagements(2016) Breitenbücher, Uwe; Leymann, Frank (Prof. Dr. Dr. h. c.)Das Management laufender Geschäftsanwendungen gehört zu den kritischen Vorgängen des IT-Betriebs, da Unachtsamkeiten zu fehlerhaften Anwendungszuständen und zum Ausfall ganzer Anwendungslandschaften führen können. Speziell die manuelle Managementdurchführung birgt aufgrund zunehmend unüberschaubarer Anwendungsstrukturen, unbekannter Abhängigkeiten zwischen Komponenten, unzureichender Dokumentation sowie komplexer Managementwerkzeuge ein stetig größer werdendes wirtschaftliches Risiko. Aus diesem Grund wurden in den vergangenen Jahren neue Paradigmen und eine große Anzahl an Technologien zur Automatisierung des Anwendungsmanagements entwickelt. Die zunehmende Komplexität von Architekturen durch verteilte Systeme, Virtualisierung von Komponenten, Cloud Computing und dem aufkommenden Internet der Dinge erfordert jedoch immer häufiger die Kombination mehrerer dieser Managementtechnologien, um übergeordnete Managementziele bezüglich eines komplexen IT-Systems umzusetzen. Dabei treten sowohl (i) konzeptionelle als auch (ii) technische Fragestellungen auf, die von unterschiedlichen Expertengruppen in Kollaboration analysiert und gelöst werden müssen. Die Integration dieser beiden Abstraktionsebenen stellt dabei eine grundlegende Herausforderung dar, die im gegenwärtigen Anwendungsmanagement aufgrund fehlender durchgängiger Automatisierungsmöglichkeiten zumeist unter hohem Aufwand individuell angenommen werden muss. Um diese Automatisierungslücke zwischen den beiden Abstraktionsebenen zu schließen, stellt diese Arbeit eine hybride, musterbasierte Managementmethode namens PALMA vor. Die Methode kombiniert das deklarative mit dem imperativen Managementparadigma und ermöglicht dadurch die automatisierte Anwendung generischer Managementmuster. Häufig auftretende Managementprobleme, wie beispielsweise die Migration einer Anwendungskomponente in eine Cloud-Umgebung unter Wahrung deren Verfügbarkeit, können mittels automatisierten Managementmustern effizient für individuelle Anwendungen gelöst und die zugehörigen Prozesse automatisiert ausgeführt werden. Die Methode unterstützt die Kollaboration von Experten und kann manuell, semi-automatisiert sowie vollständig automatisiert angewendet werden. Zur Umsetzung der Methode wird eine deklarative Sprache namens DMMN vorgestellt, welche die Modellierung von Managementaufgaben auf hoher deklarativer Abstraktionsebene unter Ausblendung technischer Ausführungsdetails ermöglicht. Bei der automatisierten Ausführung von Managementmustern werden deklarative Managementmodelle in dieser Sprache generiert, welche die jeweilige Musterlösung für die betroffene Anwendung in Form der auszuführenden Managementaufgaben abstrakt spezifizieren. Zu deren Ausführung wird ein Transformationsverfahren vorgestellt, das deklarative Managementmodelle in ausführbare, imperative Prozessmodelle übersetzt. Die Generierung dieser Prozessmodelle basiert dabei auf der Orchestrierung wiederverwendbarer Managementbausteine, die in Form von Subprozessen modelliert sind und als Management-Planlets bezeichnet werden. Durch diese Transformation werden die Stärken beider Paradigmen vereint und umfangreiches Management komplexer IT-Systeme ermöglicht. Zudem wird ein musterbasiertes Verfahren vorgestellt, mithilfe dessen Managementaufgaben in deklarativen Managementmodellen automatisch auf Probleme analysiert und diesbezüglich korrigiert werden können. Dadurch wird die Korrektheit der Durchführung gewährleistet und der Systemadministrator bei der Modellierung der Modelle unterstützt. Die in dieser Arbeit vorgestellten Konzepte werden im Rahmen des sogenannten PALMA-Frameworks prototypisch implementiert, um die praktische Umsetzbarkeit der theoretischen Konzepte und Ansätze zu validieren.Item Open Access Partnerübergreifende Geschäftsprozesse und ihre Realisierung in BPEL(2016) Kopp, Oliver; Leymann, Frank (Prof. Dr. Dr. h. c.)Diese Arbeit beschäftigt sich mit Geschäftsprozessen, die die Grenzen von Organisationen überspannen. Solche Geschäftsprozesse werden Choreographien genannt. In der Arbeit wird die CREAM-Methode vorgestellt, die zeigt, wie Choreographien modelliert werden können. Im Gegensatz zu Choreographien bezeichnen Orchestrierungen ausführbare Geschäftsprozesse einer einzelnen Organisation, die Dienste nutzen, um ein Geschäftsziel zu erreichen. Eine Variante der CREAM-Methode erlaubt, von einer Orchestrierung durch Aufteilung der Orchestrierung eine Choreographie zu erhalten. Um hierbei die impliziten orchestrierungsinternen Datenabhängigkeiten in Nachrichtenaustausche zu transformieren, wird der explizite Datenfluss der Orchestrierung benötigt. Die Web Services Business Process Execution Language (BPEL) ist eine verbreitete Sprache zur Modellierung von Geschäftsprozessen. In ihr wird der Datenfluss implizit modelliert und somit wird ein Verfahren benötigt, das den expliziten Datenfluss bestimmt. In dieser Arbeit wird ein solches Verfahren vorgestellt. Um eine Choreographie zu modellieren, wird eine Choreographiesprache benötigt. Zur Identifikation einer geeigneten Sprache werden in dieser Arbeit Kriterien zur Evaluation von Choreographiesprachen vorgestellt und damit Choreographiesprachen im Web-Service-Umfeld bewertet. Da keine der betrachteten Sprachen alle Kriterien erfüllt, wird die Sprache BPEL4Chor vorgestellt, die alle Kriterien erfüllt. Um die wohldefinierte Ausführungssemantik von BPEL wiederzuverwenden, verwendet BPEL4Chor die Sprache BPEL als Beschreibungssprache des Verhaltens jedes Teilnehmers in der Choreographie. BPEL4Chor verwendet analog zu BPEL XML als Serialisierungsformat und spezifiziert keine eigene graphische Repräsentation. Die Business Process Modeling Notation (BPMN) ist der de-facto Standard, um Geschäftsprozesse graphisch darzustellen. Deshalb wird in dieser Arbeit BPMN so erweitert, dass alle in BPEL4Chor verfügbaren Konstrukte mittels BPMN modelliert werden können.Item Open Access Shipping von Funktionen und Daten in heterogenen IT-Umgebungen(2023) Zimmermann, Michael; Leymann, Frank (Prof. Dr. Dr. h. c.)Die Analyse von generierten und gesammelten Daten ist ein wichtiger Erfolgsfaktor für moderne Unternehmen. Mittels Datenanalysen können beispielsweise Muster identifiziert sowie allgemein neue Erkenntnisse gewonnen werden. Daraus folgend können unter anderem Geschäftsprozesse optimiert, Kosten reduziert oder die Produktivität erhöht werden. Hierzu müssen zunächst geeignete Anwendungen zur Analyse der Daten entwickelt werden und weiterhin diese Anwendungen mit den zu analysierenden Daten zusammengebracht werden. Aufgrund der fortschreitenden Entwicklungen und dem Wachstum im Bereich Internet of Things (IoT) sowie der damit zunehmenden Vernetzung physischer Objekte steigt die Menge an generierten und verfügbaren Daten allerdings kontinuierlich an. Das Bedürfnis einer hohen Datenlokalität rückt dadurch in den Fokus und das Finden von geeigneten Umgebungen zur Ausführung der Analyselogik wird zu einer wichtigen und komplexen Aufgabe. Nicht nur stehen zur Datenverarbeitung verschiedene Computing-Paradigmen wie Cloud, Fog und Edge zur Verfügung, sondern es müssen zudem verschiedene Aspekte hierbei betrachtet werden. Unter anderem müssen Anforderungen hinsichtlich der benötigten Leistung in der Ausführungsumgebung sowie Sicherheitsanforderungen, zum Beispiel bezüglich des Datenschutzes, erfüllt werden. Zum anderen müssen Faktoren wie die Datenmengen der einzelnen zu analysierenden Datensätze, die aktuellen Lokalitäten dieser Datensätze, die komponentenbasierte Struktur der Anwendung sowie der Datenfluss der Anwendung berücksichtigt werden. Diese Arbeit stellt daher eine Methode sowie verschiedene Konzepte vor, um den Nutzer systematisch über den Lebenszyklus einer komponentenbasierten, datenverarbeitenden Anwendung hinweg, bei der Modellierung, Implementierung, Gruppierung, Platzierung und Bereitstellung der Anwendung zu unterstützen. Als Grundlage hierfür wird die sogenannte Shipping-Methode in dieser Arbeit eingeführt. Diese ermöglicht die Kollaboration verschiedener Experten und das Wiederverwenden von Expertenwissen. Weiterhin können Schritte der Methode sowohl manuell, semi-automatisiert als auch vollständig automatisiert durchgeführt werden. Die Methode basiert auf der deklarativen Modellierungssprache D3M, welche ebenfalls vorgestellt wird. D3M ermöglicht neben der reinen Modellierung einer klassischen Anwendungstopologie, auch die Modellierung von zusätzlichen Informationen, die für die Gruppierung und Platzierung der Anwendungen benötigt werden. Dazu gehören beispielsweise Informationen über die einzelnen zu verarbeitenden Datensätze und den Datenfluss innerhalb der Anwendung. Zur Vereinfachung kann ein solches D3M-Modell weiterhin auch aus einem Datenflussmodell generiert und die benötigten Informationen automatisiert daraus abgeleitet werden. Um die Implementierung von verteilbaren und interagierenden Komponenten eines D3M-Modells zu unterstützen, wird ein Programmiermodell vorgestellt, das mittels der Generierung von verschiedenen Code-Fragmenten den Endpunktaustausch und die Kommunikation zwischen diesen Komponenten abstrahiert. Um eine sichere und datenschutzkonforme Platzierung der Anwendungskomponenten sowie Verarbeitung der Daten gewährleisten zu können, wird ein Konzept zur Modellierung von wiederverwendbaren Sicherheitsrichtlinien sowie ein automatisiertes Verfahren zur Kontrolle und Einhaltung dieser Richtlinien eingeführt. Zur Validierung der praktischen Umsetzbarkeit der im Rahmen dieser Arbeit vorgestellten Konzepte wird weiterhin die Gesamtarchitektur eines entsprechenden Frameworks zur Realisierung der Shipping-Methode präsentiert. Darüber hinaus werden die hierzu angefertigten prototypischen Implementierungen vorgestellt und die Wiederverwendung der Konzepte und Prototypen in anderen Arbeiten und Projekten diskutiert.Item Open Access Transparent data exchange in service choreographies : an eScience perspective(2023) Hahn, Michael; Leymann, Frank (Prof. Dr. Dr. h. c.)This work is motivated by the increasing importance and business value of data in the fields of business process management, scientific workflows as a field in eScience, and Internet of Things, all of which profiting fromthe recent advances in data science and Big data. Although service choreographies provide means to specify complex conversations betweenmultiple interacting parties from a global perspective and in a technology-agnostic manner, they do not fully reflect the current paradigm shift towards data-awareness at the moment. Therefore, the focus of this work is on tackling respective shortcomings. These include the missing modeling support for data flow across participant boundaries or specifying a choreography data model as a contract on the business data relevant to realize the collaboration and all interacting parties agree on. Towards this goal, we introduce a choreography management life cycle that assigns data its deserved primary role in service choreographies as well as defines the functions and artifacts necessary for enabling transparent and efficient data exchange among choreography participants. To implement the introduced life cycle we present the notion of data-aware choreographies through our concepts for Transparent Data Exchange (TraDE) by introducing cross-partner data objects and cross-partner data flows as means to increase runtime flexibility while reducing the complexity of modeling data flows in service choreographies. The TraDE concepts focus on decoupling the data flow, data exchange and management, from the control flow in service compositions and choreographies. To provide an end-to-end support for the modeling and execution of data-aware choreographies and supporting the respective phases of the choreography management life cycle, we introduce and prototypically implement an overall TraDE ecosystem. This ecosystem comprises a modeling environment for data-aware choreographies as well as the required runtime environment to execute such data-aware choreographies through a new TraDE Middleware and its integration to corresponding Business Process Engines (BPEs). The inherent goal of this work is to simplify the modeling of data and its exchange in choreography models while increasing their runtime flexibility and enabling the transparent exchange and transformation of data during choreography execution.Item Open Access Workload mix definition for benchmarking BPMN 2.0 Workflow Management Systems(2017) Skouradaki, Marigianna; Leymann, Frank (Prof. Dr. Dr. h. c.)Nowadays, enterprises broadly use Workflow Management Systems (WfMSs) to design, deploy, execute, monitor and analyse their automated business processes. Through the years, WfMSs evolved into platforms that deliver complex service oriented applications. In this regard, they need to satisfy enterprise-grade performance requirements, such as dependability and scalability. With the ever-growing number of WfMSs that are currently available in the market, companies are called to choose which product is optimal for their requirements and business models. Benchmarking is an established practice used to compare alternative products and leverages the continuous improvement of technology by setting a clear target in measuring and assessing performance. In particular, for service oriented WfMSs there is not yet a widely accepted standard benchmark available, even if workflow modelling languages such as Web Services Business Process Execution Language (WS-BPEL) and Business Process Model and Notation 2.0 (BPMN 2.0) have been adopted as the de-facto standards. A possible explanation on this deficiency can be given by the inherent architectural complexity of WfMSs and the very large number of parameters affecting their performance. However, the need for a standard benchmark for WfMSs is frequently affirmed by the literature. The goal of the BenchFlow approach is to propose a framework towards the first standard benchmark forassessing and comparing the performance of BPMN 2.0 WfMSs. To this end, the approach addresses a set of challenges spanning from logistic challenges, that are related to the collection of a representative set of usage scenarios,to technical challenges, that concern the specific characteristics of a WfMS. This work focuses on a subset of these challenges dealing with the definition of a representative set of process models and corresponding data that will be given as an input to the benchmark. This set of representative process models and corresponding data are referred to as the workload mix of the benchmark. More particularly, we first prepare the theoretical background for defining a representative workload mix. This is accomplished through identification of the basic components of a workload model for WfMS benchmarks, as well as the investigation of the impact of the BPMN 2.0 language constructs to the WfMS’s performance, by means of introducing the first BPMN 2.0 micro-benchmark. We proceed by collecting real-world process models for the identification of a representative workload mix. Therefore, the collection is analysed with respect to its statistical characteristics and also with a novel algorithm that detects and extracts the reoccurring structural patterns of the collection.The extracted reoccurring structures are then used for generating synthetic process models that reflect the essence of the original collection.The introduced methods are brought together in a tool chain that supports the workload mix generation. As a final step, we applied the proposed methods on a real-world case study, that bases on a collection of thousands of real-world process models and generates a representative workload mix to be used in a benchmark. The results show that the generated workload mix is successful in its application for stressing the WfMSs under test.