I haven't had time yet to say anything about the latest batch of WS specs. WS-Addressing is far and away my favorite. That's not to say that WS-ReliableMessaging is not very important, but WS-Addressing helps me make a point.

We all know that most developers think of Web services as an RPC mechanism - a view that the original SOAP spec and countless Web services toolkits reenforce. Happily, the recent work on SOAP embraces a more message-centric world view. Unhappily, this view hasn't yet permeated many people's thinking about WSDL. Much of the ongoing work in that area still seems to focus almost entirely on generating proxies that make RPC calls.

I think one of the reasons that the RPC model still dominates many people's thinking is that we really haven't gone beyond the HTTP binding defined in the first SOAP spec. For better or worse, as long as we are focused on a client-initiated request/response model, developers are going to think of it as RPC (even though HTTP deals in streamed bytes, not callstacks). WS-Addressing opens the door to other possibilities - like sending response messages to places other than the implicit port at the other end of the HTTP connection.

With a standard way to describe where messages are supposed to go, what their intent is, and how they relate to one another, we can start building systems that use SOAP messages in other ways (without the complexities of WS-Routings message paths). That in turn will start to influence WSDL. In short, WS-Addressing may be the forcing function we need to really start moving away from the the current RPC-centric view of the world into more interesting areas.

At least that's what I'm thinking at the moment. :-)