inicio mail me! sindicaci;ón

Finally, Web Services for the REST of Us?

by Joe McKendrick

For years now, proponents of REST-based Web services have been battling WS-* and SOAP proponents on which delivers the most agility to enterprises.

REST (XML over HTTP) is seen as a lightweight, highly adaptable protocol that can quickly link external services to applications. Amazon Web Services, for one, is a well-known repository of REST-based services (though AWS’ official stance is standards-neutral.)

REST is seen as a more agile approach to application mashups, the core of Enterprise 2.0 activity.

However, many observers have doubted whether REST can accomplish the heavy lifting of intra-application integration required within enterprises. SOAP and the emerging WS-* standards (such as WS-Security and WS-ReliableMessaging) are better suited to this purpose, they said.

Wounds were re-opened a little over a year ago, when Gartner’s Darryl Plummer pointed out in an oft-discussed article that the Web services world had actually split into two camps — the more complex SOA proponents, and the external Web app proponents. However, the lower complexity of external Web-facing apps may have something to offer internal deployments as well. “Standards such as Plain Old XML (POX) over HTTP and Representational State Transfer (REST) are asserting themselves as legitimate and very credible ways of delivering on the value proposition of Web services.”

Now, Burton Group’s Anne Thomas Manes agrees that the future may be a RESTful one. According to a report by TechTarget’s Rich Seeley, Anne recently told a conference that “REST is not new because REST is in fact the Web,” she said. “The Web has been around for 15 years, but very few people have used it for service-oriented systems.”

That may change soon.

REST is now starting to catch on in SOA, Anne observes. However, it’s only now being used by innovators, and it may take up to 10 years before a majority of developers will be using REST.

REST involves sending GET commands via HTTP to URIs to retrieve data. However, Anne said, “even long-time REST advocates admit having trouble thinking of applications in terms of REST.”

Help is on the way. Major vendors such as IBM and Microsoft — as well as open-source communities — are releasing frameworks and tools for designing and building REST applications. However, many tools are not ready, she added. “Web services toolkits that say they do REST don’t always [do it as advertised],” she said. “They do POX.”

Sam Ruby, who recently wrote a book on REST with Leonard Richardson, observed in a recent interview that “REST not the solution to every problem, but I will note that if you find a problem where REST is not the solution, it does not immediately follow that WS-* is either.”

In fact, the advantage REST holds over WS-* is its ability to support application mashups, Richardson said. A real plus for REST is “the control it gives the users of the service,” he pointed out. “If your data is exposed through a large number of resources, I can get to the data I want very quickly, using a minimal software stack you may not explicitly support. When resources are identified by URI, I can feed the URIs into other services to make mashups. When resources link to each other, I can navigate them without internalizing a lot of complicated rules.”

Ruby said in the interview that prior to his REST epiphany (thanks to the Blosxom code base), he had always “operated under the assumption that the network was something that needed to be encapsulated and abstracted away. And here was a small piece of code with no dependencies which actually was simpler, more powerful, more maintainable, and more robust because it did NOT make these assumptions.”

Share and Enjoy:
  • E-mail this story to a friend!
  • Print this article!
  • TwitThis
  • del.icio.us
  • Facebook
  • Reddit
  • Digg
  • Google
  • StumbleUpon
  • SphereIt


2 Comments »

Ryan GahlJune 13th, 2007 at 9:04 am

While I believe REST has much value, I also feel the same way about WS-*. The power of the WSDL is really it for me though. In the REST world, I’m probably just uneducated… but is there an equivalent RESTful standard that allows a program to discover a service’s interface, like WSDL allows? Without something like that, it means hand coding against a set of methods, and if those methods are ever changed it means refactoring my service consumers, again by hand. With WSDL, I know the methods automatically, and if the service contract changes, my proxies (or service adapters) can auto generate, or adapt, on the fly with only minimal babysitting/regression testing needed. Again, am I missing something, or is this kind of power available in the RESTful paradigm already. Or… is that part of the “the tools are not built yet” comment in this article?

Joe McKendrickJune 13th, 2007 at 2:47 pm

Great question, Ryan. As I understand it, WSDL 2.0 (Web Services Description Language) supports HTTP binding, which means it can be applied to RESTful services as well as SOAP/WS-* services.

Dave Orchard, BEA’s Web services guru, puts it this way: “WSDL 2.0 has tried very hard to model RESTful Web services.,” and notes that “WSDL 2.0 can describe a variety of REST services.”
http://www.pacificspirit.com/blog/2005/05/16/witw_wsdl_20_http_binding

Dave also reports that he has actually linked to a REST service with WSDL 2.0:
http://www.pacificspirit.com/blog/2005/03/02/yahoo_search_web_service_in_wsdl_20

Hugo Haas of the World Wide Web Consortium (W3C) also talks about this capability in WSDL 2.0:
http://www.w3.org/2005/Talks/1115-hh-k-ecows/#(30)

Have any readers out there worked with WSDL to describe REST services?

» Subscribe to the RSS feed for these comments

Your comment

Want an image to appear near your comment? Go to gravatar.com

HTML-Tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Additional comments powered by BackType