WS-Addressing in ActiveMatrix ServiceGrid

WS-Addressing basics
The basics are that WS-Addressing defines standardized SOAP headers that identify how a service consumer can indicate the endpoint to which the service should send its response (and/or send SOAP faults) – in a request/response invocation of course. The client sends a SOAP request to the service and the service communications, AMSG in this case, knows that it should treat the request in an asynchronous manner (so the client doesn’t wait for the response). The service implementation generates a response and returns this to the AMSG service component, which interprets the WS-Addressing headers and then automatically forwards the reaction SOAP envelope to the URI mentioned in the Reply To header.
TIBCO ServiceGrid WS-Addressing
When is WS-Addressing useful?
I wondered for a moment why this would be useful. I mean, it would be trivial to write a service with an in-only MEP and code the service so that it invokes another service (the “reply service”) as the last thing it does. The service would still have an asynchronous nature, and would still appeal to another service on completion. Perhaps the answer is already clear to you, but it took me a few moments of thought to work out.
The power of WS-Addressing is that the service consumer is able to specify to which endpoint the reply should be sent. It’s not hardcoded in the service implementation – it’s specified by the consumer. This, obviously, makes the solution more supple in that each consumer could specify a different reply URI/service, but at the same time WS-Addressing adds a convinced amount of complexity in that it’s not always obvious to one that replies aren’t sent to the consumer.
An important point to mention is that in the case of WS-Addressing it should be clear that the “reply service” shouldn’t be seen as a part of the consumer – and not as an addition of the service.
To summarized, the difference between WS-Addressing and hard-coding the reply service in the service implementation is:
..WS-Addressing is more stretchy than hard-coding the reply location in that it allows the consumer to specify the reply endpoint.
..WS-Addressing reply endpoints are a part of (and thus under the governance of) the consumer, not a part of the target service.

WS-Addressing in ActiveMatrix ServiceGrid 7729292746846653105

Post a Comment


Home item

Blog Archive

Popular Posts

Random Posts

Flickr Photo