Research Abstract |
分散型のソフトウェアを開発する際に,ネットワーク処理とアプリケーションロジックを合わせて開発することは,アプリケーションロジックとネットワーク処理の混同を招き,開発作業を必要以上に複雑にしてしまう.本研究では,アプリケーションロジックとネットワーク処理の分離が可能なような分散システムのアーキテクチャを提案し,それに基づく分散システム開発の手法を提案する.さらに,その分散化手法を実現するためのツールを開発し提供する. ネットワーク処理には,アプリケーションによらない共通の処理と,アプリケーションごとに開発が必要な個別の処理がある.本研究では,共通な処理はフレームワークとしてまとめアプリケーションごとに開発しなくても済むようにし,また,アプリケーション固有の処理は,フレームワークのホットスポットとして開発者が追加あるいはフレームワークの機能を変更できるようにし,開発者の負担を軽減させることを狙っている.また,追加するネットワーク処理については,ネットワークスペシャリストが自分で開発できるのと同時に,準備された部品の中から選択しても使用することができるようなシステムのアーキテクチャを採用している.現在,我々のシステムにおいて,開発者が機能を追加できるホットスポットは,スケジューリング機能と例外処理機能である,いくつかの典型的なスケジューリングを行うための部品や,リモートメソッド呼び出しに関係する例外を他の例外に変換する部品などを用意してあり,開発者が自ら開発しなくても既存の部品をシステムに組み込むだけで分散処理が実現できる. これまでの研究により,クライアント・サーバ型のシステムの分散化に加えて,ピア・ツー・ピア型やクライアントとサーバが絡み合った複合型のシステムを,本手法を用いて分散化できるようになった.
|