SkyOnDemand Serverアーキテクチャ
ここでは、SkyOnDemand Serverのアーキテクチャの概要について記述します。
アーキテクチャの構成
SkyOnDemand ServerはJava Virtual Machine上で動作し、OSから見ると1つのプロセスとして動作します。
SkyOnDemand Serverのアーキテクチャ図
カーネルとマネージャ
SkyOnDemand Serverは大きく分けてカーネルとマネージャで構成されています。カーネルはSkyOnDemand Serverの中核部分で、各マネージャの起動・停止、登録・解除などを行います。
マネージャはそれぞれサービスを提供します。SkyOnDemand Serverには以下のようなマネージャが登録され、動作しています。実際にはこれら以外にも多くのマネージャが動作しています。
Trigger Manager
各トリガーの管理や操作を行うサービスです。トリガーの登録、変更、削除、起動、停止を行います。
User Manager
ユーザやグループの管理や操作を行うサービスです。ユーザやグループの登録、変更、削除を行います。
FileSystem Manager
ファイルシステムの管理や操作を行うサービスです。ファイルやディレクトリの情報の取得、コピー、削除などを行います。
Data Processing Connection Manager(DPCon Manager)
グローバルリソースの管理や操作を行うサービスです。グローバルリソースの登録、更新、削除、生成、破棄を行います。また、グローバルリソースのプールの管理も行います。
マネージャの利点
マネージャはそれぞれサービス化され、実装は隠蔽されています。マネージャを使用するためにはカーネル経由でマネージャが公開しているサービスを参照し、使用します。
カーネルがマネージャを管理し、各マネージャをサービス化することで、以下のような利点を得ることができます。
- 拡張性
各サービスがマネージャごとに分離されているので、SkyOnDemand Serverへ新しいサービスを追加する際にほかのマネージャに影響をおよぼしません。そのため、サービスを追加する場合には追加したいサービスの実装のみ行うことになります。
- 透過性
アダプタやほかのマネージャからサービスを使用する場合、必ずカーネル経由でマネージャが提供しているサービスをロードして参照および使用するため、サービスの実装に依存することなく、透過的に使用することができます。
たとえば、アダプタからSkyOnDemandファイルシステムを使用する場合、カーネルからFileSystem Managerをロードし、FileSystem Managerに対してリクエストを行います。
対象のファイルシステムがデータベースファイルシステムなのか、ローカルファイルシステム(OSの物理ファイルシステムを参照するファイルシステム)なのかをアダプタは意識する必要がありません。