Model-Driven Generation of a REST API from a Legacy Web Application
Web 2.0 phenomenon, REST APIs and growing mobile service consumption, among other factors, are leading the development of web applications to a new paradigm, named cross-device web application. Those web sites let organizations of all sizes provide a pervasive and contextual access to their information and services, to customers, employees and partners via potentially any kind of device. Most organizations often possess legacy systems which should face an ongoing evolution process to enhance its accessibility and interoperability. Yesterday they had to evolve to provide the user with a Web layer, and now they should evolve again to adapt to the new ways of data and services consumption on the Web. In such scenario, a REST API plays a key role, defining the interaction layer between the legacy system and all its heterogeneous front ends. This work presents a model-driven approach to derive a REST API from a legacy web application within the frame defined by a modernization process. This approach departs from a conceptual model of the legacy application generated by reverse engineering techniques. In this work we detail the API generation process and provide a sample implementation instrumenting one of the studied web development frameworks to evaluate the suitability of the approach.
KeywordsSoftware Modernization Software Reengineering Rich Internet Applications REST
Unable to display preview. Download preview PDF.
- 2.Ceri, S., Fraternali, P., Matera, M., Maurino, A.: Designing multi-role, collaborative web sites with webml: a conference management system case study. In: 1st Workshop on Web-oriented Software Technology (2001)Google Scholar
- 3.Engelke, C., Fitzgerald, C.: Replacing legacy web services with RESTful services. In: Proceedings of the First International Workshop on RESTful Design - WS-REST 2010, vol. 5, p. 27 (2010)Google Scholar
- 4.Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000)Google Scholar
- 6.Liu, Y., Wang, Q., Zhuang, M., Zhu, Y.: Reengineering Legacy Systems with RESTful Web Service. In: 2008 32nd Annual IEEE International Computer Software and Applications Conference (2100219007), pp. 785–790 (2008)Google Scholar
- 7.Mesbah, A., Van Deursen, A.: An architectural style for ajax. In: The Working IEEE/IFIP Conference on Software Architecture, WICSA 2007, p. 9. IEEE (2007)Google Scholar
- 8.Rodríguez-Echeverría, R., Conejero, J.M., Clemente, P.J., Pavón, V.M., Sánchez-Figueroa, F.: Model Driven Extraction of the Navigational Concern of Legacy Web Applications. In: Grossniklaus, M., Wimmer, M. (eds.) ICWE 2012 Workshops. LNCS, vol. 7703, pp. 56–70. Springer, Heidelberg (2012)CrossRefGoogle Scholar
- 10.Rossi, G., Pastor, O., Schwabe, D., Olsina, L.: Web Engineering: Modelling and Implementing Web Applications (Human-Computer Interaction Series) (October 2007)Google Scholar
- 11.Szymanski, C., Schreier, S.: Case Study: Extracting a Resource Model from an Object-Oriented Legacy Application (2012)Google Scholar
- 12.Ulrich, W.: Modernization Standards Roadmap, pp. 46–64 (2010)Google Scholar