RESTful Web Services Development with Java
Course: RESTWSJ
Duration: 3 Days
Level: I
Course Summary
This course teaches experienced Java programmers how to build RESTful web services using Java. The course starts with an overview of web services development on the Java EE platform, including SOAP, WSDL, REST, JAX-WS, JAXB, and JAX-RS. Students learn to work with JAXB to bind Java object models to XML Schema. The Jersey implementation is used to create RESTful services from simple single-value interactions to more sophisticated services that manage CRUD (create/retrieve/update/delete) operations on more complex data types, using JAXB to marshal and un-marshal data over the network.
« Hide The Details
Topics Covered In This Course
Chapter 1 The Programmable Web and Its Inhabitants
- Kinds of Things on the Programmable Web
- HTTP: Documents in Envelopes
- Method Information
- Scoping Information
- The Competing Architectures
- Technologies on the Programmable Web
Chapter 2 Writing Web Service Clients
- Web Services Are Web Sites
- Making the Request: HTTP Libraries
- Processing the Response: XML Parsers
- JSON Parsers: Handling Serialized Data
Chapter 3 What Makes RESTful Services Different
- Introducing the Simple Storage Service
- Object-Oriented Design of S3
- Resources
- HTTP Response Codes
- An S3 Client
- Request Signing and Access Control
- Using the S3 Client Library
Chapter 4 The Resource-Oriented Architecture
- Resource-Oriented What Now?
- What?s a Resource?
- URIs
- Addressability
- Statelessness
- Representations
- Links and Connectedness
- The Uniform Interface
Chapter 5 Designing Read-Only Resource-Oriented Services
- Resource Design
- Turning Requirements Into Read-Only Resources
- Figure Out the Data Set
- Split the Data Set into Resources
- Name the Resources
- Design Your Representations
- Link the Resources to Each Other
- The HTTP Response
Chapter 6 Designing Read/Write Resource-Oriented Services
- User Accounts as Resources
- Custom Places
- A Look Back at the Map Service
Chapter 7 Service Implementation
- A Social Bookmarking Web Service
- Figuring Out the Data Set
- Resource Design
- Design the Representation(s) Accepted from the Client
- Design the Representation(s) Served to the Client
- Connect Resources to Each Other
- What?s Supposed to Happen?
- What Might Go Wrong?
- Controller Code
- Model Code
- What Does the Client Need to Know?
Chapter 8 REST and ROA Best Practices
- Resource-Oriented Basics
- The Generic ROA Procedure
- Addressability
- State and Statelessness
- Connectedness
- The Uniform Interface
- Resource Design
- URI Design
- Outgoing Representations
- Incoming Representations
- Service Versioning
- Permanent URIs Versus Readable URIs
- Standard Features of HTTP
Chapter 9 The Building Blocks of Services
- Representation Formats
- Prepackaged Control Flows
- Hypermedia Technologies
Chapter 10 The Resource-Oriented Architecture vs. Big Web Services
- What Problems Are Big Web Services Trying to Solve?
- SOAP
- WSDL
- UDDI
- Security
- Reliable Messaging
- Transactions
- BPEL, ESB, and SOA
Chapter 11 Ajax Applications as REST Clients
- From AJAX to Ajax
- The Ajax Architecture
- The Advantages of Ajax
- The Disadvantages of Ajax
- REST Goes Better
- Making the Request
- Handling the Response
- JSON
- Cross-Browser Issues and Ajax Libraries
Chapter 12 Securing JAX-RS
- Authentication
- Authorization
- Authentication and Authorization in JAX-RS
Summary
- Best Practices
- Design Considerations
What You Can Expect
At the end of the course, students will be able to:
- Describe the benefits of using REST in application development.
- Describe the technical architecture for RESTful applications.
- Describe the technologies for implementing RESTful services in Java.
- Understand the advantages of the REST architecture for web services.
- Use Java to develop simple RESTful services.
- Control dispatching to service methods based on URL patterns and HTTP methods.
- Bind request values to method parameters when expressed as HTTP query parameters, form values, headers, and cookies.
- Understand JAX-RX Security
- Be aware of RESTful Best Practices
Who Should Take This Course
This course is designed for experienced Java programmers and architects who want to learn how to design and build RESTful web services using Java.
Recommended Prerequisites
Strong Java programming skills.
Training Style
Lecture (50%) / Workshop (50%)
« Hide The Details
Related Courses
Code |
Course Title |
Duration |
Level |
|
JAVAF |
Fundamentals of Java Development |
5 Days |
I |
Details |
JAVAWS |
Developing Java Web Services |
5 Days |
II |
Details |
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.
|