0
Republika Interactive
RESTful WEB DEVELOPMENT
Justin Kadima –Webstock 2009
REST = Representational State Transfer
DO IT!
http://twitter.com/statuses/show/123.xmlhttp://twitter.com/statuses/show/123.xml
http://twitter.com/statuses/followers/jus...
http://api.myspace.com/v1/users/26000010/photoshttp://api.myspace.com/v1/users/26000010/photos
http://api.myspace.com/v1/u...
What is a Web Service?
Public Interface (API)
Provides access to data stores
Provides access to procedures
On a remote...
Why provide APIs/Web services?
Your application is in fact a service therefore is in your interest
to let users use the se...
Why use APIs/Web services?
Access external data stores
Enhance your application with extra functionality by using an
exter...
Why is integration so important?
80% of the enterprise software developed/year has integration
requirements from the clien...
Major swifts
Closed Application
Architecture
(Walled gardens)
Closed Application
Architecture
(Walled gardens)
Open Web
Ar...
CORBACORBA
RESTREST
SOAPSOAP
RPCRPC
REST WEB
HTTP SQL CRUD
POST INSERT CREATE
GET SELECT READ
PUT UPDATE UPDATE
DELETE DELETE DELETE
RESTfull Design
1 Determine the resources
1 Determine which method each resource will support
1 Link the resources togethe...
RESTfull Design
Customer
ID
Name
Telephone
OrderID
Order
ID
Name
Value
Your API
http://api.yourapp/customers/listhttp://api.yourapp/customers/list
http://api.yourapp/customers/ordershttp://api....
Thank you,
justin@republika.ro
Justin Kadima
Upcoming SlideShare
Loading in...5
×

Justin Kadima

440

Published on

Webstock09

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Transcript of "Justin Kadima"

  1. 1. Republika Interactive RESTful WEB DEVELOPMENT Justin Kadima –Webstock 2009
  2. 2. REST = Representational State Transfer DO IT!
  3. 3. http://twitter.com/statuses/show/123.xmlhttp://twitter.com/statuses/show/123.xml http://twitter.com/statuses/followers/justinkadima.xmlhttp://twitter.com/statuses/followers/justinkadima.xml http://twitter.com/statuses/public_timeline.xmlhttp://twitter.com/statuses/public_timeline.xml Twitter API get public timeline get my followers statuses followers get a particular status detail
  4. 4. http://api.myspace.com/v1/users/26000010/photoshttp://api.myspace.com/v1/users/26000010/photos http://api.myspace.com/v1/users/326773079/friendslisthttp://api.myspace.com/v1/users/326773079/friendslist http://api.myspace.com/v1/users/26000010/albumshttp://api.myspace.com/v1/users/26000010/albums MySpace API get a user’s albums get a user’s friends list get a user’s photos
  5. 5. What is a Web Service? Public Interface (API) Provides access to data stores Provides access to procedures On a remote/external systems
  6. 6. Why provide APIs/Web services? Your application is in fact a service therefore is in your interest to let users use the service even outside the application You want other applications to use your data but in the same time control it. Is easier/cheaper to build on top You have to integrate with something ,sometimes anyway
  7. 7. Why use APIs/Web services? Access external data stores Enhance your application with extra functionality by using an external yet integrated service Easy integration
  8. 8. Why is integration so important? 80% of the enterprise software developed/year has integration requirements from the client 15%(aprox) of the ecommerce websites have some sort of integration Cloud computing & SaS are coming( actually are here already)
  9. 9. Major swifts Closed Application Architecture (Walled gardens) Closed Application Architecture (Walled gardens) Open Web Architecture (Loosely coupled) Open Web Architecture (Loosely coupled) Low level architects & developers Low level architects & developers Frontend developersFrontend developers
  10. 10. CORBACORBA RESTREST SOAPSOAP RPCRPC
  11. 11. REST WEB
  12. 12. HTTP SQL CRUD POST INSERT CREATE GET SELECT READ PUT UPDATE UPDATE DELETE DELETE DELETE
  13. 13. RESTfull Design 1 Determine the resources 1 Determine which method each resource will support 1 Link the resources together 1 Develop data schemas 1 Choose the best format to represent the schemas (JSON,XML,Text e.t.c)
  14. 14. RESTfull Design Customer ID Name Telephone OrderID Order ID Name Value
  15. 15. Your API http://api.yourapp/customers/listhttp://api.yourapp/customers/list http://api.yourapp/customers/ordershttp://api.yourapp/customers/orders http://api.yourapp/customers/order/1234http://api.yourapp/customers/order/1234 get your customer get orders get order details
  16. 16. Thank you, justin@republika.ro
  1. A particular slide catching your eye?

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

×