ObjectSquare

[新・XMLとオブジェクト指向]


新・XMLとオブジェクト指向

連載第4回

書籍紹介 - Applied XML Solutions -

大場克哉

(oba@ogis-international.com)

1. はじめに

 今月は1冊の本を紹介しようと思います。今年の8月に出版されたBenoit Marchal著"Applied XML Solutions"です。Benoit Marchalさんは、"XML by Examples"の著者で、この本は「実例で学ぶXML」という題名で翻訳も出ています。「実例で学ぶ〜」もそうだったのですが、Marchalさんの本は、具体的かつ実践的で、非常に刺激的です。

 なお、原稿はXMLで記述しています。ブラウザにIE5.0+MSXML3をお使いの方は、こちらでもご覧いただけます。

注) MSXML3は次の方法でインストールできます。 まず、こちらのMicrosoftサイトの、コンテンツリストから"XML Parser 3.0 Release"からmsxmlwr.exeを、"Xmlinst.exe Replace Mode Tool"からxmlinst.exeをダウンロードしてください。 次にmsxmlwr.exeを実行し、次いでxmlinst.exeを実行してください。

2. XMLがキーワードの推理小説集

 この本は、全10章から構成されています。各章ごとに、現実に直面するような課題が設定され、それをどのように解決していくか、ソースコード満載で紹介されています。すべての章に共通するキーワードはXMLですが、「XMLで問題は即解決!」といった安易なものではなく、XMLを使ったとしても、容易には解決できないような課題なのです。推理小説でいけば、こんな感じでしょうか。ある富豪の屋敷で密室殺人事件が起こり、手がかりはほとんど残されていません。唯一のヒントは被害者が死の直前に書き残したXMLの文字。警察もお手上げなのですが、そこへMarchal探偵が現れて……。

 それぞれの章での犯人探し、いえ問題解決へのMarchalさんのお手並みは、実際にお読みいただくとして、問題設定をいくつか簡単に紹介しましょう。

このように、XMLの活用が期待されているところ、実際にすすめられている領域が、網羅されています。これまで、このような具体的ソリューションについては、概念的な話が多く、本になるのは、XMLパーサの使い方やXSLTの文法など基本的なところが多かったように思います。この本の面白いのは、今まで概念レベルでしか語られていなかった領域に対して、実際の開発プロジェクトでは、何が起こるのかを読者に教えてくれるところです。

3. デザインパターンを使った問題解決

 それでは、各章の中での問題解決がどのように行われていくか、第1章を例に紹介しましょう。

 第1章は「軽量データストレージ (Lightweight Data Strage)」で、電子カタログビューワを開発するという舞台設定になっています。XMLを簡単なストレージとして利用するのは、最近のシステム開発では、ごく一般的に行われていて、これ自体は珍しくないでしょう。しかし、なかなか一筋縄ではいかないことが、次のような設定で明らかになってきます。

ここでのポイントは、XMLのモデルと、システム側のオブジェクトモデルの不一致です。リレーショナルモデルとオブジェクトモデルのミスマッチと言い換えてもよいかもしれません。リレーショナルモデルから、生成されたXMLファイルを読み込み、どのようにしてシステム側のオブジェクトとして取り込んでくるかというわけです。

 このXMLファイルのフォーマットが固定的で、将来も変更されないのであれば、XMLパーサを利用して、決められてフォーマットでタグを処理していくプログラムを書くことは可能です。しかし、将来性を考えれば、XMLファイルの構造の変化に耐えられる、パーシングの仕組みをつくっておくことを考えてもよいでしょう。

 Marchal氏は、ここでBuilderパターンを使って問題を解決します。この問題にBuilderパターンを適用したクラス図を図1に示します。


ここで、     これによって、XMLファイルの構造と、システム内オブジェクトモデルの構造を独立して管理できるようになります。また、システムの要求に応じてXMLDirectorをDOMベースのものに取り替えたり、CatalogBuilderの実装を追加していくことで、オブジェクトモデルの変更にも追従しやすくなります。

4. さいごに。XMLは、どこまで来ているのか?

 このように、"Applied XML Solutions"では、XMLの基礎知識ではなく、実際の使い方に焦点をあてています。すでに、XMLの文法、パーサの使い方など、基本的な部分については知識をもっている読者を対象としています。また、Amazon.comの読者による評価でも、実際のソリューション、ケーススタディ的な部分が受けているようです。

 これは、XMLがいろいろと騒がれ、話題になっていた段階から、実際に使われ始めていることを示しているのかもしれません。実際、私の周囲でも、非常に多くのシステムで、多かれ少なかれXMLを利用し始めているようです。

 実際にシステム開発を進めると、当然のことながらパーサAPIだけでは解決できない問題が出てきます。そんなときに、この本がもしかするとヒントを与えてくれるかもしれません。

*** お知らせ ***
オージス総研では、米国DataChannel社と提携して、2001年1月30日より、"XML QuickStart for Programmers"トレーニングを開講いたします。ソフトウェア技術者として必須知識となりつつあるXMLの基礎を4日間で網羅する、価値のあるコースです。 また、XMLの非営利業界団体であるOASISのボードメンバーであるNorbert Mikula氏を招いて、2001年1月12日にXMLセミナーを開催いたします。詳細についてはこちらをご覧ください。
© 2001 OGIS-RI Co., Ltd.
Prev. Index Next
Prev. Index Next