サービス基盤とは、POJO(Plain Old Java Objects)オブジェクトを、WindowsのサービスのようにJavaVM上に、ホスティングする基盤機能である。
サービス基盤上にホスティングされるPOJOは、サービスと呼ばれる。
サービスは、Java Beansで言うプロパティの設定、サービス間の依存関係の設定を行う事ができる。
また、「生成」、「起動」、「停止」、「破棄」の4つの状態遷移を制御する事ができる。サービスはJ2EEのJMX(Java Management Extension)に対応しており、JMX管理リソースとして制御可能である。
サービス基盤上にホスティングされたサービスは、サービス管理によって管理される。
サービス管理は、ネーミングサービス機能を持ち、サービスの名前を指定する事で、ホスティングされたサービスを提供する。
また、サービス管理は、サービスをグルーピングする役割を持ち、サービス基盤上に複数のサービス管理を起動する事ができる。
サービスやサービス管理の定義は、サービスローダによってロードされる。
サービスローダの実装によって、定義の方法は入れ替え可能であるが、デフォルトの実装としては、XMLファイルによるサービス定義の読み込みをサポートしている。
サービス定義XMLの詳細は、サービス定義ファイルDTDを参照。
Nimbus2プロジェクトでは、様々な機能が提供されているが、それぞれの機能は、サービスとして実装されている。
そのため、ユーザは必要な機能だけを、プロパティをカスタマイズしてJavaVM上にホスティングして、使用する事ができる。