Nimbus2のサービス基盤を提供します。

サービス基盤とは、POJO(Plain Old Java Objects)オブジェクトを、WindowsのサービスのようにJavaVM上に、ホスティングする基盤機能である。

サービス基盤上にホスティングされるPOJOは、サービスと呼ばれる。
サービスは、Java Beansで言うプロパティの設定、サービス間の依存関係の設定を行う事ができる。 また、「生成」、「起動」、「停止」、「破棄」の４つの状態遷移を制御する事ができる。サービスはJ2EEのJMX(Java Management Extension)に対応しており、JMX管理リソースとして制御可能である。

サービス基盤上にホスティングされたサービスは、サービス管理によって管理される。
サービス管理は、ネーミングサービス機能を持ち、サービスの名前を指定する事で、ホスティングされたサービスを提供する。 また、サービス管理は、サービスをグルーピングする役割を持ち、サービス基盤上に複数のサービス管理を起動する事ができる。

サービスやサービス管理の定義は、サービスローダによってロードされる。
サービスローダの実装によって、定義の方法は入れ替え可能であるが、デフォルトの実装としては、XMLファイルによるサービス定義の読み込みをサポートしている。 サービス定義XMLの詳細は、サービス定義ファイルDTDを参照。

Nimbus2プロジェクトでは、様々な機能が提供されているが、それぞれの機能は、サービスとして実装されている。 そのため、ユーザは必要な機能だけを、プロパティをカスタマイズしてJavaVM上にホスティングして、使用する事ができる。