- A Pattern-based Analysis of WS-BPEL and Windows Workflow (2011)
- Orchestration languages are of paramount importance for building composite services in service-oriented architectures. Pattern-based analysis is a method that allows to determine the expressiveness of existing process languages and serves as a means of comparison between different languages. The aim of this study is the analysis and comparison of important languages for building Web Services-based orchestrations, as well as the improvement of the method of pattern-based analysis. The predominant orchestration language today is the Web Services Business Process Execution Language (WS-BPEL) 2.0. This language is a standard that has been implemented by several companies and projects, such as the OpenESB BPEL Service Engine. An additional language is Windows Workflow 4 that is shipped by Microsoft as part of the .NET framework. There are various aspects, represented by pattern catalogs, for which existing languages can be analyzed. This study suggests a methodology for ordering existing pattern catalogs according to their importance for a selected problem domain which is Business-to-Business Integration. It furthermore presents an extensive evaluation of the languages at hand and assesses the degree of support they provide for several of the most important pattern catalogs. These catalogs are the workflow control-flow patterns, the service interaction patterns, the change patterns and the time patterns.
- Building Orchestrations in B2Bi – The Case of BPEL 2.0 and BPMN 2.0 (2012)
- Various approaches for service-oriented business-to-business integration (B2Bi) rely on a top-down development methodology. The starting point is a choreography model which is subsequently partitioned into multiple orchestrations. Most current approaches use the Web Services Business Process Execution Language (BPEL) for implementing the latter. At the same time, a plethora of other languages, such as Business Process Model and Notation (BPMN) 2.0 process diagrams, is available. As integration partners are free to select the orchestration language of their choice, it should be easy to integrate different orchestration languages with current choreography technology. Language transformation, starting from a suitable format, is a means to achieve this. In this paper, we assess BPEL 2.0 and BPMN 2.0 process diagrams for their suitability for this transformation in a services-based B2Bi setting using a requirements framework identified through a literature study.
- Bridging the Heterogeneity of Orchestrations – A Petri Net–based Integration of BPEL and Windows Workflow (2012)
- Service orchestrations are a powerful tool for implementing intra– and interorganizational business processes that base on services. Several heterogeneous orchestration languages can be found in contemporary IT landscapes. While the Web Services Business Process Execution Language (BPEL) is the de facto standard, others gain attention, including Windows Workflow (WF) in the .NET segment. When integrating orchestrations, incompatibilities between them can easily arise. In this paper, we investigate an automated Petri net–based integration between BPEL and WF to solve these issues with behavioral adapter services. We provide a mapping of WF to Open Workflow Nets (oWFNs) and implement it in a compiler. Thereby, we integrate our approach with existing approaches for BPEL and adapter synthesis and validate the integration with a standards–based case study using the two languages.
- BPEL Conformance in Open Source Engines (2012)
- More than five years have passed since the final release of the long-desired OASIS standard of a process language for Web Services orchestration, the Web Services Business Process Execution Language (BPEL). The aim of this standard was to establish a universally accepted Web Services orchestration language that forms a core part of service-oriented architectures and, because of standardization, avoids vendor lock-in. By now, several fully conformant engines should have arrived in the market. It is our aim to shed light on this situation and to provide a comprehensive picture of the current state of BPEL upport. We present an evaluation of the standard conformance of five open source BPEL engines. To obtain these results we have developed betsy, a tool that allows for a fully-automatic standard conformance testing of BPEL engines. The results demonstrate that full standard conformance in contemporary engines is still far from given.
- Detecting Portability Issues in Model-Driven BPEL Mappings (2013)
- Service orchestration languages, like the Web Services Business Process Execution Language (BPEL), have been frequently used to provide an implementation platform for model-driven development approaches. As avoidance of vendor lock-in and portability of process definitions are central aims of BPEL, most approaches claim to support a large set of different runtime environments. But, even though today various runtimes for BPEL are available, every runtime implements a different language subset, thus hampering portability. Our idea is to improve this situation by using techniques, the Web Services Interoperability Organization (WS-I) has used to improve services interoperability. We describe a portability profile for BPEL that can detect portability issues in process definitions. Using this profile, we evaluate the portability of BPEL mappings used in several model-driven development approaches.
- Measuring the Portability of Executable Service-Oriented Processes (2013)
- A key promise of process languages based on open standards, such as the Web Services Business Process Execution Language, is the avoidance of vendor lock-in through the portability of process definitions among runtime environments. Despite the fact that today, various runtimes claim to support this language, every runtime implements a different subset, thus hampering portability and locking in their users. In this paper, we intend to improve this situation by enabling the measurement of the degree of portability of process definitions. This helps developers to assess their process definitions and to decide if it is feasible to invest in the effort of porting a process definition to another runtime. We define several software quality metrics that quantify the degree of portability a process definition provides from different viewpoints. We validate these metrics theoretically with two validation frameworks and empirically with a large set of process definitions coming from several process libraries.
- Measuring the Installability of Service Orchestrations Using the SQuaRE Method (2013)
- Service-oriented software consists of middleware, such as application servers and runtime engines, into which service applications are deployed. This middleware is often complex and difficult to install. The deployment of services requires the crafting of deployment descriptors and packaging of applications. As a consequence, the installation of service-oriented software systems can be a daunting task. Installability, however, is an important influencer of the portability of software. Portability in turn is one of the main goals of service orchestration languages based on open standards. In this paper, we investigate the installability of service orchestrations based on the Systems and software Quality Requirements and Evaluation (SQuaRE) method, the new series of software qual- ity standards currently under development by the ISO/IEC. We develop a measurement framework based on SQuaRE and tailored to evaluating the installability of service orchestrations and their runtimes. We validate the measurement framework theoretically and show its applicability in a case study.
- Towards Quantifying the Adaptability of Executable BPMN Processes (2014)
- Process languages such as the Business Process Model and Notation 2.0 or the Web Services Business Process Execution Language promise the portability of executable artifacts among different runtime environments, given these artifacts conform to the respective specification. However, due to the natural imperfectness and differing priorities of runtime environments, actual portability of process code is often hard to achieve. A first step towards tackling this problem is the quantification of the actual degree of portability of process code using software metrics. The ISO/IEC 25010 software quality model defines portability as a main software quality characteristic with several sub-characteristics. One of these is adaptability, the degree to which a piece of software can be adapted in order to be executed in a different environment. In this paper, we propose a mechanism for quantifying the degree of adaptability of BPMN 2.0 processes and demonstrate its computation.