Login  

Blog Stats

                

                   E-mail | Twitter

Web 2.0 University Week in Las Vegas in October, 2009

New: Subscribe via e-mail

Enter your email address:

Delivered by FeedBurner

Follow Dion Hinchcliffe on Twitter

follow dhinchcliffe at http://twitter.com

Dion's Speaking Calendar:

Dion Hinchcliffe Speaking at NKU on Web 2.0 and Mobility

Dion Hinchcliffe Speaking at CeBIT 2009 on the Future Enterprise Workplace

Dion Hinchcliffe Speaking at QCon London 2009 on Web Architecture

Dion Hinchcliffe Speaking at Web 2.0 Expo San Francisco 2009

Dion Hinchcliffe Instructor at Web 2.0 University Week in Las Vegas in October, 2009

Dion Hinchcliffe Presents the IMI 2009 Webinar Series on Web 2.0, Cloud Computing, Enterprise Social Networking, and Mobile Web 2.0

Sponsored Advertising


Your Ad Here

Post Categories

Archives

Blogs Read By Me

Building Blocks of Great Systems

Consulting

Contact

Tech News Read By Me


Web 2.0 Architectures Book by Duane Nickull, Dion Hinchcliffe, and James Governor

Web 2.0 Architectures

by Duane Nickull, Dion Hinchcliffe, and James Governor

Listed on BlogShares

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

Agile Methods, Enterprise Architecture, 2.0 Services, and Web Development

As I get everything in place to conduct the web service description language survey, I'm trying to get the contract and message exchange pattern (MEP) for the test service down right. Capturing a fairly typical web service situation will be important to ensure we're exploring a genuine usage scenario and learning as much as possible from a practical experience.

Besides the contract and MEP, the client side programming model will also make things exciting, and it should probably be proxy-less (see below for a discussion). I also really like Dave Orchard's 80/20 guideline that he's been using in developing WDL, and it's a metric I'll be keeping in mind to see if it helps us deal with SDLs. And in the interest of supporting those folks who might be following along with their own client development, here is my approach on how to deal with the service and the service contract/description.

I've talked numerous times on what I think service-orientation is, but its essence is enabling ubiquitous access to a service while eliding non-essential technical details. In practice, this means using open standards-based communication and data representation methods, such as HTTP and XML, while eschewing a focus on a particular location, transport, or programming language. That's not to say that the technical details aren't important. They are. It's just that they're not important to the basic function the service provides to its clients.

Figure 1: The (DRAFT) SOAP/REST order service structure for SDL comparison

For this survey we're trying to get a handle on how and why web service description languages actually help clients consume web services. In the wild (i.e. non-homogenous environments) you will very likely have clients using your service from platforms, languages, and tools you never imagined. It therefore seems obvious that a good web services description language will foster interoperability in the presence of entirely unanticipated client environments. This is the ubiquity part of service-orientation. And I'll go out on a limb and say if an SDL doesn't make it almost effortless to understand how to interact with a service, it's not a good SDL.

Over the next few years, as alternative platforms and new languages such as Ruby emerge and become popular, it's a bad idea to assume there will be good tool support for a given web service description language (even WSDL). This means that often there will be no code generation of client-side stubs. I think this means the rule here is for SDLs to encourage being programmer informative in favor of being tool informative. During the survey, we will be keeping a close eye on SDLs to see if they emphasize one or the other.

This brings us to the subject of loose-coupling. The beauty of XML-based services is that they allow the structure of a message to be amended and modified without throwing out your entire understanding of the message, or greatly impacting your ability to use the new structure. This means you can add items to a XML service message without fundamentally breaking it, or a client (as long as you haven't changed the particular pieces they depend on.)

So this is the second reason code-generation can be bad, at least if it adds any brittleness to this model. The rule here is if the service makes changes to the message you don't care about, it should require no changes to the client. Obviously, the client must be written properly in order to support this, but the service and its SDL should encourage this as well

One thing that it would help though, is for everyone to agree that loose-coupling means changes to a service shouldn't break your client code as long as the change is not a direct dependency. But it also would help greatly to tell when (and exactly how) a service contract has changed, so at least you have the option of verification. This gives us a third rule for the survey: While contract changes should NOT break the client for indirect dependencies, contract changes should be visible, and straightforward, first class citizens. It will be interesting to see how contract changes will affect things for the various SDLs we'll be taking a look at.

The Order Service (click here)

Right now, we have two operations online and working: placeOrder and getOrderStatus. Both use the exact same order schema. One takes an order and persists it behind the service boundary, waits 5 seconds, and then updates the delivery date to today's date. The second returns the full order construct, and if you've waited more than 5 seconds, you'll get the delivery date. Obviously, we're using request-response on both of these, though we can change it if we think that's not sufficient. Both the SOAP order service and its WSDL contract can be found here. We'll start building the C#, Java, and Ruby clients soon using the WSDL 1.1 defined for this service. Then we'll proceed through the list of SDLs and describe the service again and generate new versions of the clients for each SDL as needed.

And, once we finalize the SOAP order web service at http://hinchcliffe.org/order.asmx, we'll then build out the REST version of the order web service. I'm still figuring out how to try to consume each SDL since I'll have too much knowledge of how to do it after the first client is built. At least, we'll see if the client can detect service contract changes, and report them, but ideally we'll be able to use part of the contract information to do schema validation and other interesting things.

BTW, part of my inspiration for all this is David Ing's wonderfully irreverent post on The Four Horsemen of the SOA, please check it out as it's a great sanity check on where we're going with service-orientation. Hopefully, as we go along with the survey, we'll throw the harsh, practical light of reality on service-description approaches and see if we're heading in the right direction. And as always, suggestions are very welcome.

Finally, thanks much to Tim Bray for his kind posts that have been keeping visitor traffic coming on this subject!

Technorati: , , ,

posted on Tuesday, May 31, 2005 7:45 AM

AddThis Social Bookmark Button

What People Are Saying About This Post...

# Service Description Language Shoot-out 5/31/2005 1:02 PM Stefan Tilkov's Random Stuff
Dion Hinchcliffe’s little experiment — describing the same service in 14 different service description languages — will surely be worth watching. The stage is already set....

# re: Setting the Stage for the Service Description Language (SDL) Survey 6/1/2005 9:53 AM eric newcomer
This is a very interesting subject. But of course the problem us to come up with a good standard around which we can unify the community. I will have more to say about this after studying the details more carefully. But I wonder whether the problem, or a large part of it, us incorrcy use of WSDL rather than any inherent problem with it.

# WSDL misused? 6/1/2005 11:27 AM Dion Hinchcliffe
Eric brings up a good point and one that may be right.

Is there anything truly wrong with WSDL?

I mean, we've gotten 5 *years* down the road with it already.

Our problems just might in fact be how we use it. But there is evidence against this as well.

However, I'm a big believer in using something to see how it really works.

The point of all this is to take today's SDL requirements and se where we actually are.

Stay tuned as we get started. I've already begun the Ruby and C# clients and I'm just trying to come up with the best mapping approach.

Right now, I'm thinking we'll derive a series of XPath expressions for each description language that shows how the SDL has to be sliced and diced to extract the information necessary to interact with the service.

So far, that seems to be the most promising method to clearly convey how each SDL decomposes the service description.

# It's the XML, Stupid! 6/16/2005 2:01 PM Eric Newcomer's Weblog
In the early days of SOAP and WSDL, while doing the conference rounds I would often be asked, "What's the most important thing about Web services?" I would always say "XML, XML, and XML." Not everyone agrees with me, but this very fundamental question has recently come up again in the important new paper about the shortcomings of JAX-RPC and other related topics. (If you haven't read it yet I strongly encourage you to do so.) One of the authors, Edmund Smith, elaborated on some of the thinking behind the article in this interview posted yesterday. Edmund is correct that it is not as convenient for programmers to deal with the XML as a separate and distinct language but this is inevitably the right approach. It may seem like a benefit to view XML entirely through a Java (or any other language) filter, using native data types and generated classes,...

# No Future for BPEL? 11/14/2005 5:56 PM Eric Newcomer's Weblog
It may be a bit too early for this, but since we are approaching the holiday season (already!) it's starting to seem like time to make some predictions. Are we finally seeing the beginning of the end for BPEL? Is the recently announced delay going to slow or even stop its momentum? When BPEL 1.0 was published, everyone was relieved not to have to choose between XLANG and WSFL anymore. It seemed at the time as if this would be a repeat of WSDL - which successfully combined NASSL and Microsoft's original Service Description Language (SDL) (apologies, I could not find a good URL for this) - two other specs that had threatened to divide the early Web services community. Sure, lots of people complain about how ugly WSDL is, and with some reason, but it is doing the job. WSDL also represents the merger of two prior specs that...

# Exploring the WOA/Client Approach: Pattern #1 - Run-Time Web Service Contract Checking 8/12/2006 10:31 AM Dion Hinchcliffe's Blog - Musings and Ruminations


# Exploring the WOA/Client Approach: Pattern #1 - Run-Time Web Service Contract Checking 8/12/2006 10:35 AM Dion Hinchcliffe's Blog - Musings and Ruminations


# re: Setting the Stage for the Service Description Language (SDL) Survey 9/25/2006 5:11 AM levan
http://www.download-hoeytria-fotografia.gamisi69.com ^^^ http://www.pic-dahtylo-podioy-eikona.gamisi69.com ^^^ http://www.servitris-ligga-i-vardagsrummet.knulla69.com ^^^ http://www.stilig-servitris-onanera.knulla69.com ^^^ http://www.aangenaam-leerling-atm.grotepik.info ^^^ http://www.vastnagelend-meisjes-atm.grotepik.info ^^^ http://www.kjempebra-tenaring-action.kukk.info ^^^ http://www.trivelig-servitrise-urinering.kukk.info ^^^ http://www.burlesque-blondes-trou-du-cul.torsenue.info ^^^ http://www.audacieux-ado-sodomie.torsenue.info ^^^ http://www.koritsi-gamisi.tsoula.info ^^^ http://www.storgi-magoulo-katourima.tsoula.info ^^^ http://www.desiderio-giovane-dildo.vacche.info ^^^ http://www.likable-amatoriali-anale-fotti.vacche.info ^^^ http://www.kylmempi-lesbo-sukupuoli.huora.info ^^^ http://www.koululainen-sihteeri-prostituoitu.huora.info ^^^ http://www.hengivenhet-ryper-ass-dates-back-to-mouth.knulle.info ^^^ http://www.snobb-tenaring-erotikk.knulle.info ^^^ http://www.koud-jong-piss.neuker.info ^^^ http://www.goddelijk-meisje-prostituee.neuker.info ^^^ http://www.fornimmelse-amator-onanera.spermiedos.info ^^^ http://www.elev-varandra-i-sangen.spermiedos.info ^^^ http://www.uczciwa-natalka.ah.xsx.pl ^^^ http://www.foto-kamery-kurwa.uh.xsx.pl ^^^

# re: Setting the Stage for the Service Description Language (SDL) Survey 5/21/2009 7:33 AM Business term papers
Great materials for students.

# re: Setting the Stage for the Service Description Language (SDL) Survey 5/21/2009 7:34 AM English term papers
Good topic for writing academic term papers.

# re: Setting the Stage for the Service Description Language (SDL) Survey 5/21/2009 7:35 AM Term paper writing
Thanks for useful information for term papers.

# re: Setting the Stage for the Service Description Language (SDL) Survey 6/1/2009 4:06 AM moha
<a href="http://www.LAND-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.HIRE-VILLAS.INFO">????? ???</a> - <a href="http://BUILDING-MAPS.INFO">????? ??????</a> - <a href="http://www.BUILDINGS00.INFO">??????</a> - <a href="http://www.BUILDINGS-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.LAND-SALE00.INFO">??? ?????</a> - <a href="http://www.THE-SALE-OF-APARTMENTS.INFO">??? ???</a> - <a href="http://www.THE-SALE-OF-REAL-ESTATE.INFO">??? ??????</a> - <a href="http://www.JORDAN-HOMES.INFO">???? ??????</a> - <a href="http://www.HOUSES-IN-INSTALLMENTS.INFO">???? ????????</a> - <a href="http://www.PREFABRICATED-HOUSES.INFO">???? ?????</a> - <a href="http://www.JEDDAH-HOMES.INFO">???? ???</a> - <a href="http://www.HOUSES-APARTMENTS00.INFO">???? ???</a> - <a href="http://www.HOUSE-FOR-SALE00.INFO">???? ?????</a> - <a href="http://www.RENTAL-HOMES00.INFO">????? ?????</a> - <a href="http://www.DESIGNS00.INFO">??????</a> - <a href="http://www.DESIGN-HOUSES.INFO">?????? ????</a> - <a href="http://www.DESIGNS-READY.INFO">?????? ?????</a> - <a href="http://www.APARTMENT-DESIGNS.INFO">?????? ???</a> - <a href="http://www.VILLA-DESIGNS.INFO">?????? ???</a> - <a href="http://www.ARCHITECTURAL-DESIGNS.INFO">?????? ??????</a> - <a href="http://www.ENGINEERING-DESIGNS.INFO">?????? ??????</a> - <a href="http://www.DESIGNS-AND-FACADES.INFO">?????? ? ??????</a> - <a href="http://www.TERRAIN-DESIGN.INFO">????? ?????</a> - <a href="http://www.DESIGN-MAPS.INFO">????? ?????</a> - <a href="http://www.DESIGN-DEPARTMENT.INFO">????? ???</a> - <a href="http://www.DESIGN-OF-APARTMENTS.INFO">????? ???</a> - <a href="http://www.THE-DESIGN-OF-VILLAS.INFO">????? ???</a> - <a href="http://www.THE-DESIGN-OF-BUILDINGS.INFO">????? ?????</a> - <a href="http://www.DESIGN-PROPERTIES.INFO">????? ???????</a> - <a href="http://www.OWNERSHIP-OF-HOUSES.INFO">????? ????</a> - <a href="http://www.OWNERS-OF-APARTMENTS.INFO">????? ???</a> - <a href="http://www.VILLA-OWNERSHIP.INFO">????? ???</a> - <a href="http://www.MAPS00.INFO">?????</a> - <a href="http://www.MAPS-HOUSES.INFO">????? ????</a> - <a href="http://www.APARTMENT-PLANS.INFO">????? ???</a> - <a href="http://www.MAPS-VILLAS.INFO">????? ???</a> - <a href="http://www.ARCHITECTURAL-MAPS.INFO">????? ???????</a> - <a href="http://www.MAPS-HOME.INFO">????? ?????</a> - <a href="http://www.MAPS-ENGINEERING.INFO">????? ??????</a> - <a href="http://www.APARTMENTS00.INFO">???</a> - <a href="http://www.RIYADH-APARTMENTS.INFO">??? ??????</a> - <a href="http://www.APARTMENTS-IN-INSTALLMENTS.INFO">??? ????????</a> - <a href="http://www.JEDDAH-APARTMENTS.INFO">??? ???</a> - <a href="http://www.APARTMENT-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.FLATS-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.APARTMENT-FOR-SALE00.INFO">??? ?????</a> - <a href="http://www.EGYPT-APARTMENTS.INFO">??? ???</a> - <a href="http://www.APARTMENTS-PHOTOS.INFO">??? ???</a> - <a href="http://www.PHOTOS-VILLA.INFO">??? ???</a> - <a href="http://www.REAL-ESTATE00.INFO">??????</a> - <a href="http://www.JORDAN-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.RIYADH-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.KUWAIT-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.REAL-ESTATE-HOMES00.INFO">?????? ????</a> - <a href="http://www.JEDDAH-REAL-ESTATE.INFO">?????? ???</a> - <a href="http://www.PROPERTIES-FOR-RENT.INFO">?????? ???????</a> - <a href="http://www.PROPERTIES-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.REAL-ESTATE-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.EGYPT-REAL-ESTATE.INFO">?????? ???</a> - <a href="http://www.VILLAS00.INFO">???</a> - <a href="http://www.VILLAS-JORDAN.INFO">??? ??????</a> - <a href="http://www.VILLAS-RIYADH.INFO">??? ??????</a> - <a href="http://www.VILLAS-JEDDAH.INFO">??? ???</a> - <a href="http://www.RESIDENTIAL-VILLAS.INFO">??? ?????</a> - <a href="http://www.VILLAS-REAL-ESTATE.INFO">??? ??????</a> - <a href="http://www.VILLAS-LEBANON.INFO">??? ?????</a> - <a href="http://www.VILLAS-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.VILLA-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.VILLAS-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.VILLA-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.PALACES-FOR-SALE.INFO">???? ?????</a> - <a href="http://www.LEASING00.INFO">???????</a> - <a href="http://www.SHOPS-FOR-RENT.INFO">????? ???????</a> - <a href="http://www.SHOPS-FOR-SALE.INFO">????? ?????</a> - <a href="http://www.SCHEMES00.INFO">??????</a> - <a href="http://www.SCHEME-OF-LAND.INFO">?????? ?????</a> - <a href="http://www.BUILDING-SCHEMES.INFO">?????? ????</a> - <a href="http://www.HOUSING-SCHEMES.INFO">?????? ????</a> - <a href="http://www.SCHEMES-APARTMENTS.INFO">?????? ???</a> - <a href="http://www.SCHEMES-VILLAS.INFO">?????? ???</a> - <a href="http://www.SCHEMES-FOR-SALE.INFO">?????? ?????</a> - <a href="http://www.HOMES-SCHEMES.INFO">?????? ?????</a> - <a href="http://www.ENGINEERING-SCHEMES.INFO">?????? ??????</a> - <a href="http://www.FARMS00.INFO">?????</a> - <a href="http://www.FARMS-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.REAL-ESTATE-OFFICES.INFO">????? ????????</a> - <a href="http://www.OFFICES-OF-REAL-ESTATE.INFO">????? ??????</a> - <a href="http://www.OFFICES-FOR-RENT00.INFO">????? ???????</a> - <a href="http://www.ENGINEERING-OFFICES.INFO">????? ??????</a> - <a href="http://www.HOMES00.INFO">?????</a> - <a href="http://www.THE-HOUSES-IN-INSTALLMENTS.INFO">????? ????????</a> - <a href="http://www.HOUSES-FOR-RENT00.INFO">????? ???????</a> - <a href="http://www.HOMES-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.MODELS-APARTMENTS.INFO">????? ???</a> - <a href="http://www.SKINS-VILLAS.INFO">?????? ???</a> - <a href="http://www.BUILDINGS-AND-FACADES.INFO">?????? ?????</a> - <a href="http://www.SKINS-HOMES.INFO">?????? ?????</a>

What do you have to say?

Title:
Name:
Url:
Comments: 

Protected by Clearscreen.SharpHIPEnter the code you see: