Sun Cluster 開発者サポートパッケージ (SUNWscdev) は、データサービスメソッドのコーディング用に 2 種類のインタフェースセットを提供します。
Resource Management API (RMAPI) - 低レベルのルーチンセット (libscha.so ライブラリとして実装されている)
データサービス開発ライブラリ (Data Services Development Library: DSDL) - RMAPI の機能をカプセル化し、いくつかの追加機能を提供する、より高いレベルの関数セット (libdsdev.so ライブラリとして実装されている)
Sun Cluster 開発者サポートパッケージには、データサービスの作成を自動化するツールである SunPlex Agent Builder も含まれています。
C 言語または Korn シェルのどちらでコーディングするかを決定します。 DSDL は C 言語用のインタフェースしか提供しないため、Korn シェルでコーディングする場合は使用できません。
Agent Builder を実行します。必要な情報を入力するだけで、ソースコード、実行可能コード、RTR ファイル、パッケージを含むデータサービスを生成できます。
生成されたデータサービスをカスタマイズする必要がある場合は、生成されたソースファイルに DSDL コードを追加できます。 Agent Builder は、ソースファイル内において独自のコードを追加できる場所にコメント文を埋め込みます。
ターゲットアプリケーションをサポートするために、さらにコードをカスタマイズする必要がある場合は、既存のソースコードに RMAPI 関数を追加できます。
実際には、データサービスを作成する方法はいくつもあります。 たとえば、Agent Builder によって生成されたコード内の特定の場所に独自のコードを追加する代わりに、生成されたメソッドの 1 つや生成された監視プログラムを DSDL や RMAPI 関数を使って最初から作成したプログラムで完全に置き換えることができます。 しかし、使用する方法に関わらず、ほとんどの場合は Agent Builder を使って開発作業を開始することをお勧めします。次に、その理由を示します。
Agent Builder が生成するコードは本質的に汎用であり、多数のデータサービスでテストされています。
Agent Builder は、RTR ファイル、make ファイル、リソースのパッケージなど、データサービス用のサポートファイルを作成します。 データサービスのコードをまったく使用しない場合でも、このようなサポートファイルを使用することによってかなりの作業を省略できます。
生成されたコードは変更できます。
RMAPI は C 言語用の関数セットとスクリプト用のコマンドセットを提供しますが、DSDL は C 言語用の関数インタフェースしか提供しません。 DSDL は ksh コマンドを提供しないので、Agent Builder で Korn shell (ksh) 出力を指定した場合、生成されるソースコードは RMAPI を呼び出します。