Saturday, November 04, 2006

Web Service Development Approaches

After writing the last post, I wanted to make my primary point clearer. I think this is probably one of the most important gaps in the SOAP discussion so I put some visio diagrams together to represent the two styles of interface creation. The first and most common style (95% of everything I have ever seen in SOAP based web services follows this approach) is the common auto-WSDL RPC based method. This diagram is very high level and is meant primarily to make a distinction of how the interface (WSDL) is created.


As we see from the diagram above, we perform the following steps:
  1. Determine the need to create a new service.
  2. Write the Java / C# interface you would like to use (really what is the Java / C# interface you want to write to - it just happens to be distributed and happens to be marshalling everything into weird XML types you dont know anything about).
  3. Using the tools from your SOAP library, generate the WSDL automatically along with your stubs and skeletons to implement your service and clients.
  4. Proceed with development.
The other approach is to have the architect or developer take control of the data types and interface of the service. The benefits of this are clear to this approach. However the up-front cost is quite large. You need someone who is very good with WSDL and XSD and who can traverse the corporate stores of WSDL and XSD documents looking for similarities and possible reuse. That being said, if you want sustainable and composable SOAP based web services, it seem that this is the only option.


As we can see from this diagram, the team performs the following steps:
  1. Determine the need to create a new service.
  2. Locate or Create appropraite data types to be used in your service (XSD).
  3. Desgin your service interface and create your WSDL.
  4. Proceed with development.
Viewed from a high level and a large corporate development perspective, auto-WSDL generation is just irresponsible. Have you seen the WSDL that the Microsoft or Axis 1.x tools can auto-generate?

2 comments:

India Web Development said...

I want to thanks to u for this types of valuable post.
I found some really interesting stuff in your blog especially this discussion. Keep up the good work.
It is the same with a website and website development concentrates of these core elements first and then builds upwards.

seo services said...

nice post...

seo services

seo india