1 概要

JAXB (Java Architecture for XML Binding - JSR 222)は、JavaのXMLバインディングの標準です。JAXBではXMLスキーマのコンセプトが100%カバーされており、EclipseLinkではJAXBの実装が多くの拡張機能とともに提供されています。JAXB仕様の詳細は、http://jcp.org/en/jsr/detail?id=222を参照してください。

Oracle TopLinkには、EclipseLink、およびそのJAXBプロバイダであるEclipseLink MOXyが含まれています。

開発者は、EclipseLink MOXyコンポーネントを使用することによって、XMLスキーマおよびJSONドキュメントにJavaクラスを効率的にバインドできます。MOXyではJAXBが実装されるので、開発者は、注釈でマッピング情報を指定でき、マッピングをXML形式およびJSON形式で保存できます

この章の内容は次のとおりです。

EclipseLink MOXyについて

EclipseLink MOXyをJAXBプロバイダとして使用する際には、既存のオブジェクト・モデルをXMLまたはJSONに変換するためのメタデータは不要です。(注釈、XMLまたはJSONを使用して)メタデータを提供できるのは、XMLまたはJSONの表現の微調整が必要なときのみです。

EclipseLink MOXyには、Javaクラス・モデルでスキーマをミラーリングしなくても、複雑なXML構造を処理できる高度なマッピングが多数含まれています。

図1-1 JAXBのサンプル・アーキテクチャ

図1-1の説明が続きます
「図1-1 JAXBのサンプル・アーキテクチャ」の説明

object-xmlのインピーダンス・ミスマッチの解決

XMLはデータの交換に広く使用される形式ですが、多くのアプリケーションでは、プログラム表現として、XMLよりオブジェクトのほうが優先的に使用されます。オブジェクト・レベルで操作するには、XMLデータをオブジェクト形式に変換する必要があります。XMLとオブジェクトのミスマッチは、オブジェクトとobject-xmlのインピーダンス・ミスマッチと呼ばれます。

JAXBでは、ドメインのようなオブジェクトを使用することによって、XMLデータと対話できます。DOMオブジェクトとは異なり、JAXBコンテンツ・モデルは、XMLスキーマに基づいてXML文書を洞察します。たとえば、顧客情報を含むXML文書がXMLスキーマで定義されている場合は、コンテンツ・モデルには、CustomerAddressPhoneNumberなどのオブジェクトが含まれます。XMLスキーマ内の各タイプには、対応するJavaクラスが割り当てられます。

EclipseLink MOXyを使用することによって、XMLスキーマまたはJSONドキュメントにJavaクラスを効率的にバインドできます。MOXyでは、注釈でマッピング情報を指定し、マッピングをXMLまたはJSONで保存できるようにすることによって、JAXBが実装されます。EclipseLinkの拡張マッピングを使用すれば、Javaクラス・モデルでスキーマをミラーリングしなくても、複雑なXML構造を管理できます。

(TopLinkに含まれている) EclipseLink MOXyを使用することによって、XMLスキーマまたはJSONドキュメントにJavaクラスを効率的にバインドできます。MOXyでは、注釈でマッピング情報を指定し、マッピングをXMLまたはJSONで保存できるようにすることによって、JAXBが実装されます。これらのマッピングを使用すれば、Javaクラス・モデルでスキーマをミラーリングしなくても、複雑なXML構造を管理できます。

このドキュメントについて

Oracle TopLinkには、その永続性プロバイダとしてEclipseLinkが含まれており、これは、Java Persistence (JPA)仕様のリファレンス実装です。また、拡張機能も数多く含まれています。

EclipseLinkは、Java Persistence Architecture (JPA)仕様のリファレンス実装であり、多くの拡張機能が含まれています。

その他のリソース

詳細は、次を参照してください: