Thursday Nov 15, 2007

Metro Web Services and Microsoft plugfest report

Harold's pic

One of the components in GlassFish v2 getting great attention from both developers and architects is the Metro Web Services stack and the Microsoft interoperability it enables, specifically with .Net's 3.0 WCF. With Microsoft moving ahead to .Net 3.5, Metro is also evolving to make sure the interoperability remains first class.

Harold is reporting from the recent plugfest with Microsoft engineers testing the interop level of standard versions of existing Web Services specifications. One such new standard is OASIS WS-ReliableMessaging 1.1 (vs. version 1.0 included in Metro 1.0). Obviously, there are also several security-related standards implementations being tested as explained by Jiandong.

The results are quite encouraging and the Metro version interoperable with .Net 3.5 is scheduled for 2008.
Update: Geertjan has an interview with Harold on this very same topic.

Friday Nov 02, 2007

Authentication with Identity Services

Identity Services Slide

While standarda such as SAML and XACML provide flexible, interoperable frameworks for exchanging authentication and authorization data, developers are sometimes left wanting something simpler - "Just give me an easy way to authenticate a user and check if they are authorized to access a resource".

We've been working on this in OpenSSO these past few months, building a simple set of identity services; web services for authentication, authorization, attribute retrieval and logging. With SOAP and REST endpoints, just about any application can manipulate identities in a very simple, robust way. Check out Aravindan and Marina's recent article on authentication with identity services. Subscribe to the Sun Developer Network identity feed to catch further article in this series.

Monday Oct 22, 2007

HowTo Resources on Web Services Security using Metro

Informational Sign

A tip from Jiandong:
Information on Web Services Security at Metro

SOAP/TCP + FI = Faster Web Services!


Here is a very nice result taking advantage of Metro's layered architecture: Use an efficient encoding (FastInfoset) and a protocol that is very good for many small packets (Stateful SOAP/TCP) and you can get as much as a 3x improvement over XML over HTTP.

Click to see charts for the different tests: Small, Medium and Large. More details at Oleksiys's writeup.

Also important to point out that, thanks to Noemax, there is now SOAP/TCP Interoperability with Microsoft's Windows Communication Framework (see Announcement).

Tuesday Oct 16, 2007

Metro in IntelliJ IDEA 7.0

IntelliJ 7 Snapshot

Kohsuke provides a glimpse of Metro support in IntelliJ IDEA 7.0. GlassFish/JAX-WS combo is the default to create a Web service.

Added: IDEA 7 also has support for GlassFish (here), JSF (JPZ'log's note/a>) and Support for TestNG and JUnit. Some useful IDEA's sites are Home Page and Features and Screenshots.

Friday Oct 12, 2007

Metro Web service endpoint, JRuby client - it works!

Information Icon

JRuby provides the power of Java and simplicity of Ruby language.

This tip explains how a Metro Web service endpoint can be invoked from JRuby.

Tuesday Oct 09, 2007

Metro Tools in NetBeans, Eclipse and others


Vivek provides a good summary of tooling options in Metro.

NetBeans 6 provides support for simple Hello World to adding different Quality of Service along with .NET 3.0 interoperability.

Within Eclipse, you can use either of SOAP UI plugin, Ant build script, CLI or Maven-based tools. The last three options are available for use outside the IDE as well.

Let us know if you are interested in writing a Metro plugin for Eclipse.

Monday Oct 08, 2007

Screencast: Metro Web services using NetBeans 6

Metro Web service screencast snapshot

NetBeans 6 provides an integral support for Secure, Reliable and Transactional Web services using Metro. It also introduces a new Web Services Designer that enables you to design the Web service visually and switch between the Source and Design mode.

In screencast #web7, I show how a Secure and Reliable Web service can be easily created, deployed and invoked using the NetBeans IDE.

A comprehensive list of GlassFish screencasts is available. Most of the screencasts are available so that you can download them for off-line viewing.

Friday Oct 05, 2007

NOTD - Newer JAX-WS in JDK 6

Radio Receiver Icon

Rama reports that Java SE 6 Update N will not only please people waiting for the "Consumer JRE" but also Web Services developers.

The much improved JAX-WS 2.1.1 implementation will also be part of the core JRE set of APIs. This will remove the need for the endorsed mechanism required today in order to use both JAX-WS 2.1 and Java 6.

Metro compared to other Open Source Web Services stacks

InfoQ logo

Over at InfoQ, Stefan Tilkov has a nice article based on interviews he conducted with lead developers of various open source stacks - Axis2, CXF, Spring Web Services, JBossWS, and obviously GlassFish's Metro. Koshuke "I have many hats" Kawaguchi Clearly explain how Metro had standard support (both WS-\* and JAX-WS) and interoperability as design goals. Others recognize JAXB's full support for XML Schema as a very strong point.

One question asked relates to support for the REST principles. You could consider the Provider/Dispatch APIs to be good enough to work with the HTTP protocol without using SOAP, but as Kohsuke points out, the RESTful work at Sun is going on in the Jersey project (now in version 0.3) which is closely tracking the evolution of JSR 311 and involving much more than just Sun.

The article has both a summary and the un-edited answers from all participants. Some interesting tidbits here and there.

Wednesday Sep 26, 2007

TurboCharging your WebServices - SOAP/TCP Protocol

IP Stack Diagram

The Metro Architecture supports multiple transports, not just HTTP, and the latest Metro Release includes support for SOAP/TCP (Non Assertion Covenant) a protocoal that was designed for intranet use and can provide substantial performance benefits.

Besides GFv2 you can also use Metro 1.0 on Apache Tomcat and it should appear in Other Containers (check with your vendor to find when). The latest news, from Paul, is that Noemax now has an Implementation for the Windows Communication Framework (Paul's writeup, Noemax PR) so you can also use in on your Windows box.

Wednesday Sep 19, 2007

GlassFish v2 FCS - Metro 1.0 is Out

Paris Metro

Metro 1.0 is the WS stack used in GlassFish v2 FCS. They also released on Monday and they are having their own mini-blogfest:

Metro 1.0 Overview, by Kohsuke.
Metro Core - JAX-WS RI Technical Details, by Vivek.
WS-Policy in Metro, by Fabian.
Tango FCS - Ready for production Use, by Harold.
WS Reliable Messaging Overview, by Bhakti.
Custom Security Policy Assertions in Metro, by Ashutosh.

The team has also recently upgraded the Project WebSite so check it out for more information on how to use Metro, either in its native habitat (GlassFish) or on Apache Tomcat.

Wednesday Sep 12, 2007

How to migrate from JAX-RPC to JAX-WS ?

Java XML Duke

JAX-WS replaces JAX-RPC as an easy-to-use and feature-rich Web services specification. A high-performant and production-quality implementation of JAX-WS is already available in Metro.

OpenPortal WSRP Project uses JAX-RPC for the Web services stack and started work in parallel to migrate to JAX-WS. The instructions to run the JAX-WS version are now available and cleanly classified in data binding, security, tools and deployment descriptors.

If you are also using JAX-RPC then you can learn from their JAX-RPC -> JAX-WS migration experience and use the great set of features in Metro.

Saturday Sep 08, 2007

State of Metro in NetBeans

Garden Flowers

The support for Metro in NetBeans 6 is looking great.

Geertjan explained how to invoke a pre-defined Web service.

Milan took a step forward by showing how to deploy a Web service on GlassFish. Instead of creating a Web service from the scratch the entry delegates all the operations to an existing Enterprise Stateless Session Bean. The entry also explained different approaches to transfer binary data and other nifty tips.

Metro 1.0 Release Candidate 1 is available in the latest GlassFish build and will be released along with GlassFish.

Thursday Aug 30, 2007

Apply Web Services Security to EJB Applications

Stock quote sample application

Back in May, at JavaOne 2007, Aravindan Ranganathan and Malla Simhachalam presented a hands-on lab titled Securing Identity Web Services. The lab showed how to provide different levels of stock quote service according to the identity of an end-user - authenticated users see real-time stock data while 'guests' see delayed quotes.

Since then, Malla, Mrudul Uchil and Marina Sum have written up the lab tutorial as a three-part series of articles at the Sun Developer Network showing how identity can be carried from an incoming web services request right through to an EJB. The sample application shows the request and response messages graphically, and provides links to the XML message data - a particularly nice feature that shows exactly what is going on.