• 検索結果がありません。

HeteroSOC フレームワークの概要

第 4 章 関連研究 31

5.3 HeteroSOC フレームワークの概要

5.2節で述べた方針で課題を解決するために,HeteroSOCフレームワークが提供する機 能を挙げる.

(a) ワークフローに基づいた開発支援システム

異種分散コンポーネントを開発時に指定することによって,アプリケーションを設 計できるようにする.その際に,障害時に他のコンポーネントに処理を切り替えら れるように,同じアクティビティに対して複数のコンポーネントを指定できるよう にする.

(b) アプリケーションプログラムの生成

開発者による指定に基づき,異種性を吸収するアプリケーションプログラムを,自動 生成する.複数のコンポーネントが同じアクティビティに対して指定されている場 合には,考えられるコンポーネントのすべての組合わせについて,プログラムコー ドを生成する.

(c) アプリケーションプログラムの運用

生成したアプリケーションプログラムを実行する.複数のプログラムコードが生成 されていた場合は,それらから一つを選択して運用する.

(d) コンポーネント発見・呼出し

アプリケーションプログラム運用中に,必要なコンポーネントを動的に発見し,呼 び出す.その際の呼出しの異種性も動的に吸収する.

(e) コンポーネント障害時の切替え

アプリケーション運用時に,コンポーネントが利用できなくなった場合には,別の

第5章 HeteroSOCフレームワークの全体設計

コンポーネントの組合わせを利用するプログラムコードに,処理を切り替える.

HeteroSOC フレームワークを利用する際の流れを,図5.1 に示す.

アプリケーションの開発手順は,次のようになる.

(1) アプリケーションプログラムの開発者が,サービスの組合わせに関するワークフロー 情報を記述する.

(2) 開発者は,各アクティビティを実現するコンポーネントを複数指定する.

(3) ワークフロー情報を利用し,プログラムコードを自動生成する.

生成したプログラムコードは,指定された異種分散コンポーネントを呼び出すことに よって一つのアプリケーションプログラムとして連係して動作させる.そして,呼び出そ うとする対象のコンポーネントの呼出し形式が異なる場合に,それを変換するためのプロ グラムコードを含む.

また,ワークフロー内の特定のアクティビティに対して複数のコンポーネントが指定さ れた場合は,ワークフローの開始から終了まで,考えられるコンポーネントのすべての組 合わせについて,プログラムコードを生成する.

生成したアプリケーションを運用する手順は,次のようになる.

(4) 生成したアプリケーションプログラムのプログラムコードのうち,任意のものをコ ンパイルし,配置する.

(5) 配置したアプリケーションプログラムを,クライアントプログラムから呼び出す.

(6) アプリケーションは,開発者が指定したワークフローにしたがって,異種分散コン ポーネントを呼び出して連係させる.

(7) 開発時に利用するコンポーネントを指定しなかった場合には,利用可能なコンポー ネントをネットワーク上から発見して,呼び出す.

なお,手順 (7) のように異種分散コンポーネントを動的に連係させる場合,開発時に 利用するコンポーネントを想定できない.そのため,異種性を吸収するためのプログラム コードを事前に生成できない.したがって,呼出しの形式を,発見したコンポーネントに 合わせて動的に変換するような実行環境を提供する.

開発時に利用するコンポーネントを静的に指定した場合に,指定したコンポーネントが 利用できない場合は,同じワークフローを実現する別のプログラムコードが存在すれば,

それに処理を切り替える.その場合の処理手順を,次に示す.

(8) 別のプログラムコードを選択し,コンパイルして配置する.

(9) 途中まで行った処理があれば,新しく配置したものに処理を切り替える.

クライアント サーバ

コンポーネントA

コンポーネントB

サーバ

コンポーネントC ワークフロー情報

(3)アプリケーションの生成

サーバ (4) コンパイルと配置

Internet

アプリケーション

(6) コンポーネント 呼出し 開発

(5) 利用

サーバ

サーバ

コンポーネントD

コンポーネントE

アプリケーション (6) コンポーネント 呼出し

サービスの 利用者 (8) 別のプログラムコードの

コンパイルと配置

(9) 処理を切替え (1) ワークフローの記述

アプリケーション アプリケーション

(2) コンポーネントの 割り当て

アプリケーション プログラムの開発者

(7) 動的発見・

コンポーネント 呼出し

図5.1 HeteroSOC フレームワークを利用する際の動作の流れ

第5章 HeteroSOCフレームワークの全体設計