Your SlideShare is downloading. ×
0
RESTful Web Services with JAX-RS
2

Benjamin Morgan
@benedwinmorgan
http://badness10000.blogspot.com.au/
Talk Overview
●

History of JAX-RS

●

JAX-RS intro

●

New Features in JAX-RS 2
●

Client API

●

Filters and Interceptor...
What is not covered
●
●

●

●

Configuration of JAX-RS services in a container
Configuration of JAX-RS with DI frameworks
...
History of JAX-RS
●

JSR 311 2007

●

JSR 339 for JAX-RS 2 released 2013

●

●

Multiple implementations (Jersey, RESTeasy...
Why JAX-RS
●

●
●

Ties in with Java EE so you get automatic
exposure in a EE container
Standard so you can switch impleme...
Quick intro to JAX-RS services
●

●

●
●

Annotation driven i.e. @GET, @Path,
@Produces
Annotations are scanned by contain...
Code
●

web.xml

●

MyResource

●

JaxRSApplication
Client Api
●

JAX-RS 1 was server side only API

●

JAX-RS 2 client API aims to be
●

Fluent using builder pattern

●

'In...
Code
●

MyResourceClient
Filters and Interceptors
●
●

●
●

Filters can modify entire request
Interceptors are intended to modify the entity
(paylo...
Code
●

JaxRSApplication

●

PoweredByResponseFilter

●

MyResourceClient – Get demonstrates
registration of filters on cl...
Async Support
●

Support for Asynchronous usage on both the
client and server

●

Need to set async-supported in the servl...
Code
●

DelayedAsyncResource

●

AsyncResouce
Code
●

DelayedAsyncResource

●

AsyncResouce
My Questions
●

Tuning thread pools?

●

Async servlet support

●

Testing client api

●

Thread safety of Client factory
Thanks for listening
●

●

Code for the talk on Git https://github.com/nebnagrom/qldjvmJaxRs2
Slideshare http://www.slides...
Upcoming SlideShare
Loading in...5
×

Jax rstalk

91

Published on

Slides for my presentation to the Queensland JVM group

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
91
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Scanned by EE containers
    Can be configured by servlet as well in a servlet container
  • Transcript of "Jax rstalk"

    1. 1. RESTful Web Services with JAX-RS 2 Benjamin Morgan @benedwinmorgan http://badness10000.blogspot.com.au/
    2. 2. Talk Overview ● History of JAX-RS ● JAX-RS intro ● New Features in JAX-RS 2 ● Client API ● Filters and Interceptors ● Asynchronous Support
    3. 3. What is not covered ● ● ● ● Configuration of JAX-RS services in a container Configuration of JAX-RS with DI frameworks (i.e. spring) Configuration of JAX-RS servlet beyond a basic level Detailed coverage of JAX-RS api i.e. Content routing, different content types etc.
    4. 4. History of JAX-RS ● JSR 311 2007 ● JSR 339 for JAX-RS 2 released 2013 ● ● Multiple implementations (Jersey, RESTeasy, CXF and others) Shipped with EE app servers
    5. 5. Why JAX-RS ● ● ● Ties in with Java EE so you get automatic exposure in a EE container Standard so you can switch implementations Easy to build well behaved services, particularly around response codes other than 200
    6. 6. Quick intro to JAX-RS services ● ● ● ● Annotation driven i.e. @GET, @Path, @Produces Annotations are scanned by container or configured through a servlet parameter Service beans are not necessarily singletons Many of the code examples are based on or inspired by examples that ship with Jersey
    7. 7. Code ● web.xml ● MyResource ● JaxRSApplication
    8. 8. Client Api ● JAX-RS 1 was server side only API ● JAX-RS 2 client API aims to be ● Fluent using builder pattern ● 'Inspired' by Jersey 1 client API ● Uncertain about how to unit test this code
    9. 9. Code ● MyResourceClient
    10. 10. Filters and Interceptors ● ● ● ● Filters can modify entire request Interceptors are intended to modify the entity (payload) only Can apply to client or server API Usually a few useful ones ship with implementations such as Logging Filters
    11. 11. Code ● JaxRSApplication ● PoweredByResponseFilter ● MyResourceClient – Get demonstrates registration of filters on client and target
    12. 12. Async Support ● Support for Asynchronous usage on both the client and server ● Need to set async-supported in the servlet ● @Suspended injects an AsyncResponse ● ● Response is written using the AsyncResponse object, request thread is returned to the pool Support for chunked output
    13. 13. Code ● DelayedAsyncResource ● AsyncResouce
    14. 14. Code ● DelayedAsyncResource ● AsyncResouce
    15. 15. My Questions ● Tuning thread pools? ● Async servlet support ● Testing client api ● Thread safety of Client factory
    16. 16. Thanks for listening ● ● Code for the talk on Git https://github.com/nebnagrom/qldjvmJaxRs2 Slideshare http://www.slideshare.net/benjaminedwinmorga n/jax-rstalk ● Podcast - http://hackandheckle.com/ ● Twitter - @benedwinmorgan ● Blog - http://badness10000.blogspot.com.au/
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×