Collaboration-Based Model-Driven Approach for Business Service Composition

Collaboration-Based Model-Driven Approach for Business Service Composition

Surya Bahadur Kathayat, Hien Nam Le, Rolv Bræk
DOI: 10.4018/978-1-4666-0146-8.ch027
(Individual Chapters)
No Current Special Offers


The authors of this chapter argue that business processes can be modeled in the same way as collaborative business services, and therefore use an approach developed for such services. They consider business services that are collaborative and crosscutting in nature; several participants may collaborate in a business service to achieve its goal, and a participant may take part in several different business services, playing different roles in each. A framework to support the development and composition of such business services is the main focus of this chapter. The authors use UML collaborations for modeling the structure of roles involved in a business service/process, and activity diagrams for specifying the global behavior performed by the roles. From these models, reusable components realizing the roles can be automatically synthesized, and such components can then be composed together in order to make different systems that meet the requirements of business services.
Chapter Preview


A business process is commonly defined as an ordered execution of a combination of related activities whose goal is to achieve a desired effect for customers (Oh, Cho, et al., 2011; Van der Aalst, Ter Hofstede, et al., 2003; Caetano, Silva, et al., 2010).

A business process may have active and/or passive participants. These participants can be people, computer systems, devices or tools (Caetano, Silva, et al., 2010). Passive participants only respond to external requests and never take independent initiatives on their own. Active participants can take initiatives to perform actions and send requests to other participants. Often each participant takes part in several different business processes, so in general, the behavior of business processes are composed and combined from partial participant behaviors. This is sometimes referred to as the crosscutting nature of business processes (Broy, Krüger, et al., 2007). Due to the heterogeneous and dynamic nature of business processes, there are many challenges related to business process modeling and analysis (Van der Aalst, Ter Hofstede, et al., 2003).

We consider that business processes are collaborative and crosscutting in nature, i.e., several participants may collaborate in a business process to achieve its goal; and a participant may take part in several different business processes, playing different roles in each. We will use a general definition of “service” which defines a service as “an identified functionality aiming to establish some desired goals/effects among collaborating entities” (Bræk, Castejón, et al., 2010). On a suitable level of abstraction, we see that business services and business processes are very similar. Therefore we assume that business processes and business services can be modeled in the same general framework.

Our approach is based on model-driven development where a workflow of business services is specified using UML notations, in particular UML collaborations and activities. We use collaborations to specify service structure and consider a web-service as two-party collaboration in which one part is playing a requester (initiating) role and the other is playing a responder (participating) role.

The framework constitutes a systematic approach to specify, analyze and compose collaborative business services, with automatic synthesis of components that realize services and service roles. Component types that are synthesized from service models (Bræk, Castejón, et al., 2010) can be stored into a repository and re-used to compose systems having different capabilities. In some situations it may be desirable that components (or component types) can first be composed into composite components and then into systems. In this case the complete system behavior emerges from the composition of the components.

In summary, the proposed approach provides the following novel contributions:

  • 1.

    Modeling and designing business services on a global level in such a way they can be easily analyzed and re-used.

  • 2.

    A method to compose existing business services to create new business services that not only meet customer’s requirements but also have the capacity to deal with the dynamic situations of services or users.

  • 3.

    A method to synthesize components from service models and to compose them in order to provide different system design models. Components may be encapsulated and retained for later reuse.

Using this approach, we aim to provide the following benefits to the business service developer:

Key Terms in this Chapter

Orchestration: Orchestration defines the local behavior of a component. We use UML activity diagrams to specify orchestration models.

UML Collaboration: UML collaborations define a structure of roles and collaboration uses. They support service composition in terms of collaboration uses and role bindings.

Choreography: Global behavior is called choreography. Choreography is specified using UML activity diagrams. We have used two levels of choreography models: flow-global and flow-localized.

Semantic Interface: A two party collaboration defining interface behavior.

UML Activity Diagrams: UML activity diagrams define behavior in terms of actions that are linked by token flows.

Service: Service is partial system functionality where two or more entities collaborate to achieve a goal.

Service Composition: The composition of smaller services in order to make a composite service.

Complete Chapter List

Search this Book: