WSDarwin: A Comprehensive Framework for Supporting Service-Oriented Systems Evolution
Service-oriented architecture (SOA) has become the prevalent paradigm for the development of distributed and modular software systems. SOA owes its popularity to certain properties that characterize the resulting systems and, in theory, gives flexibility to the development and maintenance of serviceoriented systems. First, web services, which are the building blocks of serviceoriented systems, are accessible over the Internet, which implies that there is no need to exchange code artifacts (as
... the case of software libraries). Second, software components in service-oriented systems are published through concise and abstract interfaces usually based on common and well-adopted standards. The abstraction implies that the interface exposes just enough for a functional run-time data exchange. The abstraction results in information hiding, which offers two benefits. On one hand, providers can hide the business logic of their service from the clients, thus, retaining their expertise or the ownership of data, from which they can possibly profit. On the other hand, taking advantage of the common standards, clients can flexibly migrate between web services to satisfy their requirements as best as possible. Nevertheless, these particular properties may also cause problems in the stability of a service-oriented system especially in the case of software evolution, if good practices are not followed. One relevant challenge is that, since the system is distributed, the decision about the evolution of a service may be restrained to a small part of the system. Also, since the communication between the components is limited by the abstract interface, the impact of the change may be unknown for the rest of the system. The clients of a service may have little information about the changes and how to react to them. The published service interface constitutes a contract between the provider and ii I would like to thank Professors Hoover, Messinger, Miller and Martin for serving as members for my PhD committee, all the reviewers of my publications and all the colleagues I have met and discussed in various conferences and especially the CSER community, whose comments and advice helped to shape and guide this work towards the right direction. I would also like to thank my colleagues in the SERL lab and the SSRG group for creating an excellent work environment with great atmosphere. A huge thanks goes to all of my friends and especially Angeliki Altani, John Dimopoulos, Natasa Tsantali, Nikos Vitzilaios and Maria Attarian (from afar) for helping me keep my sanity and reminding me that there is so much more in life.