Affiliation:
1. National Technical University of Athens, Greece
2. IBM Canada, Canada
Abstract
Over the past few years, we have witnessed a paradigm shift on the programming models and on architectural styles, which have been used to design and implement large-scale service-oriented systems. More specifically, the classic message-oriented and remote procedure call paradigm has gradually evolved to the resource-oriented architectural style, inspired by concepts pertinent to the World Wide Web. This shift has been primarily driven by multifaceted functional and non-functional requirements of Web enabled large-scale service offering systems. These requirements include enhanced interoperability, lightweight integration, scalability, enhanced performance, even looser coupling, and less dependence on shifting technology standards. As a consequence, several, and sometimes antagonistic, architectures, design patterns, and programming paradigms have emerged on a quest to overcome the constantly expanding enterprise software needs. In the context of resource-oriented architectures, the Representational State Transfer (REST) architectural style has gained considerable attention due to its simplicity, uniformity, and flexibility. More specifically, the potential for scalability and loose coupling, the uniformity of interfaces, and the efficient bridging of enterprise software systems with the Web are significant factors for software architects and engineers to consider REST when designing, implementing, composing, and deploying service-oriented systems. These issues stir discussion among academics and practitioners about how to properly apply REST constraints both with respect to the development of new enterprise systems and to the migration and adaptation of existing service-oriented systems to RESTful architectures. In this chapter, the authors discuss issues and challenges related to the adaptation of existing service-oriented systems to a RESTful architecture. First, they present the motivation behind such an adaptation need. Second, the authors discuss related adaptation theory, techniques, and challenges that have been recently presented in the research literature. Third, they identify and present several considerations and dimensions that the adaptation to REST entails, and the authors present frameworks to assess resource-oriented designs with regard to compliance to REST. Fourth, the authors introduce an adaptation framework process model in the context of enterprise computing systems and technologies, such as Model Driven Engineering and Service Component Architecture (SCA). Furthermore, they discuss open challenges and considerations on how such an adaptation process to REST can be extended, in order to yield systems that best conform to the REST architectural style and the corresponding REST constraints. Finally, the chapter is concluded with a summary and a discussion on the points raised and on some emerging trends in this area.
Reference38 articles.
1. Al Shahwan, F., & Moessner, K. (2010). Providing SOAP web services and RESTful web services from mobile hosts. In Proceedings of the Fifth International Conference on Internet and Web Applications and Services, (pp. 174-179). IEEE.
2. Algermissen, J. (2010). Classification of HTTP-based APIs. Retrieved October 10, 2011, from http://www.nordsc.com/ext/classification_of_http_based_apis.html
3. Athanasopoulos, M., & Kontogiannis, K. (2010). Identification of REST-like resources from legacy service descriptions. In Proceedings of the 17th Working Conference on Reverse Engineering, (pp. 215-219). IEEE.
4. Athanasopoulos, M., Kontogiannis, K., & Brealey, C. (2011). Towards an interpretation framework for assessing interface uniformity in REST. In Proceedings of the Second International Workshop on RESTful Design, (pp. 47–50). ACM.
5. Bai, X., Dong, W., Tsai, W., & Chen, Y. (2005). WSDL-based automatic test case generation for web services testing. In Proceedings of the 2005 IEEE International Workshop on Service Oriented System Engineering, (pp. 215-220). IEEE.