An SOA odyssey

Tuesday, May 31, 2005

Service Communication

The next in the series of standards we published as a part of the our Services Platform is that of Service Communication. Essentially, this set of standards encompasses the means by which services communicate and includes the following requirements:

  • The ability to provide guaranteed messaging from a service consumer to a service provider
  • The ability to ensure that a service provider only processes a unique message one time, even if it is received multiple times (idempotent messaging)
  • The ability for every message to have a unique message ID in the header of the message
  • The ability to track how messages flow through the services providers to delegate (sub-contract) service providers
  • The ability for a service provider to know which service consumer called it

In short, the way we tackled these requirements was to implement the following:

  • MSMQ for guaranteed messaging, a part of which includes the WSDL extensions I talked about previously
  • The Microsoft Enterprise Development Application Framework (EDAF) to handle duplicate messages through its Duplicate Handler
  • The specification of a Compassion-specific SOAP header in combination with WS-Addressing to carry information such as the message ID, the relationship of messages to each other, and caller and callee information

In future posts I'll explain the last two of these in more detail.


Post a Comment

<< Home