Interop Plugfest

Although the hardware interop demos continue, over the years, a new set of software-oriented plug fests have emerged. Among such useful endeavors in this space is the Web services ‘plugfest’ run in recent years by Microsoft and others. Scenarios are created, lab space is allotted, and the nitty gritty issues of WS-Security, WS-ReliableMessaging, and the like, are ironed out.

TheServerSide.NET’s Jack Vaughan posed some questions on interoperability to Microsoft’s Jorgen Thelin shortly after a recent Interop Plugfest in Redmond. Thelin is senior program manager, Connected Systems Interoperability Standards.

TSS.NET: What is the state of SOAP interoperability today?

Jorgen Thelin: Overall current state of Web Services interoperability is extremely good when you consider the relatively short time that SOAP has been around.

At each of the three plug-fests we’ve seen more companies covering more specification areas and getting more tests to pass. There are still a few minor areas where companies are working on finishing their product implementations and fixing bugs uncovered during the interop testing, but overall the industry is in a great shape.

Most of the bugs we uncover during these interoperability testing events now have changed significantly from the type of questions that we got in the early days. Rather than questions like how particular data types should be represented in SOAP messages on the wire, we now see higher level concerns like whether a WS-ReliableMessaging endpoint is sending the right protocol messages in the expected order when combined with WS-SecureConversation, or whether a program is signed the right parts of a SOAP message with the right digital signature mechanisms specified in the security policy for a web service.

TSS.NET: What goes into the planning of Interop Plugfests?

Jorgen Thelin: A lot of work goes into planning and preparing an Interop Plug-fest, and the hardest part is often finding a date when there aren’t clashes with other major industry meetings! You’d be surprised how many meetings are going on in any one week once you start looking.

We also need to find a date when there is suitable lab space available in the Microsoft Platform Adoption Center, or wherever else the event will be hosted.

Before we send out plug-fest invitations, we put a lot of effort into writing down some interoperability scenarios and test cases so people have a base set of tests to start working on. We post these scenario documents publicly on the Microsoft Windows Communication Foundation interop endpoint web site at http://www.mssoapinterop.org/ilab/ so they are easily accessible to people, and available for reference.

The scenarios are split up into several different areas, and participants have an A-la-carte choice of which scenarios they implement. For example, some companies only implement and test the WS-Security scenarios because that’s what their product focuses on. Others might only do WS-ReliableMessaging, while other general-purpose platform vendors usually do the full set. In the same way that the WS-* architecture is modular and ‘composable,’ we recognize that some products will only covers some of the WS-* specs that apply to their niche.

Once we’ve found a suitable date, and have some documented scenarios, we send out invitations broadly to our partners and competitors in the industry through the WS-Builders and SoapBuilders mailing lists to invite everyone to attend.

The final stage of the plug-fest preparations is to post a public interop endpoint to help people prepare for the testing at the event. Many companies also use these public interop endpoints as part of the regular testing their product development teams perform on their new product code.

TSS.NET: How is Web services in any way easier than in earlier years?

Jorgen Thelin: As I mentioned previously, each plug-fest has seen more companies covering more specification areas and getting more test passes than the previous times, so things have definitely got easier over time.

We solved the basic SOAP and WSDL interoperability problems a long time ago through collaborative interoperability workshops such as SoapBuilders. Now most, if not all, of the testing is focused on the higher layers in the protocol stack, such as WS-ReliableMessaging or WS-SecureConversation.

We can now assume the underlying layers are working correctly and move our abstraction level up a notch. Of course, that’s exactly what should happen as any communications technology matures and stabilizes – for example, when was the last time you thought about how a TCP/IP stack works or felt you needed to read the TCP specification just so you could access a web page? The same thing is happening for Web Services too, as the technology is embedded into more mainstream products like .NET Framework v3.0 or J2EE, and as developer tools include more web service related developer functionality.

Of course, we didn’t get here by accident – at Microsoft we’ve taken a very systematic approach to the interoperability testing of the WS-* Architecture stack through the WS-* Workshop Process, and we have really seen significantly better quality of specs exiting that process than where they started from.

The WS-* Workshops Process is the main development phase of the WS-* specifications, and involved a large number of Feedback and Interoperability Workshops on each of the specs to flush out problems in the docs and also test the implementability and interoperability of the protocols with industry partners.

You can see details of the long history of WS-* Interop and Feedback Workshops posted on the MSDN web site:
http://msdn.microsoft.com/webservices/community/workshops/

The MSDN WS-* Workshops website also shows the details of the three plug-fests we’ve held in Nov-2005, March-2006 and Sept-2006, and further details are also on the Windows Communication Foundation interop endpoint web site: http://www.mssoapinterop.org/ilab/

TSS.NET: What still is an issue that typical developers encounter when pursuing SOAP interoperability?

Jorgen Thelin: By far the biggest problem that most developers face with Web Services interoperability is just making sure the client and server applications are configured to talk to each other correctly. For example, does one app require WS-Security, but the other doesn’t use security? Or are both apps using the same version of SOAP or WS-Addressing?

We are trying to ease these configuration issues through the use of some pre-defined standard bindings in Microsoft’s Windows Communication Foundation product. These pre-defined bindings provide a set of grouped configuration settings that we believe support the majority of customer’s requirements. Most developers will just be able to choose the standard binding that best fits their requirements, and everything will work well together.

On the other side, we are working closely with other SOAP stacks to try to ensure that the standard binding configurations in their products work well with our standard settings. Over time, we’ll see the standard configuration options used in the industry converging onto a common set, which it will make it increasingly easier to get applications working well together even if they use different SOAP stacks.

TSS.NET: How would you mark milestones in testing of interoperability between Sun’s Project Tango technologies and Microsoft’s Windows Communication Foundation?

Jorgen Thelin: One of the biggest milestones in the interoperability of Sun’s Project Tango technologies and Microsoft’s Windows Communication Foundation has to be the live demo during the JavaOne keynote this year.

The keynote by Sun Microsystems CEO Jonathan Schwartz featured a complex but realistic interoperability scenario involving Microsoft’s CardSpace and Web Services technology interoperating with an application built using Sun GlassFish technology. As well as a Security Token Server (STS) from each company, the demo also showed Java and WCF services interoperating on Secure RM exchange with Federated Trust.

Finally, each plug-fest event is also really a milestone in itself! We see increasing interoperability covering more spec areas and fewer test failures at each event. For example, at the last plug-fest on September 2006, the Sun folks were testing their WS-AtomicTransaction implementation with WCF for the first time. That’s another tick in the box.

And we are looking forward to achieving more interoperability milestones with Sun and other companies in 2007.

Links

For an overall picture of industry status, you may like to see a copy of a slide I recently posted on my blog showing the overall progress of WS adoption in the industry.http://www.thearchitect.co.uk/weblog/archives/2006/09/000419.html

We do respect the privacy of plug-fest attendees and don’t reveal individual companies test results from the plug-fest without their permission, so I can’t comment on specific results. However, you can find many details of the results from blog postings by participants such as Arun Gupta at Sun:
http://blogs.sun.com/arungupta/entry/wsit_and_wcf_plugfest
http://blogs.sun.com/arungupta/entry/bigger_and_better_and_second
http://weblogs.java.net/blog/arungupta/archive/2005/11/sun_sleepless_i_1.html