36 research outputs found

    Towards a Unified Formal Model for Service Orchestration and Choreography

    Get PDF
    National audienceThe growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborate to realize the global contract

    Modeling and verification of web service composition based interorganizational workflows

    Get PDF
    Interorganisationale Workflows sind Arbeitsabläufe, welche die Grenzen einer Organisation verlassen und einen Rahmen für Kooperationen der verschiedenen autonomen Organisationen zur Verfügung stellen. Ein wichtiger Punkt für den Entwurf solcher Workflows ist die Balance zwischen Offenheit und Abgrenzung, wobei erstere für Kooperationen und letztere die für den Schutz von Know-how benötigt wird. Workflow Sichten stellen ein effizientes Werkzeug für diesen Zweck zur Verfügung. Durch Offenlegung von bestimmten Teilen eines Prozesses, können Organisationen sowohl kooperieren als auch das Know-how schützen. Diese Dissertation präsentiert nun eine Methode für die korrekte Konstruktion von Workflow Sichten. Es wird angenommen, dass Organisationen Web Service orientierte Technologien zur Modellierung und Implementierung von interorganisationalen Workflows verwenden. Die Anwendung von Web Services bietet Organisationen viele Vorteile. Den eigentlichen Mehrwert von Web Services stellt aber die Kompositionsfähigkeit dar. Verfügbare Web Services können dadurch von anderen Choreographien und Orchestrationen (wieder-)verwendet werden. Die Notwendigkeit der Implementierung von Systemen von Null weg kann minimiert werden. Die zentralen Anforderungen sind einerseits eine Architektur mit adäquatem Potential, andererseits die Verifikation der Korrektheit. Diese Dissertation präsentiert nun eine Architektur zur Modellierung von Web Service Composition basierten interorganisationalen Workflows, genannt föderierte Choreographien, die verglichen mit anderen Architekturen verschiedene Vorteile anbieten. Darüber hinaus werden Algorithmen und Techniken zur Verifikation der strukturellen und temporalen Korrektheit vorgestellt. Strukturelle Korrektheit prüft, ob die Strukturen der beteiligten Prozesse zusammenpassen. Temporale Korrektheit überprüft, ob ein interorganisationaler Workflow, der aus mehreren Choreographien und Orchestrationen besteht hinsichtlich der lokalen und globalen Bedingungen fehlerfrei ist. Mit Hilfe dieser Techniken kann die strukturelle und temporale Konformität des Modells zur Designzeit überprüft werden. Falls das Modell nicht strukturell oder temporal konform ist, können nötige Änderungen durchgeführt werden, sodass die korrekte Ausführung zur Laufzeit garantiert werden kann. Die Überprüfung der Konformität zur Designzeit reduziert die Prozesskosten vor allem wegen den folgenden zwei Gründen: Erstens, die entdeckten Fehler zur Designzeit sind normalerweise billiger als jene, die zur Laufzeit entdeckt werden und zweitens, Fehlerbehandlungsmechanismen können verhindert werden, die wiederum Zusatzkosten verursachen. Zusätzlich zu der vorgestellten Architektur wird eine allgemeinere Architektur zusammen mit den passenden Konformitätsprüfungsalgorithmen präsentiert. Der Ansatz ist Platform- und sprachunabhängig und die Algorithmen sind verteilt.Interorganizational workflows are workflows that cross the boundaries of a single organization and provide a framework for cooperation of different autonomous organizations. An important issue when designing such workflows is the balance between the openness needed for cooperation and the privacy needed for protection of business know-how. Workflow views provide an efficient tool for this aim. By exposure of only selected parts of a process, organizations can both cooperate and protect their business logic. This dissertation presents a technique for a correct construction of workflow views. It is assumed that organizations and partners use web services and web service related technology to model and implement interorganizational workflows. Application of web services offers several advantages for organizations. The real surplus of web services is their capability of being composed to more complex systems. Available web services can be reused by other choreographies and orchestrations and the need for development of new systems from scratch can be minimized. The essential requirements are on the one hand an architecture with adequate capabilities and on the other hand, verification of correctness. This dissertation proposes an architecture for modeling web service composition based interorganizational workflows, called \emph{federated choreographies}, that provides several advantages compared to existing proposals. Moreover, algorithms and techniques for verification of structural and temporal correctness of interorganizational workflows are proposed. Structural conformance checks if the structures of the involved processes match. Temporal conformance checks if an interorganizational workflow composed of choreographies and orchestrations is temporally error-free with respect to local and global temporal constraints. The proposed algorithms can be applied for checking the structural and temporal conformance of the federated choreographies at design-time. If the model is not structurally or temporally conformant, necessary modifications can be done such that the correct execution of the flow at run-time can be guaranteed. The conformance checking at design time reduces the cost of process because of two reasons: first, errors detected at design time are normally cheaper than those detected at run time and second, exception handling mechanisms can be avoided which are, in turn, coupled with additional costs. In addition to the proposed architecture, a more general architecture together with the conformance checking algorithms and techniques for interorganizational workflows are presented. The presented approach is language and platform independent and algorithms work in a distributed manner

    Web service composition: A survey of techniques and tools

    Get PDF
    Web services are a consolidated reality of the modern Web with tremendous, increasing impact on everyday computing tasks. They turned the Web into the largest, most accepted, and most vivid distributed computing platform ever. Yet, the use and integration of Web services into composite services or applications, which is a highly sensible and conceptually non-trivial task, is still not unleashing its full magnitude of power. A consolidated analysis framework that advances the fundamental understanding of Web service composition building blocks in terms of concepts, models, languages, productivity support techniques, and tools is required. This framework is necessary to enable effective exploration, understanding, assessing, comparing, and selecting service composition models, languages, techniques, platforms, and tools. This article establishes such a framework and reviews the state of the art in service composition from an unprecedented, holistic perspective

    The CHORCH Approach: How to Model B2Bi Choreographies for Orchestration Execution

    Get PDF
    The establishment and implementation of cross-organizational business processes is an implication of today's market pressure for efficiency gains. In this context, Business-To-Business integration (B2Bi) focuses on the information integration aspects of business processes. A core task of B2Bi is providing adequate models that capture the message exchanges between integration partners. Following the terminology used in the SOA domain, such models will be called choreographies in the context of this work. Despite the enormous economic importance of B2Bi, existing choreography languages fall short of fulfilling all relevant requirements of B2Bi scenarios. Dedicated B2Bi choreography standards allow for inconsistent outcomes of basic interactions and do not provide unambiguous semantics for advanced interaction models. In contrast to this, more formal or technical choreography languages may provide unambiguous modeling semantics, but do not offer B2Bi domain concepts or an adequate level of abstraction. Defining valid and complete B2Bi choreography models becomes a challenging task in the face of these shortcomings. At the same time, invalid or underspecified choreography definitions are particularly costly considering the organizational setting of B2Bi scenarios. Models are not only needed to bridge the typical gap between business and IT, but also as negotiation means among the business users of the integration partners on the one hand and among the IT experts of the integration partners on the other. Misunderstandings between any two negotiation partners potentially affect the agreements between all other negotiation partners. The CHORCH approach offers tailored support for B2Bi by combining the strengths of both dedicated B2Bi standards and formal rigor. As choreography specification format, the ebXML Business Process Specification Schema (ebBP) standard is used. ebBP provides dedicated B2Bi domain concepts such as so-called BusinessTransactions (BTs) that abstractly specify the exchange of a request business document and an optional response business document. In addition, ebBP provides a format for specifying the sequence of BT executions for capturing complex interaction scenarios. CHORCH improves the offering of ebBP in several ways. Firstly, the execution model of BTs which allows for inconsistent outcomes among the integration partners is redefined such that only consistent outcomes are possible. Secondly, two binary choreography styles are defined as B2Bi implementation contract format in order to streamline implementation projects. Both choreography styles are formalized and provided with a formal execution semantics for ensuring unambiguity. In addition, validity criteria are defined that ensure implementability using BPEL-based orchestrations. Thirdly, the analysis of the synchronization dependencies of complex B2Bi scenarios is supported by means of a multi-party choreography style combined with an analysis framework. This choreography style also is formalized and standard state machine semantics are reused in order to ensure unambiguity. Moreover, validity criteria are defined that allow for analyzing corresponding models for typical multi-party choreography issues. Altogether, CHORCH provides choreography styles that are B2Bi adequate, simple, unambiguous, and implementable. The choreography styles are B2Bi adequate in providing B2Bi domain concepts, in abstracting from low-level implementation details and in covering the majority of real-world B2Bi scenarios. Simplicity is fostered by using state machines as underlying specification paradigm. This allows for thinking in the states of a B2Bi scenario and for simple control flow structures. Unambiguity is provided by formal execution semantics whereas implementability (for the binary choreography styles) is ensured by providing mapping rules to BPEL-based implementations. The validation of CHORCH's choreography styles is performed in a twofold way. Firstly, the implementation of the binary choreography styles based on Web Services and BPEL technology is demonstrated which proves implementability using relatively low-cost technologies. Moreover, the analysis algorithms for the multi-party choreography styles are validated using a Java-based prototype. Secondly, an abstract visualization of the choreography styles based on BPMN is provided that abstracts from the technicalities of the ebBP standard. This proves the amenability of CHORCH to development methods that start out with visual models. CHORCH defines how to use BPMN choreographies for the purpose of B2Bi choreography modeling and translates the formal rules for choreography validity into simple composition rules that demonstrate valid ways of connecting the respective modeling constructs. In summary, CHORCH allows integration partners to start out with a high-level visual model of their interactions in BPMN that identifies the types and sequences of the BusinessTransactions to be used. For multi-party choreographies, a framework for analyzing synchronization dependencies then is available. For binary choreographies, an ebBP refinement can be derived that fills in the technical parameters that are needed for deriving the implementation. Finally, Web Services and BPEL based implementations can be generated. Thus, CHORCH allows for stepwise closing the semantic gap between the information perspective of business process models and the corresponding implementations. It is noteworthy that CHORCH uses international standards throughout all relevant layers, i.e., BPMN, ebBP, Web Services and BPEL, which helps in bridging the heterogeneous IT landscapes of B2Bi partners. In addition, the adoption of core CHORCH deliverables as international standards of the RosettaNet community give testament to the practical relevance and promise dissemination throughout the B2Bi community.Betriebsübergreifende Geschäftsprozessintegration ist eine logische Konsequenz allgegenwärtigen Wettbewerbsdrucks. In diesem Kontext fokussiert Business-To-Business integration (B2Bi) auf die Informationsaustausche zwischen Unternehmen. Eine B2Bi-Kernanforderung ist die Bereitstellung adäquater Modelle zur Spezifikation der Nachrichtenaustausche zwischen Integrationspartnern. Diese werden im Rahmen dieser Arbeit in Anlehnung an Service-orientierte Architekturen (SOA)-Terminologie Choreographien genannt. Bestehende Choreographiesprachen decken die Anforderungen an B2Bi-Choreographien nicht vollständig ab. Dedizierte B2Bi-Choreographiestandards definieren inkonsistente Austauschprozeduren für grundlegende Interaktionen und nur unvollständige Semantiken für fortgeschrittene Interaktionen. Formale oder Technik-getriebene Choreographiesprachen bieten die benötigte Präzision, lassen aber Domänenkonzepte vermissen oder operieren auf einer niedrigen Abstraktionsebene. Angesichts solcher Mängel wird die Spezifikation valider und vollständiger B2Bi-Choreographien zu einer echten Herausforderung. Gleichzeitig sind mangelhafte Choreographiemodelle gerade im B2Bi-Bereich besonders problematisch, da diese nicht nur zwischen Fach- und IT-Abteilung, sondern auch über Unternehmensgrenzen hinweg eingesetzt werden. Der CHORCH-Ansatz schafft an dieser Stelle mittels maßgeschneiderter Choreographien Abhilfe, welche die Vorteile von B2Bi-Choreographien und von formalen Ansätzen kombinieren. Als Ausgangspunkt wird das ebXML Business Process Specification Schema (ebBP) verwendet, das als B2Bi-Choreographiestandard Domänenkonzepte wie zum Beispiel sogenannte BusinessTransactions (BTs) bietet. Eine BT ist der Basisbaustein von B2Bi-Choreographien und spezifiziert den Austausch eines Geschäftsdokuments sowie eines optionalen Antwortdokuments. Darüber hinaus bietet ebBP ein Format zur Spezifikation von BT-Kompositionen zur Unterstützung komplexer Interaktionen. CHORCH erweitert ebBP wie folgt. Erstens, das Ausführungsmodell für BTs wird neu definiert, um inkonsistente Ergebniszustände zu eliminieren. Zweitens, für Entwicklungsprojekte werden zwei binäre Choreographieklassen definiert, die als B2Bi-Implementierungskontrakt dienen sollen. Die Formalisierung beider Klassen sowie formale operationale Semantiken gewährleisten Eindeutigkeit, während Validitätskriterien die Ausführbarkeit entsprechender Modelle mittels BPEL-basierter Orchestrationen garantieren. Drittens, zur Analyse der Synchronisationsbeziehungen komplexer B2Bi-Szenarien wird eine Multi-Party-Choreographieklasse nebst Analyseframework definiert. Wiederum wird für diese Klasse eine Formalisierung definiert, die mittels Standard-Zustandsautomatensemantik Eindeutigkeit gewährleistet. Ferner garantieren Validitätskriterien die Anwendbarkeit der definierten Analysealgorithmen. Insgesamt bieten die Choreographieklassen des CHORCH-Ansatzes ein B2Bi-adäquates, einfaches, eindeutiges und implementierbares Modell der Nachrichtenaustausche zwischen B2Bi-Partnern. B2Bi-Adäquatheit wird durch Verwendung von B2Bi-Domänenkonzepten, Abstraktion von rein technischen Kommunikationsdetails und Abdeckung der meisten praktisch relevanten B2Bi-Szenarien gewährleistet. Einfachheit ist ein Ausfluss der Verwendung eines Zustandsmaschinen-basierten Modellierungsparadigmas, das die Definition des Interaktionsfortschritts in Form von Zuständen sowie einfache Kontrollflussstrukturen ermöglicht. Eindeutigkeit wird durch die Verwendung formaler Semantiken garantiert, während Implementierbarkeit (für die beiden binären Choreographieklassen) durch Angabe von Mapping-Regeln auf BPEL-Orchestrationen sichergestellt wird. Die Validierung der CHORCH-Choreographieklassen erfolgt in zweierlei Hinsicht. Erstens, die Implementierbarkeit der binären Choreographieklassen mit Hilfe von Web Services und BPEL wird durch die Definition entsprechender Mappingregeln belegt. Weiterhin wird das Analyseframework der Multi-Party-Choreographieklasse als Java-Prototyp implementiert. Zweitens, für alle Choreographieklassen wird eine abstrakte Visualisierung auf BPMN-Basis definiert, die von diversen technischen Parametern des ebBP-Formats abstrahiert. Damit wird die Integrierbarkeit der CHORCH-Choreographieklassen in Entwicklungsansätze, die ein visuelles Modell als Ausgangspunkt vorsehen, belegt. CHORCH definiert, wie sogenannte BPMN-Choreographien zum Zweck der B2Bi-Choreographiemodellierung zu verwenden sind und übersetzt die Validitätskriterien der CHORCH-Choreographieklassen in einfache Modell-Kompositionsregeln. In seiner Gesamtheit bietet CHORCH somit einen Ansatz, mit Hilfe dessen B2Bi-Partner zunächst die Typen und zulässigen Reihenfolgen ihrer Geschäftsdokumentaustausche auf Basis eines abstrakten visuellen BPMN-Modells identifizieren können. Im Fall von Multi-Party-Choreographien steht dann ein Framework zur Analyse der Synchronisationsbeziehungen zwischen den Integrationspartnern zur Verfügung. Im Fall von binären Choreographien können ebBP-Verfeinerungen abgeleitet werden, welche die Modelle um technische Parameter anreichern, die zur Ableitung einer Implementierung benötigt werden. Diese ebBP-Modelle sind in Web Services- und BPEL-basierte Implementierungen übersetzbar. Damit erlaubt CHORCH die schrittweise Überbrückung der semantischen Lücke zwischen der Informationsaustauschperspektive von Geschäftsprozessmodellen und den zugehörigen Implementierungen. Ein beachtenswerter Aspekt des CHORCH-Ansatzes ist die Verwendung einschlägiger internationaler Standards auf allen Abstraktionsebenen, im Einzelnen BPMN, ebBP, Web Services und BPEL. Die Verwendung von Standards trägt dem heterogenen Umfeld von B2Bi-Szenarien Rechnung. Zusätzlich wurden Kernergebnisse des CHORCH-Ansatzes als internationale Standards der RosettaNet-B2Bi-Community veröffentlicht. Dies belegt die praktische Relevanz des Ansatzes und fördert die Verbreitung innerhalb der B2Bi-Community

    Web Services Compositions Modelling and Choreographies Analysis

    Get PDF
    International audienceIn (Rouached, Godart and al. 2006; Rouached, Godart 2007), we have described the semantics of WSBPEL by way of mapping each of the WSBPEL (Arkin, Askary and al. 2004) constructs to the EC algebra and building a model of the process behaviour. With these mapping rules, we have described a modelling approach of a process defined for a single Web service composition. However, this modelling is limited to a local view and can only be used to model the behaviour of a single process. A series of compositions in Web service choreography need specific modelling activities that are not explicitly derived from an implementation. An elaboration of modelling is then required to represent the behaviour of interacting compositions across partnered processes. This elaboration provides a representation that enables us to perform analysis of service interaction for behaviour properties. The ability to perform verification and validation between execution and design, and within the process compositions themselves, is a key requirement of the Web services architecture specification. In this paper, we further the semantic mapping to include Web service composition interactions through modelling Web service conversations and their choreography. We describe this elaboration of models to support a view of interacting Web service compositions extending the mapping from WSBPEL to EC, and including Web service interfaces (WSDL) for use in modelling between services. The verification and validation techniques are also exposed. An automated induction-based theorem prover is used as verification back-end

    Investigations into the model driven design of distribution patterns for web service compositions

    Get PDF
    Increasingly, distributed systems are being used to provide enterprise level solutions with high scalability and fault tolerance These solutins are often built using Web servces that are composed to perform useful business functions Acceptance of these composed systems is often constrained by a number of non-functional properties of the system such as availability, scalability and performance There are a number of drstribution patterns that each exhibit different non-functional charactmstics These patterns are re-occuring distribution schemes that express how a system is to be assembled and subsequently deployed. Traditional approaches to development of Web service compositions exhibit a number of Issues Firstly, Web service composition development is often ad-hoc and requires considerable low level coding effort for realisatlon Such systems often exhibit fixed architectures, making maintenance difficult and error prone Additionally, a number of the non-funchonal reqwements cannot be easily assessed by exammng low level code. In this thesis we explicitly model the compositional aspects of Web service compositions usmg UML Activity diagrams Ths approach uses a modehng and transformation framework, based on Model Dnven Software Development (MDSD), going from high level models to an executable system The framework is guided by a methodological framework whose primary artifact is a distribution pattern model, chosen from the supplied catalog. Our modelling and transfomation framework improves the development process of Web service compositions, with respect to a number of criteria, when compared to the traditional handcrafted approach Specifically, we negate the coding effort traditionally associated with Web service composition development Maintenance overheads of the solution are also slgnificantly reduced, while improved mutability 1s achieved through a flexible architecture when compared with existing tools We also improve the product output from the development process by exposing the non-functional runtime properties of Web service compositlons using distribution patterns

    An adaptive service oriented architecture:Automatically solving interoperability problems

    Get PDF
    Organizations desire to be able to easily cooperate with other companies and still be flexible. The IT infrastructure used by these companies should facilitate these wishes. Service-Oriented Architecture (SOA) and Autonomic Computing (AC) were introduced in order to realize such an infrastructure, however both have their shortcomings and do not fulfil these wishes. This dissertation addresses these shortcomings and presents an approach for incorporating (self-) adaptive behavior in (Web) services. A conceptual foundation of adaptation is provided and SOA is extended to incorporate adaptive behavior, called Adaptive Service Oriented Architecture (ASOA). To demonstrate our conceptual framework, we implement it to address a crucial aspect of distributed systems, namely interoperability. In particular, we study the situation of a service orchestrator adapting itself to evolving service providers.

    RESTful Service Composition

    Get PDF
    The Service-Oriented Architecture (SOA) has become one of the most popular approaches to building large-scale network applications. The web service technologies are de facto the default implementation for SOA. Simple Object Access Protocol (SOAP) is the key and fundamental technology of web services. Service composition is a way to deliver complex services based on existing partner services. Service orchestration with the support of Web Services Business Process Execution Language (WSBPEL) is the dominant approach of web service composition. WSBPEL-based service orchestration inherited the issue of interoperability from SOAP, and it was furthermore challenged for performance, scalability, reliability and modifiability. I present an architectural approach for service composition in this thesis to address these challenges. An architectural solution is so generic that it can be applied to a large spectrum of problems. I name the architectural style RESTful Service Composition (RSC), because many of its elements and constraints are derived from Representational State Transfer (REST). REST is an architectural style developed to describe the architectural style of the Web. The Web has demonstrated outstanding interoperability, performance, scalability, reliability and modifiability. RSC is designed for service composition on the Internet. The RSC style is composed on specific element types, including RESTful service composition client, RESTful partner proxy, composite resource, resource client, functional computation and relaying service. A service composition is partitioned into stages; each stage is represented as a computation that has a uniform identifier and a set of uniform access methods; and the transitions between stages are driven by computational batons. RSC is supplemented by a programming model that emphasizes on-demand function, map-reduce and continuation passing. An RSC-style composition does not depend on either a central conductor service or a common choreography specification, which makes it different from service orchestration or service choreography. Four scenarios are used to evaluate the performance, scalability, reliability and modifiability improvement of the RSC approach compared to orchestration. An RSC-style solution and an orchestration solution are compared side by side in every scenario. The first scenario evaluates the performance improvement of the X-Ray Diffraction (XRD) application in ScienceStudio; the second scenario evaluates the scalability improvement of the Process Variable (PV) snapshot application; the third scenario evaluates the reliability improvement of a notification application by simulation; and the fourth scenario evaluates the modifiability improvement of the XRD application in order to fulfil emerging requirements. The results show that the RSC approach outperforms the orchestration approach in every aspect

    A programming system for process coordination in virtual organisations

    Get PDF
    PhD thesisDistributed business applications are increasingly being constructed by composing them from services provided by various online businesses. Typically, this leads to trading partners coming together to form virtual organizations (VOs). Each member of a VO maintains their autonomy, except with respect to their agreed goals. The structure of the Virtual Organisation may contain one dominant organisation who dictates the method of achieving the goals or the members may be considered peers of equal importance. The goals of VOs can be defined by the shared global business processes they contain. To be able to execute these business processes, VOs require a flexible enactment model as there may be no single ‘owner’ of the business process and therefore no natural place to enact the business processes. One solution is centralised enactment using a trusted third party, but in some cases this may not be acceptable (for instance because of security reasons). This thesis will present a programming system that allows centralised as well as distributed enactment where each organisation enacts part of the business process. To achieve distributed enactment we must address the problem of specifying the business process in a manner that is amenable to distribution. The first contribution of this thesis is the presentation of the Task Model, a set of languages and notations for describing workflows that can be enacted in a centralised or decentralised manner. The business processes that we specify will coordinate the services that each organisation owns. The second contribution of this thesis is the presentation of a method of describing the observable behaviour of these services. The language we present, SSDL, provides a flexible and extensible way of describing the messaging behaviour of Web Services. We present a method for checking that a set of services described in SSDL are compatible with each other and also that a workflow interacts with a service in the desired manner. The final contribution of this thesis is the presentation of an abstract architecture and prototype implementation of a decentralised workflow engine. The prototype is able to enact workflows described in the Task Model notation in either a centralised or decentralised scenario
    corecore