[Marakana TV] - RESTful Java Training Course (Jersey) [ENG]

Videos and source codes:
https://github.com/marley-java/marakana.com-RESTful-Java



Release-date: January 2012
Run-time: 3 day course, every day has 4 videos that are about 1 hour long.
Video format: .mov (QuickTime Movie)
Resolution: 800x600 and 1024x768


The three day Java Web Services 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.

Outline
1. Concepts: REST vs. the Rest
  The Richardson Maturity Model
  Resources: identification, representations and manipulation
  Hypermedia as engine of application state
2. HTTP Basics
   "CRUD" mapped to verbs / methods
    Introduction to HTTP Headers
    A glance at Webmachine's "Big HTTP Graph"
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?



RESTful Java Training Course (magnetlink)