Download PDF

Macodo: Architecture-Centric Support for Dynamic Service Collaborations (Macodo: architectuur-gebaseerde ondersteuning voor dynamische service-samenwerkingen)

Publication date: 2012-02-08

Author:

Haesevoets, Robrecht
Holvoet, Tom ; Weyns, Danny

Keywords:

software architecture, middleware, agent organizations, service collaborations

Abstract:

Flexible integration and collaboration of information systems, both within and across company borders, has become essential to success in current business environments. In the domain of supply chain management, for example, the arrival of a new order can no longer be handled by a single system. Instead, it requires complex collaborations, between multiple systems and services across companies, that constantly have to be adapted to changing market needs. The primary goal of information technology in such domains is to support flexible integration and collaboration between these systems. Without proper integration and collaboration, systems can easily become islands of information, resulting in inefficient and inflexible solutions. Realizing collaborations and building the supporting infrastructures, however, poses huge engineering challenges, from architectural design to actual implementation. To address these challenges, current state of practice relies on middleware, workflow management, service-oriented architecture, and Web services.In this thesis, we argue that several engineering challenges are insufficiently addressed by current state of practice, such as modularization of collaborations, managing complexity, and separation of concerns. This often leads to faults, complex solutions with little reuse, and reduced productivity. Most of these problems relate to the lack of proper collaboration abstractions and the missing reification of these abstractions throughout the development process. To address a number of these problems, we present Macodo, an approach that consists of three complementary parts: (1) a set of abstractions for dynamic service collaborations, (2) a set of architectural views that reify these abstractions at architectural level, allowing to build and document service collaborations in terms of software elements, and (3) a middleware infrastructure that supports the collaboration abstractions at implementation level. Macodo focusses on service collaborations that take place in a restricted collaboration environment, managed by a trusted party. To validate the contributions of this thesis, we apply them in a supply chain management case and evaluate them in a controlled experiment. Results show that the use of Macodo, compared to state of practice, can provide an improvement in terms of fault density, design complexity, level of reuse, and productivity.