Microsoft Releases Java-Friendly Interop Bindings for WCF Services
In June, Microsoft released a set of open-source configurations to accelerate interoperability between Microsoft’s Windows Communication Foundation (WCF) platform and leading Java-based web servers. WCF bindings, which define transport details for invoking or consuming WCF services, are now available for Oracle WebLogic, Oracle Metro, IBM WebSphere and Apache Axis2.
While major vendors like IBM, Oracle and Microsoft have collaborated to make their respective web service stacks interoperable through WS*, developers have struggled to discover which WCF configuration settings are compatible with non-WCF services. Abu Obeida of Microsoft says:
Until now, the bindings in WCF provided a wide range of interoperable and non-interoperable options to establish connections. Developers burned the midnight oil too many times, perusing various reports from WS-I, or huddling in online forums figuring out the required interop settings. Java web services, mostly relying on policy based configurations, proved tricky for .NET WCF developers to configure their services and clients. .NET Developers needed to configure security settings, algorithms, policies in various bindings elements in an often time consuming manner, resulting in a challenge larger than necessary.
As a solution to this problem, Microsoft released a set of limited-configuration bindings on its open source CodePlex site. Developers use these bindings to configure only the communication settings that apply for a given Java service platform such as Oracle WebLogic. By restricting the available configuration options, the bindings reduce guesswork and eliminate trial-and-error testing. The CodePlex project also includes an “express binding wizard” for Microsoft’s Visual Studio 2010 development environment. This wizard asks the user questions about their binding, security, reliability and encoding settings. Upon completion, the wizard takes the answers it gathered and creates a valid WCF binding that can be used to invoke a Java service, as demonstrated in this blog post by Microsoft MVP Yaron Naveh.
Microsoft emphasizes interoperability frequently in their WCF material. They have a website dedicated entirely to web service interoperability where one can find details on which web service platforms support which WS* specification and whitepapers that describe how Java and WCF can work better together.