Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

编程接口

为了编写数据服务代码,资源管理体系结构提供了低级的基本 API、在基本 API 基础上生成的高级库以及 SunPlex Agent Builder 工具(该工具自动根据您提供的基本输入生成数据服务)。

RMAPI

RMAPI(资源管理 API)提供了一组低级例行程序,使数据服务可以访问系统中有关资源、资源类型和资源组的信息,请求本地重新启动或故障切换以及设置资源状态。 您可以通过 libscha.so 库访问这些功能。 RMAPI 以 shell 命令和 C 函数的形式提供这些回叫方法。 有关 RMAPI 例行程序的详细信息,请参阅 scha_calls(3HA)第 4 章,资源管理 API 参考。 要获得如何在数据服务回叫方法样例中使用这些例行程序的示例,另请参阅第 5 章,数据服务样例

数据服务开发库 (DSDL)

DSDL 位于 RMAPI 顶端,它在保留 RGM 的基础方法回叫模型的同时提供了一种高级集成框架。 DSDL 同时提供了多种数据服务开发工具,其中包括:

对于大多数应用程序,DSDL 提供了生成数据服务所需的多数或所有功能。 但请注意,DSDL 不会替代低级 API,而是封装并扩展它。 实际上,很多 DSDL 函数都调用 libscha.so 函数。 同样,您可以在使用 DSDL 对数据服务进行大量编码时直接调用 libscha.so 函数。 libdsdev.so 库中包含了 DSDL 函数。

有关 DSDL 的详细信息,请参阅第 6 章,数据服务开发库 (DSDL)scha_calls (3HA) 手册页。

SunPlex Agent Builder

Agent Builder 是一种自动创建数据服务的工具。 您输入有关目标应用程序和要创建的数据服务的基本信息。Agent Builder 将生成数据服务,由资源和可执行码(C 或 Korn shell)、自定义 RTR 文件和 SolarisTM 软件包组成。

对于多数应用程序,都可以使用 Agent Builder 生成完整的数据服务,且只需您进行很少的手动更改。 具有较复杂要求(例如,对附加特性添加验证检查)的应用程序可能需要执行 Agent Builder 无法完成的操作。 但是,即使在这些情况下,也可以使用 Agent Builder 生成大量代码并对其余内容手动进行编码。 至少可以使用 Agent Builder 为您生成 Solaris 软件包。