Archive for the ‘Web service interoperability; WS-I resources to test fo’ Tag

Make use of WS-I resources to test for Web service interoperability

The Web services technology has promised us to provide a high level of interoperability between software components. But what does this mean in practice?

In theory Web services are especially designed to offer “reusable” features that are discovered and bound at runtime using technical “loose coupling.” The Open Solutions Alliance (OSA) has been formed expressly to help speed the creation and adoption of integrated, interoperable business applications based on open source. The OSA recommends that each vendor or project lead should carefully think about which functions in their to need to be triggered by other applications, and ensure that they are exposed in a loosely coupled way so customers and integrators can take care of implementing the process. These functions should be exposed as a service and should be implementation language neutral, so for example a PHP application can invoke a feature in a Java application.

Having in mind that Web services are used by consumers unknown at design-time, and looking at the “Publish-Discover-Invoke-Paradigm” based on standards it will become evident that Web services are fundamentally about “interoperability”. In reality, however, the “standard” protocols are not standard enough to ensure automatic interoperability. Most of the risks stem from subtle variants in implementing a same standard or some borderline option of it (“corner cases”), and from different approaches in integrating several of these standards in the same implementation. Other problems rely on the different programming language implementations of data types like “Date”, “Floating Point” or “BigDecimal”, e.g. when looking at Java & J2EE vs. Microsoft .Net with C++ or C#.

There are many definitions in the industry and academic research that tell us how to interpret the term “interoperability” for Web services. In Microsoft’s “Pattern & practices for building interoperable Web services” book we can find a definition that has been adapted by most of the tool providers in this area:

“An interoperable Web service is one that works across platforms, applications, and languages as well as with Web services from other vendors.”

However, we saw above that interoperability needs consensus, a clear understanding of requirements, and adherence to specifications. In response to these needs, the Web Service Interoperability Organisation WS-I was founded.

WS-I is an open industry organization “chartered to establish Best Practices for Web services interoperability, for selected groups of Web services standards, across platforms, operating systems and programming languages”. The organization is a consortium of Web services companies to provide guidance, recommended practices, and supporting resources for developing interoperable Web services in the SOA world…

To read the full article by Klaus Berg please visit:
http://www.javaworld.com/community/?q=node/828

Advertisements