|
|
|
|
|
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. |
|
|
One of the benefits of using an OpenSource license is to simplify adoption by other F/OSS groups, and, slowly we are getting more customers. |
In the case of Geronimo their Report Card shows a plan to use JAXB 2.0 (or 2.1?). Other modules are listed as multiple options, including JSF 1.2, TopLink Essentials, and JSP 2.1 (used by Jetty). The table is probably not up-to-date; for example, check this Thread on JSTL 1.2.
|
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.
|
JDK 6 (nee Mustang) includes a bundled version of JAXB 2.0 and is almost out; to track it best, Kohsuke has released a matching unbundled implementation: JAXB 2.0.3. If there are no last minute show-stopper bugs, the two should be identical. You can download it from here. The maven repository has been updated with the latest bits. The JAXB 2.1 JARs, still in EA, have also been released to the Maven repository; check Kohsuke's blog. And in a separate blog he explains yet another Plugin; this one a way to handle simple cases of code regeneration. |
|
The JAXB plug-in mechanism is proving very successful andt the community has produced a substantial number of plug-ins. Full directions on how to write plug-ins are here. Many plugins are available at JAXB2-Commons, others reside in their own projects. Plug-ins include: Fluent API, CamelCase Always, Value Constructor, Default Value, Interfaces, Equals, ToString, Jakarta-Commons-Lang, and JAXB Workshop. Kohsuke regularly provides updates on the JAXB community; he recently reported on New Plug-ins and on the HyperJAXB3 plugin that links JAXB with JavaPersistence. |
|
I missed providing a better announcement for the first Early Access Release of JAX-WS 2.1. Vivek first explains how the implementation is based on the new WS Stack in JAX-WS 2.0.1, and then provides a bit more information on the quality of the release. And then Rama describes the Support for WS-Addressing in that implementation. The release itself has been available for a couple of weeks here and will be included in Milestone 2 of GlassFish V2. |
|
JAX-WS 2.1 is a relatively small Maintenance Release for JAX-WS that will be included in GlassFish V2. The release is done in coordination with JAXB 2.1 and one of its goals is to further improve the integration between the two. Doug has been soliciting feedback, and, in his latest blog, he is focusing on the Type Substitution Problem. Please consider giving feedback to Doug to improve the usefulness of the specification. The latest JAX-WS 2.1 Early Access is available here; enjoy! |
|
A news update on JAXB 2.1 (planned for GlassFish V2). On the spec front, Kohsuke has written several blogs on the proposed changes including Specification Highlights, support for Separate Compilation and Use as a DI Container. He has also released the EA1 Implementation available separatedly and at the Maven Rep. The implementation also supports Better Linkage with FI, Better Customization and enables a better JAXB Eclipse Plugin. |
For more information check here and here. BTW, note there is also a New Implementation of the current spec. More information at the JAXB home page and and in the JAXB Annoucements.
|
The JCP has two processes for defining a new specification; the normal process is intended for major changes while the maintenance review is for smaller changes and it is much shorter (timeline). The JAXB team is planning a short Maintenance Release to incorporate experience gained from the integration with JAX-WS 2.0 (proposal). The release would be labelled 2.1 and would be included in GlassFish V2. Check Kohsuke's blog for details. |
Bharath has just published a report comparing the Performance of JAX-WS 2.0 and JAX-RPC 1.1 as implemented in GlassFish V1 FCS, widely distributed through the Java EE 5 SDK. The performance measurements were done using the WSTest tests from Java.Net.
All these measurements are for the GF v1 implementation. Although the numbers show good improvements for JAX-WS 2.0, our goals were higher, so GF v2 has a brand-new WS architecture that will provide even better performance.
|
IBM just released an alpha version of WebSphere Application Server 6.1 Feature Pack for Web Services. The pack includes StAX, JAX-WS 2.0 and JAXB 2.0 and, although it does not include EJB 3 nor JavaPersistence, this is one more indication of the Fast Adoption of Java EE 5. |
And, regarding JAXB 2.0, we peeked under the covers and IBM's Feature Pack uses GlassFish's JAXB RI. The list now includes at least ActiveSOAP, XFire, Celtix, Axis and ServiceMix (Toolkits and JAXB RI); JBoss was also planning to use it. Component Reuse is one of the Goals of the GlassFish Community, we would like to know if you are using our components.
Performance is hard to gain and easy to loose.
|
Last year we designed a New Architecture for the Web Services stack in GlassFish. The results are very nice ([Interoperability with MS], [FastInfoset Support], [Multiple Transports]) and the performance numbers just before JavaOne were very promising, but we got distracted and didn't run our performance regression tests and... you guessed, we had a substantial performance regression. The good news is that this regression was easy to do fix: Kohsuke just posted two Simple JAXB Performance Tips that seem to have restored most of the performance (and Sameer reinforces that). The root lesson is also simple: always run your Regression Tests; this time we were lucky, the next time the problem may be architectural and harder to fix. |
The new WS stack should show in GF V2 M1; I believe that the Project Tango functionality will show incrementally shortly after that. And we still Encourage your Participation in this WS stack.
|
The final versions of the Reference Implementations for both JAX-WS 2.0 and JAXB 2.0 are now out! Check the announcements from Doug and Kohsuke. Stay tuned for JWSDP and GlassFish... |
I started this blog shortly after the one on the Fast Infoset Community, but one thing after another has delayed it. JavaOne is around the corner, so I'm doing a quick finish and then posting it and I'll try to be better about other communities (after JavaOne!).
|
The JAXB Community writes the RI for JAXB 2.0 and was one of the Initial Projects at Java.Net. Sun is the lead but the Community is very active, including Many Bug Reports, and a number of PlugIns. JAXB is a core piece of the Web Services stack and the New WS Implementation delivers high performance with great flexibility and functionality. Community Support to the users is mostly in the JAXB 2.0 and JAX-WS 2.0 Forum, with some additional discussions in the USERS mailing list of JAXB. Techical discussions around improving the implementation are in the DEV@JAXB and DEV@JAX-WS mailing lists. |
|
Santiago has been working for a while on performance issues around Web Services and XML. He is a member of the original team that worked on the Fast Infoset standard and implementation (see the fi project), and is now contributing to the improvements to the iStack (JAXB 2.0 and JAX-WS 2.0) implementation in GlassFish. In his new blog he discusses the performance of JAXB vs DOM using results from the japex framework. |