Sun Metro and .NET WCF Interoperability
The latest interoperability event (a “plugfest”) at Microsoft’s Redmond campus showed impressive results for interoperability between future releases of Sun’s Metro Web Services and Windows Communication Foundation in .NET 3.5. InfoQ had a chance to talk to Harold Carr, the engineering lead for enterprise web services interoperability at Sun, about the interop results.
When asked what the relevance of this for Java and .NET developers would be, highlighted the role of interoperability in general:
Web services are about wire interoperability, not about the platform they are implemented in. Therefore, developers, whether using .NET or Java, expect their services to interoperate. It is relatively straightforward for platform developers to ensure interoperability for WS-I basic profiles. But when you add in WS-Policy, WS-Security, WS-Trust, WS-SecureConversation, WS-ReliableMessaging, etc., the bar for platform implementors gets way higher. The interop results give transparency into our current development stage to give people that are planning to use Metro with .NET 3.5 (reminder: Metro 1.0 already works with .NET 3.0) confidence that we will provide an interoperable platform (rather than a platform that has only been tested against itself).
With regards to the maturity of standards in the WS-* space, he noted:
There are two aspects to consider: the interop scenarios we test and the deployment of services based on these specs. The interop scenarios are very useful, but certainly not complete (particularly in reliable messaging). Real deployments will come up with combinations never tested (either by the interop scenarios tested at the plugfest or our more extensive in-house testing). Also, .NET 3.0 and Metro 1.0 (both released products) are based on the submission versions of the WS-* specifications (except for WS-Security, which is standard). .NET 3.5 (which is released) is based on the standard versions. Metro 1.x (which will ship later in 2008) will be based on the standard versions also. All this is a long-winded way to say the standard specs haven’t been used in many deployments based on shipping platforms from different vendors.
According to Harold, the hardest aspect to get working was security, especially using Kerberos, and including Trust:
There are so many ways to do security it takes a lot of testing. And when you have trust in the picture then you have a 3-way test: client, STS, service – so you have more combinations to test.
WCF & Java Interop tutorial series
These articles are based on my real world development experience of SCM Anywhere (www.scmsoftwareconfigurationmanagement.com), a SCM tool with integrated version control, bug tracking and build automation.
The series has not been finished, but I am adding articles several times per week. Please check back for the latest articles.
The URL of the series is:
Thanks a lot.
Kevin Gao, MCSD MCDBA