Automated Creation of Navigable REST Services Based on REST Chart

As REST architectural style gains popularity in various areas, there is an acute need for a REST toolkit that can automate the process of generating service implementations from the service descriptions. Despite that we can generate SOAP service implementations from WSDL files, there is a key distinction between REST services and WS-* services: the former is navigable by hypertext whereas the later is not. Conventional REST toolkits tie the REST API navigability with service actions, such that the navigability can only be achieved at the expense of additional data models and programs. To address this problem, this paper proposes Navigation-First Design to make a REST API navigable before implementing any service actions. A Java REST toolkit has been developed to realize the benefits of this approach through automated generation of JAX-RS compliant Java resource and message classes based on the Hierarchical REST Chart, a Petri-Net based service design framework for REST API. The toolkit can transform REST Chart XML files into a navigable REST API prototype, build and deploy it without the developer writing one line of code. The preliminary experiments show that the approach is feasible and promising.

[1]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[2]  Roy T. Fielding,et al.  Uniform Resource Identifier (URI): Generic Syntax , 2005, RFC.

[3]  Roy T. Fielding,et al.  Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing , 2014, RFC.

[4]  Wu Chou,et al.  Design and Describe REST API without Violating REST: A Petri Net Based Approach , 2011, 2011 IEEE International Conference on Web Services.

[5]  W. Marsden I and J , 2012 .

[6]  Pierre-Antoine Champin RDF-REST: A Unifying Framework for Web APIs and Linked Data , 2013, SALAD@ESWC.

[7]  Roberto Chinnici,et al.  Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language , 2007 .

[8]  Sam Ruby,et al.  RESTful Web Services , 2007 .

[9]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[10]  Jean Jacques Moreau,et al.  SOAP Version 1. 2 Part 1: Messaging Framework , 2003 .

[11]  David Beech,et al.  XML-Schema Part 1: Structures Second Edition , 2004 .

[12]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[13]  Erik Wilde,et al.  Linking Data from RESTful Services , 2010 .