The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


Tango FCS - Metro Web Services now ready for production use

Posted by haroldcarr on September 18, 2007 at 8:49 AM PDT

FCS

Project Tango (aka WSIT - Web Services Interoperability Technology) is now FCS (First Customer Shipment)! Tango provides the .NET 3.0 interoperability features (i.e., security, reliability, transactions) built into the Metro Web Services stack. Besides including Tango, Metro includes the core JAX-WS platform and JAXB.

Metro FCS is built into GlassFish V2 FCS (b58g) which FCSed yesterday as Sun Java System Application Server 9.1. Metro also runs in other containers (e.g., Tomcat).

Metro FCS also has a NetBeans module to make building advanced web services easy---just point and click---no code, no config files.

Metro = Tango + JAX-WS

JAX-WS

We've been shipping our JAX-WS production implementation for quite some time. It's a high-performance implementation of the JAX-WS specification. It produces and consumes WS-I Basic Profile 1.1 services and clients.

Tango

The Tango part of Metro 1.0 FCS implements numerous WS-* specifications to enable interoperability with Web Service producers and consumers Microsoft's .NET 3.0 Windows Communication Foundation. Specifically, we implement the specifications listed here.

Note: most of these specifications (but not all - e.g., WS-Security) are submission specifications, not standards. That is because these are the specifications implemented in .NET 3.0, and that is the main point of Tango: to enable interop with .NET 3.0 (although there is nothing stopping you from using the advanced Tango features in Java-only scenarios).

Also note: a future version of Metro will implement standard versions of the above specifications---once again, the same set as implemented by .NET 3.5 when it is released.

Use Cases

Even though we are just FCSing now, we have real users building real systems using Metro in the finance, telco and health care industries.

Finance

A large finance company uses Metro to provide the secure web services backbone for services that securely interoperate with

  • Axis 1.4
  • WSE 2.0
  • .NET 3.0
We needed to add some special policy assertions like:
<sc:InclusiveC14NWithComments sc:forCm="true"/>
to enable the use of the C14NWithComments algorithm for canonicalization of XML documents to enable security interop with Apache WSS4J. Metro, by default uses a different algorithm: Exclusive XML Canonicalization.

Telco

A well-known telco has already deployed an international trouble ticketing system based on Metro. They implemented a subset of WS-Eventing and WS-Notification to push and pull trouble tickets between various partners. An interesting thing we added here was the ability for SSL information to be retained, end-to-end, in headers, even though the SSL transport was terminated at a load-balancer.

Health Care

A government agency is building a unified health care system based on Metro to serve millions of people. The will be using the Metro security and reliable messaging features. In addition, they will be integrating at a deep level---building their own tubes to handle client authorizations. They will also be adding and setting headers via Packet. They have voluminous data they are adding to headers.

BTW: I don't recommend putting application data in headers. Put it in your own application-specific envelope. Otherwise your data model is split between your application data and header data making it hard to manage. Worse, if you use JAX-WS specification handlers your performance will go down the drain. If you must read or write headers, send us a note at users@metro.dev.java.net and we will show you an easy and efficient way to do with without using handlers (or a tube).

What's next?

It's been an exciting and hard-working 2 years from spinning up Tango to our FCS release. I'd like to savor the moment and keep the focus on Metro 1.0 FCS, so I don't want to say much about the future in this blog entry. Suffice it to say that we plan on Metro updates every 8 weeks---with each release containing bug fixes and some new features. In the Tango area the big thing on the horizon is interop with .NET 3.5 via standard versions of the WS-* specifications. That should happen the first half of 2008.

For now, start using Metro 1.0 in GlassFish (or other containers) and let us know how it works for you. We'd really like to see your use-cases. Send us mail at users@metro.dev.java.net.

Enjoy!

Technorati: wsit glassfish projectmetro

Related Topics >> Java Web Services and XML      
Comments
Comments are listed in date ascending order (oldest first)