Over the last years, the utilization of cloud resources has been steadily rising and an increasing number of enterprises are moving applications to the cloud. A leading trend is the adoption of Platform as a Service to support rapid application deployment. By providing a managed environment, cloud platforms take away a lot of complex configuration effort required to build scalable applications. However, application migrations to and between clouds cost development effort and open up new risks of vendor lock-in. This is problematic because frequent migrations may be necessary in the dynamic and fast changing cloud market. So far, the effort of application migration in PaaS environments and typical issues experienced in this task are hardly understood. To improve this situation, we present a cloud-to-cloud migration of a real-world application to seven representative cloud platforms. In this case study, we analyze the feasibility of the migrations in terms of portability and the effort of the migrations. We present a Docker-based deployment system that provides the ability of isolated and reproducible measurements of deployments to platform vendors, thus enabling the comparison of platforms for a particular application. Using this system, the study identifies key problems during migrations and quantifies these differences by distinctive metrics.
Cloud computing promises several advantages over classic IT models and has undoubtedly been one of the most hyped topics in the industry over the last couple of years.
Besides the established delivery models Infrastructure as a Service (IaaS) and Software as a Service (SaaS), especially Platform as a Service (PaaS) has attracted significant attention these days.
PaaS facilitates the hosting of scalable applications in the cloud by providing managed and highly automated application environments.
Although most offerings are conceptually comparable to each other, the interfaces for application deployment and management vary greatly between vendors.
Despite providing similar functionalities, technically different workflows and commands provoke vendor lock-in and hinder portability as well as interoperability.
In this study, we present the tool Nucleus, which realizes a unified interface for application deployment and management among cloud platforms.
With its help, we aim to increase the portability of PaaS applications and thus help to avoid critical vendor lock-in effects.
Modern software systems are becoming increasingly integrated and are required to operate over organizational boundaries through networks. The development of such distributed software systems has been shaped by the orthogonal trends of service-orientation and process-awareness. These trends put an emphasis on technological neutrality, loose coupling, independence from the execution platform, and location transparency. Execution platforms supporting these trends provide context and cross-cutting functionality to applications and are referred to as engines.
Applications and engines interface via language standards. The engine implements a standard. If an application is implemented in conformance to this standard, it can be executed on the engine. A primary motivation for the usage of standards is the portability of applications. Portability, the ability to move software among different execution platforms without the necessity for full or partial reengineering, protects from vendor lock-in and enables application migration to newer engines.
The arrival of cloud computing has made it easy to provision new and scalable execution platforms. To enable easy platform changes, existing international standards for implementing service-oriented and process-aware software name the portability of standardized artifacts as an important goal. Moreover, they provide platform-independent serialization formats that enable the portable implementation of applications. Nevertheless, practice shows that service-oriented and process-aware applications today are limited with respect to their portability. The reason for this is that engines rarely implement a complete standard, but leave out parts or differ in the interpretation of the standard. As a consequence, even applications that claim to be portable by conforming to a standard might not be so.
This thesis contributes to the development of portable service-oriented and process-aware software in two ways: Firstly, it provides evidence for the existence of portability issues and the insufficiency of standards for guaranteeing software portability. Secondly, it derives and validates a novel measurement framework for quantifying portability. We present a methodology for benchmarking the conformance of engines to a language standard and implement it in a fully automated benchmarking tool. Several test suites of conformance tests for two different languages, the Web Services Business Process Execution Language 2.0 and the Business Process Model and Notation 2.0, allow to uncover a variety of standard conformance issues in existing engines. This provides evidence that the standard-based portability of applications is a real issue. Based on these results, this thesis derives a measurement framework for portability. The framework is aligned to the ISO/IEC Systems and software Quality Requirements and Evaluation method, the recent revision of the renowned ISO/IEC software quality model and measurement methodology. This quality model separates the software quality characteristic of portability into the subcharacteristics of installability, adaptability, and replaceability. Each of these characteristics forms one part of the measurement framework. This thesis targets each characteristic with a separate analysis, metrics derivation, evaluation, and validation. We discuss existing metrics from the body of literature and derive new extensions speciffically tailored to the evaluation of service-oriented and process-aware software. Proposed metrics are defined formally and validated theoretically using an informal and a formal validation framework. Furthermore, the computation of the metrics has been prototypically implemented. This implementation is used to evaluate metrics performance in experiments based on large scale software libraries obtained from public open source software repositories.
In summary, this thesis provides evidence that contemporary standards and their implementations are not sufficient for enabling the portability of process-aware and service-oriented applications. Furthermore, it proposes, validates, and practically evaluates a framework for measuring portability.
In 2007, OASIS finalized their Business Process Execution Language 2.0 (BPEL) specification which defines an XML-based language for orchestrations of Web Services. As the validation of BPEL processes against the official BPEL XML schema leaves room for a plethora of static errors, the specification contains 94 static analysis rules to cover all static errors. According to the specification, any violations of these rules are to be checked by a standard conformant engine at deployment time. When a violation is not detected in BPEL processes during deployment, such errors are only detectable at runtime, making them expensive to find and fix.
Due to the large amount of rules, we have created a tag system to categorize them, allowing easier reasoning about these rules.
Next, we formalized the static rules and derived test cases based on these formalizations with the aim to evaluate the degree of support for static analysis of BPEL engines.
Hence, this work is the foundation of the static analysis capabilities of BPEL engines.
Despite the popularity of BPEL engines to orchestrate complex and executable processes, there are still only few approaches available to help find the most appropriate engine for individual requirements.
One of the more crucial factors for such a middleware product in industry are the performance characteristics of a BPEL engine.
There exist multiple studies in industry and academia testing the performance of BPEL engines, which differ in focus and method.
We aim to compare the methods used in these approaches and provide guidance for further research in this area.
Based on the related work in the field of performance testing, we created a process engine specific comparison framework, which we used to evaluate and classify nine different approaches that were found using the method of a systematical literature survey.
With the results of the status quo analysis in mind, we derived directions for further research in this area.
Correct and standard compliant serializations of BPMN process models are crucial for model exchange between tools, automatic application of academic verification approaches and executability on BPMN engines. The official standard document does not provide an extensive set of all constraints regarding the correctness of model serializations. This technical reports fills this gap by presenting a categorized list of generic, technology independent constraints stated by the standard. Furthermore it is analyzed which rules are already covered when the standardized XSD-based serialization format is used.
More than five years have passed since the final release of the long-desired OASIS standard of a process language for web service orchestration, the Web Services Business Process Execution Language (BPEL). The aim of this standard is to establish a universally accepted orchestration language that forms a core part of current service-oriented architectures and, because of standardisation, avoids vendor lock-in. High expectations, in academia and practice alike, have been set on it. By now, several fully conformant and highly scalable engines should have arrived in the market. The perception of many however, is that standard conformance in current engines is far from given. It is our aim to shed light on this situation. In this study, we present the tool betsy, a BPEL Engine Test System that allows for a fully-automatic assessment of the standard conformance of a given BPEL engine. We use it to examine the five most important open source BPEL engines available today. Betsy comes with a large set of engineindependent conformance test cases for assessing BPEL standard conformance. This enables us to give a view of the state of the art in BPEL support.
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.
Globalization and rapid technological change elevates the role of the Internet in terms of business service offering and procurement. At the same time, companies specialize on core competencies on the one hand, and on the other hand, integrate with other firms into “service ecosystems” in order to serve market needs in a flexible manner. One challenge in this setting is how to develop and describe novel business services within service ecosystems for efficient trade in services over the Internet. This work proposes a method for describing business services that integrates into business service development processes. The development of such a method leads to three major challenges: Firstly, it is necessary to determine which properties are appropriate for describing business services. This work analyzes existing approaches in the marketing, information systems, and computer science domain and develops a model for a formal description that facilitates offering and discovering of business services. Secondly, business service description elicitation, documentation, and communication must be provided for the whole business service development process. This work’s approach includes the development of an appropriate modeling notation as an extension of the Unified Modeling Notation (UML). Thirdly, there is a need for transforming business service descriptions into software realization languages that are suitable for the Internet. This contribution offers an automatic transformation of business service descriptions into Web Services Description Language (WSDL) documents using model-to-model transformation scripts. The method for describing business services was evaluated by implementing an integrated modeling environment along with related transformation scripts as well as by two case studies in the insurance and IT outsourcing industry.
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.