RESTful Java Training Course

Course Summary

Our three-day RESTful Java™ training course provides a thorough guide to the design and implementation of RESTful web services using Java. We take students from the fundamental concepts of the REST architectural style and its embodiment in existing web standards, all the way through the creation and testing of a REST service. The course also illustrates how the decades-old HTTP protocol can in fact elegantly address a variety of "enterprise scale" issues, including high concurrency and atomic transactions.

 

Duration [top]

3 days.

Objectives [top]

On completion of this course, students will have implemented and tested a "web scale" RESTful web service using the open-source Jersey and Jackson libraries. Students will be able to:

  • Explain the fundamental concepts of the REST architectural style, and how they contrast against other web service architectures such as SOAP
  • Use HTTP's rich vocabulary of verbs and headers, URIs and media types as the basic building blocks of a scalable, future-proof service
  • Recognize and implement common patterns for constructing links, paginating and summarizing collections and providing atomic transactions
  • Transfer and apply the RESTful principles, demonstrated in this course with Jersey and Jackson, to other libraries, frameworks and programming languages

Audience [top]

The Java Web Services course is geared toward software developers with experience in the Java programming language. Familiarity with annotations is helpful. No other background with Java EE frameworks (such as servlets, servlet containers, JPA, etc.) or related technologies (e.g. Spring, OSGi) is required.

Instructors [top]

Photo

Doug Bateman is the Director of Training at NewCircle, where he oversees the quality and direction of NewCircle’s training offerings.

Doug has delivered over 100 corporate trainings on technologies including Java, Spring, Hibernate, Python, and Android and draws from over 15 years of experience as a professional software architect.

Previously Doug was the director of professional services for The Middleware Company, responsible for training, consulting, and new course development. Some of his notable projects and customers include Cisco, Hotwire.com, HSBC Bank, NASA, and the Florida State water management system.

In his spare time, Doug enjoys sailing and snowboarding.

More about Doug Bateman...
Photo

Gordon Force leads NewCircle as CEO, and brings 25 years of experience as a developer, architect, director and instructor.

Gordon has taught over 50 training courses on technologies like Java, JBoss, JavaEE, Apache, and Spring and Hibernate.

Previously, Gordon led development and application support for ConnectPay and Encompass products at First Data Corporation. He is also a Certified Scrum Master, and holds a B.A. in Business Administration with Area of Concentration in Quantitative Economics.

More about Gordon Force...
Photo

In 1986, at the age of 10, Jacob D. Parr became interested in software development. Just two years later, he began actively programming, and he’s been a developer ever since. As it grew from a hobby and passion, professionally, he’s spent many years in software testing and test automation for companies like Sierra On-Line, ImagiNation Network, and AOL Entertainment.

His career has spanned over 20 years of custom software development for websites, e-commere systems, real-estate specific applications, and enterprise tax consultants (devoting 15 of those years at Sierra Telephone). His background includes Telecommunications, Billing Systems, Service Order Systems, Trouble Ticketing Systems, and Enterprise Integration.

Jacob currently resides in Oakhurst, California with his wife and family. He loves to play practical jokes and in his spare time likes to (you guessed it) work on personal development projects.

More about Jacob Parr...

Outline [top]

1. Concepts: REST vs. the Rest

  • The Richardson Maturity Model
  • Resources: identification, representations and manipulation
  • Hypermedia as engine of application state

2. HTTP Basics

3. Intro to JAX-RS and Jersey

  • Creating resource classes
  • Jersey annotations: HTTP methods and headers
  • Constructing responses: headers and bodies
  • Standalone deployment with SimpleServerFactory
  • Testing fundamentals: JUnit and Jersey-Client

4. Resource Representations

  • Standard internet media types
  • JAXB: standard annotations and "content negotiation" for XML and JSON
  • Jackson: a non-standard, JSON-optimized alternative
  • More testing: Jackson object mapping and Hamcrest pattern matching

5. Representation Recipes

  • Building links to related resources, and URI templates for families of resources
  • Aggregate representations
  • Combating representation bloat: summaries, expansions and pagination

6. "Enterprise" HTTP

  • Authentication
  • Optimizations: conditional requests (using modification dates and entity tags) and caching
  • Transactions: ephemeral resources
  • When does a GET have to be a POST?


Student Testimonials [top]

Course content was excellent. Instructor was knowledgeable and very responsive to questions.

Philip - Cisco

Very easy to follow the instructor even though I don't have much experience in Java.

Jian - Newegg Inc.

Strongly suggest this training to the companies who have RestFul infrastructures in early or middle stages. You will find this class is very helpful with your work, no matter if you are a developer or tester etc.

Jingyi - Newegg Inc.

Doug was an awesome teacher, and kept me very interested.

Matt - Cisco