JAXBの勉強・はじめに
1.はじめに
JavaのデータバインディングツールJAXBについて、もう一回勉強しようという気になったので JAXBについて勉強してみます。
データバインディングはXMLをJavaのオブジェクトにする技術です。
よくRDBのレコード→Javaのオブジェクト、Javaのオブジェクト→RDBのレコードで問題になります。 これの解決方法でORマッパーやオブジェクト指向DBがありますが、 データバインディングはXML→Javaのオブジェクト(アンマーシャリング)、 Javaのオブジェクト→XML(マーシャリング)の解決方法に当たります。
そしてJAXBはSunのWebサービスの仕様の一部でもあります。
2.データバインディングの利点
XMLの解析にはDOM、SAXなどいくつかAPIがありますが、 それぞれ欠点があります。
DOMの場合、ランダムアクセスが出来る分、メモリを大量に消費します。 SAXの場合、メモリ消費量は少ないですがランダムアクセスも出来ず文書の更新も出来ません。
データバインディングの場合、XMLSchemaによって最適なオブジェクトが作られているので DOMのようにメモリを大量に消費することもなく、データの型もJavaにマッピングされるため 細かいデータ型が表現出来ます。 さらに、スキーマから作成されるのでDOMよりもエラーを検出出来たりします。