記事> <記事情報> <タイトル>XMLとオブジェクト指向タイトル> <連載通番>1連載通番> <サブタイトル>XMLシステムとオブジェクト指向の適用ポイントサブタイトル> <著者>おば著者> 記事情報> <記事本文> <章> <章タイトル>はじめに章タイトル> <章本文> <段落>前回は、前置きとしてXMLとオブジェクト指向がどこか関係しそうだという話をしました。ただ、トピックをいくつか羅列しただけだったので、リアリティにかけてしまったかもしれません。本格的な連載開始(?)は今回からということで、少しずつですが話を進めていきたいと思います。まずは、さまざまな本や雑誌で紹介しているXML活用事例から、XMLがシステムのどのような場所に使われているのかを見た上で、オブジェクト指向技術が適用できそうなポイントを考えてみます。 段落> 章本文> 章> <章> <章タイトル>XMLシステム章タイトル> <章本文> <段落>XMLを適用したシステムとして第一に浮かぶのはEC/EDI、インターネットというキーワードでしょうか。WWWベースのシステムでHTTPプロトコルの上にHTMLだけではなく、XMLものせてデータのやり取りを行うというのが典型的な形態です。ここでは、XMLは2つの役割を担っています。ひとつはEDIというとおり、交換されるデータの表現形式として、もうひとつは、プレゼンテーションの基本となるデータとしての役割です。後者もサーバー側とクライアント(WWWブラウザ)との間で交換されるデータという観点では同等ですが、現在XMLが脚光を浴びている理由としてWWWとの関係は無視できないと思われるので、挙げておきます。前回も書きましたが、この原稿もXMLで記述しています。(最終的に公開するときは、さまざまなブラウザを想定しなければならないので、HTML化しています。XML版はこちらからアクセスできます。ただし、IE5.0が必要です。) 段落> <段落>WWWブラウザや外部システムへXMLデータを渡すためには、WWWサーバー側のシステムでもXMLを取り扱う必要があります。まず、XMLドキュメントを入力、編集するためにはエディタが必要になるでしょう。すでに有償無償の多数のXMLエディタが公開されています。入力されたデータは保存しておく必要があります。いちばん簡単なのは、作成したXMLドキュメントをそのままファイルとして保存しておくということでしょう。データ量が増えてきたり、並行アクセスなどを考え始めるとDBMSによる管理も考え始めなければなりません。 段落> <段落>入力され、保存されたXMLドキュメントをそのまま外部へ渡すだけであればこれらだけでよいかもしれません。実システムではそのようなことはまれで、さらに実行時に動的にドキュメントを再構成したり、生成したり、検索したりすることになるでしょう。そのためには、XMLドキュメントを扱うためのAPI(SAXやDOM)が必要になります。外部システムとやりとりするためにもこれらのAPIを使用する必要があります。たとえば、WWWサーバー側には独自のデータフォーマットを扱う既存システムがあるとすれば、そことのやりとりを行うために、データをXMLに変換するということもあるでしょう。すでにDBに格納されているデータを扱いたいという場合は、DBからデータを読み出してXML化するしくみも必要になります。異なるDTDを使用しているようなシステム間でデータ交換を行おうとすれば、それぞれに変換するためのしくみも必要です。 段落> <段落>すでに多数のXML活用事例が報告されていますが、その多くはこれらいくつかのポイントで説明できそうです。たとえば、あるニュース配信ページでは、記事はすべてXMLで記述されデータベースで管理されています。これにより、記事の加工、検索を容易にできます。配信の際には、XML対応していないブラウザのため、XMLからHTMLへ変換処理をおこないます。ここには、入力、保存、データ変換処理が含まれています。 段落> <段落>別のあるWWWサイトでは、さまざまなデータソースから集めたデータをXMLで一元管理し、カスタマのニーズに合った情報だけを配信する仕組みを提供しています。元データとなるデータソースには既存のデータベース、外部のWWWページなどがあり、そこからXMLとしてデータを取り出す仕組みが必要になります。カスタマの属性、要求から収集されたデータに対して検索処理が行われ、検索にマッチしたXMLドキュメント(やその部分)が新しいXMLドキュメントとして再構成され、配信されます。ここでは、外部リソースからのXMLドキュメント生成、XMLに対する検索、変換処理が含まれています。いわゆるCRMを実現するための一手段としての利用法といことでしょうか。 段落> <段落>これらをまとめるとXMLのシステムにおける適用ポイントは次のようになります。