Monday Jul 25, 2011

GlassFish DTD's - All in one place

When developing Java EE applications for GlassFish or one of its predecessors your artifacts need to conform to platform (i.e. standard) DTD's or Schemas as well as to GlassFish-specific ones.

We've recently updated this page for all GlassFish-specific XML schemas, going all the way back to Sun Java System Application Server 8.0 (released in 2004 IIRC).

ALT_DESCR

Earlier sun.com-hosted pages which you may have bookmarked should now also redirect to a valid page (see [1] and [2]). While neither your development tools nor your runtime should need to access these online copies, it's probably always good to have such an all-in-one location.

Tuesday Sep 11, 2007

Using the XML Catalog Resolver in GlassFish

Sears House #115

Quoting from the Oasis Standard, an XML Catalog...

maps external identifiers and URI references to (other) URI references. It also defines a format for catalog entry files in terms of [XML] and [XML Namespaces].

A catalog is particularly useful for mapping well-know URIs for Schemas; a typical case are those for the Java EE Deployment Descriptors. This is very useful for performance reasons and required in disconnected mode.

Norm was the editor for the Oasis standard and also provided a popular implementation that is included in GlassFish v2. Check out his latest writeup where he provides some background on the XML catalog and shows How to Use it.

Monday Sep 03, 2007

HowTo - JAXB for simple Java-XML serialization

Informational Sign

A tip from Teera:
JAXB for simple Java-XML serialization

Friday Apr 13, 2007

Support for JSON in JAX-WS at GlassFish

Jason bringing Pelias the Golden Fleece

The JAX-WS project in GlassFish is taking advantage of the pluggable encoding layer in their implementation to provide a JSON binding.

This Implementation is at an early stage and is part of the JAX-WS-commons extensions which also includes such committed extensions as: Spring Support, HTTP Session Scope Service, Thread Scope Service and the JAX-WS Maven 2 plugin.

The JSON binding enables to write code like the following:

@BindingType(JSONBindingID.JSON_BINDING) public class MyService { public Book get() { return new Book(); } public static final class Book { public int id = 1; public String title = "Java"; } }

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.

Tuesday Dec 19, 2006

JAXB 2.1 is Final

XML Duke

The JAXB 2.1 release is now final (Spec, Download). This is a relatively small maintenance release (see features) but it includes some specially useful one, like separate compilation.

Since JAXB 2.0 is included in Java SE 6, you will need to use the endorsed standards mechanism to use JAXB 2.1with that version of Java SE. Check Kohsuke's blog for more details.

Tuesday Dec 05, 2006

JAXP 1.4 FCS/Final Now Available

XML Duke

JAXP 1.4 is now final. This is a "maintenance release" (JSR 206) but a substantial one. The main new addition is support for StAX (JCP, wikipedia) but there are other changes too (Change Log). This is the same version that goes into Java SE 6; you can also use it with JRE 1.4 and JRE 5.0 using the Endorsed Standard Override mechanism.

The implementation is delivered as two JARS (API + Impl) for simplicity and uses the StAX and JAXP implementations from GlassFish which build on Xerces 2 Java. Check the blogs from Santiago and Norm for some more details.

All this code is Open Source, and so will be the implementation of the next version of the spec.

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.

Saturday Sep 30, 2006

WADL OpenSourced - Describing RESTful Web Services

An Spider Orb Web

Typed XML over HTTP has many benefits: it combines the properties of HTTP with the simplicity, flexibility and reusability of XML, and the type information (be it a XML Schema, Relax NG, the older DTD or just informal), provides isolation across customers and producers.

Simplicity is key: it is possible to quickly write a consumer or producer for this class of services in almost any language, including AJAX clients. And what has been missing is a simple, standard way to describe (WSDL is too complex) the services that can be used to advertise them and that can be used by different tools. WADL fills in this gap, and Marc just announced an Open Source project around this effort.

There are many opportunities for contributions; I personally would like to see tools for languages different than Java, and using annotations to further simplify the Map to Java. You could also help start cataloging more servicers available in the web; you do not even need to use XSD, WADL supports also Relax NG. And, if your site is a Web Services producer, I would encourage you to include a WADL description of your service.

Some people use the term REST to mean any typed XML over HTTP; the two are related but REST also implies some other architectural contraints, although WADL be very useful in implementing RESTful services. For more info, check older WADL articles, as well as Marc's blog.

Tuesday Aug 08, 2006

Finding Factory Classes in JAXP

Head Shot of Santiago

Like earlier versions, the JAXP 1.4 API (Java.Net OSS project, spec, JavaDocs) includes a pluggability layer to switch implementations using a Factory pattern. The whole area is not very well understood by the developers, and Santiago's detailed blog provides a very good summary.

The intrinsic problem is that this is an area where the spec can be improved, so start preparing your feedback for the next version of the spec... we are going to do it all at Java.Net and a main focus will be improved usability.

Sunday Jun 25, 2006

JAXP 1.4 JARs added to Java.Net Maven Repository

Maven Logo

We continue to add GlassFish components to the Java.Net Maven Repository: Santiago reports that JAXP 1.4 (part of Java SE 6 (Mustang)) is the latest Addition to the Maven Repository.

Earlier additions to the repository include: Java Persistence and EJB 3.0, 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.

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: FI@java.net, 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.

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 FI.dev.java.net 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...

Friday May 05, 2006

FastInfoset Support in Liquid XML - Increased Support for the ISO/ITU-T Standard

Liquid Technologies Logo

Paul reports that Liquid Technologies now has support for the Fast Infoset Standard in their Liquid XML product. Liquid XML implementation is separate from that in the FI project which is used in the WS Stack at GlassFish.

Additional information on FI in this Introduction and in many TA Entries.

I'm looking forward to starting to do interop testing of the different FI implementations. Our implementation enables FI on SJS AS and Tomcat (details) and of course FI is part of SJS AS 9.0 (GlassFish). We will keep you posted as more implementations are made public.