CARVIEW |
Packt's 1000th Book
Celebrate with us
Return between the 28th and 30th September to claim your gift.
RESTful Java Web Services
Formats:

save 15%!
save 44%!

Also available on: |
![]() ![]() ![]() ![]() |
- Build powerful and flexible RESTful web services in Java using the most popular Java RESTful frameworks to date (Restlet, JAX-RS based frameworks Jersey and RESTEasy, and Struts 2)
- Master the concepts to help you design and implement RESTful web services
- Plenty of screenshots and clear explanations to facilitate learning
- A developer's guide with practical examples to ensure proper understanding of all concepts and the differences between the frameworks studied
Book Details
Language : EnglishPaperback : 256 pages [ 235mm x 191mm ]
Release Date : November 2009
ISBN : 1847196462
ISBN 13 : 9781847196460
Author(s) : Jose Sandoval
Topics and Technologies : All Books, BPEL, Java, Open Source, Web Services
Table of Contents
Preface
Chapter 1: RESTful Architectures
Chapter 2: Accessing RESTful Services — Part 1
Chapter 3: Accessing RESTful Services — Part 2
Chapter 4: RESTful Web Services Design
Chapter 5: Jersey: JAX-RS
Chapter 6: The Restlet Framework
Chapter 7: RESTEasy: JAX-RS
Chapter 8: Struts 2 and the REST Plugin
Chapter 9: Restlet Clients and Servers
Chapter 10: Security and Performance
Index
Jose Sandoval
Jose Sandoval is a software developer based in Canada. He's played and worked with web technologies since the Mosaic web browser was released into the wild, and for the last eight years he's consulted for various financial institutions and software companies in Canada and the US, concentrating in large-scale Java web applications. He holds a Bachelor of Mathematics degree from the University of Waterloo and an MBA from Wilfrid Laurier University.
Aside from coding and writing, he enjoys watching a good soccer match and coaching his son's soccer team. You can learn more about his interests at his personal web site https://www.josesandoval.com or his consulting firm's web site https://www.sandoval.ca.
Sample chapters
You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.
Code Downloads
Download the code and support files for this book.
Errata
- 19 submitted: last submission 28 Jun 2012Errata type: Technical | Page number: 17
In the sequence diagram,under the section POST/CREATE,it is POST /students/Jane HTTP/1.1 and not PUT /students/Jane HTTP/1.1
Errata type: Technical | Page number: 17
In the sequence diagram, under the section POST/CREATE, the response code is 201(created) and not 200 (OK)
Errata type: Technical | Page number: 19
The sequence diagram,under the section PUT/UPDATE,shows POST /students/Jane HTTP/1.1 but PUT /students/Jane HTTP/1.1 is the correct one
Errata type: Typo | Page number: 81
Under the section "Getting the tools",the second line says 'D4bo' which is actually 'Db4o'
Errata type: Technical | Page number: 96
In the UsersResource, the given return statement of the createUser method is:
return UserBO.create(represen POST request creates a new user tation);
The correct statement is:
return UserBO.create(representation);
Errata type: Typo | Page number: 118
Typo on the first line of the HTTP DELETE section:
MessageResrouce
should be:
MessageResource.
Errata type: Typo | Page number: 128
In the code snippet template called {usename} is used, it should have been {username}.
Errata type: Typo | Page number: 132
Typo in the 4th last line of the note: "udpateRepresentation" should have been "updateRepresentation".
Errata type: Typo | Page number: 133
The note states: "om.noelios.restlet.ext.servlet_2.5.jar".It should have been "com.noelios.restlet.ext.servlet_2.5.jar".
Errata type: Typo | Page number: 149
Code snippet routes using template {usename} should have been {username} .
Errata type: Typo | Page number: 153
The note states "om.restlet.ext.servlet.jar".It should have been "org.restlet.ext.servlet.jar" .
Errata type: Typo | Page number: 156
Third last line in the "XML Representation" section: org.restlet.represntation.StringRepresentation should have been: org.restlet.representation.StringRepresentation .
Errata type: Typo | Page number: 160
In the last paragraph of the "XML Representation" section 'useraname' should be 'username' .
Errata type: Typo | Page number: 161
The last paragraph in the "HTTP PUT" section states 'org.restlet.represntation.Representation'.It should have been 'org.restlet.representation.Representation'.
Errata type: Graphics | Page number: 170
In the diagram: The Model Layer should not be used by the Resource Classes, but by the Business Layer .
Errata type: Typo | Page number: 194
In the third paragraph it states 'xml.sjp'.It should be 'xml.jsp'.
Errata type: Typo | Page number: 206
'org.restlet.representation.StringRepresenation' should have been 'org.restlet.representation.StringRepresentation'.
Errata type: Typo | Page number: 231
In the first paragraph the author of Scalable Internet Architectures is named Theo Schlssnagle.It is Schlossnagle and not Schlssnagle.
Errata type: Code | Page number: 152
The annotations for deleteUser() method is given as @Get("xml"), it should be @Delete.
Submit Errata
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
What you will learn from this book
- REST architecture basics
- What it means for a web service to be RESTful
- How to connect to and consume RESTful web services such as Yahoo or Google
- A RESTful web service design heuristic
- How to deploy web services to Java web containers such as Tomcat and JBoss
- How to implement an entire web service using the most popular open source frameworks currently available, including JAX-RS implementations Jersey and RESTEasy, Restlet, and Struts 2 with the REST plug-in
- How to create standalone Java web services using the Restlet framework
- How you can secure RESTful web services
Special Offers

Annual subscription:
$220.00 per annum
Monthly subscription:
$21.99 per month
In Detail
If you are already familiar with REST theory but are new to RESTful Java web services, and want to use the Java technology stack together with Java RESTful frameworks to create robust web services, this is the book for you.
This book is a guide to developing RESTful web services using Java and the most popular RESTful frameworks available today. It covers the theory of REST; practical coding examples for RESTful clients; a practical outline of the RESTful design process—yes, it's different from traditional web application development; and a complete implementation of a non-trivial web service using the following frameworks: Jersey's JAX-RS, Restlet's Lightweight REST, JBoss's JAX-RS RESTEasy, and Struts 2 with the REST plug-in.
We begin with an introduction to REST theory, for example, what it means for a web service to be RESTful, what it means for a web service to exchange representations of resources, and what it means to only use the conventional HTTP request method types—GET, POST, PUT, DELETE—for client/server communication. Before moving into the design and implementation process of a non-trivial web service, we look at a set of sample Java applications that connect to existing REST services that are freely available (Google, Yahoo, Twitter). We then outline a practical design process for RESTful web services and then cover the four most widely used frameworks available to date: JAX-RS implementations such as Jersey and RESTEasy, the Restlet framework, and Struts 2 with the REST plug-in. We cover each framework in detail to allow you to compare the strengths and weaknesses of each framework and to begin developing your own web services after the first reading; what's more, the whole source is included for you to modify and deploy in your own web services. Finally, we discuss the most common performance issues faced by RESTful web services and cover practical solutions to security-related issues such as authentication and data transfer.
A JAVA web developer's guide for building powerful and flexible RESTful web services
Approach
The approach we take is ideal for software developers with some, or extensive, programming experience: we design a RESTful API, which serves as our software specification, and implement it with every framework discussed in the book—there are no hypothetical examples; only practical working applications.
Who this book is for
This book is for Java developers who want to code RESTful web services using any of the open source RESTful frameworks available to date, for example, JAX-RS implementations such as Jersey and RESTEasy, the Restlet lightweight framework, or Struts 2 with the REST plug-in.
You don't need to know REST, as we cover the theory of REST and web services; however, you should be familiar with the Java language and have some understanding of Java web applications.
For each framework, we develop the same web service outlined in Chapter 4, so there is lots of working code available. This is a practical guide and the majority of the book is about coding RESTful web services, and not just about the theory of REST.
Alternative Books
Have a look at these alternative products. Remember that if you buy two eBooks, you get 50% off both.
-
- Get to grips with Hibernate and its configuration manager, mappings, types, session APIs, queries, and much more
- Integrate Hibernate and Spring as part of your enterprise Java stack development
- Work with Spring IoC (Inversion of Control), Spring AOP, transaction management, web development, and unit testing considerations and features
- Covers advanced and useful features of Hibernate in a practical way
-
- A complete guide for JBoss developers covering everything from basic installation to creating, debugging, and securing Java EE applications on this popular, award-winning JBoss application server
- Master the most important areas of Java Enterprise programming including EJB 3.0, web services, the security framework, and more
- Starts with the basics of JBoss AS and moves on to cover important advanced topics with the help of easy-to-understand practical examples
- Written in a very simple and readable style, this book includes essential tips and tricks that will help you master JBoss AS development
-
- Build effective SOA applications with Java Web Services
- Quick reference guide with best-practice design examples
- Understand SOA concepts from core with examples
- Design scalable inter-enterprise communication
-
- Take your Java EE web programming skills to the next level by getting an expert's level understanding of the servlet specification and its reference implementation, Apache Tomcat.
- Build a Tomcat distribution from its source code, and explore the components, classes, and technologies that make up this container.
- Use standard development tools such as Eclipse, Ant, and Subversion to dissect a Tomcat distribution.
- Discover the touch points between the servlet specification and a servlet container's implementation.
- Acquire specialist grade skills in a range of technologies that contribute to Java server side development
-
- Design, develop, test, and deploy your web applications using Struts 2 framework
- No prior knowledge of JavaScript and CSS is required
- Apply the best of agile development techniques and TDD techniques
- Step-by-step instructions and careful explanations with lots of code examples
-
- A rapid introduction to the features of EJB 3
- EJB 3 features explored concisely with accompanying code examples
- Easily enhance Java applications with new, improved Enterprise Java Beans
-
- Discover the power of Drools as a platform for developing business rules
- Build a custom engine to provide real-time capability and reduce the complexity in implementing rules
- Explore Drools modules such as Drools Expert, Drools Fusion, and Drools Flow, which adds event processing capabilities to the platform
- Execute intelligent business logic with ease using JBoss/Drools, a stronger business-rules solution
- Covers examples of a fraud detection system utilizing Drools CEP (Complex Event Processing) capabilities
-
- Thoroughly understand how the jBPM framework works
- Build custom Java Enterprise solutions using the jBPM framework
- No experience with jBPM required
- Helpful guidance on converting a business analyst's spec into complete, working software
-
- Complete practical guide to Apache Axis 2
- Using Apache Axis2 to create secure, reliable web services quickly
- Write Axis2 modules to enhance web services’ security, reliability, robustness and transaction support
-
New jQuery Book Released jQuery Tools UI Library will show you how to add useful functionality to your website, using the compact but powerful jQuery Tools library.Get inspiration for developing your own ideas with the book.
Learn More Download a free chapter - Quickly look up features of the jQuery library
- Step through each function, method, and selector expression in the jQuery library with an easy-to-follow approach
- Understand the anatomy of a jQuery script
- Write your own plug-ins using jQuery's powerful plug-in architecture
- Written by the creators of learningquery.com
- Check out the new Learning jQuery Third Edition here
![]() |
RSS Feed |
![]() |
Sign up to Packt's newsletter |
![]() |
Follow Packt at Twitter |
![]() |
Join our Facebook Group |
Customer service body text... insert content here.
Returns Centre body text... insert content here.
Packt Updates
To submit your images Click Here
Packt Updates
Footer Copyright
This site requires cookies to be enabled in your browser. Packt Publishing 2012
Links to Packt information
Click here to view Packt's cookie policy. This explains the cookies on Packt's website, and why we use them. It also explains information on how to manage your cookies.
By closing this banner, you are consenting to our use of cookies on your device, unless you have disabled them in your browser.