94 research outputs found

    Scenario-Driven Development of Service-Oriented Systems

    Get PDF
    Service-oriented architecture (SOA) is a software architectural style, which relies on reusable and composable services. In addition to software-orientation, SOA includes a business viewpoint, so that business requirements can be captured as high level business processes. Business processes can be implemented, for example, as an orchestration of different service components. Individual services participate in the overall execution of business processes by providing elementary service activities. In addition to flexibility and services reuse, bridging of business and information technology (IT) views is one of the claimed benefits of SOA. Development of service-based systems includes a range of different activities. However, development of service-based systems is still lacking systematic and tool vendor independent practices and development methods. In this thesis, a development process for a service provider, called Service Product Development Process (SPDP), is presented. It consists of several development phases and related activities. The input for SPDP includes high level business process requirements. The result of the process is a new service-based product to be added to the service provider’s product portfolio. The purpose of this thesis is to study the applicability and the benefits of applying a scenario-driven approach, a type of requirement-driven development, for the development of service-based systems. Scenarios are used to capture functional system requirements as simple message sequences given as UML sequence diagrams. The scenario-driven approach is applied to different phases of SPDP including business process development, service specification, and service realization. The proposed scenario-driven approach is not limited to the SPDP context. It is rather a general purpose framework for development of service-based systems or products, called SceDA. SceDA includes three independent scenario-based methods, which are targeted to support different development phases of service-based systems. One of the three methods is used for scenario-based business process development. The other two methods are targeted at service development, in particular, service specification and service realization. Service specification is supported by a method for automatically mining and re-documenting the development rules as scenarios. To support service realization, a method for generating source code for individual service and client applications has been developed. Each method includes a description of the developed tool support and a case study.Case studies are used for constructing and evaluating the three scenario-based methods developed. Each method is applied as a case study in the context of development phases of SPDP. In the first case study, scenario-driven business process development method is applied. Two other case studies concern constructing and using scenarios for application development. One case study utilizes the scenario mining method. In the other case study, the code generation method is applied

    A theory and model for the evolution of software services

    Get PDF
    Software services are subject to constant change and variation. To control service development, a service developer needs to know why a change was made, what are its implications and whether the change is complete. Typically, service clients do not perceive the upgraded service immediately. As a consequence, service-based applications may fail on the service client side due to changes carried out during a provider service upgrade. In order to manage changes in a meaningful and effective manner service clients must therefore be considered when service changes are introduced at the service provider's side. Otherwise such changes will most certainly result in severe application disruption. Eliminating spurious results and inconsistencies that may occur due to uncontrolled changes is therefore a necessary condition for the ability of services to evolve gracefully, ensure service stability, and handle variability in their behavior. Towards this goal, this work presents a model and a theoretical framework for the compatible evolution of services based on well-founded theories and techniques from a number of disparate fields.

    A theory and model for the evolution of software services.

    Get PDF
    Software services are subject to constant change and variation. To control service development, a service developer needs to know why a change was made, what are its implications and whether the change is complete. Typically, service clients do not perceive the upgraded service immediately. As a consequence, service-based applications may fail on the service client side due to changes carried out during a provider service upgrade. In order to manage changes in a meaningful and effective manner service clients must therefore be considered when service changes are introduced at the service provider's side. Otherwise such changes will most certainly result in severe application disruption. Eliminating spurious results and inconsistencies that may occur due to uncontrolled changes is therefore a necessary condition for the ability of services to evolve gracefully, ensure service stability, and handle variability in their behavior. Towards this goal, this work presents a model and a theoretical framework for the compatible evolution of services based on well-founded theories and techniques from a number of disparate fields.

    Scientific Workflows for Metabolic Flux Analysis

    Get PDF
    Metabolic engineering is a highly interdisciplinary research domain that interfaces biology, mathematics, computer science, and engineering. Metabolic flux analysis with carbon tracer experiments (13 C-MFA) is a particularly challenging metabolic engineering application that consists of several tightly interwoven building blocks such as modeling, simulation, and experimental design. While several general-purpose workflow solutions have emerged in recent years to support the realization of complex scientific applications, the transferability of these approaches are only partially applicable to 13C-MFA workflows. While problems in other research fields (e.g., bioinformatics) are primarily centered around scientific data processing, 13C-MFA workflows have more in common with business workflows. For instance, many bioinformatics workflows are designed to identify, compare, and annotate genomic sequences by "pipelining" them through standard tools like BLAST. Typically, the next workflow task in the pipeline can be automatically determined by the outcome of the previous step. Five computational challenges have been identified in the endeavor of conducting 13 C-MFA studies: organization of heterogeneous data, standardization of processes and the unification of tools and data, interactive workflow steering, distributed computing, and service orientation. The outcome of this thesis is a scientific workflow framework (SWF) that is custom-tailored for the specific requirements of 13 C-MFA applications. The proposed approach – namely, designing the SWF as a collection of loosely-coupled modules that are glued together with web services – alleviates the realization of 13C-MFA workflows by offering several features. By design, existing tools are integrated into the SWF using web service interfaces and foreign programming language bindings (e.g., Java or Python). Although the attributes "easy-to-use" and "general-purpose" are rarely associated with distributed computing software, the presented use cases show that the proposed Hadoop MapReduce framework eases the deployment of computationally demanding simulations on cloud and cluster computing resources. An important building block for allowing interactive researcher-driven workflows is the ability to track all data that is needed to understand and reproduce a workflow. The standardization of 13 C-MFA studies using a folder structure template and the corresponding services and web interfaces improves the exchange of information for a group of researchers. Finally, several auxiliary tools are developed in the course of this work to complement the SWF modules, i.e., ranging from simple helper scripts to visualization or data conversion programs. This solution distinguishes itself from other scientific workflow approaches by offering a system of loosely-coupled components that are flexibly arranged to match the typical requirements in the metabolic engineering domain. Being a modern and service-oriented software framework, new applications are easily composed by reusing existing components

    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.

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Flexible modeling and execution of choreographies

    Get PDF
    Approaches to address domain specific problems often share overlapping requirements but typically satisfy them in a unique manner for example using service-oriented concepts. The notion of Collaborative, Dynamic & Complex (CDC) systems has been proposed in literature to address the requirements of application domains such as eScience and Collective Adaptive Systems in a unified, generic manner. CDC systems are characterized by dealing with potentially large amounts of data and/or participating applications which engage in complex interactions specified by some collaboration protocol. Furthermore, the need for adaptation mechanisms is a common requirement and users from these application domains are typically no IT experts. The choreography concept originally known from collaborations in the business domain captures the interaction between independent parties from a global perspective. Each party is denoted as a choreography participant, which is implemented by a workflow or a service. This concept provides a way to model and execute for example complex eScience experiments involving multiple scientific fields, scientific methods, and time and/or length scales as a set of coupled workflows. However, typical choreography concepts as described in literature do not provide the desired level of flexibility and ease of use in both modeling and execution to address the requirements of users in CDC system application domains such as eScience. Thus, existing choreography concepts have to be considerably extended by introducing the Model-as-you-go for Choreographies approach in this thesis as a central notion providing capabilities for the flexible modeling and execution of choreographies. In the context of this approach, we provide a concept for fostering reuse in choreography modeling in the form of so-called choreography fragments. Such fragments can be extracted from existing and inserted into new choreography models in order to save time as well as reuse established and approved logic by inexperienced modelers in a less error-prone manner. Furthermore, we provide support for the user-driven control of the complete choreography life cycle. This effectively allows users to automatically deploy the workflow models implementing a choreography as well as starting, pausing, resuming, and terminating a choreography instance, which is formed through the collective execution of workflow instances. Most importantly, the underlying complexity of managing a set of coupled workflow instances is completely hidden from the users. Additional flexibility is given by a concept that allows to re-run already executed choreography logic in order to enforce the convergence of a calculation towards a particular result or to react to errors with parameter changes. The proposed concepts are implemented in a message-based system, the ChorSystem, which is able to handle the challenges of choreography life cycle management from deployment, to run time control and the re-run of logic. Furthermore, the modeling and run time monitoring are integrated into one graphical tool supporting the seamless transition from modeling to execution of choreographies. The concepts, their supporting algorithms, and the prototypical ChorSystem are validated by a set of case studies from different CDC system application domains and evaluated by performance measurements showing the practical applicability

    (I) A Declarative Framework for ERP Systems(II) Reactors: A Data-Driven Programming Model for Distributed Applications

    Get PDF
    To those who can be swayed by argument and those who know they do not have all the answers This dissertation is a collection of six adapted research papers pertaining to two areas of research. (I) A Declarative Framework for ERP Systems: • POETS: Process-Oriented Event-driven Transaction Systems. The paper describes an ontological analysis of a small segment of the enterprise domain, namely the general ledger and accounts receivable. The result is an event-based approach to designing ERP systems and an abstract-level sketch of the architecture. • Compositional Specification of Commercial Contracts. The paper de-scribes the design, multiple semantics, and use of a domain-specific lan-guage (DSL) for modeling commercial contracts. • SMAWL: A SMAll Workflow Language Based on CCS. The paper show

    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.
    corecore