Login  

Blog Stats

News

Web 2.0 University(tm)

New: Subscribe via e-mail

Enter your email address:

Delivered by FeedBurner

My Twitter Feed




Sponsored Advertising


Your Ad Here

Post Categories

Archives

Blogs Read By Me

Building Blocks of Great Systems

Consulting

Contact

Tech News Read By Me


Head First Design Patterns:

Don't reinvent the wheel, use the most insanely great book on design patterns yet written.

Listed on BlogShares

Dion Hinchcliffe's Blog - Musings and Ruminations on Building Great Systems

Lightweight Processes, Service-Orientation, Enterprise Architecture, and Software Development

I've been taking a closer look at the various ways to describe web services over the last few days. Since my last post on the subject, several folks have also been kind enough to forward some additional methods including WADL, RDF Forms, and OWL. While I've been taking a look at the details of these approaches and what advantages they bring to the table, I've also been struggling with what they actually do for us.

Service description languages (SDLs) of the machine readable variety typically describe how to prepare XML documents (often sets of interrelated XML documents) that describe the service in enough detail that a user can robustly interact with it. Most of the SDLs that I've been looking at fall into this category and include WSDL, WSDL 2, NSDL, SSDL, RSDL, WRDL, RSWS, WADL, Resedel, SMEX-D, RDF, RDF Forms, OWL, WSML, and so on. These SDLs describe the service in minute detail including the specifics of operations, parameters, document schemas, exceptions, URIs, and protocol.

The sum total of this information generally constitutes the service contract, though some of these languages only consider a portion of the service description to be the contract. The contract though is the central pillar of service description. Hence, a service is defined by the promises it makes to the client through its contract. Namely that the service will do X if Y is supplied to the service in the correct format and in the right location.

Service Description Languages: WSDL, WSDL 2, NSDL, SSDL, RSDL, WRDL, RSWS, WADL, Resedel, SMEX-D, RDF, RDF-Forms, OWL, WSML

This is all fascinating of course, but what value do SDLs really provide to service providers and consumers? Usually, it's one of three things. If an SDL is machine readable and has closure (meaning it provides full self-description), it facilitates automatic code generation of client stubs in the local programming model and makes the service look like a local resource. This is convenient because it can make interacting with the service much easier though at the risk of breaking service-orientation, IMHO.

An SDL can also support automated checking to verify that you are complying with the service contract. This can be important for at least two reasons: 1) Understanding if the service has changed its contract since you last checked and 2) wiring together services in a service-oriented architecture, especially using configure-time orchestration aka BizTalk or WebSphere Studio.

Lastly, an SDL provides a means to build abstract models of services using visualization and model checking tools. The usefulness of this latter item is of course entirely dependent on the application and consumer, but can certainly be high value to some.

None of this answers the question of whether the cost of implementing service descriptions in these languages is higher than the benefit. This value proposition is still unconfirmed for many folks, particularly since WSDL, the most univerally accepted SDL currently, can't properly describe many of the web services in wide use today (HTTP/XML and REST, for example). Some of the newer SDLs like SMEX-D and RSWS reflect a better understanding of today's needs including simplicity, straightforwardness, and inclusion (support for SOAP, REST, HTTP/XML, etc), but they are relatively unknown. And others, like SSDL, are extremely complex and focused on a particular web service model and are unlikely to see widespread use. Like Bill de hÓra says, it's partially about the classic complexity/simplicity trade-off.

In any case, I think we have the majority of SDLs listed here, but please submit more if you have them (with links please!). In the next few days, I hope to post some detailed comparisons of the various SDLs to see what their specific advantages are. Because the real issue is about a balance between adoption and usefulness. Until there are one or two major standards that always do the job, are accepted, and widely used, the fragmentation of SDLs just won't help folks use web services other than as manual references.

Perhaps what we need is a USDL, a Universal Service Description Language that somehow subsumes these or enables them in a straightforward way. I realize the world does not need Yet Another Service Description Language, but I have some interesting ideas.

More to come...

Technorati: , , ,

posted on Monday, May 16, 2005 7:53 AM

AddThis Social Bookmark Button

What People Are Saying About This Post...

# Web Services Description Languages 5/16/2005 8:29 AM Stefan Tilkov's Random Stuff
Dion Hinchcliffe has a rather exhaustive list of service description languages....

# WITW WSDL 2.0 HTTP Binding 5/16/2005 5:03 PM Dave Orchard's Blog
Norm's been working on describing a where in the world application using WSDL 1.1 and SOAP. He says WSDL sucks, but I think that he really meant to say is that WSDL 1.1 sucks. Lots of us have spent time...

# Not SOAP vs. REST 5/16/2005 6:17 PM Mark Baker
Thanks for all that work, Dion, but I'm a bit confused by the diagram, in particular the positioning of the string "HTTP". I think I get that the horizontal access is more SOAPy on the left and RESTful on the right, but does that mean that the vertical is, what, protocol independent at the top and protocol dependent on the bottom?

Also, on the horizontal, SOAP can be used RESTfully, so I'd recommend changing "SOAP" to "SOA". This would also have the effect of moving RDF Forms all the way to the right, as well as WSDL 2.0 perhaps a third of the way (and maybe some of the others, dunno).

There's also the issue that, as I described to you previously, RDF Forms (and the form-like use of WSDL 2.0), doesn't compare well with the others since they're describing the application state machine, not an API. For RDF Forms, the API is HTTP. So you might want to include "HTTP" (or "RDF-Forms/HTTP"?) to make it more apples-to-apples.

Regarding USDL, I don't think that would help very much, as that's what WSDL 2.0 was really trying to be; a way to describe any kind of service. And we know how well that went. 8-O

# re: SDLs Continued: Finding the Value Proposition in Describing Web Services 5/16/2005 10:12 PM Jim Webber
Dion:

Dean Kuo makes a very valid point about SSDL versus the other potential SDLs out there, namel that it is the only one which supports choreographies. See:

http://jim.webber.name/2005/05/17/f4c3f128-ec07-43e6-b4c2-364ec7e30396.aspx

Jim

# (W)S Description Languages 5/17/2005 6:02 AM Radovan Janecek: Nothing Impersonal
Stefan points to comprehensive enumeration of DLs' (by Dion Hinchcliffe). So it seems I really have enough choices for describing a contract ;-) I'll return to this topic soon? Btw, having a blog with OneNote skin is quite cool!...

# re: SDLs Continued: Finding the Value Proposition in Describing Web Services 5/18/2005 7:58 PM Dan Sholler
Quick question, not sure I understand what you mean when you say

"None of this answers the question of whether the cost of implementing service descriptions in these languages is higher than the benefit."

Are you asking whether it is better to have an independent sevice descriptor rather than language specific bindings?


# re: SDLs Continued: Finding the Value Proposition in Describing Web Services 8/26/2005 12:06 AM Enric Jaen Villoldo
IMO NSDL is not SOAP-based. As Norm's says: "I decided that I'd attempt to describe services that are directly accessible via GET or POST over HTTP. " , so I would put NSDL inside REST.
Regards,
-Enric

# re: SDLs Continued: Finding the Value Proposition in Describing Web Services 9/25/2006 5:12 AM levan
http://www.free-fantasia-eikonidio.gamisi69.com ^^^ http://www.mpg-proktiko-kinimatografos.gamisi69.com ^^^ http://www.sympatisk-skolflicka-karlek.knulla69.com ^^^ http://www.lojlig-elev-urinerar.knulla69.com ^^^ http://www.gelukkig-meisjes-poesje.grotepik.info ^^^ http://www.bovennatuurlijk-amateurs-strippen.grotepik.info ^^^ http://www.usikker-sykepleier-kjaerlighet.kukk.info ^^^ http://www.utmerket-jenter-prostituert.kukk.info ^^^ http://www.surnaturel-amateur-prostituer.torsenue.info ^^^ http://www.heureuse-pupille-pipes.torsenue.info ^^^ http://www.aristos-efivos-omadiko.tsoula.info ^^^ http://www.to-pio-zesto-mora-katourima.tsoula.info ^^^ http://www.amore-giovane-fotti.vacche.info ^^^ http://www.cowgirl-spogliarello-nella-residenza.vacche.info ^^^ http://www.ponneton-lehmitytto-humalainen.huora.info ^^^ http://www.samanhenkinen-nuori-dildo.huora.info ^^^ http://www.guddommelig-skolepike-prostituert.knulle.info ^^^ http://www.snill-cowboyjente-dobbel-rompepuling.knulle.info ^^^ http://www.koeler-nympho-ass-to-mouth.neuker.info ^^^ http://www.muisachtig-nympho-piss.neuker.info ^^^ http://www.kanslosam-amator-suga-av-den.spermiedos.info ^^^ http://www.mystisk-asiatisk-onanera.spermiedos.info ^^^ http://www.wytryski-nasienia-w-dupie.ah.xsx.pl ^^^ http://www.erotyczne-puszyste-cizie.uh.xsx.pl ^^^

What do you have to say?

Title:
Name:
Url:
Comments: 

Protected by Clearscreen.SharpHIPEnter the code you see: