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.
Service Evolution PatternsProceedings of the 21st IEEE International Conference on Web Services (IEEE ICWS 2014)
Document TypeConference Proceeding
URL with Digital Object Identifierhttp://dx.doi.org/10.1109/ICWS.2014.39
Citation InformationS. Wang, W. Higashino, M. Hayes, M. A. M. Capretz, “Service Evolution Patterns”, Proc. of the 21st IEEE Int. Conf. on Web Services (IEEE ICWS 2014), June 27-July 2, 1014, Alaska, USA