Skip to main content

Über dieses Buch

Service engineering is increasingly posing challenges to traditional software engineering methodologies including specification, modeling, architecture, and verification, just to name a few. On the other hand, the latest advancements in software engineering are continuously leveraged in Service Engineering research, especially in the design and implementation of service-oriented systems. Several mutual impacts between service engineering and software engineering could be observed in the last decade, and many research efforts have been devoted to the field. However, in spite of the considerable efforts and significant contributions, few have attempted to summarize the research results systematically.



Chapter 1. Describing Case Studies and Classifying Research Approaches

This initial chapter aims at providing a useful introduction and reference point to the research described in the following chapters. First of all, to provide a homogenous description of the existing approaches on service engineering, we introduce a common case study referring to the telecommunication domain. This case study will be used in the other chapters of this book to motivate and describe the presented approaches. The way in which the case study is described follows the approach developed in the S-Cube Network of Excellence. In addition, we also provide a classification of the research results proposed in the rest of the book, by relying on the S-Cube Integrated Research Framework. Such a classification allows the reader to have an idea about how the contributions deal with research in the service engineering field.
Antonio Bucchiarone, Raman Kazhamiakin, Valentina Mazza, Pierluigi Plebani

Chapter 2. Model-driven Service Engineering with SoaML

This chapter presents a model-driven service engineering (MDSE) methodology that uses OMG MDA specifications such as BMM, BPMN and SoaML to identify and specify services within a service-oriented architecture. The methodology takes advantage of business modelling practices and provides a guide to service modelling with SoaML. The presentation is case-driven and illuminated using the telecommunication example. The chapter focuses in particular on the use of the SoaML modelling language as a means for expressing service specifications that are aligned with business models and can be realized in different platform technologies.
Brian Elvesæter, Cyril Carrez, Parastoo Mohagheghi, Arne-Jørgen Berre, Svein G. Johnsen, Arnor Solberg

Chapter 3. Modelling Service Requirements Variability: The DiVA Way

This chapter tackles the challenges of variability identification, modelling and implementation for service-based systems. The DiVA methodology is applied to the Mobile Phone Service Portability case-study to demonstrate its solutions to these challenges. The DiVA methodology utilises concepts of Aspect-Oriented Software Development to encapsulate service variants in distinct modules and uses Model-Driven Development techniques to analyse and transform conceptual designs into executable services. The DiVA approach provides a tool-supported methodology for managing dynamic variability in adaptive systems and taming system complexity.
Phil Greenwood, Ruzanna Chitchyan, Dhouha Ayed, Vincent Girard-Reydet, Franck Fleurey, Vegard Dehlen, Arnor Solberg

Chapter 4. Coordination, Organisation and Model-driven Approaches for Dynamic, Flexible, Robust Software and Services Engineering

Enterprise systems are increasingly composed of (and even functioning as) components in a dynamic, digital ecosystem. On the one hand, this new situation requires flexible, spontaneous and opportunistic collaboration activities to be identified and established among (electronic) business parties. On the other, it demands engineering methods that are able to integrate new functionalities and behaviours into running systems composed by active, distributed, interdependent processes. Here we present a multi-level architecture that combines organisational and coordination theories with model driven development, for the implementation, deployment and management of dynamic, flexible and robust service-oriented business applications, combined with a service layer that accommodates semantic service description, fine-grained semantic service discovery and the dynamic adaptation of services to meet changing circumstances.
Juan Carlos Nieves, Julian Padget, Wamberto Vasconcelos, Athanasios Staikopoulos, Owen Cliffe, Frank Dignum, Javier Vázquez-Salceda, Siobhán Clarke, Chris Reed

Chapter 5. Model-aware Monitoring of SOAs for Compliance

Business processes today are supported by process-driven service oriented architectures. Due to the increasing importance of compliance of an organization with regulatory requirements and internal policies, there is a need for appropriate techniques to monitor organizational information systems as they execute business processes. Event-based monitoring of processes is one of the ways to provide runtime process-state information. This type of monitoring, however, has limitations mostly related to the type and amount of information available in events and process engines. We propose a novel approach – model-aware monitoring of business processes – to address these limitations. Emitted events contain unique identifiers of models that can be retrieved dynamically during runtime from a model-aware repository and service environment (MORSE). The size of the events is kept small and patterns of events that signify interesting occurrences are identified through complex event processing and are signaled to interesting components such as a business intelligence. To illustrate our approach we present an industry case study where we have applied this generic infrastructure for the compliance monitoring of business processes.
Ta’id Holmes, Emmanuel Mulo, Uwe Zdun, Schahram Dustdar

Chapter 6. Integrating Perfective and Corrective Adaptation of Service-based Applications

Service-based Applications (SBAs) can be dynamically adapted to address various goals, which include (1) aiming to better achieve the users’ requirements (perfective adaptation), and (2) repairing and preventing failures (corrective adaptation). When building applications which aim at addressing more than of such goals, it is important to understand the interplay of these different adaptation goals. Otherwise this can lead to conflicting adaptations. This chapter introduces a framework to integrate and align perfective and corrective adaptations, while addressing the problems that are due to the interactions between these two kinds of adaptation. The framework uses requirements engineering techniques to trigger perfective adaptation and online testing techniques to trigger corrective adaptations. Based on the above techniques, this chapter investigates the interplay and interaction between the two types of adaptation. We demonstrate how perfective and corrective techniques can be integrated in a meaningful way to support the overall adaptation requirements of the service-based applications, while avoiding the above problems. As a solution, we propose exploiting an enterprise service registry, which restricts the ways in which a service-based application can be adapted.
Andreas Gehlert, Andreas Metzger, Dimka Karastoyanova, Raman Kazhamiakin, Klaus Pohl, Frank Leymann, Marco Pistore

Chapter 7. Combining Domain-driven Design and Mashups for Service Development

This chapter presents the Romulus project approach to Service Development using Java-based web technologies. Romulus aims at improving productivity of service development by providing a tool-supported model to conceive Java-based web applications. This model follows a Domain Driven Design approach, which states that the primary focus of software projects should be the core domain and domain logic. Romulus proposes a tool-supported model, Roma Metaframework, that provides an abstraction layer on top of existing web frameworks and automates the application generation from the domain model. This metaframework follows an object centric approach, and complements Domain Driven Design by identifying the most common cross-cutting concerns (security, service, view, ...) of web applications. The metaframework uses annotations for enriching the domain model with these cross-cutting concerns, so-called aspects. In addition, the chapter presents the usage of mashup technology in the metaframework for service composition, using the web mashup editor MyCocktail. This approach is applied to a scenario of the Mobile Phone Service Portability case study for the development of a new service.
Carlos A. Iglesias, José Ignacio Fernández-Villamor, David del Pozo, Luca Garulli, Boni García

Chapter 8. Guidance in Business Process Modelling

This chapter shows how process modellers can be supported by guidance. If a telecommunication provider introduces a value-added service, this might involve the establishment of new business processes, whose specification is not trivial. A guidance engine can help a process engineer develop a new business process by stepwise refining, i.e. creating a more concrete version of the process from an abstract version. The guidance engine identifies inconsistencies and proposes possible refinement steps. The topics covered in this chapter range from theoretical foundations of business process refinement over the formalisation of refinement problems in ontologies to implementation issues. The presented solutions were developed in the MOST project.
Andreas Bartho, Gerd Gröner, Tirdad Rahmani, Yuting Zhao, Srdjan Zivkovic

Chapter 9. Adaptive Service Binding with Lightweight Semantic Web Services

Adaptive service selection is acknowledged to provide a certain number of advantages to optimise the service provisioning process or to cater for advanced service brokering. Semantic Web Services, that is services that have been enriched with semantic annotations have often been used for providing adaptive service selection by deferring the binding of services until runtime. Thus far, however, research on Semantic Web Services has mainly been dominated by rich conceptual frameworks such as WSMO and OWL-S which require a significant effort towards the annotation of services and rely on complex reasoning for which there are no efficient solutions that can scale to the Web yet. In this chapter, inline with current trends on the Semantic Web that sacrifice expressivity in favour of performance, we present a novel approach to providing adaptive service selection that relies on simple conceptual models for services and less expressive formalisms for which there currently exist mature and performant implementations. In particular, we present a set of conceptual models defined in RDF(S) that support both Web services and Web APIs and we show how simple templates abstracting user requirements can be automatically transformed into SPARQL to enable service selection in a scalable manner.
Carlos Pedrinaci, Dave Lambert, Maria Maleshkova, Dong Liu, John Domingue, Reto Krummenacher

Chapter 10. Designing and Adapting Service-based Systems: A Service Discovery Framework

This chapter describes a service discovery framework that has been developed within the EU 6th Framework projects SeCSE and Gredia. The framework supports design of service-based systems based on existing services and adaptation of service based systems during their execution due to different situations. It assumes services described from different perspectives and uses complex service discovery queries specified in an XML-based language that we have developed. The work is illustrated with the Cell Phone Operator case study.
George Spanoudakis, Andrea Zisman

Chapter 11. VRESCo – Vienna Runtime Environment for Service-oriented Computing

Throughout the last years, the Service-Oriented Architecture (SOA) paradigm has been promoted as a means to create loosely coupled distributed applications. In theory, SOAs make use of a service registry, which can be used by providers to publish their services and by clients to discover these services in order to execute them. However, service registries such as UDDI did not succeed and are rarely used today. In practice, the binding often takes place at design time (for instance by generating client-side stubs), which leads to a tighter coupling between service endpoints. Alternative solutions using dynamic invocations often lack a data abstraction and require developers to construct messages on XML or SOAP level. In this paper we present VRESCo, the Vienna Runtime Environment for Service-oriented Computing, which addresses several distinct issues that are currently prevalent in Service-Oriented Architecture (SOA) research and practice. VRESCo reemphasizes the importance of registries to support dynamic selection, binding and invocation of services. Service providers publish their services and clients retrieve the data stored in the registry using a specialized query language. The data model distinguishes between abstract features and concrete service implementations, which enables grouping of services according to their functionality. An abstracted message format allows VRESCo to mediate between services which provide the same feature but use a different message syntax. Furthermore, VRESCo allows for explicit versioning of services. In addition to functional entities, the VRESCo service metadata model contains QoS (Quality of Service) attributes. Clients can be configured to dynamically rebind to different service instances based on the QoS data. The paper presents an illustrative scenario taken from the telecommunications domain, which serves as the basis for the discussion of the features of VRESCo.
Waldemar Hummer, Philipp Leitner, Anton Michlmayr, Florian Rosenberg, Schahram Dustdar


Weitere Informationen

Premium Partner