News:解説 2000年10月13日 07:01 PM 更新

解説:明らかになるマイクロソフトのWeb Storage Systemと戦略

Exchange 2000でストレージとして実装されるWeb Storage System(WSS)とは? Officeに同梱されるLocal Web Storage System(LWSS)は?

 米国テキサス州ダラスで開催中の「Microsoft Exchange & Collaboration Solutions Conference 2000」(MEC2000)では,将来「.NET」環境で重要なコンポーネントになるであろう「Web Storage System」(WSS)と「Local Web Storage System」(LWSS)に関する詳細が明らかになった。この2つのコンポーネントを利用することで,Webベースのアプリケーションはネットワークの呪縛から逃れることができる。

 ある意味,この技術は「Exchange 2000」本体よりも重要なものなのかもしれない。

WSSとは?

 Web Storage Systemとは一体何なのか。

 WSSはHTTP/Web DAV(Webサーバと双方向の通信を行うための標準プロトコル)を通じてアクセスするデータベースである。Exchange 2000では,メールデータベースをミドルウェア部分と切り離し,独立したWSSに保存するようになった。

 WSSはHTTP経由でアクセスするデータベースであると同時に,ASP/Web Form,OLEDB,ADO,CDOなどに対応したWebベースのアプリケーションサーバとしても動作する。Webアプリケーションの倉庫としての役割も持っていると言えるだろう。

 WSSは情報をMDB形式でデータベース化する。WSSに用いられるMDBエンジンは,HTTPでも十分なパフォーマンスが出るようにチューニングされている。

LWSSとは?

 Local Web Storage Serviceは,WSSと全く同じプログラムコードを持つクライアントで動作するサービスだ。唯一異なるのは,HTTPのサーバ機能が存在しないことと,WSSとの通信内容をキャッシングしたり,同期を取るためのアドオンが組み込まれていることだ。

 WSS対応アプリケーションはWSSにアクセスしようとすると,透過的にLWSSを経由してデータにアクセスする。WSSにアクセスするための機能を呼び出すと,LWSSはローカルのデータベース(WSSと同じくMDB)を確かめ,必要ならば(データベースに存在しないか,変更が加えられている場合)データをWSSに要求し,ローカルデータベースに内容をコピーしてからアプリケーションに返す。

 つまり,動作の基本はキャッシュ付きのプロキシデータベースと言える。

 LWSSの特徴は,WSSと同じプログラムコードで作られているため,WSSで動作するWebアプリケーションは,すべてLWSS上でも動作する。つまり,Webアプリケーションをネットワークにつないでいない時でも動作させることができる。

 .NETはインターネット上のサービスとしてアプリケーションを動かすフレームワークであるが,通常,サーバに接続できない環境ではアプリケーションを利用できないことになる。しかし,LWSSがクライアント側に実装されていると,アプリケーションへのアクセスがWSS対応の手順で行われればローカルデータベース内のアプリケーションを動作させることができるので,オフラインでも.NET対応アプリケーションを動かすことができるわけだ。

同期の必要がないアーキテクチャ設計

 WSSとLWSSで利用できるオフライン機能は,完全にシームレスに行き来できるように工夫されている。たとえば,突然ネットワークが切れても,それまでアクセスしていたWSS対応アプリケーションはそのまま動作できる。

 なぜなら,WSS対応アプリケーションはサーバを呼び出すのではなく,必ずLWSSを呼び出すようになっているからだ。アプリケーションがLWSSを呼び出し,LWSSは自分が持つローカルデータベースの内容を参照して,存在するならアプリケーションにすぐ結果を返してしまう。

 その後,Webサーバ側の更新を確認し,更新されていないなら終了。更新されている場合はサーバ上のデータをダウンロードし,クライアントに送った情報をフィードバックする。もし途中で回線が切れたり,あるいはサーバが何らかの原因で落ちてしまっても,ローカルデータベースのデータがクライアントに送信済みであるため,クライアントは問題なく作業を続けることができる。サーバに接続しようとしてエラーになるのはLWSSであってアプリケーションではないから,突然接続できなくなっても機能する。

 つまり,同期だとか一度ログアウトしてからオフラインになるといった手順を踏まずに,シームレスにオンラインとオフラインを行き来できるわけだ。

オフラインでの振る舞い

 オフライン中でも,Web Formの投稿を含め,すべての作業を続けることができる(もちろん,必要な素材がすべてオフラインデータベースにあればの話だが。

 前述したように,オフラインデータベースへの登録は,データをダウンロードするごとに随時行われるが,同期に関するAPIが別途用意されており,アプリケーション側でひとまとまりのデータ(特定のフォルダ丸ごとなど)を一度に同期することもできる。

 したがって,キャッシュでありながら,オフライン機能の役目も果たす。なお,Web Forumの投稿などの処理を行っても,途中でキャンセルすることが可能になった。

関連記事
▼ Outlookの新版登場,目玉はあるが変化なし
▼ 10回の延期を経て発表された「Exchange 2000」──MEC2000基調講演
▼ 文書に対する単一のアクセス方法を提供する「Tahoe」

[本田雅一, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.