| By Mark O'Neill | Article Rating: |
|
| February 1, 2013 07:30 AM EST | Reads: |
5,224 |
A lot has been written about the difference between REST APIs and SOAP Web Services. The technical differences are well known at this stage. SOAP is heavyweight, while REST is light and mobile-friendly. However, there is another key difference which is often overlooked:
- It is easy to create SOAP Web Services, but difficult to consume them.
- It is difficult to create a good REST APIs, but easy to consume them.
Taking SOAP first: development platforms such as .NET made it almost too easy to create a SOAP Web Service. I remember seeing MSDN demos showing how, in a few clicks, you can take a .NET object and expose it as a Web Service, complete with WSDL. But, in those quick clicks, what had you created? You had exposed the methods of your objects as SOAP operations. But why? Is this really what you wanted to do? And while it was easy to say "Clients can just consume the WSDL to call my new Web Service", this was easier said than done. And when clients did this, it often made little sense to directly run the methods of the class.
Fast forward to the world of REST. One of the great virtues of REST is that it is so much easier to consume a REST API, compared to consuming a SOAP Web Service. In addition, it does not require parsing XML, if you prefer to directly read in JSON. However, creating a good REST API takes thought and some decisions. You should think about how you'll appropriately use the HTTP verbs, how to express versioning, and what kind of error messages you'll return. Fortunately, an API Server helps a lot here, by providing a platform for delivering APIs, to take care of aspects like security, usage quota-management, and analytics. But it still is important to take time to design your API up front.
Read the original blog entry...
Published February 1, 2013 Reads 5,224
Copyright © 2013 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Mark O'Neill
Mark O'Neill is Chief Technology Office of Vordel. Vordel connects applications to applications, businesses to other businesses, and SOA to Cloud Computing. A regular speaker at industry conferences and a contributor to SOA World Magazine and Cloud Computing Journal, Mark holds a degree in mathematics and psychology from Trinity College Dublin and graduate qualifications in neural network programming from Oxford University.
- Cloud People: A Who's Who of Cloud Computing
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Cloud Expo New York: Delivering Digital Marketing on the Cloud
- Cloud Expo New York: Rethink IT and Reinvent Business with IBM SmartCloud
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- The Accessibility of the Cloud
- Learn How To Use Google Apps Script
- Cloud Expo NY: Best Practices for Delivering Oracle Database as a Service
- Cloud Expo New York: Basics of SSD Technology and Its Use in Cloud
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cloud Expo New York: The Big Challenge of Big Data & Hadoop Integration
- Measuring the Business Value of Cloud Computing
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York: Best CIO Practices Shared from SHI’s Customers
- Cloud Expo New York: How to Use Google Apps Script
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Cloud Expo New York: Why Big Data Is Really About Small Data
- Cloud Expo New York: Delivering Digital Marketing on the Cloud
- Small Cancers, Big Data, and a Life Examined
- Cloud Expo New York: Requirements of a Cloud Database
- Cloud Expo New York: Rethink IT and Reinvent Business with IBM SmartCloud
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- The Accessibility of the Cloud
- Learn How To Use Google Apps Script
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- Where Are RIA Technologies Headed in 2008?






















