Search
Lori MacVittie - Two Different Socks
You are here: DevCentral > Weblogs

posted on Friday, June 06, 2008 9:02 AM

In researching the MySpace deprecated API exploit I came across the details on MySpace's REST (Representational State Transfer) API. I'm going to ignore the debate surrounding the definition of "high REST" versus "low REST" and concentrate on the bridging aspect, as it's something I've already touched on and find to be of more value than worrying over what it's called or whether it's a standard or whatever else might be the focus of these arguments.

You may recall that part of the problem with a true REST implementation is that many browsers do not support PUT and DELETE. Some even fail to properly support POST, but in most instances you can rely upon GET and POST support at the very least. In a prior post we looked at how to rewrite URIs to simulate RESTful behavior but after reading through MySpace's description of "High/Low REST bridging" I think I like their mechanism even better, because it still lets you implement a purer REST architecture on the servers while dealing with browser limitations.

This is one of the places where an application delivery controller imbued with the ability to inspect and transform application requests really shines. Because the application delivery controller is a proxy, it can mediate access and unify two disparate methods of application access. This means that even though third-party developers may use different ways to access the REST services that the actual implementation does not need to support them all. The application delivery controller can ensure that all requests appear in the right format using the desired method, and it can do so transparently such that third-party developers don't even realize it's happening.

We're going to implement just such a system using iRules for the BIG-IP.

Interestingly enough, you could use iRules URI rewrite capabilities to address the use of deprecated methods, assuming both the deprecated method and the new method use the same (or fewer) parameters.

The description and iRules are here on DevCentral, in this article.

Happy coding!

Imbibing: Coffee



Feedback

No comments posted yet.

Let Me Know What You Think


Please use the form below if you have any comments, questions, or suggestions.

Title:
 
Name:
 
Email: (so we can show your gravatar)
Website:
Comment: Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
 
Please add 8 and 8 and type the answer here:

Blog Stats

Posts:979
Comments:1685
Stories:0
Trackbacks:583
  

Image Galleries

  

Application Delivery

  

Cloud Computing

  

Random

  

Security

  

Chat Catcher

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or