Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Hartmut Wilms on Oct 05, 2007 11:32 AM
Noemax releases a SOAP/TCP transport implementation for WCF, which makes use of the Fast Infoset in order to improve performance and interoperability of WCF services.
WCF provides out-of-the-box support for either interoperable text-encoded XML Messaging or proprietary binary-encoded XML Messaging. Developers looking for both have to develop custom WCF bindings and transports.
Now, Noemax has released a WCF extension that provides a SOAP/TCP binding. SOAP/TCP was developed by Sun Microsystems. It is a simple, efficient and light weight transport over a TCP/IP connection that is suitable for the transmission of Web service messages (SOAP-based or XML Infoset-based). SOAP/TCP supports the use of Fast Infoset, which specifies a binary representation of an W3C XML Information Set, for encoding and decoding XML messages.
“Availability of SOAP/TCP for WCF comes at a time when .NET developers are seeking solutions that improve the performance of Web services”, said Arman Djusupov, chief developer at Noemax. “SOAP/TCP is unique in its ability to use Fast Infoset as a stateful message encoding. While all WCF transports can use Fast Infoset, which is the most compact encoding when compared to the text XML, MTOM and .NET Binary encodings, SOAP/TCP is the only transport that can reuse the same vocabulary throughout a communication session for an even higher reduction in message size. The resulting increase in communication speed makes SOAP/TCP the fastest transport for WCF”.
Alexander Philippou of Noemax explains:
SOAP/TCP is (currently) the only transport that uses the Fast Infoset message encoding in a stateful mode. This means that each message sent during the same communication session is accompanied only by new entries (if any) to the Fast Infoset vocabulary -- not the whole vocabulary as is the case with the non-stateful Fast Infoset message encoding that can be used with the other transports. The vocabulary is a table that associates string values with identifiers. One of the techniques used by Fast Infoset to reduce the size of the text encoding is to enter string values (such as markup) in the vocabulary and substitute all occurrences of these string values in the document with their corresponding identifier.
Noemax's SOAP/TCP implementation is also compatible with the SOAP/TCP implementation of Sun's Metro. Metro is Sun's web service stack that packages the web service related Java APIs, such as JAXB, JAXP, StAX, and SAAJ. As Alexander Philippou points out
SOAP/TCP is WCF<->Metro interoperable and has been tested using both text and Fast Infoset. It has not been tested with MTOM since there is no point in using it when Fast Infoset available; SOAP/TCP for WCF is included in the Noemax WCF-Xtensions which also includes Fast Infoset, and of course Metro has both too.
Noemax provides a Fast Infoset implementations for .NET called FastInfoset.NET. FastInfoset.NET integrates into the .NET XML APIs and provides a means of encoding and decoding XML messages according to the Fast Infoset specification. Noemax's WCF-Xtensions offers
All extensions can be configured within a custom binding or plugged into the existing standard WCF bindings. Noemax has published size comparison and performance benchmarks between text, Fast Infoset, MTOM and .NET Binary encodings on their website.
Noemax SOAP/TCP implementation looks promising. It offers an interoperable binary encoded messaging over TCP, which is compatible to Sun's Metro implementation. In addition it provides a serious alternative to the propriety NetTcp binding, which is the most performant way of communicating between WCF consumers and providers offered by Microsoft, today.
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply