JAXB
Java™ Architecture for XML Binding (JAXB) は、Java クラスおよび XML スキーマを簡単かつ手軽にマップする方法を提供し、Web サービスをシンプルに開発できるようにする Java テクノロジーです。JAXB では、広範な XML プログラミング知識がなくても XML スキーマを Java アプリケーションにバインドするために、Java アプリケーションでのプラットフォーム中立の XML データの柔軟性を活用しています。JAXB は、XML スキーマと Java クラスとの間の変換を行うための、 xjc スキーマ・コンパイラー・ツールおよび schemagen スキーマ・ジェネレーター・ツール を提供します。
JAXB は、XML から Java へのバインディング・テクノロジーであり、スキーマと Java オブジェクト間、および XML インスタンス文書と Java オブジェクト・インスタンス間との変換をサポートします。JAXB は、ランタイム・アプリケーション・プログラミング・インターフェース (API) と、これに付随する、XML 文書へのアクセスを簡素化するツールから構成されます。また、JAXB では、XML スキーマに準拠し、これを検証する XML 文書のビルドも支援されます。 Java API for XML-Based Web Services (JAX-WS) では、Java オブジェクトと XML 文書の間のマッピングのためのバインディング・テクノロジーとして、JAXB の API およびツールを利用しています。 JAX-WS ツールは、Java オブジェクトと XML 文書間の双方向マッピング用のデフォルトのデータ・バインディングを JAXB ツールに依存しています。
このバージョンのアプリケーション・サーバーは、 JAXB 2.2 仕様をサポートします。JAX-WS 2.2 では、データ・バインディングに JAXB 2.2 が必要です。JAXB 2.2 は、スキーマ生成の改善 および JAX-WS との統合強化のため、アノテーションのマイナーな機能拡張を行いました。
JAXB は xjc スキーマ・コンパイラー・ツール、schemagen スキーマ・ジェネレーター・ツール、およびランタイム・フレームワークを提供します。 xjc スキーマ・コンパイラー・ツールを使用すると、XML スキーマ定義 (XSD) から始めて、XSD スキーマで定義されたエレメントとタイプにマップする一連の JavaBeans を作成できます。また、JavaBeans のセットから開始し、schemagen スキーマ・ジェネレーター・ツールを使用して XML スキーマを作成することもできます。 XML スキーマと Java クラス間のマッピングが存在するようになると、JAXB バインディング・ランタイム API を使用して、XML インスタンス文書と Java オブジェクトの間で変換を行うことができます。 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) のツールおよび実装で使用される、デフォルトのデータ・バインディング・テクノロジーです。 JAX-WS アプリケーション内で使用するために、JAXB オブジェクトを作成することができます。
また、Java アプリケーション内で XML を操作するために XML データ・バインディング・テクノロジーを利用したい場合は、JAXB を JAX-WS とは独立して使用することもできます。
