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