アドバンス技研(株)代表取締役 山本一浩氏
MSDNインタビュー第1回 日本初のビルディングブロック「104Server.com」開発インタビュー
2001年03月06日 11時25分更新
「104Server.com」は、インターネット上のサービスの仕組みとしてMicrosoftが提唱している「Microsoft.NET」構想のなかの「Web Service」の一種です。サーバ間の通信には、SOAPを使い、データの受け渡しにはXMLを使用しています。この「104Server.com」の技術的な焦点は、下記の3点です。
- 自社サイトにシームレスに組み込めるか
- データが自社サイト以外にある必要性と、データをどのように利用するか
- 簡単に組み込めるか
1. 自社サイトにシームレスに組み込めるか
自社のサイトにあるデータを、自社のデータベースにアクセスして表示することは簡単に実現できます。ブラウザの同一ページに表示することも、フレームに表示することも、さらにはフレーム間のデータのやり取りもJavaScript等を使用することで簡単に実現できます。しかし、別サイトからの検索結果となると表示することは可能ですが、そのデータのやり取りは簡単には実現できません。
たとえば、フレーム等を使って、いくつかの別のサイトを同一ブラウザ画面に表示することはできますが、おのおののべージから別のページへのデータアクセスを許すと、悪意を持って、ごく小さな見えないようなページをさりげなく配置することで、そのユーザーがいつどこのページを見ているかや、場合によっては項目に入力した値等を収集することまで可能になってしまいます。このようなトラブルを防ぐため、自 サイトのフォームデータ以外は参照や変更ができない仕組みになっています。これを解消するために、サーバ間の通信によって、サーバ上で自社サイトのデータとして組み込みます。
2. データが自社サイト以外にある必要性とデータをどのように利用するか
専用のサイトにデータがあるということはデータのメンテナンスをすることなく、常に最新のデータにアクセスできるという利点があります。また、自社でそのための大がかりなデータベースシステムを組む必要もなくなります。しかし、簡単にほかサイトのデータベースにアクセスすることは、インターネットの世界ではできません。通常データベースはファイアウォールの内側にあり、ほとんどHTTPなどのプロトコルしか通さないため、アクセスする手段は限られてきます。
利用するには情報提供側のサーバに対して、何らかの手段でデータを要求し、結果を取得する仕組みや取り決めが必要となります。情報要求側サーバと情報提供側のサーバでHTTPの取り決めをして、データのやり取りをすることは不可能ではありませんが、標準化されたプロトコル(SOAP)とXMLを使うことで実現できます。
3. 簡単に組み込めるか
XMLを使用することで、データはXMLパーサーにより簡単にアクセスすることが可能になります。XMLを入出力できる環境があれば、組み込みは容易で、たとえシステムが変更されたり機能強化等があっても、簡単に対応できるようになります(現在「104Server.com」では、Internet Explorer 5.xのXMLパーサーを使用する環境を想定しているため、Windows NT 4.0以上を使用環境としています)。
まとめ
最終的に実現しているのはインターネットを介した「RPC」(リモートプロシジャコール)です。あるサイトから「104Server.com」上のCOMコンポーネントのメソッドをコールして結果をXMLで取得するという流れです。
社内ネットワーク等で、別のマシンのプログラムを動かすのであれば、DCOM等を使用できますが、インターネット上ではファイアウォールを通過できませんので、HTTPに則った手順でなければなりません。そのためのプロトコルでSOAPを使用することで、実現しています。また、すでに一般的になっているXMLを使用することで、データのパースにかかる作業はほとんどなくなります。
Figure A:A1のページからA2へはJavaScript等で簡単にフォームの内容にアクセス可能 |
Figure B:AのページからBへはセキュリティ上アクセスできない |
Figure C:A1のページからA2へはアクセス可能であり、あえてフレームにする必要もない |
Figure D |
Figure E:結果的にはAサイトから、BサイトのCOMコンポーネントのメソッドを動作させるイメージであり、そのCOMコンポーネントはAサイトにある必要がない |
Figure F:104Server.com概念図 |