JAX-RS Implementations: A Performance Comparison

John Velandia, Sonia Rios, Holman Bolivar, Juan Vanzina, Nicolas Almanzar

Abstract


Restful services are implemented around the world to integrate software systems. JAX-RS is a standard API proposed by Java to maintain a common architectural pattern independently of the provider´s implementation (libraries). At the moment, there is no study regarding when to use any of the implementations, thus, the aim of this article is to compare implementations considering different test scenarios that would help software architects and developers to make the right decision when performance variables are a selection criteria. This research carries out a methodology based on stability, peak, stress and load variables. Additionally, the software architecture is presented for some of the implementations studied to ensure that they are comparable.

Keywords


Apache CXF; JAX-RS; Jersey; Performance; REST; RESTeasy; RESTful Services; RESTlet

Full Text:

PDF

References


R. O. Y. T. Fielding and R. N. Taylor, “Principled Design of the Modern Web Architecture,” vol. 2, no. 2, pp. 115–150, 2002.

B. Costa, P. F. Pires, F. C. Delicato, and P. Merson, “Evaluating REST architectures — Approach , tooling and guidelines,” J. Syst. Softw., vol. 112, pp. 156–180, 2016.

S. Schreier, “Modeling RESTful applications,” in Proceedings of the Second International Workshop on RESTful Design - WS-REST ’11, 2011, p. 15.

B. Burke, RESTful Java with JAX-RS 2.0, 2nd Edition. o’reilly, 2013.

J. Sandoval, RESTful Java Web Services: Master Core REST Concepts and Create RESTful Web Services in Java. Packt Publishing Limited, 2009.

C. Davis, “What if the Web Were Not RESTful?,” in Proceedings of the Third International Workshop on RESTful Design, 2012, no. April, pp. 3–10.

J. Strauch and S. Schreier, “RESTify : From RPCs to RESTful HTTP Design,” pp. 11–18, 2012.

X. Wu and H. Zhu, “Formalization and analysis of the REST architecture from the process algebra perspective,” Future Generation Computer Systems, vol. 56, pp. 153–168, 2015.

N. Balani and R. Hathi, Apache CXF Web Service Development. 2009.

M. Hadley, S. Pericas-Geertsen, and P. Sandoz, “Exploring hypermedia support in Jersey,” Proc. First Int. Work. RESTful Des. - WS-REST ’10, p. 10, 2010.

C. Pautasso and E. Wilde, “RESTful web services: principles, patterns, emerging technologies,” in Proceedings of the 19th international conference on World wide web - WWW ’10, 2010, p. 1359.

Oracle, “Jersey,” RESTful Web Services in Java, 2017. [Online]. Available: https://jersey.java.net/. [Accessed: 13-Mar-2017].

B. Burke, RESTful Java with JAX-RS 2.0 - Designing and Developing Distributed Web Services. O’Reilly Media, 2013.

Oracle, “Types of Web Services,” 2014. [Online]. Available: https://docs.oracle.com/javaee/7/tutorial/webservices-intro002.htm. [Accessed: 13-Mar-2017].

Oracle, “Java Embedded Suite Application Developer’s Guide: Working with Jersey,” 2016. [Online]. Available: https://jersey.java.net/documentation/latest/jaxrs-resources.html. [Accessed: 13-Mar-2017].

J. Louvel, T. Templier, and T. Boileau, Developing RESTful web APIs in Java. Manning Publications, 2012.

Restlet, “Restlet user guide,” Restlet Framework, 2017. [Online]. Available: https://restlet.com/open-source/documentation/userguide/2.3. [Accessed: 13-Mar-2017].

JBOSS Comunity, “RestEasy,” RESTEasy, 2017. [Online]. Available: http://resteasy.jboss.org/. [Accessed: 13-Mar-2017].

B. Naveen and H. Rajeev, Apache CXF Web Service Development. Birmingham, UK: Packt Publishing Ltd, 2009.

A. S. Foundation, “Apache CXF Software Architecture Guide,” The apache software foundation. [Online]. Available: http://cxf.apache.org/docs/cxf-architecture.html. [Accessed: 13-Mar- 2017].


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.

ISSN: 2180-1843

eISSN: 2289-8131