Martin Heller
Contributing Writer

REST and XML Web services

analysis
Aug 18, 20082 mins

Tim Bray is clarifying his position on REST versus XML Web services and SOAP

In an interview with InfoWorld’s Paul Krill at OSCON in July, Tim Bray of Sun, the co-inventor of XML, branded the SOAP stack for XML Web services “a failure.” SOAP is of course based on XML, and the WS-* standards have grown up around SOAP to guarantee interoperability and to implement additional functionality.

Today he’s back-pedaling — no, that’s the wrong word: today he’s clarifying his position on REST in his blog.

Tim’s basic points:

  1. REST has been fortunate in its enemies. The WS-* stack has been plagued by handicaps, including “lousy” foundational technologies in XSD and WSDL, a politicized standards process, and bad design by inexperienced people.
  2. The benefits of REST “getting HTTP right” are big
  3. Statelessness may be a virtue, but in practice cookies are very useful for maintaining state
  4. PUT and DELETE (the two elements of REST’s mapping between HTTP and CRUD that are not generally supported by browsers) are not essential, but can be useful
  5. The Web works pretty well, and architectural insights from the Web really are useful
  6. REST currently has few tools

I agree with Tim about 95% of the time, and this time I agree with about 95% of Tim’s arguments. I do want to bring out a few points of my own, however.

  1. Even without tools, RESTful APIs are fairly easy to implement and debug, both on the client and the server
  2. When the tools work well, WS-* implementations can be really easy to build and debug, although they’re often horribly inefficient on the wire
  3. When the tools fall down or fail to talk to each other, WS-* implementations can be a complete nightmare
  4. Efficient XML can remedy the inherent problems of bloated XML message packets

How do you do your communications in distributed applications? REST? SOAP? Proprietary protocols? All of the above? Something else? Let us know what you think.

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author