Modeling Process-Driven SOAs: A View-Based Approach

Modeling Process-Driven SOAs: A View-Based Approach

Huy Tran (Vienna University of Technology, Austria), Ta’id Holmes (Vienna University of Technology, Austria), Uwe Zdun (Vienna University of Technology, Austria) and Schahram Dustdar (Vienna University of Technology, Austria)
Copyright: © 2009 |Pages: 22
DOI: 10.4018/978-1-60566-288-6.ch002
OnDemand PDF Download:


This chapter introduces a view-based, model-driven approach for process-driven, service-oriented architectures. A typical business process consists of numerous tangled concerns, such as the process control flow, service invocations, fault handling, transactions, and so on. Our view-based approach separates these concerns into a number of tailored perspectives at different abstraction levels. On the one hand, the separation of process concerns helps reducing the complexity of process development by breaking a business process into appropriate architectural views. On the other hand, the separation of levels of abstraction offers appropriately adapted views to stakeholders, and therefore, helps quickly re-act to changes at the business level and at the technical level as well. Our approach is realized as a model-driven tool-chain for business process development.
Chapter Preview


Service-oriented computing is an emerging paradigm that made an important shift from traditional tightly coupled to loosely coupled software development. Software components or software systems are exposed as services. Each service offers its functionality via a standard, platform-independent interface. Message exchange is the only way to communicate with a certain service.

The interoperable and platform independent nature of services underpins a novel approach to business process development by using processes running in process engines to invoke existing services from process activities (also called process tasks or steps). Hentrich and Zdun (2006) call this kind of architecture a process-driven, service-oriented architecture (SOA). In this approach, a typical business process consists of many activities, the control flow and the process data. Each activity corresponds to a communication task (e.g., a service invocation or an interaction with a human), or a data processing task. The control flow describes how these activities are ordered and coordinated to achieve the business goals. Being well considered in research and industry, this approach has led to a number of standardization efforts such as BPEL (IBM et al., 2003), XPDL (WfMC, 2005), BPMN (OMG, 2006), and so forth.

As the number of services or processes involved in a business process grows, the complexity of developing and maintaining the business processes also increases along with the number of invocations and data exchanges. Therefore, it is error-prone and time consuming for developers to work with large business processes that comprise numerous concerns. This problem occurs because business process descriptions integrate various concerns of the process, such as the process control flow, the data dependencies, the service invocations, fault handling, etc. In addition, this problem also occurs at different abstraction levels. For instance, the business process is relevant for different stakeholders: Business experts require a high-level business-oriented understanding of the various process elements (e.g., the relations of processes and activities to business goals and organization units), whereas the technical experts require the technical details (e.g., deployment information or communication protocol details for service invocations).

Besides such complexity, business experts and technical experts alike have to deal with a constant need for change. On the one hand, process-driven SOA aims at supporting business agility. That is, the process models should enable a quicker reaction on business changes in the IT by manipulating business process models instead of code. On the other hand, the technical infrastructure, for instance, technologies, platforms, etc., constantly evolves.

One of the successful approaches to manage complexity is separation of concerns (Ghezzi et al., 1991). Process-driven SOAs use modularization as a specific realization of this principle. Services expose standard interfaces to processes and hide unnecessary details for using or reusing. This helps in reducing the complexity of process-driven SOA models. However, from the modelers’ point of view, such abstraction is often not enough to cope with the complexity challenges explained above, because modularization only exhibits a single perspective of the system focusing on its (de-)composition. Other - more problem-oriented - perspectives, such as a business-oriented perspective or a technical perspective (used as an example above), are not exhibited to the modeler. In the field of software architecture, architectural views have been proposed as a solution to this problem. An architectural view is a representation of a system from the perspective of a related set of concerns (IEEE, 2000). The architectural view concept offers a separation of concerns that has the potential to resolve the complexity challenges in process-driven SOAs, because it offers more tailored perspectives on a system, but it has not yet been exploited in process modeling languages or tools.

Key Terms in this Chapter

Web Service Description Language (WSDL): a standard XML-based language for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate (W3C, 2001)

Model-Driven Software Development (MDSD) or Model-Driven Development (MDD): A paradigm that advocates the concept of models, that is, models will be the most important development artifacts at the centre of developers’ attention. In MDSD, domain-specific languages are often used to create models that capture domain abstraction, express application structure or behavior in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations (Völter and Stahl, 2006).

Role-Based Access Control (RBAC): Access control decisions are often based on the roles individual users take on as part of an organization. A role describes a set of transactions that a user or set of users can perform within the context of an organization. RBAC provide a means of naming and describing relationships between individuals and rights, providing a method of meeting the secure processing needs of many commercial and civilian government organizations (Ferraiolo et al., 1999).

Separation of Concerns: The process of breaking a software system into distinct pieces such that the overlaps between those pieces are as little as possible, in order to make it easier to understand, to design, to develop, to maintain, etc., the system.

Service Oriented Architecture (SOA): An architectural style in which software components or software systems operate in a loosely-coupled environment, and are delivered to end-users in terms of software units, namely, services. A service provides a standard interface (e.g., service interfaces described using WSDL), and utilizes message exchange as the only communication method.

Architectural View: A view is a representation of a whole system from the perspective of a related set of concerns (IEEE, 2000).

Model Transformation: Transformation maps high-level models into low-level models (aka model-to-model transformations), or maps models into source code, executable code (aka model-to-code or code generation).

Model and Meta-Model: A model is an abstract representation of a system’s structure, function or behavior. A meta-model defines the basic constructs that may occur in a concrete model. Meta-models and models have a class-instance relationship: each model is an instance of a meta-model (Völter and Stahl, 2006).

Stakeholder: In general, stakeholder is a person or organization with a legitimate interest in a given situation, action or enterprise. In the context of this chapter, stakeholder is a person who involved in the business process development at different levels of abstraction, for instance, the business experts, system analysts, IT developers, and so forth.

Business Process Modelling: Business Process Modelling (BPM) is the representation of current (“as is”) and proposed (“to be”) enterprise processes, so that they may be compared and contrasted. By comparing and contrasting current and proposed enterprise processes business analysts and managers can identify specific process transformations that can result in quantifiable improvements to their businesses (Business Process Modeling Forum).

Complete Chapter List

Search this Book:
Table of Contents
Jorge Cardoso, Wil van der Aalst
Chapter 1
Tiziana Margaria, Bernhard Steffen
The one thing approach is designed to overcome the classical communication hurdles between application experts and the various levels of IT experts.... Sample PDF
Business Process Modeling in the jABC: The One-Thing Approach
Chapter 2
Huy Tran, Ta’id Holmes, Uwe Zdun, Schahram Dustdar
This chapter introduces a view-based, model-driven approach for process-driven, service-oriented architectures. A typical business process consists... Sample PDF
Modeling Process-Driven SOAs: A View-Based Approach
Chapter 3
Stefan Jablonski
This chapter presents a process modeling approach for holistic process management. The main idea is that domain specific process models are required... Sample PDF
Process Modeling for Holistic Process Management
Chapter 4
Matthias Kloppmann, Dieter Koenig, Simon Moser
This chapter introduces a set of languages intended to model and run business processes. The Business Process Modeling Notation 1.1 (BPMN) is a... Sample PDF
The Dichotomy of Modeling and Execution: BPMN and WS-BPEL
Chapter 5
Chun Ouyang, Michael Adams, Arthur H.M. ter Hofstede
Due to the absence of commonly accepted conceptual and formal foundations for workflow management, and more generally Business Process Management... Sample PDF
Yet Another Workflow Language: Concepts, Tool Support, and Application
Chapter 6
Modelling Constructs  (pages 122-141)
Ekkart Kindler
There are many different notations and formalisms for modelling business processes and workflows. These notations and formalisms have been... Sample PDF
Modelling Constructs
Chapter 7
Kwanghoon Kim, Clarence A. Ellis
This chapter introduces the basic concepts of information control net (ICN) and its workflow models. In principle, a workflow model is the... Sample PDF
ICN-Based Workflow Model and its Advances
Chapter 8
Manfred Reichert, Peter Dadam
In dynamic environments it must be possible to quickly implement new business processes, to enable ad-hoc deviations from the defined business... Sample PDF
Enabling Adaptive Process-Aware Information Systems with ADEPT2
Chapter 9
Macello La Rosa, Marlon Dumas, Arthur H.M. ter Hofstede
A reference process model represents multiple variants of a common business process in an integrated and reusable manner. It is intended to be... Sample PDF
Modeling Business Process Variability for Design-Time Configuration
Chapter 10
Cesare Pautasso
Model-driven architecture (MDA), design and transformation techniques can be applied with success to the domain of business process modeling (BPM)... Sample PDF
Compiling Business Process Models into Executable Code
Chapter 11
Cinzia Cappiello, Barbara Pernici
This chapter illustrates the concept of repairable processes and self-healing functionalities and discusses about their design requirements.... Sample PDF
Design of Repairable Processes
Chapter 12
Web Process Adaptation  (pages 245-253)
Kunal Verma
Adaptation is an important concept for Web processes. The author provides an overview of adaptation with respect to control theory and how it is... Sample PDF
Web Process Adaptation
Chapter 13
Carlo Combi, Giuseppe Pozzi
Time is a very important dimension of any aspect in human life, affecting also information and information management. As such, time must be dealt... Sample PDF
Temporalities for Workflow Management Systems
Chapter 14
Karsten Ploesser, Nick Russell
This chapter discusses the challenges associated with integrating work performed by human agents into automated workflows. It briefly recounts the... Sample PDF
The People Integration Challenge
Chapter 15
Dimka Karastoyanova, Tammo van Lessen, Frank Leymann, Zhilei Ma, Joerg Nitzche, Branimir Wetzstein
Even though process orientation/BPM is a widely accepted paradigm with heavy impact on industry and research the available technology does not... Sample PDF
Semantic Business Process Management: Applying Ontologies in BPM
Chapter 16
Hernani Mourao, Pedro Antunes
In this chapter the authors propose a solution to handle unexpected exceptions in WfMS. They characterize these events deeply and recognize that... Sample PDF
Using WfMS to Support Unstructured Activities
Chapter 17
Guillermo Jimenez
In this chapter the authors introduce the role of a business process engineer (BPE) and necessary competencies to define, simulate, analyze, and... Sample PDF
Business Process Engineering
Chapter 18
Christoph Bussler
This chapter introduces the application of process management to business-to-business (B2B) integration and enterprise application integration... Sample PDF
B2B and EAI with Business Process Management
Chapter 19
Paul Grefen
This chapter is devoted to automated support for interorganizational business process management, that is, formation and enactment of business... Sample PDF
Systems for Interorganizational Business Process Management
Chapter 20
Guido Governatori, Shazia Sadiq
It is a typical scenario that many organisations have their business processes specified independently of their business obligations (which includes... Sample PDF
The Journey to Business Process Compliance
Chapter 21
M. Castellanos, A.K. Alves de Medeiros, J. Mendling, B. Weber, A.J.M.M. Weijters
Business Process Intelligence (BPI) is an emerging area that is getting increasingly popular for enterprises. The need to improve business process... Sample PDF
Business Process Intelligence
Chapter 22
Diogo R. Ferreira
This chapter introduces the principles of sequence clustering and presents two case studies where the technique is used to discover behavioral... Sample PDF
Applied Sequence Clustering Techniques for Process Mining
Chapter 23
Kamal Bhattacharya, Richard Hull, Jianwen Su
This chapter describes a design methodology for business processes and workflows that focuses first on “business artifacts”, which represent key... Sample PDF
A Data-Centric Design Methodology for Business Processes
Chapter 24
Laura Sanchez, Andrea Delgado, Francisco Ruiz, Felix Garcia, Mario Piattini
The underlying premise of process management is that the quality of products and services is largely determined by the quality of the processes used... Sample PDF
Measurement and Maturity of Business Processes
About the Editors
About the Contributors