Webブラウザを用いたネットワークサービスを持つ
アプリケーションブログラムの枠組
上野豊、浅井潔、有田正規 電子技術総合研究所知能情報部 (uend@etl.go.jp,
asai@etl.go.jp, arita@etl.go.jp)
1.はじめに
遺伝子配列やタンパク質の立体構造等の生物学的データベースは、主にネットワークで提供されており、データの検索や関連する計算といったネットワークサービスは生命情報学(Bioinfomatics)における重要な基盤技術となっている。
我々は、普及したWebブラウザと、アブリケーションプログラムを連携動作させる基本技術の開発を行ない、我々の開発したタンパク質立体構造表示プログラムMOSBYにこの機能を実装した。この方法によって、Webブラウザに表示させたWebページから、アプリケーションプログラムのコントロールが可能になる。ネットワークに関する複雑な知識が必要することなく、生物学的な計算サービスをアプリケーションプログラムで展開するシステムを構築できる枠組である。
2.方法
我々の方法では、アプリケーション間のプロセス間通信を使って、アブリケーションプログラムがキーボード入力の代わりに、外部プログラムからのコマンドを受け付けるようにすることが基本となる。アプリケーションのコマンドをメッセージとして定義し、それを記述したスクリプトファイルを用意する。メッセージ配信プログラムCAYは、スクリプトファイルの内容を実際にアプリケーションに送信する。2つの文字列データ"command"とparameter"!をアプリケーション"mosby"に送るスクリプトは次のようになる。
Caymessage("lmosby" , "command", "'parameter")
メッセージを受信するプログラムは、その名前を文字列で宣言することによって、複数のプログラムから送信メッセージを受け取る。上記の基本的なメッセージの他に、メッセージにファイルを結合した形や、実行形式のバイナリデータを扱う方法を提供している。
メッセージスクリプトにMIMEタイプを登録し、メッセージ配信プログラムCAYをヘルパーアプリケーションとすると、HTMLファイルにリンクされたスクリプトはWebブラウザから各アプリケーションへのメッセージとして送信される。したがって、あるWebページから、アプリケーションにコマンドを送ることが可能となる。また、アプリケーションブログラムからW知ブラウザのウインドウに必要な情報を表示させることも可能である。
3.結果
プロセス間通信は、X-Windowシステムにおける
Xproperty機能を用いて実装した。タンパク質立体構造表示プログラムMOSBYにスクリプト機能を追加し、Webページからスクリプトによって操作させる機能を実現した。デモベージ(http:〃www.etl.go.jp/
~ueno/demo99/では、ドッキングスタディ拡張モジュールをネットワークからロードし、実行中の
MOSBYアプリケーションに結合して動作させることができた。
4.議論
我々の方法は、既存の技術を活用した、簡素なシステム構築法であるが、充分な機能を提供することができたと考えている。現在、Javaを用いたネットワーク環境でのソフトウエア開発では、セキュリティのためのローカルリソースの保護機構がアプレットに必要な機能の実現に障害となっている。一方、我々の方法は外来コードの実行はアプリケーションが行うため、個々のアプリケーションがセキュリティを管理する必要がある。しかしながら、より自由度の高いソフトウェアシステムをじ実現できる点が生命情報学には好適であり、必要に応じてアプリケーション独自のセキュリティ機能が導入できる。
|