5 things every Web service developer should know

Service Station, by Aaron Skonnard

Syndication

This discussion about service contracts has motivated me to jot down what I believe developers really need to know in order to be successful in developing interoperable, far reaching services. Here's my top 5.
 
Developers need to know…
 
  1. How to represent a variety of data using XML 1.0.
  2. How to author XML Schema definitions using their favorite tool (angle brackets not required).
  3. How to map XSD types to local types in their implementation framework (via local tools).
  4. General SOAP & WSDL concepts (action, types, messages, portTypes, bindings, services).
  5. Problem areas to avoid as per the WS-I guidance.
 
Notice I didn't say that they need to know how to author a WSDL definition. It's a plus if you really care about interop, but I admit it's not feasible for most shops given the current tool situation.
 
It's more important in my book for developers to focus on #1-3 during contract design. Doing so forces developers to design in a more XML message-oriented mindset, and as a result, reduces the chance of incompatibilities slipping into the contract and hampering the tool experience.
 
Nevertheless, developers need to be familiar with SOAP and WSDL concepts even if they're using one of the most advanced and flexible frameworks in existence today, because those concepts are sprinkled throughout the programming model and they greatly influence the contracts you'll be authoring, albeit indirectly.
 
In a future post, I'll show you what I consider the sweet spot for developing services in line with this guidance using ASMX and today's tools.
 

Posted Feb 17 2005, 12:12 AM by Aaron Skonnard
Filed under: ,

Comments

Jonathan Anderson wrote re: 5 things every Web service developer should know
on 02-18-2005 6:12 AM
"It's a plus if you really care about interop, but I admit it's not feasible for most shops given the current tool situation."

How hard is it to use XMLSpy? I know that learning and mastering WSDL, XSD, and XML Namespaces isn't exactly the smallest learning curve in the world - but the investment in time and concentration pays off ten-fold. You can then objectively evaluate SOAP platforms to see how their "autogenerated" WSDL varies, shudder, and then proceed to design your WSDL first and generate your launguage bindings (or, if you've got really complex XSD, go hands on the XML).

I just keep hearing that the tooling will alleviate the complexity, but it is always a better thing to know the spec and understand what the tooling is buying you. Is it really such a bad thing to grit your teeth and learn WSDL?
Louis Parks wrote re: 5 things every Web service developer should know
on 02-19-2005 10:50 AM
I'm a fan of XML Spy. I don't use it for WSDL editing, but I use it near exclusively for XSLT and XSD editing. I'd use it for WSDL too, but I don't do much with web services at present.
Andy S wrote re: 5 things every Web service developer should know
on 02-19-2005 7:52 PM
6) The types of change the definition of entities in the schema can undergo as the service evolves and how to control the fallout of those changes.
7) An understanding of semantics and ontologies - since a schema is defining concepts shared between applications.
Stefan Tilkov's Random Stuff wrote Out With The Links
on 02-21-2005 2:16 PM
Some random links left as flagged in my blogreader that I’m too lazy to comment on right now: Web services-related stuff in The case against high-level components, Whither delivery assurance?; 5 things every Web service developer should know; Retail Tagging ; Contracts define agreement; some posts of general interest: Cocoa and the Emerging Software Market and in the continuing saga...
Tiernans Comms Closet wrote Larkware
on 03-02-2005 6:29 AM

Add a Comment

(required)  
(optional)
(required)  
Remember Me?