LNCS 7045 - 2PSIM: Two Phase Service Identifying ... - Springer Link

4 downloads 15085 Views 293KB Size Report
called 2PSIM (Two-Phase Service Identification Method) which uses graph partitioning algorithm to identify services based on enterprise business processes as ...
2PSIM: Two Phase Service Identifying Method Ali Nikravesh, Fereidoon Shams, Soodeh Farokhi, and Amir Ghaffari Electrical and Computer Engineering Faculty Shahid Beheshti University GC, Evin, Tehran, Iran {a_nikravesh,f_shams}@sbu.ac.ir, {so.farokhi,ar.ghaffari}@mail.sbu.ac.ir

Abstract. Service identification - as the first step of service-oriented modeling holds the main emphasis on the modeling process and has a broad influence on the system development. Selecting appropriate service identification method is essential for prosperity of any service-oriented architecture project. Automation, utilizing middle-out strategy, and quality assess of services, are three important criteria in evaluation of service identification methods. Existing methods mostly ignore automation principles. Meanwhile a few automated and semi-automated methods use top-down strategy to identify services and ignore existing assets of enterprise. Moreover these methods do not take all the quality metrics into account. This paper proposes a novel semi-automated method called 2PSIM (Two-Phase Service Identification Method) which uses graph partitioning algorithm to identify services based on enterprise business processes as well business entity models. 2PSIM utilizes middle-out strategy and tries to identify reusable services with proper granularity and acceptable level of cohesion and coupling. Keywords: Service-Oriented Architecture, Service-Oriented Modeling, Service Identification, Graph partitioning algorithms.

1

Introduction

Frequent changes in business environment and user demands are two important challenges in developing large-scale software systems. Service-Oriented Architecture (SOA) is one of the promising methods to address these challenges [1]. SOA embraces vast and enormous concepts and technologies. In this paper, we focus on the first phase of constructing service-oriented solutions, named service-oriented modeling. In the service-oriented modeling, the main emphasis is on the identification of the right architectural elements followed by their specification and realization [2]. In this phase, extant service identification methods should be evaluated and the most comprehensive one should be utilized by enterprise. Thus, the first goal of the current paper is to assess proposed academic and industrial methods for service identification and specify strength and weakness of each of them. Then, as the second goal, we will propose a novel service identification method based on the specified shortcomings. R. Meersman, T. Dillon, and P. Herrero (Eds.): OTM 2011, Part II, LNCS 7045, pp. 625–634, 2011. © Springer-Verlag Berlin Heidelberg 2011

626

A. Nikravesh et al.

In the current paper we have considered three important criteria to assess existing identification methods, namely: automation, service quality evaluation, and delivery strategy. Identification methods can be classified into three categories based on the automation point of view: prescriptive, semi-automated, and full-automated. Because SOA practically is utilized to develop large-scale software systems, hence, using prescriptive methods may lead to low quality of the identified architectural elements as well as being costly and timely. Moreover, their utilization efficiency depends on the architect’s experiences [3]. On the other hand, full-automated methods suffer from lack of human supervision; therefore, they may lead to services with inappropriate granularity and low quality level. In addition to automation issues, the proposed identification methods can be evaluated based on their delivery strategy. There are three delivery strategies to identify services: top-down, bottom-up, and middle-out [4]. In top-down strategy services are derived based on the analysis of business requirements. Bottom-up strategy focuses on derivation of services based on the existing assets of enterprise, and the middle-out strategy combines the other two strategies [5]. All of the full-automated and semiautomated methods use top-down strategy and ignore existing assets of enterprise in their identification process. Another important criterion in assessing identification methods is quality of the identified services. Being autonomous, loose coupling, high cohesion, composability, discoverability, statelessness, and reusability are some important quality factors of an ideal business service [6], but in the service identification phase only some of them can be assessed, which are reusability, high cohesion, and low coupling [6]. Based on the mentioned points, we have set the following objective for the research reported in the present paper: To propose a semi-automated method to identify business services which takes reusability, low coupling, and high cohesion into consideration, and utilizes middle-out strategy during identification process. Existing methods only consider some aspects of our objective and none of them takes all of the specified criteria into account. To reach this objective, we have proposed a novel method, called 2PSIM, which uses graph partitioning algorithms to identify services. 2PSIM embraces a two phased process. In the first phase, it tries to identify services with the highest level of reusability by using business entity models of the enterprise. Because identified services in the first phase have fine granularity, in the second phase, 2PSIM tries to merge them together to identify composite services with high level of cohesion and low coupling. The rest of this paper is organized as follows. Section two introduces some related work in the service identification area and evaluates them against our objective. In section three our method will be introduced, then it will be evaluated by performing a case study in the fourth section. Finally, the last section is dedicated to the conclusion of our work and the future works in this field.

2PSIM: Two Phase Service Identifying Method

2

627

Related Work

A great number of service identification methods have been proposed in the recent years. In this section we review some of the leading works in this field and analyze them against the objectives of our research, which are: automation, identification strategy, and service quality evaluation. Table 1 represents the reviewed methods and their characteristics. In the following table each method has been evaluated against the mentioned criteria. Different values of the specified criteria are as follows: • • •

Identification Strategy: top-down(T), bottom-up(B), middle-out(M) Quality Evaluation: the method evaluates quality levels of the identified services (+), the method doesn't evaluates quality levels of the identified services (-) Automation: Prescriptive(-), semi-automated(+), fully-automated(++) Table 1. Related Work

Name SOMA [4] Kohlborn [5] SOAD [7] Amsden [8] Ren [9] MOGA-WSI [10] Zhang [11] Strosnider [12] ASIM [13],[3]

3

Identification Strategy M M T T T T T T T

Quality Evaluation + + + + + + +

Automation + + + ++

The Proposed Method

Business service layer abstraction leads to the creation of two business service models: task-centric and entity-centric [6]. Although task-centric models are more popular than entity-centric ones, entity-centric services are more useful for creating highly reusable and business process-agnostic services [6]. On the other hand, focusing on business entities may lead to ignore semantic integrity of business elements [13]. Therefore, 2PSIM focuses on both entity-centric and task-centric models by running a two-phase process which is illustrated in Fig. 1. In the first phase, 2PSIM tries to identify entity-centric services by focusing on business entity models of the enterprise. We will refer to these services as Elementary Services (ES). The elementary services have high level of reusability as well as fine granularity.

628

A. Nikravesh et al.

Fig. 1. 2PSIM Process

Because fine granular services have inappropriate effects on performance and complexity of the final system, 2PSIM tries to merge elementary services together in the second phase of its process. In this phase the decision about how to compose elementary services will be made based on business process models. These composed services will be called as Business Aligned Services (BAS). 3.1 Lunch Input 2PSIM adopts business process model and business entity model as input. In order to identify entity-centric services, a model which demonstrates relationships between business entities and business activities is needed. 2PSIM uses the presented method in [14] to create the model. This method receives task-centric business processes and business entities as input and creates entity-centric business process model. After creating entity-centric business process a bipartite graph will be created which its vertices are business entities and business activities and each edge indicates a relationship between a business entity and a business activity. Fig 2 demonstrates this bipartite graph.

Fig. 2. The Bipartite Graph

3.2 Identification of Elementary Services In order to identify entity-centric services, each business entity and its related activities should be exposed as an elementary service. Because elementary services should not be overlapped, each business activity should be only in one of the elementary

2PSIM: Two Phase Service Identifying Method

629

services. Thus, we have assigned a weight ranging from one to four to each edge of the graph and edges with higher weights demonstrate more intense relationships between nodes of the graph. After specifying weight of each edge, 2PSIM identifies elementary services by running a partitioning algorithm on the bipartite graph. Fig 3 depicts the identified elementary services of the Fig 2. Details of elementary service identification algorithms fall beyond the scope of the current paper.

Fig. 3. Identified Elementary Services

3.3 Verification of the Elementary Services After identifying elementary services, business analyst verifies each elementary service and assesses its business value. In addition, software architect evaluates each elementary service and verifies if the service can be mapped to existing assets of the enterprise. 3.4 Storage of Elementary Services In the fourth and the final step of the first phase, identified elementary services will be added to a central service repository. Performing this step helps software architects to discover and reuse these services in the future service oriented projects. 3.5 Identification of Business Aligned Services Since elementary services have fine granularity, utilizing them to develop software systems will have inappropriate effects on the performance and complexity of the final system. Therefore, in the second phase of 2PSIM, elementary services should be composed together. This composition is performed based on the enterprise business processes and the results are called “Business Aligned Services” (BAS). In order to identify BASs, a graph called “elementary service graph” is created. Its nodes represent elementary services that were identified in the first phase, and its edges demonstrate relationships between two elementary services. To discover relationships between elementary services, a new format of business process model is created, in

630

A. Nikravesh et al.

which each business activity is substituted with its containing elementary service. This new format of business process model illustrates relationships between subsequent elementary services. Fig. 4 depicts two business processes and the new format of them.

Fig. 4. New format of business process

It should be considered that relationships between elementary services in the new format of business process model do not have equal weights. We have considered the following formula to calculate cohesion of elementary services [15]: a.

If A and B be two consecutive elementary services then the cohesion value between them equals one unit. b. If A and B are two elementary services that are connected via a condition in the business process model, then the cohesion value between them equals 1/(number of branches) unit.

Fig. 5. Elementary services cohesion calculation

For example, in the depicted process of the Fig. 5, a.

ES1 is connected to ES2 via a condition with three branches, therefore the cohesion value between ES1 and ES2 is 1/3

2PSIM: Two Phase Service Identifying Method

b. c.

631

ES1 is connected to ES3 via a condition with three branches, therefore the cohesion value between ES1 and ES3 is 1/3 ES1 is connected to itself via a condition with three branches and a direct connection, therefore the cohesion value between ES1 and ES1 is 1+1/3= 4/3

By summing up all the cohesion values between elementary services, the total cohesion value between each pair of elementary services is assigned to the relevant edge of the elementary service graph. A sample elementary service graph is depicted in Fig. 6.

Fig. 6. A sample elementary service graph

Finally, 2PSIM partitions elementary service graph and promotes each partition as a business aligned service. 2PSIM tries to maximize the sum of intra-partition weights as well as minimizing the sum of inter-partition weights. Fig7 illustrates the identified business aligned services of the mentioned case study. The details of graph partitioning algorithm fall beyond the scope of this paper.

Fig. 7. Identified Business Aligned Services

3.6 Verification of the Business Aligned Services After identification of business aligned services, in the final step of 2PSIM, software architect evaluates them and removes architectural incompetency. Furthermore software architect determines about how to fit each BAS to the existing enterprise applications.

4

Evaluation

In this section the users' evaluation of our method is presented. To this end we have taken advantage of Sol [16] methodology framework. Because the focus of this paper

632

A. Nikravesh et al.

is on service-oriented modeling phase, the framework is used only for capability classification of different aspects of our proposed process, and then used these capabilities to design questionnaires for conducting users’ evaluation of our process [3]. The users’ evaluation of our method was collected through a survey with the aim of gathering independent evaluation of the method from its future potential users. The survey participants were asked about general capabilities of our proposed method. We had 9 participants in our survey and all of them had rich experience in software development as well as suitable knowledge of service-oriented modeling. The questions had been organized into three categories regarding to inputs, outputs, and our identification process. The participants could answer a question based on a four-point scale ranging from (1) disagree, (2) neutral, (3) agree, to (4) strongly agree. In the following table, np expresses number of positive responses, i.e. responses 3 or 4, m represents average of the given grades and sd denotes the standard deviation. Table 2. Experts’ evaluation of the method

Scope of capabilities Input

Process

Result

5

Capabilities

1

2

3

4

np

M

sd

Preparation of the inputs didn’t have any difficulties The inputs of 2PSIM was enough for service identification 2PSIM was practical in the scope of enterprise 2PSIM was simple 2PSIM was flexible Using the method facilitated service identification The method had a suitable level of automation The identified services were acceptable in the cohesion point of view The identified services were acceptable in the coupling point of view The identified services were acceptable in the granularity point of view The identified services were reusable The identified services had acceptable map to existing enterprise assets

0

1

5

3

8

3.2

0.6

0

0

4

5

9

3.5

0.5

1

2

4

2

6

2.6

0.7

0 0 0

3 2 0

3 6 3

3 1 6

6 7 9

3 2.8 3.6

0.8 0.4 0.4

0

2

4

3

7

3.1

0.7

0

0

4

5

9

3.5

0.5

0

1

4

4

8

3.3

0.6

1

3

4

1

5

2.4

0.7

0 0

2 0

4 5

3 4

7 9

3.1 3.4

0.7 0.4

Conclusion and Future Work

In this paper a novel service identification method called 2PSIM was proposed. This method adopts business process and business entity models of an enterprise as input and identifies services by running graph partitioning algorithms. Usability of 2PSIM

2PSIM: Two Phase Service Identifying Method

633

was evaluated through applying it to development of a real world software system. Furthermore, experts’ evaluation of 2PSIM and its eminency over existing methods have been gathered through a survey. Refining the method and strengthen it, is our main future work. We aim to excel our algorithm in order to identify services with better quality level as well as improving their granularity. Moreover, extending 2PSIM to cover service specification and realization as the succeeding steps of service modeling phase, is considered to be our future work. Acknowledgement. This work was supported by Iran Telecommunication Research Center under Contract No. 20294/500.

References 1. Sunate, K., Minseong, K., Sooyang, P.: Service Identification Using Goal and Scenario in Service Oriented Architecture. In: 15th Asia Pacific Software Engineering Conference (2008) 2. Bieberstein, N., Laird, R.G., Jones, K., Mitra, T.: Executing SOA: a practical guide for the service-oriented architect. IBM Press (2008) 3. Jamshidi, P., Sharifi, M., Mansour, S.: To Establish Enterprise Service Model from Enterprise Business Model. In: Proc. of IEEE International Conference on Services Computing (2008) 4. Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Ganapathy, S., Holley, H.: SOMA: A method for developing service-oriented solutions. IBM Systems Journal 47(3) (2008) 5. Kohlborn, T., Korthaus, A., Chan, T., Rosemann, T.: Identification and Analysis of Business and Software Services – A Consolidated Approach. IEEE Transactions on Service Computing 2(1), 50–64 (2009) 6. Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design, 5th edn. Prentice Hall PTR (2005) 7. Zimmermann, O., Krogdahl, P., Gee, C.: Elements of Service-Oriented Analysis and Design. IBM developerWorks (2004), http://www.ibm.com/developerworks/webservices/library/wssoad1/index.html 8. Amsden, J.: Modeling SOA: Part 1. Service identification. IBM developerWorks (2007) 9. Ren, M., Wang, Y.: Rule Based Business Service Identification Using UML analysis. In: IEEE International Conference on Information Management and Engineering (ICIME 2010) (2010) 10. Jain, H., Zhao, H., Chinta, N.R.: A Spanning Tree Based Approach to Identifying Web Services. International Journal of Web Services Research 1(1), 1–20 (2004) 11. Zhang, L.J., Zhou, N., Chee, Y.M., Jalaldeen, A., Ponnalagu, K., Sindhgatta, R.R., Arsanjani, A., Bernardini, F.: SOMA-ME: A platform for the model-driven design of SOA solutions. IBM Systems Journal 47(3) (2008) 12. Strosnider, J.K., Nandi, P., Kumaran, S., Ghosh, S., Arsanjani, A.: Model-driven synthesis of SOA solutions. IBM Systems Journal 47(3) (2008) 13. Jamshidi, P., Mansour, S.: ASIM: Toward Automatic Transformation of Enterprise Business Model to Service Model. IEEE Transactions on Service Computing (under review)

634

A. Nikravesh et al.

14. Kumaran, S., Liu, R., Wu, F.Y.: On the Duality of Information-Centric and ActivityCentric Models of Business Processes. In: Bellahsène, Z., Léonard, M. (eds.) CAiSE 2008. LNCS, vol. 5074, pp. 32–47. Springer, Heidelberg (2008) 15. Khoshkbarforoushha, A., Jamshidi, P., Nikravesh, A., Khoshnevis, S., Shams, F.: A Metric for Measuring BPEL Process Context-Independency. In: IEEE International Conference on Service-Oriented Computing and Applications (SOCA 2009) (2009) 16. Sol, H.G: Information System Development: A Problem Solving Approach. In: International Symposiom on System Development Methodologies (1990)