A concept for generating simplified RESTful interfaces

Today, innovative companies are forced to evolve their software systems faster and faster, either for providing customer services and products or for supporting internal processes. At the same time, already existing, maybe even legacy systems are crucial for different reasons and by that cannot be abolished easily. While integrating legacy software into new systems in general is considered by well-known approaches like SOA (service-oriented architecture), at the best of our knowledge, it lacks of ways to make legacy systems available for remote clients like smart phones or embedded devices. In this paper, we propose an approach to leverage heterogeneous (legacy) applications by adding RESTful web-based interfaces in a model-driven way. We introduce an additional application layer, which encapsulates services of one or several existing applications, and provides a unified, web-based, and seamless interface. This interface is modelled in our own DSL (domain-specific language), the belonging code generator produces productive Java code. Finally, we report on an case study proving our concept by means of an e-bike sharing service.

[1]  Silvia Schreier,et al.  RESTify: from RPCs to RESTful HTTP design , 2012, WS-REST.

[2]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[3]  Silvia Schreier Modeling RESTful applications , 2011, WS-REST '11.

[4]  Cesare Pautasso,et al.  Why is the web loosely coupled?: a multi-faceted metric for service design , 2009, WWW '09.

[5]  Johannes Koskinen,et al.  A UML-based Approach for Abstracting Application Interfaces to REST-like Services , 2006, 2006 13th Working Conference on Reverse Engineering.

[6]  Fabio Casati,et al.  Semi-automated adaptation of service interactions , 2007, WWW '07.

[7]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[8]  Fabio Casati,et al.  Developing Adapters for Web Services Integration , 2005, CAiSE.

[9]  Cesare Pautasso,et al.  RESTful web services: principles, patterns, emerging technologies , 2010, WWW '10.

[10]  Cesare Pautasso,et al.  SOA with REST - Principles, Patterns and Constraints for Building Enterprise Solutions with REST , 2013, The Prentice Hall service technology series.

[11]  Petri Selonen,et al.  Towards a Model-Driven Process for Designing ReSTful Web Services , 2009, 2009 IEEE International Conference on Web Services.

[12]  Cesare Pautasso,et al.  RESTful Web Services: Principles, Patterns and Emerging Technologies , 2013 .

[13]  Floyd Marinescu,et al.  EJB Design Patterns: Advanced Patterns, Processes, and Idioms , 2002 .

[14]  Silvia Schreier,et al.  Case Study: Extracting a resource model from an object-oriented legacy application , 2012, WS-REST.

[15]  Yan Liu,et al.  Reengineering Legacy Systems with RESTful Web Service , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[16]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[17]  Craig Fitzgerald,et al.  Replacing legacy web services with RESTful services , 2010, WS-REST '10.

[18]  Cesare Pautasso,et al.  Restful web services vs. "big"' web services: making the right architectural decision , 2008, WWW.