Contact Us



Thoughts on Software Development

This image is a reference to the Weblog RSS feed.

Michael Stiefel's thoughts and opinions on software development.

Send comments to

Saturday, November 19, 2005

The Truth is Not Always on the Wire 

One of the dogmas of messaging technology is that the "truth is always on the wire." In the context of interoperability that is certainly true. The message, not the platform object model that generated the message, is all that really exists between a service provider and consumer.

Like all principles it has its limits. The statement the "truth is on the wire" only means that using an agreed upon message format is equivalent to a using a common syntax for a language such as English. It does not matter how you define the message format. XML Schema, RelaxNG, or just "ask Alice" are all equivalent. Humans are better at handling ambiguity than machines, hence English syntax can be a lot looser than a message format. Nonetheless, the point remains valid.

Syntax tells you nothing about the semantics of the message. For those of you who abhor fancy terminology, semantics means nothing more or less than the real world actions that arise from processing the message.

Just like you can misunderstand an English sentence, you can "misunderstand" a SOAP message. This misunderstanding may be a programming error, or a misunderstood or mismatched policy.

For example, I send to my bank a correctly formatted message that says transfer $1000 from my cash reserve to my checking account. If the bank transfers the money from savings to checking, that is a programming error. The "wire truth" however was not violated.

Now suppose that the bank made the correct transfer, but the bank's policy (which I did not know of at the time) was to report such transfers to a credit bureau. My altered credit score resulted in a higher interest rate on the loan I was applying for. Understanding a service's policy is as important as understanding the message format.

Truth is not on the wire, truth is the real world effect of what happens when a SOAP message is processed. Truth is semantics.

Archives

02/29/2004 - 03/06/2004   03/14/2004 - 03/20/2004   06/13/2004 - 06/19/2004   06/27/2004 - 07/03/2004   08/08/2004 - 08/14/2004   10/31/2004 - 11/06/2004   12/12/2004 - 12/18/2004   12/19/2004 - 12/25/2004   03/06/2005 - 03/12/2005   03/27/2005 - 04/02/2005   07/31/2005 - 08/06/2005   10/23/2005 - 10/29/2005   11/13/2005 - 11/19/2005   02/05/2006 - 02/11/2006   03/12/2006 - 03/18/2006  

This page is powered by Blogger. Isn't yours?


All Content (c) 2000 - 2004 Reliable Software, Inc. All rights reserved.