Tag Archives: SOAP

Web Services Are Not Just for the Web

Now that we are well past the hype of Web Services, what can they do for your company?  Before we answer this question, let’s clarify what Web Services really are.

One traditional definition states that they are any service available over the Internet using a standardized XML messaging system and not tied to any operating system or programming language.  In the early days this was true, but the definition has evolved over the past decade.  The World Wide Web Consortium (W3C) defines Web Services as a software system designed to support interoperable machine-to-machine interaction over a network.  Gartner defines them as “a software component that can be accessed by another application (client, server, another Web service) through the use of generally available, ubiquitous protocols and transports (HTTP).” Continue reading

To Web Services and Beyond…

The recent smash hit, Web Services, has played from coast to coast on the business “Hypo-Tronic Gizmo” for several years now.  One might even suggest that if DJ-Bob had a weekly Top 10 countdown featuring the most prolific debuts in business-hype history, Web Services would be at or near the top (clouds are also floating fairly high these days).  This Hypo-Tronic Gizmo (or HG device) is extremely unique because it plays only what the listener wishes to hear.  For top-level executives the device delivers a simple, “Cha-Ching”.  For mid-level managers it renders a more subtle, “Here we go again”, reprise.  But, for those in the trenches – the technical implementers and end users – it screams, “Fire in the hole!”  Yet, surprisingly, to those who have lived through the budget-blowing and non-committing trends of the past, Web Services has actually delivered a Certified Platinum hit that many advocates had hoped it would achieve. Continue reading

SOAP Worst Practices Part 2: Trying to Be Too Flexible

(This is the second in a series of articles that attempt to expose some of the more common mistakes and misunderstandings people make when implementing a SOAP Web Service.)

XML is a quite flexible data format. It allows the user many options, such as Choices, Sequences, Complex Types, Type Extension. But the flexibility can very easily be overdone. While it may seem like a good idea to have your service be flexible, it also makes using the service that much harder to use because of all the different formats that need to be handled.

A good example of taking flexibility too far is the SalesForce.com Web Services interface. It takes the idea of Type Extension to the absolute extreme. For those not familiar with Type Extension, see this tutorial. Type Extension can be very useful when you have types that are mostly similar, with just a few extra attributes added onto the extended types. For example, a good usage could be a personnel data model. Continue reading

SOAP Worst Practices Part 1: Non-XML Content

There are a lot of useful SOAP Web Services. Whether it is a simple zip code lookup service, or a more complex order entry system, a well-implemented SOAP Web Service can make machine to machine communication very reliable, efficient, and best of all, easy.

However, there are also a lot of poorly-implemented SOAP Web Services, and they can cause more problems than they intend to solve. This is the first in a series of articles that attempt to expose some of the more common mistakes and misunderstandings people make when implementing a SOAP Web Service.

SOAP Worst Practice #1: Non-XML Content

One of the main reasons to create a SOAP Web Service over a REST one is that SOAP provides a standardized method to publish the message format for your service. The message is in XML, and its structure is defined in the WSDL, or Web Service Definition Language. If you have an XML document that you want to transfer, embed its format in the WSDL and any consumer will be able to know the format to send to it.

But, if you have non-XML data to transfer, SOAP is probably not your best choice. Continue reading

Welcome to the World of Web Services

A Web Service is any “service” that is available over the Internet, using a standardized XML messaging system, and is not tied to any one operating system or programming language.

Example Web Service Implementation:

MyCompany receives purchase orders from UPS and during the translation process uses an HTTP connection to interface with an existing UPS Web Service.  Through this Web Service MyCompany verifies addresses, retrieves tracking information, sends (SMS) text messages, and performs currency conversions (among other functions).  This Web Service provides MyCompany access to information from the UPS tracking database needed inside MyCompany application and is achieved without complex programming. Continue reading