Jerry Waldorf's Blog
SOA, REST, WADL, and WSDL
There seems to be much debate about REST being better than SOA. And that SOAP is too complicated. And that WSDL requires SOAP and therefore WSDL is too complicated. Developers should be using REST and not SOA. I think that when it really comes down to it there are really just three things that developers should worry about. The first is using HTTP as a way to transfer data between two applications.
We have seen that when a client and server need to interact, the best way to do this is over TCP/IP, using some standard wire protocol. Using a closed system like RMI or SAP's RFC or JDBC for databases requires an API library to be used by the client to talk to the server. This leads to forcing the client and server to use a particular programming language. And sometimes as constrained as a specific version of a specific programming language. Using HTTP as the protocol between the two allows for decoupling such that any language can be used on either side. And because HTTP is the language of the web, the interaction can pass through all types of networks and their firewalls successfully.
Now the next thing to worry about is the description of the valid interaction between the client and the server over HTTP. You can use a non formal description of what the interaction is. But this often leads to ambiguity. A better way to deal with the description is with a formal spec such that there can be no ambiguity. An additional benefit is that you can use tooling in your target language to help you implement the client or server, because the tooling can read the formal metadata on the interaction and create the corresponding consuming or provisioning code to help you get started. At this point there are two standard ways to describe this interaction, WADL and WSDL. As you can see from the picture below there are many potential interactions possible with HTTP. WADL can describe many of them but not all. And WSDL can describe even fewer potential interactions. So the short of it is that if you are doing basic request/reply http interaction and are sending basic XML data back and forth WSDL is a perfectly reasonable metadata language to describe this interaction. You can use either HTTP binding or SOAP binding. If you like the simplicity of basic HTTP interaction without SOAP just use the HTTP binding aspects of WSDL and you will have a simple interaction that is formally described such that tooling can help you on the client or server side.
Are WSDL and REST in conflict with each other. I think the answer is no. WSDL can describe a subset of things that you can do in REST (aka HTTP interactions). And if your current project is implementing a basic POST interaction with XML data being passed back and forth, WSDL is a reasonable way to describe this.
Posted at 05:11PM May 30, 2008 by Jerry Waldorf in Sun | Comments[4]
This is interesting thanks for the article...
Posted by Sesli Chat on May 30, 2008 at 08:59 PM PDT #
Buy Entropia Universe Gold
Posted by Buy Entropia Universe Gold on February 26, 2009 at 12:49 AM PST #
12 sky gold
Posted by 12 sky gold on March 13, 2009 at 07:36 PM PDT #
i like the gold.
Posted by Sword of the New World money on March 13, 2009 at 07:43 PM PDT #