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

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

リソース管理アーキテクチャーは、データサービス用のコードを作成するため、低レベルまたはベース API、ベース API 上に構築されるより高いレベルのライブラリを提供します。さらに、ユーザーが指定する基本的な情報からデータサービスを自動的に生成するツール、Sun Cluster Agent Builder を提供します。

リソース管理 API

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

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

データサービス開発ライブラリ (Data Service Development Library、DSDL) は、RMAPI 上に構築されており、基盤となる RGM の「メソッドコールバックモデル」を維持しながら、上位レベルの統合フレームワークを提供します。libdsdev.so ライブラリには、DSDL 関数が含まれています。

DSDL は、次のようなさまざまなデータサービス開発向けの機能を提供します。

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

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

Sun Cluster Agent Builder

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

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