A Spanning Tree Based Approach to Identifying Web Services

Web service has been envisioned as an important trend in application development and integration. It allows pre-built applications/application components wrapped as web services to interact with each other through standardized interfaces and form larger application systems. This paper describes a formal approach to web services identification, which is a critical step in designing and developing effective web services. The approach takes an analysis level object model, representing a business domain, as input and generates potential web service designs, in which the classes in the object model are grouped into appropriate web services based on static and dynamic relationships between classes. An initial hierarchical grouping of classes is derived using a maximum spanning tree algorithm. A set of managerial goals for evaluating alternative designs is derived based on business strategy of web service fabricator. Since the managerial goals are conflicting, a multi-objective genetic algorithm has been designed to search for alternative non-dominated solutions, from which a preferred solution can be selected. The approach has been implemented in a web services identification tool and used for designing web services in an auto insurance claims domain. The experts evaluated the utility of the approach.

[1]  David B. Fogel,et al.  Evolutionary algorithms in theory and practice , 1997, Complex.

[2]  Chetan S. Sankar,et al.  Reusability-Based Strategy for Development of Information Systems , 1990, MIS Q..

[3]  David E. Goldberg,et al.  The Design of Innovation: Lessons from and for Competent Genetic Algorithms , 2002 .

[4]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[5]  R. Prim Shortest connection networks and some generalizations , 1957 .

[6]  Clemens A. Szyperski,et al.  Why objects are not enough , 1998 .

[7]  Hemant K. Jain A Comprehensive Model for the Design of Distributed Computer Systems , 1987, IEEE Transactions on Software Engineering.

[8]  Gerry Miller The Web services debate: .NET vs. J2EE , 2003, CACM.

[9]  Ali Arsanjani,et al.  A goal-driven approach to enterprise component identification and specification , 2002, CACM.

[10]  Lothar Thiele,et al.  Comparison of Multiobjective Evolutionary Algorithms: Empirical Results , 2000, Evolutionary Computation.

[11]  Hemant K. Jain,et al.  Business component identification - a formal approach , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[12]  James Snell,et al.  Introduction to Web services architecture , 2002, IBM Syst. J..

[13]  Alan W. Brown Large Scale Component Based Development , 2000 .

[14]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

[15]  Doug Rosenberg,et al.  Use case driven object modeling with UML: a practical approach , 1999 .

[16]  Robert van Engelen,et al.  Graph Partitioning for High Performance Scienti c Simulations , 2000 .

[17]  Oliver Sims,et al.  Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise , 1999 .

[18]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[19]  Winnie W. Hua,et al.  Service-Oriented Solution Framework for Internet Banking , 2006, Int. J. Web Serv. Res..

[20]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .