Service Evolution Patterns

Service evolution is the process of maintaining and evolving existing Web services to cater for new requirements and technological changes. In this paper, a service evolution model is proposed to analyze service dependencies, identify changes on services and estimate impact on consumers that will use new versions of these services. Based on the proposed service evolution model, four service evolution patterns are described: compatibility, transition, split-map, and merge-map. These proposed patterns provide reusable templates to encourage well-defined service evolution while minimizing issues that arise otherwise. They can be applied in the service evolution scenario where a single service is used by many, possibly unknown, consumers' applications. In such a scenario, providers evolve their services independently from consumers, which might cause unexpected errors and incur unpredicted impact on the dependent consumers' applications. Therefore, providers can use these patterns to estimate the impact that changes to be introduced to their services may cause on their consumers, and to allow consumers smoothly migrate to the newest version of the service.

[1]  Miriam A. M. Capretz,et al.  Dependency and Entropy Based Impact Analysis for Service-Oriented System Evolution , 2011, 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology.

[2]  Fabio Casati,et al.  Supporting the dynamic evolution of Web service protocols in service-oriented architectures , 2008, TWEB.

[3]  Robert Daigneau,et al.  Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services , 2011 .

[4]  Fabio Casati,et al.  Toward Web Service Dependency Discovery for SOA Management , 2008, 2008 IEEE International Conference on Services Computing.

[5]  Dejan S. Milojicic,et al.  Automatically Determining Compatibility of Evolving Services , 2008, 2008 IEEE International Conference on Web Services.

[6]  Koen Yskout Change Patterns : Co-evolving Requirements and Architecture , 2010 .

[7]  Del RaWilliam Service design patterns , 2012 .

[8]  Maritta Heisel,et al.  Pattern-Based Evolution of Software Architectures , 2007, ECSA.

[9]  Wouter Joosen,et al.  Change patterns , 2012, Software & Systems Modeling.

[10]  Miriam A. M. Capretz,et al.  A Dependency Impact Analysis Model for Web Services Evolution , 2009, 2009 IEEE International Conference on Web Services.

[11]  Jun Li,et al.  How Does Web Service API Evolution Affect Clients? , 2013, 2013 IEEE 20th International Conference on Web Services.

[12]  Marin Litoiu,et al.  A design for adaptive web service evolution , 2006, SEAMS '06.

[13]  Daniele Romano,et al.  Analyzing the Evolution of Web Services Using Fine-Grained Changes , 2012, 2012 IEEE 19th International Conference on Web Services.

[14]  Eleni Stroulia,et al.  An Empirical Study on Web Service Evolution , 2011, 2011 IEEE International Conference on Web Services.

[15]  Salima Benbernou,et al.  On the Evolution of Services , 2012, IEEE Transactions on Software Engineering.