Variability Management in Business-IT Alignment : MDA based Approach

The expansion of PAIS (Process Aware Information Systems) has created the need for reuse in business processes. In fact, companies are left with directories containing several variants of the same business processes, which differ according to their application context. Consequently, the development of PAIS has become increasingly expensive. Therefore, research in business process management domain introduced the concept of configurable process, with the aim of managing the variability of business process. However, with the emergence of the services-based development paradigm, the alignment of services with business processes is highly required in PAIS. Thus, in this paper an MDA based method which allows for generating configurable services from configurable process is proposed. Keywords—alignment; variability; MDA; PAIS; configurable service, configurable process


INTRODUCTION
Due to the lack of process control and automation into information systems centered data, the process orientation was established by the introduction of a new generation of information system called Process Aware Information System (PAIS), where the main unit of these information systems is the business process models.Thus, workflow management systems (WFMS) and integrated systems known as Enterprise Resource Planning (ERP) represent an example of a PAIS [1].In the literature, a PAIS is considered as a software system that manages and executes business processes involving people, applications and information sources, based on a process model, while advocating separation of business logic and application logic [1].
In the last few years, with the wide adoption of PAIS, companies are left with directories containing several variants of the same business processes, which differ according to their application context.For instance, in the e-healthcare domain, 90 variants of "medical examination process" could be distinguished in a hospital [2].Consequently, in order to choose or combine variants, the designer has to compare and adapt them manually, which could be a complex and an error prone operation.In this context, many research studies have focused on managing the variability of business processes by developing configurable processes [3] [4] [5] [6] [7] [8] [9].
Along with the improvement of business process reuse by the introduction of the variability management, the proposed approaches lack of business-IT alignment support.The study of existing works shows that these approaches do not allow the generation of configurable services emanating from configurable processes, in this context a new concept related to business processes has been introduced, which is the "service based process model" [14].This has led us to study the alignment between the configurable processes and the enterprise applications, in particular services, with the aim of building PAIS that support service orientation.The emergence of variability management in business processes and services conduct the PAIS today to adopt the configurable processes at the business layer and the configurable services at the IT layer.In this perspective, an MDA (Model Driven Architecture) approach for the configurable services generation is developed in [15].Therefore, it is argued that the alignment with supporting variability could also be beneficial.This alignment will enable the traceability management of business needs expressed at the business layer and their realization at the IT layer [16].Indeed, it also allows change synchronization between the two layers.Consequently, the alignment is not limited only to establish the mapping between the configurable processes and configurable services, but also to maintain this correspondence when companies business needs evolve.
The paper is structured as follow: the concept of alignment supporting variability is firstly introduced and secondly the comparative study of different approaches is given.An MDA based method for configurable service generation is described in the Section IV.

A. Alignment concept
This section focuses on defining and discussing the most existing definitions of the alignment concept.
Alignment can be defined as the «dependency management» between business processes and services [18], «connection» of services to processes [19] or «change synchronization» between business processes and services [16].
According to the authors [20], the alignment of services with business processes is the ability to realize business process as a set of services.In this sense, the alignment allows for ensuring coherence between the processes of the business layer and services of the IT layer.It is considered that the alignment consists of the design of service-oriented architectures in a way that allows for easily adaptable business processes.This requires not only defining the dependency relationships between the activities of a business process and www.ijacsa.thesai.orgrelated services, but also managing changes of processes and their related services.
In this work, business IT alignment concerns the generation of configurable services from configurable process in order to maintain consistency between the two layers (IT and business) and facilitate change management, taking into account the variability of processes and services.
Existing works on business IT alignment can be put under two main categories:  Generation of services from a business process that involves designing business processes and defining the different rules that generate services from configurable process.These services will be implemented using the web services technology.
 Change management by analyzing the impact of changing the business process and services.
In this article, the main work is about the first category by focusing on the management of variability when it comes to generate services from a business process.

B. Service generation from business process
In this section, the concept of service generation is detailed in order to define the main elements which are required when it comes to generate services.
In the literature, the generation consists of transforming a business process into a set of services.This describes how services can be automatically generated from a business process.
The study of service generation works [14] [16] [17] [21] has shown that these works use the BPMN language [22] to represent a business process and the SoaML (Service Oriented Architecture Modeling language) [23] to represent the services to generate.For the generation, it is carried out in the most of time under the MDA (Model Driven Architecture) [24].Furthermore, despite of the diversity of these works, there is no generation approach supporting the variability of the business process and services.In this perspective, an MDA based approach for the generation of VARSOAml configurable services from a Variant-Rich BPMN configurable process is proposed.Thus, service generation with supporting variability requires: a) Language for modeling a configurable process b) Language for representing configurable services c) MDA approach for configurable services generation

2) Modeling of configurable process: Variant-Rich BPMN language
There are many approaches to represent the variability of BPMN process [7] [9] [10].All these approaches are derived from the Variant Rich BPMN (VR-BPMN) language [5].The VR-BPMN extends BPMN to support the variability of business processes using annotation technique.It allows representing three concepts of variability, a variation point (alternative or optional), a variant (default or simple variant) and the relationship between variation point and variants (encapsulation, extension, inheritance).It was used in several case studies within the automotive field [6] and E-healthcare [11].All the variability representation stereotypes are described in the following table (cf.Table I):

Alternative
-« VarPoint» defines an alternative variation point activity -« Abstract» defines an abstract variation point activity with several implementations.

Optional
-«Optional »-defines an optional variation point activity that can be extended by several variants.

Variant
-«Default » represents the default realization of a variation point activity.
-«Variant » represents the realization of a variation point activity

Association {variation point variant}
-« implementation » is used to associate a variant activity with an abstract variation point activity.
-« inheritance » is used to signify that a variant activity is a type of a variation point activity -« extension » is used to associate a variant activity with an optional variation point activity.
For each variant activity, a feature is associated to define the selection condition of the alternative activity.In this work, the Variant-Rich BPMN is used to represent the variability of all perspectives of business processes (functional, behavioral, organizational and informational) [13], unlike the generation approaches that are limited to activity and data transformations.A complete representation of configurable process will allow us to treat the generation of services in a broader sense.

3) Representing configurable services: VarSOAML language
Recently, with the emergence of reuse in SOA, some approaches, yet few, became interested in modeling services supporting variability.The approaches that propose an extension of SoaML language to support the variability of services are thus examined.The VarSOAML language [25] is adopted.It represents the variability of all SoaML service elements, to cover four views of service, namely the business view, structural, functional and composition.To extend the elements of SoaML, VarSOAML uses UML stereotypes.Different representation stereotypes of service elements (contract participant, message, service and operation interface) are described below (cf.Table II).www.ijacsa.thesai.orgIt appears that the VARSOAML language is the richest language in terms of representation, because it covers four views of service, namely the Service View (contract variable), functional view (variable interface, variation / variant operation, variation / variant type), structural view (variable participant) and the composition view (UML activity diagram).

4) Generation approach: MDA
MDA can be defined as the achievement of the MDD approach (Model Driven Developement) around a set of OMG standards such as MOF (Model Object Facility), UML, XMI and OCL enabling a new model based development approach.MDA defines three types of models [24]: the business requirements of a system.This is a model of business requirements defining the business interactions and business tasks of a system, without describing its structure or its implementation.In objectoriented approaches, CIM is represented by the use case diagram, while in service-oriented approaches CIM is represented by BPMN business process models [14] [17] or UML activity diagram [25].
 PIM (Platform Independent Model): it represents a model describing the business logic of a system, independently of any technology.It allows describing the structure of the entities which constitute the system.In object-oriented approaches, the UML class diagram is often used at this level, while in the service-oriented approach; the PIM is represented by SoaML models [14].
 PSM (Platform Specific Model) is a model that represents an implementation of a system according to a particular technology.MDA offers UML profiles to create these models, such as EJB profile (Enterprise Java Beans).
In order to establish traceability between CIM, PIM and PSM levels, MDA proposes the model transformation concept.These models must conform to their meta models.Thus, a metamodel is a model of a modeling language.The model transformation can be of three types:  Simple transformation (1 to 1): it combines every element of source model with at most one element of the target model.An example of this transformation is the transformation of a UML class in a Java class.
 Multiple transformations (M to N): it takes as input a set of elements of the source model and produces a set of elements of the target model.Sometimes this transformation can be a type of composing models (1 to N) or merging models (N to 1).
 Update transformation: it is dedicated for changing a model by adding, modifying or deleting some of its elements.
In this paper, the composing models category (1 to N) is adopted.In fact, the idea is to transform a VR-BPMN configurable process model to four VarSOAML models which represents configurable services.The paper aims to offer a service generation method to generate configurable services from a configurable process, covering all perspectives of a configurable process.Thus, it is important to mention that the proposed approach will allow generating all the models representing a configurable service including contract, interface, Message Type and participants.These models will be transformed into configurable web services.

III. STATE OF THE ART
In this section, existing solutions in service generation are analyzed, and are evaluated how suitable for the purposes of this work they are.This analysis also provides valuable input regarding the requirements of this proposal.
All existing works on service generation [14] [16] [17] [18] [25] adopt MDA approach.Before analyzing these approaches, the evaluation criteria are listed below:  Transformation level is about two kinds: • From business process model to service models (CIM2PIM) • From Services models to web services (PIM2PSM). Representation language determines the language used.
 Variability specifies whether the management of business process and service variability is assured.
 Perspective mentions the elements supported by the mapping rules.
 Method indicates if the approach proposes a method to assist the designers when generating services.
The following existing works are presented: -MINERVA Framework [14] In this work, authors develop a Framework called MINERVA (Model Driven & Service Oriented Framework for the continuous Business Process Improvement & related tools).MINERVA generates, from a BPMN business process models, SoaML service models (corresponding to CIMtoPIM transformation).The SoaML models are then transformed to www.ijacsa.thesai.orgexecution models represented in WSBPEL or XPDL (corresponding to PIMtoPSM transformation).The authors use a combination of Eclipse plugins (BPMN modeling, Medini QVT, Magic Draw and Model Pro) to implement their solution.However, no explicit definition of mapping rules at different levels of the Framework was found.Moreover, the approach does not support the concept of variability.
-BPMN-SoaML mapping [21] In this work, authors define mapping rules for transforming BPMN models toSoaML models (CIMtoPIM).Thus, authors focus on the mapping of activities, Pool, Message Flow, and ignore the data and sub-processes.Regarding the target model, they focus on the contract, the service interface, the participant and the service architecture, messages and the choreographies.The rules are implemented using ATL (Atlas Transformation Language).However, the approach does not support the concept of variability.
-Business -IT alignment [17] This approach is part of the business IT alignment based on a BPM-SOA convergence.In this work, authors propose a method to implement the business process as a service using the MDA approach.This work covers the mapping of the main perspectives of BPMN process models (business, subprocesses, Pool, Lan and process fragment) to the service model elements (Service Architecture, interface, contract and participant).A detailed definition of mapping rules is provided, as well as implementation in ATL language.However, this approach does not support the concept of variability.
-BPMN-SCA (Service Component Architecture) [16] This work provides a mapping between business process models represented by BPMN and service models represented by SCA, which provides composition of applications using the principles of SOA.This approach focuses primarily on collaborative elements, participant and activity.The functional view and the service view is not supported by the approach.In addition, BPMN models supporting variability are not included.
-SVDEV [25] This work proposes a development method SVDev (Service Variability Development) using the MDA approach.The SVDev development method is organized according to the levels of MDA:  CIM level: it focuses on the study of the preliminary analysis and the specification of the business process models and classes.
 PIM level: it represents services (supporting variability) by VarSOAml.These models are organized in terms of views (functional, service, structure and composition).
 PSM level: it implements services witch support the variability by using VarWebService.
The Table III provides a summary of the following comparative study: All approaches cover CIM2PIM level except SVDEV which covers only PIM2PSM.The most approaches use BPMN for business process models and SoaML for service models.Only SVDEV uses VARSOAML for service models.
None of the approaches uses BPMN with supporting variability.Only the work [17] supports the mapping of all elements.www.ijacsa.thesai.orgNone of the analyzed works was found suitable to fulfill the needs of business IT alignment with supporting variability.In order to overcome these limitations, an MDA based method for aligning configurable services to configurable processes is proposed.This approach should enable the generation of configurable services from a configurable process while covering the generation of all views of a service.

IV. MDA BASED METHOD FOR CONFIGURABLE SERVICES GENERATION
The main contribution that we look forward to in this work is the MDA based generation method (cf.Fig. 1) which is developed for PAIS designers.In what follows, all method steps are given.
Thus, the proposed method consists of the following steps:

A. Configurable process modeling
In order to illustrate the various steps of generation of configurable services, an echography request process represented in Variant-Rich BPMN (see Fig. 2) is used.This configurable process includes three variants: echography request of a simple patient (variant 1), echography request of a hospitalized patient (variant 2) and echography request of a emergency patient (variant 3):  Variant 1: the request is made by the patient.It is then received by the assistant who is responsible for the management of patients and then studied by a hospital actor (the Cardiologist Doctor) who is responsible of patient examination.
 Variant 2: the request is made by a hospital Actor (doctor) and received by the assistant.The same process as a simple patient is applied.
 Variant 3: the request is sent by a hospital actor (emergency doctor), then it is sent directly to the cardiologist to perform an emergency examination.For each variation point activity, the type of the variation point (through the stereotype) and the associated variants are indicated, and for each variant activity, the feature helping the designer in the variability resolution step ({PatientType = "Hospitalized patient"}) is represented.

B. Decomposition of configurable process
The decomposition of a business process is to extract from a business process model, a set of fragments that encapsulate a business objective.A fragment is identified from a series of sequential activities or from a Gateway.A fragment corresponds to a business service [26].
In this work, the decomposition of a configurable process (shown in Variant-Rich BPMN) is to extract several configurable fragments (supporting variability).These configurable fragments correspond to configurable composite activities.A composite activity is called configurable if it contains at least one variation point or variable activity.A configurable fragment is identified from a series of sequential activities carried out by the same participant.For each configurable fragment identified, a configurable service will be associated.www.ijacsa.thesai.orgThus, the configurable process can be decomposed as follows (see Fig.Each configurable composite activity is associated with a configurable service.Two configurable services: For each identified configurable composite activity, the service interface, the messages, the service contract and participants are generated.

C. VarSOAML configurable service generation
Before generating a VarSOAML models of a configurable service, it is first to identify the elements of the source metamodel and the target metamodel of those affected by this generation.
The type of transformation which is operated is the multiple transformation (1 to 3).A Variant-Rich BPMN model is transformed to four VarSOAML models by applying generation rules.

Example of the proposed generation rule [15]:
The

c) Message Type Model
By applying the rules [15]: The Message Type model is exposed in (cf.Fig. 6)

D. Configurable web services generation
In this section, the generation of configurable web services (called VarWebservice) from VarSOAML models is detailed.
The VarWebService generation approach proposed in [25] is applied.This work establishes the transformation of VarSOAML models to configurable web services.Thus, a web service is defined as a service that is accessible via the Internet and uses the XML standard.It is a software module that exposes the interface through a WSDL (Web Service Description Language).WSDL is a language for describing all operations and messages that can be exchanged [27].
The generation of configurable web services requires generation of the following files:  WSDL file  Variability specification file associated with the WSDL file  XSD schema which describes data which are used by the web service  Java code implementation

1) WSDL file generation
The WSDL file (cf.Fig. 7) contains all the messages and operations.The following generation rules are applied:

3) XSD schema generation
The XSD schema describes all data types used by a web service.

4) Java code implementation of configurable web service
The following generation rules are applied in order to generate the java code implementation [25] (cf.Fig. 10):

Example of the generation Rule: Operation2Method
The Operation2Method rule allows creating of the Method instance from Operation.The advantage of this method is that it covers all stages of configurable services development, from configurable process modeling to configurable web services implementation which is described by the WSDL file, the variability specification, the XSD schema and the Java code implementation.

V. CONCLUSION
Many solutions for business IT alignment have been proposed.However, some limitations such as the weak support of business process and service variability are underlined.The MDA based method for service generation ensures the business IT alignment with managing variability.

 ( 1 )
Configurable process modeling  (2) Decomposition of the configurable process into several fragments, each fragment represents a configurable service  (3) Configurable service generation which consists of two sub steps :  VarSOAML configurable service generation which describes the configurable services associated with the identified fragments.Configurable web services generation which corresponds to the service implementation.

Fig. 5 .
Fig. 5. Service Interface model This interface uses the required interface and provides «IEchographyRequestManagement».

Fig. 6 .
Fig. 6.Message Type model The model describes the variables and simple messages.The model also describes the data contained in the message.

Fig. 7 .
Fig. 7.An extract of the WSDL file

Fig. 8 .
Fig. 8.An extract of the Variability specification associated with the WSDL file

Fig. 9 .
Fig. 9.An extract of the XSD schema associated with the WSDL file

Fig. 10 .
Fig. 10.An extract of the Java Code implementation

TABLE II .
REPRESENTATION STEREOTYPES OF VARSOAML

TABLE III
ProviderInterface or ConsumerInterface elements is given, as well as VariableCompositeActivity element is shown in VarSOAML by two interfaces: Provider Interface and Consumer Interface.