More on the state of Web services...

Don posted to add his two cents to the conversation with Michi. He points out that not dictating a programming language binding is an advantage, and I completely agree. He also mentions that he finds WS-ReliableMessaging increasingly interesting. I should have included that spec on my list of the things I think are most important in the new stack (although I'm not sure it would have changed the model we used in my last project, as Don suggests, since RM doesn't necessarily imply durability). Finally, he points out that Indigo (a) won't hide XML message bodies if you want to see them and will hide the details of the protocols if you don't want to see them. Both are very good things.

Michi also posted a lengthy comment laying out his perspective on why past middleware solutions have failed, and I think it's a pretty reasonable assessment. He also predicts a similar failure for Web services, which I think is less reasonable. There are a lot of smart people with a lot of distributed systems experience working on this technology and I have faith that it will be successful. It may sound like I doubt that sometimes when I speak out about on the overall direction, whether developers should see XML, the complexity of the interactions between protocols, etc., but in general that's just a way for me to help make sure the issues I think are important are on the table, helping to shape the conversation and, hopefully, the technology.

Finally, Mike commented, asking whether things really were that complicated. Frankly, I go back and forth on this question. Sometimes I think the answer is no, they aren't. The fact is, if you use WSE today, you have APIs that will let you deal with messages as XML or objects, build bindings for additional transport protocols - exposing as much or as little of the details as desired, use the core WS-Sec* functionality, build intermediaries, and use policy to control  your app. With WSE in hand, you can go out and build some very cool things. If they add reliable messaging, an interoperable TCP binding, and a more efficient way to handle large messages, then WSE is everything that I want today. Then I talk to a developer who doesn't know a lot about how SOAP works, what intermediaries do, what the options with WS-Sec* are, etc. and I think the answer is yes, because their eyes glaze over and start to roll back into their head.

I think there's a good analogy here to (D)COM. If you knew how it worked, you could start with a blank file, write the necessary C++ code, configure your machines to allow access and you were off to the races. But if you didn't know all that stuff, you were stuck. VB's COM support changed that. If you worked in VB, you couldn't do everything, but you could do a lot and, more importantly, you didn't have to know all the details (though if you kept someone around who knew all the details, you found it very useful). I think the same thing will happen with WS. Some of the people looking at WS-* today are ready to dive in, learn a ton of detail, deal with changes as they come. Those people can take WSE and run with it. Some of the people looking at WS-* are not ready to dive in, either because they don't have the time to invest or they don't have the interest. For them, a tool that does more of this stuff transparently (like VB did for COM) is the answer. Hopefully that will be Indigo, that's certainly one of their goals.


Posted Oct 02 2004, 01:11 PM by tim-ewald

Comments

Erik Johnson wrote re: More on the state of Web services...
on 10-04-2004 3:28 PM
Tim, I don't have a blog so I'll have to squat here one more time :).

I suppose if you try to map WS-* with previous distributed computing platforms it's easy to wonder where the effort pays off (if at all). And I absolutely respect the views of really smart people who know about DC than I ever will. After all, those who don’t learn from history...

But the Infoset as has unique capabilities that can improve the way applications, especially complex ones, are built. Many kinds of application data (perhaps the majority) can be expressed as an Infoset better than with objects. The WS stacks, via XML, provide the interoperable format so that – as Don B. has said – “you don’t have to link with my libraries to call me”.

More profoundly, WS stacks provide a standard, interoperable way for callers/receivers to exchange messages composed/parsed by independent actors. I think a lot of people try to interpret the WS-* specs without realizing that tenet.

Application functionality is starting to move toward becoming another set of intermediaries, perhaps more targeted at soap:body. The message is the task – not just a set of parameters that satisfy a method signature. With some clever work and a bit of metadata, you can “connect the code with the node” in some innovative ways.

As an ISV, I can produce a logistics application that lets partners later add their own RFID data into shipment messages without invasively modify each other’s products. I can also have my own aspect-oriented intermediaries to sniff the messages and push workflow, synchronize data, or execute specialized authorization. The message format can evolve without forcing recompilation. The applications, internally, are loosely-coupled and evolve more flexibly. I’d call that an SOA.

The WS-* spec authors have deftly ensured that the specs don’t dilute the compositional advantages of XML. OK, maybe it was mainly to keep the soap:header from being clobbered by competing intermediaries, but those of us who spend our time in soap:body truly appreciate it.

So, yes I’m worried that the “State of Web Services” might get seriously trapped behind the noise of distributed architecture recriminations. But I don’t care if WS platforms are less efficient or in other ways less capable than CORBA/DCOM/whatever. Where I live – in the large commercial business applications space – I don’t see a more promising approach.
David Ryan wrote re: More on the state of Web services...
on 10-04-2004 7:08 PM
I started writing an article last week which seems to mimic many of the comments being made (linked as URL). I must admit that my article is a bit of a rant, however, I don't think it is unfair in its summation of the current distributed computing technologies.

It really seems that CORBA and now Web Services have standardised on a solutions far too quickly. Distributed computing is such a large problem that trying to create a standard too quicly only stops many good ideas from evolving and being adopted.

Thanks for starting these dicussions. It has been very interesting to see the responses various people of the middleware community have been making. Hopefully some positive changes will come from it all.

Ken Brubaker wrote Web Services: Simon Fell, the Fomented
on 10-07-2004 3:42 AM
Introduction to a Tim Ewald thread on why CORBA et al, is not good enough.
XML Eye for the Object Guy wrote Construction Vehicle: Do Not Follow
on 10-18-2004 7:13 AM
unbjmcobj wrote re: More on the state of Web services...
on 06-02-2009 3:44 PM

EZ7xbf  <a href="ueoeggawbtcc.com/.../a>, [url=http://nwtyzjhubgwz.com/]nwtyzjhubgwz[/url], [link=http://ljxhjspagrnr.com/]ljxhjspagrnr[/link], http://twizqbqkwykq.com/

Add a Comment

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