集中連載:IISでXMLを操作する
第1回 IISをXML対応サーバにする

XML対応のWebアプリケーションサーバとしてIISを利用しよう。そのためにはサーバ側にXMLパーサを導入し、さらにXMLを操作するためのプログラミングが必要だ。本連載では、そのための基本的なテクニックを紹介していく。

富士ソフトABC株式会社
技術センター(mgicho@fsi.co.jp)
2001/10/20

 XMLの処理はサーバサイドが主流に

 最近、XML化したデータ(XML文書)からWebページを作成して、Webブラウザで表示したい、というニーズが高まってきています。多くのデータのXML化が進み、同時に多くのアプリケーションがWebアプリケーション化していく中で、これは当然の流れといえるでしょう。

 しかし、単にWebブラウザにXML文書とスタイルシート(この場合はXSLTスタイルシート)を送信し、Webブラウザ側でXML文書を変換して表示する方法には多くの問題があります。例えば、すべてのプラットフォームですべてのWebブラウザが、XML文書とスタイルシートに同じように対応しているとはいえない点です。そもそもHTMLだけに対応し、XMLには対応していないWebブラウザも数多く存在します。このような現状では、データをXML化し、Webブラウザ側でスタイルシートを利用して表示するという方法は難しいでしょう。これを避けるには、クライアントとして利用するWebブラウザとしてXMLに対応した特定のものを規定することになりますが、それではWebアプリケーションとしての利点を損なってしまいます。

 そのため、XMLをデータとして使い、このデータをすべてのプラットフォームのすべてのWebブラウザで表示できるようなWebアプリケーションを作成するには、現時点ではXML文書をサーバサイドでHTMLへと変換する処理をして、WebブラウザにはHTML文書を送るようにする必要があります。この連載では、マイクロソフトのInternet Information Server(以下IIS)を利用して、XML文書のサーバサイドでの変換処理について解説していきます。

 第1回では以下のトピックについて説明し、サーバサイドでXMLを処理するための準備を整えます。

  • XMLデータをWebページで扱ううえでの現状の問題点
  • XMLをサーバサイドで処理する意味
  • IISのセットアップ
  • ハッキング、ウイルス対策
  • XMLパーサのセットアップとアップグレード

 もちろん、タイトルどおり利用するOSは、Windows 2000 Server(Service Pack 2)、そしてWebサーバとしてIIS5.0です。

   XMLデータをWebページで扱ううえでの、現状の問題点

 XML化されたデータを、XSLTスタイルシートを使って加工してHTML文書へと変換するには、XSLTに対応したXMLパーサが必要になります。逆にいえば、XML文書を操作するマシンにはXMLパーサがインストールされていなければ、XMLの操作はできません。XMLとXMLパーサ、そしてWebブラウザの関係を図1に示します。

 XML文書とXSLTスタイルシートを組み合わせてHTML文書を作成することは、サーバサイドで行うことも、クライアントで行うこともできます。いずれにせよ、XML文書を操作する側にはXMLパーサがインストールされていなければなりません。

図1 XMLデータとXMLパーサ、Webブラウザの関係

 この操作をWebブラウザ側で行う場合には、Webブラウザを利用するユーザーのPCすべてにXMLパーサをインストールする必要があります。Internet Explorer 5.xの場合、XMLパーサはWebブラウザの一部として含まれています。しかしデフォルトで含まれているXMLパーサはバージョンが古いため、最新のXMLの機能を使おうとすれば、別途、最新のXMLパーサのインストールが必要です。社内システムで利用する場合など、ユーザーが限られて環境も固定できるのであれば、PCにXMLパーサをインストールする方法でも構わないでしょう。しかし、不特定多数のユーザーに対して情報を発信することを考えると、こうした方法は不適当なことはお分かりでしょう。

 不特定多数のクライアントを相手にする場合、OSだけでもWindows、Unix/Linux、Mac OSなどさまざまな環境があり、WebブラウザもInternet Explorer、NetscapeなどWindows上の代表的なものをはじめ、個人が作成したWebブラウザやUnix/Linux上でのWebブラウザ、最近では携帯電話や情報端末、ゲーム専用機などでもインターネットに接続してWebページを閲覧できるようになっています。

 このような現状ではすべてのユーザーに対して同一のWebページを提供することは難しく、また、プラットフォームが違えばXMLパーサもそれに合ったものが必要になります。PCなどの場合は、Webページにアクセスしたときにサーバサイドから自動的にXMLパーサをインストールするような仕掛けも不可能ではありませんし、何らかの方法でユーザーにインストールするように促すこともできます。しかし携帯電話や情報端末、ゲーム専用機などの場合は、提供者であるメーカーがあらかじめ対応しない限りXMLに対応できません。そのため、クライアント上でXML文書を加工するよりも、サーバサイドでXML文書を加工したうえでクライアントへ送出する、という方法が現実的であり、かつ一般的になっています。

   XMLをサーバサイドで処理する意味

 今度は、サーバサイドでXML文書を操作する場合の仕組みを図2に示します。 XML文書とXSLTスタイルシートをクライアントに送信するのではなく、サーバサイドのXMLパーサを使ってHTML文書に加工し、それをクライアントに送信します。こうすれば、クライアントにはWebブラウザだけがあればいいことになります。

図2 XMLデータには、XML文書やXSLTスタイルシートなどXML関連のデータはすべて含まれる。これらの処理をスクリプトからXMLパーサに指示する。これらを実行するプラットフォームが、IISのActiveServerである。

 動的なWebコンテンツを実現するために、IIS上でActive Server Pages(ASP)や、WebアプリケーションサーバのJavaServer Pages(JSP)などを利用してサーバサイドでビジネスロジックを実装する手法が一般的になっていますが、XMLデータを扱う場合にも、同じようなアプローチを採っていると考えれば理解しやすいでしょう。

 次項ではXMLを処理するサーバサイド。IISの導入を解説します。

  IISをXML対応にセットアップ

Index
集中連載:IISでXML文書を扱う方法
第1回 サーバサイドでXMLを操作する意味
XMLの処理はサーバサイドが主流に
・XMLデータをWebページで扱ううえでの、現状の問題点
・XMLをサーバサイドで処理する意味
  IISをXML対応にセットアップ
・ハッキング、ウイルス対策は必須
・XMLパーサのセットアップとアップグレード


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間