やさしく解説するマイクロソフトの最新技術 (第11回)

マイクロソフト株式会社 ソリューションデベロッパー事業部
デベロッパーマーケティング部 テクニカルスペシャリスト
奥津 和真 kazumao@microsoft.com




 インフルエンザが治ったと思って安心していたら、もう(杉)花粉症の季節になってしまいました。私は花粉症に悩まされて十数年になりますが段々と症状も和らいできているような気もします。この季節と原稿の締切りが早く通り過ぎることを望みます。

 さて、前回はInternet Explorer 5(IE5)と、そして XMLパーサーで実現される機能の解説を行いました。この原稿を執筆しているのは3月の初旬ですが、予定通りに進めば、この記事を皆さんが読む頃にはIE5の日本語版がリリースされている頃だと思います。このIE5のリリースによって、結果的にはInternet Information Server (IIS)上でXMLの処理をおこなわせる事もできるようになります。今回は、Windows DNAで言うところのビジネスロジック層でのXMLパーサーの利用について解説したいと思います。もし、以前の記事をご覧頂いていない場合は、事前に読まれることをお勧めします。


● ビジネスロジック層でのXMLの処理とは?

 ビジネスロジック層(文中では便宜上「サーバー」と表現します。)でのXMLの処理とは、どのようなものなのでしょうか?ここでは、最も関わりが深いと思われるInternet Information Server(IIS)上での処理をモデルとして、いくつかの例に基づき解説していきます。なお、解析を始めとする多くの機能に関しては、前回解説したIE5に同梱されるXMLパーサーをサーバー上で利用する事によって実現される機能です。

・ XMLの生成
サーバー側でのXMLの生成は、クライアント側にXML文書を送る場合に必要となります。勿論、静的なXML文書を置くという方法もありますが、多くの場合は何らかのデータソースから動的に生成するということを期待されるものと思います。このような場合、現状でもっとも単純な方法は、ASPからActiveX Data Object(ADO)によりOLE DBを利用し、SQL Serverを始めとする様々なDBMSや、AccessのMDBなど様々なデータソースからXML文書を生成するということでしょうか。これは、XMLがテキストファイルであることを利用した「力技」的な方法だと言えるでしょう。現実的に考えるとこのような方法は、あくまで現時点でのシステムでどうしてもXMLを利用しなければならない場合などに限られると思われます。また、短期的な未来においては、ADOのバージョンアップによって、もっとスマートな方法でXMLを生成できるようになる予定です。言い忘れましたが、もちろん、ASPだけではなくCGIや、ISAPIなどの比較的レガジーな手段を用いて生成する事も可能です。

・ XMLの解析とアクセス方法の提供
解析というと難しいイメージがありますが、前回の記事で説明したXMLパーサーを、そのままサーバー上でも利用しようということです。IISで最初からXMLが対応されるのはWindows2000に含まれる予定のIIS5.0以降となりますが、現在のIIS4.0を利用している場合でも、そのサーバー自体にIE5をインストールする事によって、結果的にXMLパーサーがインストールされ、IE5と同様にXML文書をメモリ空間に展開したり、文書型の検証を行うなどのXMLに関する機能が一足早く利用できるようになります。もちろん、各々のデータへのアクセスに関してもIEの場合と同じく、Document Object Model(DOM)を利用することによって可能です。

・ 受け取ったXMLの内容に応じてサーバー側のデータを更新
例えば、データを送るだけでなく更新の要求を受けるようなシステムが普通ですが、送受信を完全にXMLのみで行おうとした場合には、送られてきた更新要求のXML文書をサーバー上で解析し、ストレージに対してデータ更新を行うというプロセスになります。解析はXMLパーサーを利用するとして、それ以降の部分は、またしても「力技」で実現しなければならないのが現時点での実情です。これについても、将来的には何らかの容易な手段が提供されると思われます。

・ XMLとXSLからHTMLを生成
サーバー上で、XMLとXSLからHTMLを生成することも可能です。これも前述してきたものと同様にXMLパーサーの機能を利用します。XMLとXSLを直接ブラウジングできるというのは便利かと思いますが、クライアント側で利用されるブラウザが全てXMLとXSLに対応している場合は現時点では非常に少ないと思われますので、そのような環境の場合に非常に有効な手段です。イメージ的には図の様になります。


● そして...
 XMLのビジネスロジック層での処理が可能になるとWindows DNAのような3階層モデルでは、各層の間のデータ連携にも利用することが可能になります。将来的にはトランザクションやオブジェクト技術など多種多様な場面へのXMLの応用も考えられます。そして、最終的には多くのデータがXMLを利用して扱われるようになるかもしれません。ただし、少なくとも現時点においては、XMLを利用したシステム向けの開発環境の未成熟や、パフォーマンスの問題など、沢山の壁が待ち構えています。それでも、XMLの持つ可能性を考えると学ぶ価値も利用する価値もあるでしょう。

●おわりに
 今回は、XMLのビジネスロジック層での処理について何ができるのかを解説しました。次回の内容については残念ながら未定です。次回まで楽しみ!?に待っていて頂ければと思います。なお、いつものように、ご意見・ご要望などは冒頭のアドレスまでお願いいたします。皆様からのメールをお待ちしております。また、次号でお会いしましょう。

○ 参考資料
・W3C Extensible Markup Language (XML) 1.0
 http://www.w3.org/Press/1998/XML10-REC
・W3C Extensible Stylesheet Language (XSL) Version 1.0 Working Draft
 http://www.w3.org/TR/WD-xsl
・ Site Builder Network Web Site
 http://www.microsoft.com/sitebuilder/
・Site Builder Network Japan Web Site
 http://www.microsoft.com/japan/sitebuilder/



Contents         Windows Consortium ホームページ