Earthly Powers

Tuesday Nov 21, 2006

FI and SOAP/TCP

SOAP/TCP is the project name for a transport that efficiently sends SOAP messages over a TCP connection. It has recently been added to the source of WSIT. I helped design SOAP/TCP but i will let Alexey talk more about this in detail when he gets back from holiday as he did all the hard work and implemented it!

What i wanted to highlight is a mode in which SOAP/TCP uses Fast Infoset. SOAP/TCP relies on keeping TCP connections alive (opening a TCP connection is a costly operation). This means state can be associated with a connection. In this respect state can be information associated with encoding and decoding Fast Infoset documents, namely the vocabulary, and this state can be maintained by the server and the client.

In a nutshell what this means is the first message that is sent will contain strings for tags and namespaces and a second, identical message, that is sent will not contain such strings. This makes for smaller messages that are more efficient to produce and consume, at the expense of maintaining state. And the smaller the messages the more important the transport meta data be small, which for SOAP/TCP is highly optimized.

Further more it is also possible to do the same with attribute values and character content for say small strings, or in fact prime the state with a known set of strings when opening the connection.

All in all this is a very effective way of retaining the loose coupling of no schema-dependency with the advantages that schema-dependency would offer for the reduction in message size and increase in processing efficiency.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed