JAX-RS Implementations: A Performance Comparison
Keywords:Apache CXF, JAX-RS, Jersey, Performance, REST, RESTeasy, RESTful Services, RESTlet
AbstractRestful 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.
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].
How to Cite
TRANSFER OF COPYRIGHT AGREEMENT
The manuscript is herewith submitted for publication in the Journal of Telecommunication, Electronic and Computer Engineering (JTEC). It has not been published before, and it is not under consideration for publication in any other journals. It contains no material that is scandalous, obscene, libelous or otherwise contrary to law. When the manuscript is accepted for publication, I, as the author, hereby agree to transfer to JTEC, all rights including those pertaining to electronic forms and transmissions, under existing copyright laws, except for the following, which the author(s) specifically retain(s):
- All proprietary right other than copyright, such as patent rights
- The right to make further copies of all or part of the published article for my use in classroom teaching
- The right to reuse all or part of this manuscript in a compilation of my own works or in a textbook of which I am the author; and
- The right to make copies of the published work for internal distribution within the institution that employs me
I agree that copies made under these circumstances will continue to carry the copyright notice that appears in the original published work. I agree to inform my co-authors, if any, of the above terms. I certify that I have obtained written permission for the use of text, tables, and/or illustrations from any copyrighted source(s), and I agree to supply such written permission(s) to JTEC upon request.