Give It A Rest(ful) web service
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Give It A Rest(ful) web service

on

  • 1,130 views

This talk takes a tongue-in-cheek look at the service integration space and frames REST as providing a set of features that will finally overcome some of the pain being continually felt in this space.

This talk takes a tongue-in-cheek look at the service integration space and frames REST as providing a set of features that will finally overcome some of the pain being continually felt in this space.

Statistics

Views

Total Views
1,130
Views on SlideShare
1,129
Embed Views
1

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Give It A Rest(ful) web service Presentation Transcript

  • 1. Give it a REST(ful web service) Russ Miles www.opencredo.com Monday, 25 January 2010
  • 2. Agenda • What do we want from an integration approach? • A trip through history... • What’s REST? • Why REST? • That’s gotta be difficult to implement... • Summary © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 3. First a BIG PLUG! RESTful Web Services by O’Reilly Go buy this book, now! (Ok, or borrow it off of me) © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 4. Who the heck is Russ Miles? • OpenCredo • And in other lives... – CEO – Search – Consultant – Mobile – Defence – Open Source • Author and Technical Editor – AspectJ Cookbook – Learning UML 2.0 – Head First Software Development © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 5. Who the heck is Russ Miles? • OpenCredo • And in other lives... – MD –Search – Consultant – Mobile – Defence –Open Source • Author and Technical Editor – AspectJ Cookbook – Learning UML 2.0 – Head First Software Development © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 6. What do we want from an integration approach? © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 7. Some of the things we’ve been promised • Platform/language/framework agnostic • Scaleable • Evolvable • Secure • Simple (or as simple as possible) • Open Standards © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 8. A short (and painful) trip through integration technologies... © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 9. IPC “Look ma! It’s all just pipes...” © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 10. RPC “Look ma! It’s all just objects!” © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 11. IPC/RPC... sucks (between apps/systems) • Cannot easily evolve • Doesn’t scale to the ‘new’ integration challenge • Is brittle – (Stateless? Scalable? I think not...) • Is ‘interesting’ when it comes to multiple languages/frameworks... • Tries to solve the WRONG problem © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 12. Web Services to save the day... “It’s time to reinvent that wheel boy!” © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 13. RPC Web Services sucked • Framework and Language nuances • Encouraged worst practices • RPC is the essential problem here! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 14. Contract First Web Services? “Still reinventing...” © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 15. Contract First, Document Literal, Web Services tried to help • XML is the lingua franca! • Transport agnostic • Contract first! • SOAP and WSDL • WS-Addressing • WS-Policy • WS-Security • Ummm WS-WhateverYouLike! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 16. And the vendors got fat... © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 17. But all was not well in WS-ville... © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 18. And then came Roy Fielding... © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 19. Representational State Transfer • Think in ‘things’ • Things have addresses • Things have representations you can GET • Things can be PUT back differently • Things can be DELETEd • Things can be, umm, POSTed to create them • Does anyone see this as anything new...? © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 20. Haven’t we seen something like this before? WWW © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 21. Web apps are Web services (done right) © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 22. The key components of REST • Resources • URIs • Uniform interface • Stateless • Representations © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 23. But WHY?! • Simple to implement • Systems are naturally broken down into Resources... • Naturally HTTP, not abusing HTTP... • Scales like a western man on 40 hamburgers a day! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 24. And now an apology... • Not all systems that claim RESTfulness, are actually RESTful... • XML over HTTP isn’t the same – unless you mean the same as web services... • The URL matters (dammit!) • The mime type matters • The HTTP method (really) matters! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 25. You need to think about REST • Decide on resources • Decide on URIs • Decide on methods you’ll support • Decide on how resources will relate (hypermedia, WADL, both?) • Decide on representations you’re going to support © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 26. Finally, some code! Aren’t RESTful services hard to develop...? © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 27. Summary • RESTful services are ubiquitous • REST is actually very simple • Think about resources up front • Keep things stateless • The uniform interface unlocks the power of the web for your internal services • Implementation is simple © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 28. Some of the things we’ve been promised • Platform/language/framework agnostic • Scaleable • Evolvable • Secure • Simple (or as simple as possible) • Open Standards © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 29. Some of the things that REST delivers • Platform/language/framework agnostic • Scaleable • Evolvable • Secure • Simple (or as simple as possible) • Open Standards © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 30. Thanks and Any Questions? russell.miles@opencredo.com http://www.russmiles.com © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010