RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD...

13
RESTFul Web Services The Easy Way

Transcript of RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD...

Page 1: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

RESTFul Web ServicesThe Easy Way

Page 2: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

What is REST?

•Representational State Transfer•Maps your CRUD actions to HTTP verbs

Action Verb

Create POST

Retrieve GET

Update PUT

Delete DELETE

Page 3: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Why REST?

•Simple, both conceptually and programmatically

•Simpler and cleaner than SOAP

Page 4: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

SOAP ExamplePOST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn

<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock">

<m:GetStockPrice> <m:StockName>IBM</m:StockName>

</m:GetStockPrice> </soap:Body>

</soap:Envelope>

Page 5: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

REST ExampleGET /stock/IBM HTTP/1.1 Host: www.example.org Accept: application/xml

Page 6: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

SOAP Example 2POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn

<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-

envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock">

<m:BuyStock> <m:StockName>IBM</m:StockName> <m:Quantity>50</m:Quantity>

</m:BuyStock> </soap:Body>

</soap:Envelope>

Page 7: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

REST Example 2POST /order HTTP/1.1 Host: www.example.org Content-Type: application/xml; charset=utf-8

<?xml version="1.0"?> <order>

<StockName>IBM</StockName><Quantity>50</Quantity>

</order>

Page 8: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Single Resource Summary

•Create▫POST /resourceName

•Retrieve▫GET /resourceName/resourceId

•Update▫PUT /resourceName/resourceId

•Delete▫DELETE /resourceName/resourceId

Page 9: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Making it Easy: JSR 311

•JAX-RS: The Java API for RESTful Web Services

•No XML Configuration!▫Simple annotations to quickly put together

some rest based web services.•Can do automatic serialization (both XML

and JSON + many others)

Page 10: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Example Application w/ Jersey

Page 11: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Some REST/Jersey/JAXB Gotchas•No real security standard for REST.

▫Mostly DIY solutions•Hibernate dependencies

▫Use cg-lib-nodeps

Page 12: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

Questions?

Page 13: RESTFul Web Services The Easy Way. What is REST? Representational State Transfer Maps your CRUD actions to HTTP verbs ActionVerb CreatePOST RetrieveGET.

The End

Sean is reachable at:• [email protected]•www.crazyorgenius.com•@ssmith