Sun Cluster 3.0 U1 データサービス開発ガイド

プログラミングインタフェース

データサービス用のコードを作成するために、リソース管理アーキテクチャは、低レベルの ベース API、ベース API 上に構築されているより高いレベルのライブラリ、および、いくつかの基本的な入力情報をもとにデータサービスを自動的に生成するツール、SunPlex Agent Builder を提供します。

RMAPI (Resource Management (リソース管理) API)

RMAPI は、データサービスがシステム内のリソース、リソースタイプ、およびリソースグループについての情報にアクセスしたり、ローカルでの再起動やフェイルオーバーを要求したり、リソースの状態を設定したりするための低レベルのルーチンセットを提供します。これらの関数にアクセスするには、libscha.so ライブラリを使用します。RMAPI はこれらのコールバックメソッドを、シェルコマンドまたは C 関数のどちらの形でも提供できます。RMAPI ルーチンの詳細については、scha_calls(3HA)第 3 章「RMAPI のリファレンス」を参照してください。サンプルのデータサービス用のコールバックメソッドにおける RMAPI の使用例については、第 4 章「サンプルデータサービス」を参照してください。

DSDL (Data Service Development Library (データサービス開発ライブラリ))

DSDL は RMAPI 上に構築されており、基盤となっている RGM のメソッド・コールバックモデルを保持しながら、より高いレベルで統合されたフレームワークを提供します。DSDL は、次のようなさまざまなデータサービス開発向けの機能を提供します。

ほとんどのアプリケーションにおいて、DSDL は、データサービスを構築するのに必要なほとんどまたはすべての機能を提供します。ただし、DSDL は低レベルの API に置き換るものではなく、低レベルの API をカプセル化および拡張するためのものであることに注意してください。事実、多くの DSDL 関数は libscha.so 関数を呼び出します。libscha.so 関数を直接呼び出すこともできますが、DSDL を使用することにより、データサービスの大半を作成することができます。DSDL 関数は libdsdev.so ライブラリとして実装されています。

DSDL の詳細については、第 5 章「DSDL (データサービス開発ライブラリ)」scds_calls(3HA) のマニュアルページを参照してください。

SunPlex Agent Builder

Agent Builder は、データサービスの作成を自動化するツールです。このツールでは、ターゲットアプリケーションと作成するデータサービスについての基本的な情報を入力します。Agent Builder は、ソースコードと実行可能コード (C 言語または Korn シェル)、カスタマイズされた RTR ファイル、およびインストール可能な Solaris パッケージを一体化して、データサービスを生成します。

ほとんどのアプリケーションでは、Agent Builder を使用すると、わずかなコードを手作業で変更するだけで完全なデータサービスを生成できます。追加プロパティの妥当性検査を必要とするような、より要件の厳しいアプリケーションの場合、Agent Builder では対応できないこともあります。しかし、このような場合でも、Agent Builder によりコードの大部分を生成できるので、手作業によるコーディングは残りの部分だけで済みます。少なくとも Agent Builder を使用することにより、独自の Solaris パッケージを生成することができます。