6.1 Reflections on the Approach
The project is still under development and bound to
the generation of straightforward REST APIs with fo-
cus on data and ability to manipulate it. The API mod-
eler can add attributes to resources, which will also be
included in the JSON representation. Furthermore,
the generators produce only Java source code right
now. In a production environment, support of other
languages and platforms might be necessary. Imple-
menting new generators and managing them requires
moderate additional work.
Without a proper client the usage of REST and es-
pecially hypermedia provided in the response is not
guaranteed. The server response is defined by our un-
derstanding of REST and it includes hyperlinks to re-
lated resources or actions. Clients could skip this ad-
ditional information and ignore the hypermedia prin-
ciple completely. One of the biggest issues is the com-
pleteness of RDSL, which can not be assured. With
new features (e.g. client source code, testing, de-
veloper console) there is a chance of a rule-breaking
modification, which could result in rewriting the DSL,
the generators, and everything depending on it. This
was confirmed by two students, who tried to add the
support for NoSQL database and API testing.
6.2 Outlook
Ongoing work focuses on the developmentof a graph-
ical editor as Eclipse plugin in order to define at least
the finite state machine of the application. Future
work will be done mainly in the area of generat-
ing source code for mobile applications. As already
shown in Fig. 4 we target the mobile platforms iOS
and Android. The goal is to generate libraries to sim-
plify the communication to the RESTful API by pro-
viding business classes and methods to wrap all HTTP
requests. Another goal is to generate a Web-based
administration interface for inspecting and modifying
the current status of the backend.
REFERENCES
Amundsen, M., Richardson, L., and Ruby, S. (2013). REST-
ful Web APIs. O’Reilly Media, Inc., Sebastopol, CA,
USA.
Bettini, L. (2013). Implementing Domain-Specific Lan-
guages with Xtext and Xtend. Packt Publishing, Birm-
ingham, United Kingdom, first edition.
Conway, D. (1998). An algorithmic approach to english
pluralization. In Proceedings of the Second Annual
Perl Conference, San Jose, USA.
Costa, B., Pires, P., Delicato, F., and Merson, P. (2014).
Evaluating a representational state transfer (rest) ar-
chitecture: What is the impact of rest in my archi-
tecture? In Software Architecture (WICSA), 2014
IEEE/IFIP Conference on, pages 105–114, Sydney,
NSW.
Coulouris, Dollimore, J., and Kindberg, T. (2005). Dis-
tributed Systems: Concepts and Design (4th Edition)
(International Computer Science). Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
Dallas, A. (2014). RESTful Web Services with Dropwizard.
Packt Publishing, Birmingham, United Kingdom, first
edition.
Dusseault, L. and Snell, J. (2010). PATCH Method for
HTTP. RFC 5789, Internet Engineering Task Force.
Eysholdt, M. and Behrens, H. (2010). Xtext: Implement
your language faster than the quick and dirty way.
In Proceedings of the ACM International Conference
Companion on Object Oriented Programming Sys-
tems Languages and Applications Companion, OOP-
SLA ’10, pages 307–309, New York, NY, USA. ACM.
Fielding, R. T. (2000). Architectural Styles and the Design
of Network-based Software Architectures. PhD thesis,
University of California.
Fielding, R. T. (2008). REST APIs must be hypertext-
driven. URI: http://roy.gbiv.com/untangled/2008/rest-
apis-must-be-hypertext-driven. Last visited
12.12.2014.
Fielding, R. T., Gettys, J., Mogul, J. C., Frystyk, H. N., ,
Masinter, L., Leach, P. J., and Berners-Lee, T. (1999).
Hypertext Transfer Protocol – HTTP/1.1. RFC 2616,
Internet Engineering Task Force.
Fielding, R. T. and Taylor, R. N. (2002). Principled design
of the modern web architecture. ACM Trans. Internet
Technol., 2(2):115–150.
Gulabani, S. (2013). Developing RESTful web services with
Jersey 2.0. Packt Publishing, Birmingham, United
Kingdom.
Klein, U. and Namjoshi, K. S. (2011). Formalization and
automated verification of restful behavior. In Proceed-
ings of the 23rd International Conference on Com-
puter Aided Verification, CAV’11, pages 541–556,
Berlin, Heidelberg. Springer-Verlag.
Laitkorpi, M., Selonen, P., and Systa, T. (2009). Towards
a model-driven process for designing restful web ser-
vices. In Web Services, 2009. ICWS 2009. IEEE Inter-
national Conference on, pages 173–180.
Lanthaler, M. and Gutl, C. (2010). Towards a restful service
ecosystem. In Digital Ecosystems and Technologies
(DEST), 2010 4th IEEE International Conference on,
pages 209–214, Dubai. IEEE.
Papazoglou, M. P. (2008). Web Services - Principles
and Technology. Pearson Education Limted, Harlow,
United Kingdom.
Pautasso, C., Zimmermann, O., and Leymann, F. (2008).
Restful web services vs. ”big”’ web services: Making
the right architectural decision. In Proceedings of the
17th International Conference on World Wide Web,
WWW ’08, pages 805–814, New York, NY, USA.
ACM.
Model-drivenDevelopmentofRESTfulAPIs
13