Chapter 2. RESTful Web Services: The Service Side
Java has options for implementing and publishing RESTful web services. On the publishing side, the choices range from very basic, command-line servers that are well suited for development, testing, and even low-volume production; through lightweight, Java-centric web servers such as Tomcat and Jetty; and up to full-blown Java Application Servers (JAS) such as GlassFish, JBoss, Oracle WebLogic, and WebSphere. This chapter introduces publication options in the first two categories, and Chapter 7 covers JAS publication.
There is also variety among the APIs and their implementations for RESTful services. Here is the list of APIs covered in this chapter:
HttpServletand JSP APIs, introduced briefly in Chapter 1 and examined more thoroughly in this chapter
- The JAX-RS (Java API for XML-RESTful Services) API
- The third-party Restlet API, which is very similar to JAX-RS in look and feel
The JAX-WS (Java API for XML-Web Services) API, the
@WebServiceProviderinterface in particular
For the most part, the API used to implement the web service does not constrain how this service can be published. The exception is the servlet API, as servlets need to be deployed in a servlet container such as Tomcat’s Catalina or Jetty. (Jetty is the name of both the web server and its servlet container.) There are shortcuts for publishing JAX-RS and JAX-WS services but these, too, can be published with Tomcat or Jetty; the same goes for Restlet services. ...