Thursday Mar 27, 2008

Fast Infoset Use - Migrating from JAX-RPC to JAX-WS


Fast Infoset is a standards-based binary encoding of XML that improves performance while decreasing payload size. The initial implementation in GlassFish was for JAX-RPC but later versions use the JAX-WS API and Oleksiys has recently published an entry describing how FI users can Migrate from JAX-RPC to JAX-WS.

The latest implementation of FI is FI 1.2.2, available in Metro 1.1, which runs on the current (v2) version of GlassFish but will be bundled in GlassFish v2.1.

Monday Oct 22, 2007

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).

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!

Monday Mar 05, 2007

Fast Infoset between IBM's JVM and GlassFish

Prague at Night

Oleksiy is reporting on one more product that is implementing Fast Infoset. This time comes from IBM: their SDK for Java 6 Early Release. FI support is not suprising as the Java EE 5 WS implementation seems based on that from GlassFish. Note that IBM's release is an EA - you will need to ask them for their FCS plans.

Other implementations that pass interoperability include: Liquid Technologies, OSS Nokalva, Noemax, WebLogic Server 10 TP, the GlassFish AS (and its Sun distribution SJS AS 9.0), and Sun's JDK6 release.

Check out Oleksiy's blog and the Fast Infoset Interoperability Project at Java.Net. Also check Pauls' activation instructions and a list of Other TA Spotlights on FI.

Wednesday Jan 24, 2007

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.

Monday Oct 23, 2006

More Presentations: FastInfoset, FOSS Communities, JSF, Dynamic Faces, Eclipse, Tubes

Duke - Let's Get Going!

We have added more presentations to the Presentations Page at the GlassFish Wiki, including:

• OpenSource Middleware Communities covered by TheAquarium (prezo)
• FastInfoset Encoding-by-example (prezo)
• JSF and AJAX (prezo)
• Scripting JSF and Phobos (prezo)
• Highlights from Eclipse prezo at JavaOne'06 (prezo)
• Tubes (asynchrony in JAX-WS RI) (prezo)

Tuesday Oct 10, 2006

And Then There Were 4! (Liquid Technologies also Interoperates on Fast Infoset)

Liquid Technologies Logo

Liquid Technologies sells a flexible XML Data Binding tool (for C++, C# and VB) and earlier this year they added Support for the Fast Infoset Standard.

Paul has been encouraging interoperability testing among the different Fast Infoset implementations. He recently reported 3-way interoperability and now expands that to All 4 Production Implementations with the addition of Liquid Technologies.

Wednesday Oct 04, 2006

Fast Infoset Update: Interoperability, Utility Tool, WSMonitor, W3C EXI and JAX-WS Implementation

OSS Nokalva Logo

Several updates on the Fast Infoset front. First, Paul reports on successful Interoperability across 3 FI implementations: Noemax, OSS Nokalva and FI@GlassFish. This is very good; we had previously reported 6 implementations, but two of them are pretty experimental, so there is only 1 to go. Plus products like JEUS get a free pass as they use FI directly from GlassFish.

Other recent news include two tools: one is a utility for converting XML to Typed FI, and the other is an update to WSMonitor to support FI. A slightly older news is that FI was integrated into the latest JAX-WS, and is also in GlassFish V2. As a testament to the New JAX-WS Architecture, the integration task was much easier than before.

And, on a different direction; if you are interested in the details of the Fast Infoset encoding, check Paul's Recent Presentation to the EXI W3C Working Group (blog, presentation).

Monday Sep 18, 2006

Recent JAXB 2.1 News: Features, Fast Infoset, Eclipse Plugin, EA, and more...

Java XML Duke

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.

Wednesday Aug 02, 2006

Fast Infoset Interoperability: Noemax on WCF and SJS AS 9.0 (GlassFish)

Noemax Juggler

Fast Infoset delivers Fast WebServices by efficiently encoding the (infoset of the) XML used in the exchanges (and, no, it does not require ASN.1). This is done transparently via protocol negotiation, with no changes in the programming model.

The number of vendors supporting Fast Infoset has been growing steadly ([1], [2]), and we are starting to see practical interoperability tests. The latest is a first report of interoperability between Microsoft's WCF (nee Indigo), using FastInfoset.Net and SJS AS 9.0 (GlassFish).

Thanks to Paul for the tip.

Thursday Jun 15, 2006

OSS Nokalva Releases Tools for Fast Infoset - That makes 6 Implementations...

Logo of OSS Nokalva

Paul reports that OSS Nokalva has released OSS Nokalva Fast Infoset Tools (overview, technical details). They report a 3x compression size improvement and 5x speedup on average. OSS Nokalva has been involved in the development of the Fast Infoset Specification from the very beginning.

This makes at least six implementations of Fast Infoset:, Liquid XML, Noemax SDO, OSS Fast Infoset Tools, FIME and FIFI - all but the last two production quality. The Java.Net implementation is part of Project GlassFish and it is included in Sun's Application Server and Java WSDP, in the Java EE and Java SE SDKs, and in some other products that use the GlassFish Web Services stack, like JEUS from TMaxSoft.

Sunday Jun 11, 2006

Fast Infoset does NOT require ASN.1

It is hard to correct misconceptions, but let me try:

Fast Infoset does not require a ASN.1 toolkit.

The misconception probably arises because the ITU-T Rec. X.891 | ISO/IEC 24824-1 Specification uses the ASN.1 descriptive formalism and because it was done by the same ISO / ITU-T group that worked over the years on ASN.1, but there is no required dependency - for instance the Implementation in Project GlassFish does not use ASN.1 at all.

A Cray 2

I'm mentioning this because of Paul's latest blog on Fast Infoset and Scientific Computation where he reviews an article on Binary XML for Scientific Computations which, unfortunately get this part wrong. Please help us correct this misconception.

There has been good recent progress on Fast Infoset, including More Implementations. Paul also wrote recently about API Improvements for External Vocabularies and Encoding and Decoding Primitive Types.

The picture is one of the Cray 2 of of the classical-style Super Computer used in complex scientific computations. A different tackle on handling computationally intensive problems focuses not just on the actual run-time but on the design-to-result time in DARPA's High Productivity Computing Intiative, including Sun's Efforts.

Friday Jun 09, 2006

Java Persistence JARs added to Java.Net Maven Repository

Maven Logo

Just before JavaOne the JavaPersistence team posted three new components to the Java.Net Maven Repository: 1 for persistence-api persistence-api.jar, and 2 for toplink toplink-essentials.jar and toplink-essentials-agent.jar.

The intention is to update these, and other GlassFish components at regular intervals, we hope to stabilize that in the next few weeks as part of clarifying the GF v2 processes.

Earlier additions include: JSTL 1.2, Servlet 2.5 and JSP 2.0 and JSP 2.1, XML Stream, Fast Infoset, JSFs, JavaMail and Activation, JAXB, JAX-WS and SAAJ.

Note: I updated the entry with the correct Servlet/JSP releases.

Wednesday May 31, 2006

Fast Infoset Support in Noemax's SDO and in Project FIFI

Noemad's Logo

Noemax's SDO is a fully featured communications and security framework for .NET applications and it now Supports FastInfoset. SDO comes in an LGPL-licensed Open Source version plus 3 commertially licensed versions.

Thanks to Paul for the tip.

Other implementations of the Fast Infoset Standard include Liquid XML and the project which is included in the WS iStack of Project GlassFish which is used in several versions of Sun's AppServer, in some other Application Servers like TMaxSoft and can also be used with Tomcat. Project FIFI has also explored how to plug Fast Infoset into the Windows Communication Framework.

We should arrange for an interop...

Thursday May 11, 2006

More updates to maven repository

Maven Logo

In keeping with making GlassFish components easily available for developers, there are more JARs added to our Maven Repository: JSTL 1.2, Servlet 2.4 and JSP 2.0

Earlier additions include: XML Stream, Fast Infoset, JSFs, JavaMail and Activation, JAXB, JAX-WS and SAAJ.