|
 |
 |
|
 |
 |
近年、HTTPプロトコル上ではWebページを閲覧するだけでなく様々な新しいサービスが享受できるようになりました。例えば
・ WebDAVを使って、ファイルサーバとファイルのやり取りをする
・ ストリーミングを利用して、映像や音楽をリアルタイムで楽しむ
・ Ajaxを使用して、リッチで動的な画面でのサービスを使う
などです。
では、これらHTTP上での新しいサービス達は、HP IceWall SSO とどのような関係なのでしょうか?これらのサービスを行うにあたって、HP IceWall SSO を使用するにはどんな事に気をつける必要があるでしょうか?
今回は、代表的な上記3つの新しいサービスに関して、HP IceWall SSO を使用する際の注意点を考えてみたいと思います。
なお、以降に述べられている内容は特に記述の無い限り HP IceWall SSOだけでなくHP IceWall MCRPでも同様です。HP IceWall MCRPにおいて、認証、認可機能を使用する場合は、HP IceWall SSOのエージェントオプションを同時に使用する必要があります。HP IceWall SSOはVersion 8.0以上、HP IceWall MCRPはVersion 2.0以上を想定しています。 |
 |
 |
|
 |
 |
2.1 WebDAVとは |
 |
 |
 |
WebDAVは、HTTPのプロトコルを拡張することにより、NFSやCIFSのようにファイルのやり取りを行う事を目的としたプロトコルです。
プロトコルの仕様は「RFC2518 HTTP Extensions for Distributed Authoring -- WEBDAV」にて概要が規定されています。ここで規定されているのは、ファイルをやり取りしたり、ファイルに排他ロックをかけ、編集を行ったりと言うファイルの基本操作です。
また、「RFC3253 Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)」では、ファイルのバージョン管理に関して、さらにプロトコルを拡張することが記述されています。
2007年6月現在、一般的なWebサーバソフトウェアでは、マイクロソフトのInternet Information Service(IIS) や Apache が、RFC2518にある程度準拠したWebDAV機能を提供しています。
また、RFC3253に準拠したWebDAVサーバ(あえてWebサーバとは言いません)も、各ソフトウェアベンダのスペシャルなソフトウェアとして出回り始めています。
|
 |
|
 |
2.2 HP IceWall SSOとWebDAV |
 |
 |
 |
WebDAVが使用されるようになってきたことに伴い、HP IceWall SSOもバックエンドWebサーバとしてWebDAVサーバを想定する必要がでてきました。そこで、HP IceWall SSO Version 8.0より、HP IceWall SSO のフォワーダ(dfw)では、
・ RFC2518にて規定されているWebDAVメソッド群通過
・ COPYメソッドなどでCOPY先を指定する際に利用されるDestinationヘッダに対してのURL自動変換
を機能として持っています。
ただし、実際にWebDAVサーバをHP IceWall SSOのバックエンドWebサーバとして使用するにはいくつか注意点がありますので、以下に説明いたします。
a) WebDAVプロトコルの各メソッドの扱い
WebDAVプロトコルには、通常のHTTPには存在しない拡張されたメソッド(PUT,PROPFIND,LOCKなど)がありますが、HP IceWall SSOのフォワーダはそれらを問題なく扱います。
b) XML電文中のURL変換
HP IceWall SSOは、リバースプロキシタイプの製品ですので、システムの構成によってはバックエンドWebサーバのURLと、クライアントからアクセスされるURLが異なるため、これをHP IceWall SSOのフォワーダ上で変換し、アクセスを中継しています。
WebDAVプロトコルを使用した場合、MOVEやCOPYメソッドのリクエスト中にあるDestination:ヘッダに含まれるURLに対しては特別な設定無しにURL変換が行われますが、PROPFINDメソッドの応答電文に含まれるXML文中のURLに対しては、HP IceWall SSOのフォワーダ設定のキーワード変換機能(コンフィグファイル中でのREPKEY項目)などにより変換の設定を行う必要があります。但し、HP IceWall SSO のオリジナルURL機能を利用している場合の設定は不要です。
c) アクセスコントロール
HP IceWall SSO でWebDAVサービスのアクセスコントロールを行う場合は、WebDAVサーバの(URL上での)ルートディレクトリを対象としてください。
ルートディレクトリ以下の各ディレクトリ単位の細かいアクセスコントロールを行う場合は、HP IceWall SSOの機能は使わずに、IISやApacheのBasic認証を使ったアクセスコントロールを行ってください。
d) WebDAVクライアントソフトの選択
WebDAVクライアントには様々なものがありますが、同じHP IceWallファミリー製品であるHP IceWall QFS は、HP IceWall SSOとの連係動作が確認されています。その他のWebDAVクライアントソフトを使用するには次のような条件があります。
HP IceWall SSO上で認証を行う場合は、HTMLにてログイン画面を表示し、フォームによるユーザID,パスワードの送信後、認証成功時にセッションCookieを払い出します。従ってHP IceWall SSOと連携して使用するWebDAVクライアントは、HTMLの表示、Cookieの処理を行う事ができる必要があります。
ただし、HP IceWall SSO をリバースプロキシモードで使用し認証を行わない場合には、この制限はありません。 |
 |
|
 |
 |
|
 |
 |
3.1 ストリーミングとは |
 |
 |
 |
ストリーミングには、様々な形式がありますが、大まかに以下の2種類に分けられます。
@ HTTPによるプログレッシブダウンロード
これは、正確にはストリーミングとは言えませんが、クライアントであるプレイヤソフトが、コンテンツをダウンロードしつつ再生を行っている状態です。
クライアントとサーバとの間の通信は、通常のHTTP通信と同様にコンテンツを取得しているのと同じです。
A ストリーミングプロトコルによるストリーミング
RTSP/RTPや、MMSプロトコルなどを利用して、ストリーミングを行います。この場合、HTTPの通信が行われるのは、「どこにどのプロトコルに対応したコンテンツがあるか」を記述したメタファイルを取得する部分だけです。その後のプレイヤソフトとストリーミングサーバ間は、HTTP以外の専用のプロトコルにて通信が行われます。
なお、Windows Media Service などでは、「Windows Media Services (WMS) HTTP 1.0(1.1)ストリーム配信プロトコル拡張」など、HTTP上でもプログレッシブダウンロードよりもストリーミング効率を上げるための方式が使われる場合があるようです。 |
 |
|
 |
3.2 HP IceWall SSOとストリーミング |
 |
 |
 |
前に述べたとおり、ストリーミングの形式には、プログレッシブダウンロードとストリーミングプロトコル(専用プロトコル)によるものがありますが、HP IceWall SSO では、このうちプログレッシブダウンロードのみをサポートしています。
ストリーミングプロトコル(専用プロトコル)では、メタファイルの置いてあるWebサーバをHP IceWall SSO のバックエンドWebサーバとすることが可能ですが、ストリーミングプロトコル(専用プロトコル)を扱うサーバはHP IceWall SSOがHTTP以外の通信に対応していないため、バックエンドWebサーバとすることはできません。
また、Windows Media Server での 「HTTP1.0 (1.1) ストリーム配信プロトコル拡張」についても、2007年6月現在HP IceWall SSOは対応しておりません。 |
 |
|
 |
 |
|
 |
 |
4.1 Ajaxとは |
 |
 |
 |
一般的にAjaxとは、動的Webサイトを作成するための一種の方法であり、それにはJavaScriptやCSSによるダイナミックな画面描画と、データを随時Webサーバから取得するためのXMLHTTPRequestと言う仕組みが含まれていると考えられます。
このうち、JavaScript, CSSについてはHP IceWall SSO で従来サポートしていますので、今回はXMLHttpRequestについて注目します。
XMLHttpRequestオブジェクトは、Internet Explorer(IE) とその他のブラウザでは実装が異なり、Internet ExplorerではActive X のオブジェクトとして、「ActiveXObject("Microsoft.XMLHTTP");」により生成されます。
IE以外のブラウザでもXMLHttpRequestでもの実装は可能ですが、今回は代表的なものとしてInternet Explorer での「ActiveXObject("Microsoft.XMLHTTP");」を用いた XMLHttpRequestに関して説明します。 |
 |
|
 |
4.2 HP IceWall SSOとAjax |
 |
 |
 |
Internet Explorer でのXMLHttpRequest(ActiveXObject("Microsoft.XMLHTTP");)に関しては、以下の動作をHP IceWall SSOにて確認しています。
1) GET メソッドにて、XMLHttpRequestからの要求を、バックエンドサーバに対して伝達できること。
2) POSTメソッドにて、XMLHttpRequestからの要求を、バックエンドサーバに対して伝達できること。
3) それぞれに関して、HP IceWall SSO にログインしているブラウザからのXMLHttpRequestの要求には、 HP IceWall SSOのセッションCookieが問題なく付加され、アクセスコントロールが実施されること。
※ Netscape等、その他のブラウザに関しては2007年6月現在、動作試験を行っていません。
上記の動作が正常に行われれば、JavaScriptやXML内部のURLをサイトごとにIceWall経由のURLにキーワード変換するか、オリジナルURL機能を使用することにより、Ajax技術を利用したサービスであってもHP IceWall SSOを使用する事ができます。
※ 上記の動作確認において、HP IceWall SSO は Version 8.0R2、HP IceWall MCRPはVersion 2.0を使用しています。 |
 |
|
 |
 |
|
 |
 |
HTTPプロトコル上では、様々な新しい形のサービスとそれに伴う技術が標準化されています。
HP IceWall SSO と HP IceWall MCRPも様々なサービスに対応して行く予定です。
今後も、新しいサービスへの対応や検証結果につきましては、本技術トピックにてご紹介させていただきます。 |
 |
2007.7.10 日本ヒューレット・パッカード コンサルティング事業部テクニカルコンサルタント 上杉康雄 |
 |
|