InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Microsoft Releases Java-Friendly Interop Bindings for WCF Services

Posted by Richard Seroter on Jun 29, 2011

Sections
Enterprise Architecture,
Architecture & Design,
Development
Topics
Java ,
Websphere ,
Application Servers ,
Web Services ,
.NET ,
IBM ,
WebLogic ,
Languages ,
SOA ,
Oracle ,
Agile in the Enterprise ,
Companies ,
Architecture ,
Programming ,
Enterprise Architecture ,
Agile ,
Interop ,
WCF

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.

  • This article is part of a featured topic series on SOA and also Agile

No comments

Watch Thread Reply

Educational Content

Eventually Consistent HTTP with Statebox and Riak

Bob Ippolito explains how to solve concurrent update conflicts with Statebox, an open source library for automatic conflict resolution, running on top of Riak.

Java.next

Erik Onnen attempts to demonstrate that Java is still the best programming language for the JVM if simplified idioms are used along with proper tooling.

Evolution in Data Integration From EII to Big Data

Approaches to integrating data are changing with emergence of cloud computing.

Winning Hearts and Minds: How to Embed UX from Scratch in a Large Organization

Michele Ide-Smith presents the lessons learned in the process of introducing UX principles and techniques into a large organization through a series of small steps.

LMAX Disruptor: 100K TPS at Less than 1ms Latency

Dave Farley and Martin Thompson discuss solutions for doing low-latency high throughput transactions based on the Disruptor concurrency pattern.

Thoughts on Test Automation in Agile

Rajneesh Namta shares his thoughts, experiences, and some of the critical lessons learned while implementing software test automation on a recent Agile project.

Actor Interaction Patterns

Dale Schumacher presents several patterns of actor interaction that can be used in collaborative programs written in any language.

Scalaz: Functional Programming in Scala

Rúnar Bjarnason discusses Scalaz, a Scala library of pure data structures, type classes, highly generalized functions, and concurrency abstractions to perform functional programming in Scala.