Java Architecture for XML Binding (JAXB) は、Java クラスおよび XML スキーマを簡単かつ手軽にマップする方法を提供し、Web サービスをシンプルに開発できるようにする Java テクノロジーです。 JAXB では、広範な XML プログラミング知識がなくても XML スキーマを Java アプリケーションにバインドするために、Java アプリケーションでのプラットフォーム中立の XML データの柔軟性を活用しています。
WebSphere Application Server バージョン 6.1 Feature Pack for Web Services は JAXB 2.0 標準を提供しています。
JAXB は、XML から Java へのバインディング・テクノロジーであり、スキーマと Java オブジェクト間、および XML インスタンス文書と Java オブジェクト・インスタンス間との変換をサポートします。 JAXB は、ランタイム・アプリケーション・プログラミング・インターフェース (API) と、これに付随する、XML 文書へのアクセスを簡素化するツールから構成されます。また、JAXB では、XML スキーマに準拠し、これを検証する XML 文書のビルドも支援されます。
JAXB は xjc スキーマ・コンパイラー・ツール、schemagen スキーマ・ジェネレーター・ツール、およびランタイム・フレームワークを提供します。 xjc スキーマ・コンパイラー・ツールを使用すると、XML スキーマ定義 (XSD) から始めて、XSD スキーマで定義されたエレメントとタイプにマップする一連の JavaBeans を作成できます。 また、一連の JavaBeans から開始し、schemagen スキーマ・ジェネレーター・ツールを使用して XML スキーマを作成することもできます。 XML スキーマと Java クラス間のマッピングが存在するようになれば、JAXB バインディング・ランタイム API を使用して、XML インスタンス文書を Java オブジェクトに変換したり、Java オブジェクトを XML インスタンス文書に変換したりできます。 XML 文書に保管されたデータへアクセスするのに、そのデータ構造を理解する必要がありません。 データ構造が分からなくてもデータにアクセスできます。 この結果得られた Java クラスを使用して Web サービス・アプリケーションをアセンブルできます。
JAXB 注釈付きクラスおよび成果物には、XML インスタンス文書を処理するために JAXB ランタイム API が必要とするすべての情報が含まれています。 JAXB ランタイム API は、JAXB オブジェクトから XML へのマーシャルと、XML 文書から JAXB クラス・インスタンスへのアンマーシャルとをサポートします。 オプションで JAXB を使用して、着信および発信される XML 文書の両方とも、XML スキーマ内で定義された XML 制約に準拠させるようにする XML 妥当性検査を提供することもできます。
JAXB は、この製品において Java API for XML Web Services (JAX-WS) 2.0 のツールおよび実装で使用される、デフォルトのデータ・バインディング・テクノロジーです。 JAX-WS アプリケーション内で使用するために、JAXB オブジェクトを作成することができます。
また、Java アプリケーション内で XML を操作するために XML データ・バインディング・テクノロジーを利用したい場合は、JAXB を JAX-WS とは独立して使用することもできます。
次のダイアグラムは JAXB アーキテクチャーを表しています。