Monday Aug 27, 2007

Metro release candidates

Overview Picture of Metro

Metro, the Web services stack in GlassFish, is making progress along with GlassFish schedule.

Harold announced the availability of Metro RC 1. Vivek announced the availability of JAX-WS RI (core of Metro) 2.1.2 RC1. Both of these binaries are already integrated in RC4

You may like to download standalone Metro or JAX-WS bundle if you want to install it on Apache Tomcat - both 5.5.x and 6.x. It is also supported on JBoss, works on Jetty and Java SE. An earlier version of Metro is also integrated in TmaxSoft JEUS 6 and WebLogic Server 10.

Several screencasts are available to get you started with Metro. Jiandong recently posted an entry highlighting the complete set of security samples.

Friday Aug 24, 2007

Deep Dive Videocast on Project Tango

Tango Deep Dive

SDN has recently started videocasts on Java Deep Dives. Ed Ort from staff interviewed me 3 weeks ago on Project Tango (part of Metro).

In this 25 minute interview Ed covers different aspects ranging from Tango/Metro/WSIT naming, Runtime, Tooling, Plugfests, History and some other tidbits.

You can read more about Project Tango in this 26-page article as well.

Wednesday Aug 22, 2007

Real life usage of GlassFish Metro - Amazon Web Services

Amazon Web Services logo

Once again, Glen described how to use GlassFish Metro to invoke Amazon E-Commerce Service (ECS). The ECS API allows clients to search or browse's product catalog, retrieve detailed product information, and interface with customer shopping carts.

The detailed writeup provides an Ant script to generate the client-side artifacts and a client code to invoke the service.

Metro can also be used to invoke Yahoo News Search, Google Web service and AdSense, and eBay Shopping API. Have you used Metro to invoke any other popular services ?

Monday Aug 20, 2007

Scriptless WSCompile in Metro

Head shot of Vivek

Scripts are very handy but they are also brittle as each user tends to have slightly different configurations. Vivek recently rediscovered this and decided to take action: the latest JAX-WS RI (part of Metro) invokes wsimport directly.

Check Vivek's writeup for details.

Sunday Aug 19, 2007

eBay, Yahoo, Google and GlassFish

eBay Logo

What is common between eBay, Yahoo News, Google, and GlassFish ?

They all host Web service endpoints that can be invoked using Metro, the Web services stack in GlassFish.

Marc already posted code to invoke Yahoo News Search and Jitu posted an article to invoke Google Web service and AdSense. Now, Glen posted an entry showing how to invoke eBay Shopping API.

Metro is also integrated in TmaxSoft JEUS 6, WebLogic Server 10, supported on JBoss, works on Apache Tomcat, Jetty, and Java SE.

Discover, Use and Extend Metro.

Wednesday Aug 08, 2007

Take control of your Security Tokens

German Lorenz cipher machine

A security token is issued by a Security Token Service (STS) to secure a SOAP message in an interoperable manner. Jiandong explained how NetBeans IDE, with WSIT module (part of Metro), allows you to build and configure a STS.

The STS is a Web service that can be deployed on GlassFish. This Web service then issues security tokens such as Username/Password, X.509 or SAML.

In a follow up entry, Shyam explained how to leverage the extension points in WS-Trust implementation of Metro to implement STS to meet a specific business requirement.

Thursday Aug 02, 2007

A Happy Metro User - PHP interoperability

aseop fox

One of the key benefits of Metro, the Web services stack in GlassFish, is basic Web services interoperability provided by JAX-WS RI and .NET 3.0 interoperability by Project Tango. Greek School Network is using it successfully with NuSOAP as well. Metro was chosen over Apache Axis and several other candidates.

For the Java WS framework there were several candidates like Apache Axis and JAX-RPC but we choose JAX-WS 2.1, both because of its elegant programming model and the fact that in the newly published Java EE 6 proposal JAX-RPC will be proposed for future deprecation.

And the NetBeans Web services wizard is found to be very useful as well:

Our development platform was NetBeans 5.5 which provided a powerful wizard that starting from the WSDL that NuSOAP published, created the necessary Java stub code for our operations.

A variety of screencasts showing develop/deploy/invoke cycle of Web services using Metro and NetBeans are available here.

Tuesday Jul 31, 2007

Flex front-end to Metro

Adobe Flex 3

Metro, the Web services stack in GlassFish, allows you to build secure, reliable, transactional, and interoperable Web services. NetBeans IDE provides an easy way to generate Web service client artifacts and invoke the endpoint from Java classes or pages.

The beauty of Web services is that the client and server may be completely disconnected, for example, even using different language. James Ward showed how to use Flex to create a front end to JAX-WS, a core component of Metro.

Let us know if you have used JavaFX or any other similar technology to create a front end for Metro.

Monday Jul 23, 2007

Planning Ahead in Metro: Fast Infoset and EXI

W3C Logo

The verbosity of XML has been an issue for some new use-cases like large docs over slow connections. Sun recognized this a while ago and participated in the ISO/ITU-T Fast Infoset standard, which we then included in Metro (tag), the Web Services stack in GlassFish, but, planning ahead, Metro was intentionally designed to support additional encodings.

After FI, Santiago and Paul joined the W3C EXI effort, and Santiago just reported on the First EXI Public Draft. It is still too early to tell how it will compare to FI but GlassFish is ready - and so will the Additional Containers that are adopting Metro!

Sunday Jul 22, 2007

Metro - Now on Tomcat 6.x also

Apache Tomcat 6.0

Which Web services stack is integrated in GlassFish, TmaxSoft JEUS 6 and WebLogic Server 10, supported on JBoss, works on Tomcat 5.x, Jetty, Java SE, and now also work on Tomcat 6.x as well ?

Metro is the answer and the list of containers keep growing. Metro can be easily installed on Tomcat 5.x using the installation script with the download bundle. An updated directory structure in Tomcat 6.x require a minor update to the script though.

Rama describes the change required to run JAX-WS samples on Tomcat 6.x. And my blog describes how to install Metro bundle on Tomcat 6.x to develop a Secure, Reliable and Transactional Web service endpoint. We will make these changes as part of the installation script so that you don't have to worry about version specific changes.

Let us know if you have tried Metro, or any of its component, on any other container.

Wednesday Jul 18, 2007

Metro and Fourth Microsoft Interop Plugfest

Ken, Mike, Jiandong, Harold at Plugfest

Metro, the Web services stack in GlassFish V2, participated in the fourth Microsoft Interoperability Plugfest. Read Harold's report for more details.

Metro is already interoperable with .NET 3.0 and Microsoft is working on .NET 3.5 framework. This plugfest participation was to ensure that there are no regressions when a Metro 1.0 client try to invoke a .NET 3.0 endpoint deployed using .NET 3.5 runtime and vice versa.

We have already done extensive testing between Metro 1.0 and .NET 3.0. The next version of Metro will align with the specifications used in .NET 3.5.

You may also want to read about our participation in first, second, and third plugfest.

Thursday Jul 12, 2007

Overview Article about Project Tango

Tango Logo

There are several good sources of information for Project Tango - Web Services Interop website,, Tutorial, Screencasts, Blogs, and Previous Entries on TheAquarium.

If you are interested in a complete overview of Project Tango without going through all the sources then read this new 26-page article - Project Tango: An Overview. It describes what is Project Tango and its feature set, how is it related to Metro, GlassFish, and NetBeans, and many other details.

Let us know if you are interested in helping translate this document to other languages.

Tuesday Jul 03, 2007

GlassFish's Metro - Now also in JBoss

Metro Layout of Barcelona

Thomas announced that JBossWS 2.1.0 will support Metro, the GlassFish WS Stack (Thomas' blog, Vivek's). Other uses include GF v2 (and SJS AS 9.1), TmaxSoft JEUS 6 and WebLogic Server 10.

Metro is designed to be extensible and integrateable and also works on Jetty and Tomcat - I'd venture it should not be hard to use inside Geronimo, so let us know if you attempt that effort.

PS - The map shown is that of Barcelona's Metro. It does not include the future Linea 9.

Wednesday Jun 27, 2007

GlassFish Videos!


At least four GlassFish-related Hands-On-Labs from JavaOne 2007 have been made available online recently as screencasts -

•  LAB-5410 : Securing Identity Web Services

•  LAB-3315 : Java EE 5 Hands-on and Clustering using Open Source GlassFish Application Server

•  LAB-4450 : Rapidly Building a Real Life Application With Ajax and JavaServer Faces Components using the NetBeans Visual Web Pack

•  LAB-4440 : Building Web2.0 application using Sun Web Developer Pack (SWDP)

Hands-On Labs (HOL) are fully documented from setup to step-by-step didactic tutorials. Each is split into several exercises for a total of 60 or 90 minutes. The complete list (all 27 of them) is here. Specifically, I'd recommend "LAB-3360: Taste Special Features of GlassFish". Access is free to all SDN members. SDN membership is free as well.

Fourth Interop Plugfest - Metro and .NET framework

Seattle from Kerry Park

Microsoft has announced a new Web Services Interoperability Plugfest, and Sun will participate using Project Tango, a key component of Metro - the Web services stack in GlassFish V2. Project Tango's focus is interoperability with .NET 3.0 and that will be unchanged until GlassFish V2 is released later this year. This plugfest will give us an opportunity for regression testing with Microsoft's upcoming .NET 3.5 framework as well. Relationship building will continue to be a key part of this visit.

The interop scenarios from the plugfest are run regularly and the results with Tango Milestone 5 (integrated in GlassFish V2 b50) demonstrate that.