Sun Cluster データサービス開発ガイド (Solaris OS 版)

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

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

RMAPI

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

データサービス開発ライブラリ (DSDL)

データサービス開発ライブラリ (Data Service Development Library: DSDL) は、RMAPI 上に構築されており、RGM のメソッドコールバックモデルを基盤にして上位 レベルの統合フレームワークを提供します。DSDL は、次のようなさまざまなデータサービス開発向けの機能を提供します。

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

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

SunPlex Agent Builder

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

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