
lundi novembre 20, 2006
PRESTO, GlassFish, and NetBeans (WS-*)
I spent some time since this summer working on a prototype for the
French government. The project is called PRESTO ("PRotocole
d’Echanges Standard et Ouvert") and is
documented here.
The goal is to define a profile (a la WS-I) for a transport protocol
based on Web Services for better and more standard interop between
ministries and related organisations. In a
nutshell, it's about using WS-I Basic Profile, SOAP 1.2, MTOM,
WS-Addressing, WS-ReliableMessaging, and optionally OASIS WS-Security.
There was (is) an interesting set of participants and technologies :
- Bull
using Apache Axis 2 and ObjectWeb's JOnAS
- Zend
relying on WSO2's
Tungsten C implementation of Axis 2 to work as a PHP plugin
- Axway
working with the Systinet/Mercury/HP web engine (SSJ)
- Microsoft
with .Net 3.0 (WCF)
- Sun
with Java EE 5 (GlassFish)
More details on Sun's prototype, technology and differentiators are
described here
(in a nutshell : full Open Source, toolable, and brain-dead simple
programing). Everything is now part of GlassFish (as
of recent v2 builds) and will be productized in Sun Application Server
9.1.
Absent were IBM, Oracle, JBoss, and BEA for various reasons, mainly
because
their respective offerings were not ready. Ironically, IBM claims it
inspired PRESTO with their WS-RAMP
specification (which itself came from two of their customers) but was
unable to
show any implementation. WS-RAMP seems like it could serve as a basis
to a future WS-I profile which could end up being a replacement to
PRESTO.
Representing WS02 was Paul
Fremantle
who's the chair of the OASIS WS-ReliableMessaging technical committee
and an Axis 2 commiter. Paul has already blogged about PRESTO here.
The prototype involved working on a common WSDL definition of
document/literal one-way and two-way operations and testing the interop
of all combinations (with or without MTOM, WS-ReliableMessaging)
between all implementations. Coming up with a common WSDL wasn't an
easy job and many found out what wrapped
doc/lit was all about (although this convention isn't really well
documented).
The results are encouraging but not perfect, so the work on both the
prototype and the PRESTO specification are still ongoing. The best
results are shown with the Sun/GlassFish + Microsoft/WCF combination (100% PASS) showing
the value of the engineering work between Sun and Microsoft as part of
the Tango
project. For the tests with other implementations, the NetTool
tunnel was very useful although XML remains XML - a pain to read, a
nightmare to debug.
Writing the Sun prototype for me was really a matter of using JAX-WS
2.0 (and the underlying JAXB 2.x binding architecture), understanding
the GlassFish WSIT
extensions (great tutorial here)
and using the NetBeans
WSIT plug-in which allows you to declaratively set the MTOM,
WS-ReliableMessaging, and WS-Security properties. Writing a
flexible-enough testing Swing
UI was also fun, but better yet was writing the OpenOffice
client demo.
PRESTO has clearly shown some European interest among the 130 attendees
in last
month's presentation in Paris and clearly fits a
need.
( nov. 20 2006, 09:47:00 AM CET )
Permalink
|