Tuesday Mar 06, 2007

Transparency also applies to Oops! What's Up with JAX-WS 2.1

Relay Racer

It is extra important to be transparent when there are issues - not just when things go well - so everybody can adjust as soon as possible. We already mentioned the Slip on GFv2 beta; here is another issue...

You may have noticed a change in the JAX-WS 2.1 Download Link. In a nutshell, we found an unexpected change in a W3C spec we depended on just a bit too late; we had some personal rotation and we Lost the Baton. In the meantime, please use the nightly; full details here.

Sunday Mar 04, 2007

How to Transfer Binary Data ... And more Answers from Ask-the-Experts on JAX-WS

Mosaic of Pythia of Delphi

The transcript for last weeks' Ask-the-Experts session on JAX-WS is now available; thanks for all your questions.

Check the replies at the Web Site, and different follow-ups, like in this Thread in the WS Forum.

Tuesday Feb 27, 2007

Why would I need to be reliable?

Hopefully, this is not going to start a REST vs. WS-\* debate, but there are a few arguments from the WS-\* side which usually RESTafarians agree to:

•  WSDL is good if you need a contract-fist approach (although WADL can help define contracts for REST endpoints).
•  WS-Security provides end-to-end message-level security (vs. point-to-point with HTTPS).
•  HTTP is unreliable and WS-ReliableMessaging has no equivalent in the REST world (reliability needs to live at the application level). I am not aware of any work in that area for REST, but if there is, I'd like to hear about it.

You may not need any of the above (in which case a RESTful approach may be more appropriate), but you if think you need reliability, Mike Grogan has a nice and short explanation on why you would want to use WS-ReliableMessaging and how the developer is impacted when using WSIT, the JAX-WS extension for many WS-\* specifications.

WSIT is now in Milestone 3 which works with GlassFish 2 b33c. Install is described here. WSIT M3 is also the build that will be part of the upcoming GlassFish v2 beta release.

Note also that Arun is running a series of nice ScreenCasts for GlassFish JAX-WS and WSIT. The latest one is also about WS-ReliableMessaging.

Friday Feb 23, 2007

JAX-WS - Not Your Father's JAX-RPC (Ask the Experts next week)

Mosaic of Pythia of Delphi

Even King Aegeus went to ask the Oracle of Deplhi, so get your questions ready and send them to Jitu, Vivek and Kohsuke for next week's Ask the Experts session on JAX-WS (2.0 and 2.1).

This is how it works: Starting next week, go visit the Ask the Experts page and post a question. The 3 oracles will answer (with some time-delay) and at the end the full transcript is available. Feel free to ask any question; these 3 guys cover from the spec to the implementation, and they also cover JAXB.

I'd make one request: don't assume that JAX-WS is the same as JAX-RCP (big changes); don't assume that JAX-WS 2.0 is the same as JAX-WS 2.1 (smaller changes); and the GlassFish implementation has also changed a lot in the last releases.

The Aquarium has had many spotlights on JAX-WS and we tag them under jax-ws.

Monday Feb 19, 2007

Guidelines for Interoperable Web Services Contracts

Front Cover of The Elements of Style

The WSIT technologies (bundled in GlassFish and also available separately) support Web Services interoperation between the Java and the Windows Communication Framework.

The practical interoperability depends on the features and limitations of the platform-specific XML Schema data binding mechanisms and the new WSIT tutorial (PDF) provides specific guidelines for best practices. Check them out and provide feedback to Sekhar and the team.

Shown at left is the front cover of my favorite set of guidelines for english writers: The Elements of Style (aka Strunk and White). Easy to summarize 'Omit needless words', but very hard to follow.

Sunday Feb 18, 2007

Rod Johnson (of Spring Fame) on GlassFish's growing success


Rod Johnson reports that GlassFish is gaining traction and that both his Interface 21 team and some users (such as Wotif) have found it to be a very good application server.

He goes on to mention the JAX-WS Spring integration which is now provided as part of the newly released JAX-WS 2.1 (see also performance numbers).

GlassFish is becoming more than just a Java EE 5 production-ready application server. It's also a suite of very capable libraries which you are welcome to use and reuse in various software architectures--with Spring or any other technology you'd like.

Sunday Feb 11, 2007

Good Buzz about Spring Support from GlassFish

Spring Logo

The JAX-WS @ GlassFish team added Spring Support to the JAX-WS RI in early January and there were so many comments to the blog that the team started a mailing thread. The response so far has been quite positive, see for example this quote:

We're now going from XFire to JAXWS (XFire had a big bug regarding soap headers)... Thanks Kohsuke!!

The JAX-WS RI will be available in the GlassFish v2 beta later this month, but it can also be used in other containers. There is plenty of time to improve this support before GlassFish v2 final, so please check it out and provide feedback.

Tuesday Feb 06, 2007

ClassLoader Magic - JAX-WS/JAXB 2.1 on JDK6 Without Using Endorsed Standards

Picture with ClassLoader's Magic

Since Java SE 6 includes JAX-WS 2.0 and JAXB 2.0 the straight-forward way to upgrade to the updated maintenance specifications requires using endorsed standards. But Kohsuke has figure out a way to apply some ClassLoader Magic so that this is not necessary. The result is a transparent experience.

ClassLoaders have always been part of the trickiest part of the Java platform; see for example this report from the First JavaOne; I'm looking forward to having a moment to read carefully Kohsuke's description.

Friday Feb 02, 2007

JAX-WS 2.1 FCS is Out - Faster, More Functional, Improved Specification

JAX-WS vs Axis

JAX-WS 2.1 FCS is out, and this is a big release. Vivek has a full description of all the features and cross-blogs and the shorter overview by Kohsuke.

The release includes big performance improvements (bechmark details), new asynchronous architecture (tubes), Spring Support (blog), and some useful features not (yet?) standarized, like access of SOAP headers, stateful web services, logging, propagation of stack traces and more (see Rama's blog).

The performance numbers may be of wider interest as, coincidentally, there was a related posting earlier this week. Download it here (or wait for GlassFish v2 beta) and let us know how it goes.

Wednesday Jan 24, 2007

Using JDK6 with GlassFish v2

The outline of a Mustang

Java SE 6 has Web Services support through the JAXB 2.0 and JAX-WS 2.0 specifications. The implementations used are those used in GlassFish v1, but GlassFish v2 implements the latest versions of the specs: JAX-WS 2.1 and JAXB 2.1 and this complicated things.

Earlier Bhakti had explained how to use endorsed standards to run GlassFish v2 on JDK 6, but recent builds (starting with b31) do this automatically and she now has an updated description.

New JAXB Releases... and Using JAXB's simpleBinding mode in JAX-WS

Super Glue

New releases of JAXB RI are now available; JAXB 2.1.1 is a bug fixing release (home page, changes) in preparation for the imminent release of JAX-WS 2.1, while JAXB 2.0.4 (changes) is a support release for 2.0 customers.

The JAXB RI implementations also support a SimpleBinding mode that can be used as an alternative to process some XML Schemas. Since JAX-WS 2.x rely on JAXB 2.x for data-binding, this is also available for Web Services and Kohsuke's latest blog explains how to configure wsimport (in JAX-WS 2.0) or the new wsimport ant task (in JAX-WS 2.1) to do this.

Update: JAXB 2.1.1 had a performance bug affecting Fast Infoset and it has been replaced with JAXB 2.1.2.

Thursday Jan 04, 2007

Spring Support in GlassFish's JAX-WS

Shortened Logo for Spring Frameworks

Check out the first installment of the improved support for the Spring Framework in GlassFish that enables the use of Spring for wiring implementation and handler classes for JAX-WS Web Services. Kohsuke is soliciting feedback from people with Spring experience.

The Spring support is an extension to the JAX-WS implementation and, like HTTP Session State it is described at the JAX-WS-Commons project, similar in spirit to JAXB2-Commons project.

Tuesday Dec 19, 2006

Server-Side Stack Traces in JAX-WS

Trail Blaze Symbols

GlassFish v2 M3 was recently promoted (blog, highlights). The next milestone will be beta, currently planned for Feb 26th (roadmap), and the last features are straggling in.

Kohsuke reports on a new addition to the JAX-WS (2.1) implementation: it now sends the server side stack trace over the network to improve debugability. This can be turned off, if desired. Send feedback to Kohsuke.

Thursday Nov 16, 2006

New JAXB 2.1 and JAX-WS 2.1 EAs

Java XML duke

The Early Access releases of the next specifications for JAXB and JAX-WS are now available. The latest JAXB is JAXB 2.1 EA2 specification (check here, here and Kohsuke's blog) and download it and check on more implementation details here. The latest JAX-WS is JAX-WS 2.1 check the specification, Vivek's blog and download it and check on more implementation details here.

The JAXB team has also released a stable version of JAXB 2.0, the latest final specification. Download JAXB 2.0.4 here.

Tuesday Oct 31, 2006

JAX-WS 2.1 and JAXB 2.1 Review Started


The JAXB 2.1 and JAX-WS 2.1 specifications are going through the Maintenance Release process and are in the 30 day review. The official JCP sites are here and here.

Doug, Arun and Kohsuke have been talking about the features in recent blogs and mailing lists, including JAXB 2.1 Revisited, Stateful WS, and Why WS Addressing.

Kohsuke also wrote about The Woes of Framemaker and, although there are things I like about FM, I agree with Kohsuke - every time I had to do a pass on the specs I had to be careful of RSI.