The existing 0.6 version of the WCF/C++ client provides basic WCF functionality. Its most significant additional feature is distributed transaction support for enterprise applications. The WCF channel portion relies on the well tested and high performance C++ native client libraries for most of the logic at the transport and session layers. The current status and future wish list are summarized in the top-level ReadMe.txt file.
The long term goal of the WCF channel is to provide .NET programmers with a full featured AMQP messaging client. To maximize adoption, it uses the same programming model used by the Microsoft WCF channel implementations for messaging over MSMQ and over WebSphere MQ. To maximize functionality, it incorporates or has planned features for AMQP specific capabilities (such as local transactions which will require some magic to associate separate WCF channels with a single AMQP session). A further goal is to maximize the interoperability of the WCF channel with other AMQP clients by providing full access to AMQP types in message headers and the message body. In 0.6 it is possible to exchange int and string properties between JMS and WCF clients. Text and binary content can also be shared between clients as demonstrated by the WcfPerftest sample program. Expanding this to include all JMS message properties and supporting AMQP map messages is proposed as a high priority improvement for the WCF channel in the 0.7 timeframe (consistent with the goals of QPID-2226). Another serious outage is the lack of SSL support and authentication. This work was deferred until SSL support was ported to the Windows C++ client. Steve Huston has just recently completed this work, so adding the ability to the WCF channel should be very straightforward in 0.7. Beyond those two goals, there is plenty to choose from in the "Planned features" section listed in the ReadMe file. As time allows, I would propose tackling temporary (and reply) queues as another high priority item that WCF developers will be wanting. I would also like to rationalize the CMake and MSBuild build interactions to make them smoother and to introduce failsafes to prevent subtle bugs that arise from inconsistent compiler switch settings. In summary, for 0.7, I propose to pursue the development and submission to Qpid of the following improvements to the WCF/C++ client: - expanded AMQP type support and client interoperability - SSL support and authentication - temporary/reply queue support - better CMake integration I welcome any questions or comments. And especially welcome anyone who would like to assist with WCF channel enhancements for Qpid. Cliff --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org