Java™ Architecture for XML Binding (JAXB) は、JSR-222 とも呼ばれ、Java クラスと XML スキーマをマップする簡単かつ便利な方法を実現して Web サービスの開発を容易にする Java テクノロジーです。JAXB では、Java アプリケーションに含まれているプラットフォーム中立の XML データが備えている柔軟性を利用して、XML スキーマを Java アプリケーションにバインドします。XML プログラミングに関する幅広い知識は不要です。このワークベンチに含まれているツールは、JAXB 2.0、2.1、および 2.2 規格を実装します。
JAXB は、スキーマと Java オブジェクト間および XML インスタンス文書と Java オブジェクト・インスタンス間の変換をサポートする Java バインディング・テクノロジーに対応する XML です。JAXB は、ランタイム・アプリケーション・プログラミング・インターフェース (API) と、XML 文書へのアクセスを容易にする付属ツールから構成されています。また、JAXB は、XML スキーマに準拠し、かつ XML スキーマを検証する、XML 文書を作成する場合にも役立ちます。アプリケーション・サーバーは、XML スキーマ勧告 1.0 (XSD Part 1 および 2) で規定されている W3C XML スキーマをサポートしています。
JAXB 注釈付きクラスおよび成果物には、JAXB ランタイム API が XML インスタンス文書を処理するために必要なすべての情報が含まれています。JAXB ランタイム API は、JAXB オブジェクトから XML へのマーシャルおよび XML 文書から JAXB クラス・インスタンスへのアンマーシャルをサポートしています。オプションで、着信 XML 文書と発信 XML 文書の両方を XML スキーマ内で定義されている XML 制約に準拠させるために、JAXB を使用して XML 検証機能を提供することもできます。
JAXB は、Java API for XML Web Services (JAX-WS) ツールで使用されるデフォルトのデータ・バインディング・テクノロジーであり、この製品におけるデフォルト実装です。 JAX-WS アプリケーション内で使用するための JAXB オブジェクトを開発することができます。
WebSphere® Application Server Version 7.0 は JAXB 2.1 仕様をサポートしています。 JAX-WS 2.1 は、データ・バインディングのために JAXB 2.1 を必要とします。JAXB 2.1 は、改良されたコンパイル・サポートや @XMLSeeAlso 注釈のサポートなどの拡張、および完全なスキーマ 1.0 サポートを提供しています。JAXB 2.1 を使用することにより、 特定のスキーマに関して新規クラスを自動生成しないように、xjc スキーマ・コンパイラーを構成できます。 同様に、新規スキーマを自動生成しないように、schemagen スキーマ生成プログラムを構成できます。 この拡張は、共通スキーマを使用している場合、および新規スキーマを生成しない場合に便利です。 また JAXB 2.1 では、@XMLSeeAlso 注釈が導入されています。この注釈で Java クラスをバインドすると、本来は認識されないはずの追加の Java クラスを JAXB でバインドすることができます。 この注釈を使用すると、マーシャルまたはアンマーシャルで含まれる可能性のあるすべてのクラスを JAXB で認識できます。特定の Java クラスのサブクラスを必ずしもすべてリストできない場合や、すべてをリストするのが実際的であるとは限らない場合があるからです。 JAX-WS 2.1 では、サービス・エンドポイント・インターフェース (SEI) またはサービス実装 Bean での @XMLSeeAlso 注釈の使用もサポートしています。これにより、この注釈によって参照されるすべてのクラスが JAXB に渡されて処理されます。
詳しくは、正式な JSR-222 仕様 (JSR-222: Java Architecture for XML Binding (JAXB) 2.0) を参照してください。