(picture)

September 25, 2003

2-pin SOA

Jeff Schneider:

WS-* is moving into a world where dynamic protocol negotiation for non-functional requirements will be able to happen on the fly.

An example of two web services talking to each other (think consumer:producer) :
Service 1: Can you do encrypted?
Service 2: Yes, I do TripleDES, Do you?
Service 1: Yes, let's do it!
Service 1: Do you do Reliable Messaging?
Service 2: No, not for this operation.
Service 1: Can you treat this operation as part of a transaction?
Service 2: No, I can't, but I do have a compensating mechanism, see URI:xxx.wsdl

I'm very new to WS-* (having deliberately avoided all those crazy acronymic layers), and only stumbled across Microsoft's GXA and WSE the other day; Jeff's sketch seems to be a pretty good summary. Especially at the interop/guarantee level ("NFR": non-functional requirements), this makes a lot of sense: negotiation around a confidentiality protocol is something an application developer would gladly delegate to the framework. As Clemens Vasters says, "composite metadata will change your life" (wow).

Via Phil Wainewright, rapping on Sean McGrath's RS-232 hardware analogy. But I think API complexity is a different topic... the "service bus" would probably be closest to this analogy.