Go to main content

Developing Data Services

Exit Print View

Updated: August 2018

Oracle Solaris Cluster Application Environment

The Oracle Solaris Cluster system enables applications to be run and administered as highly available and scalable resources. The Resource Group Manager (RGM) provides the mechanism for high availability and scalability.

    The following elements form the programming interface to this facility:

  • A set of callback methods that you write that enable the RGM to control an application in the cluster.

  • The Resource Management API (RMAPI), a set of low-level API commands and functions that you can use to write the callback methods. These APIs are implemented in the libscha.so library.

  • Process Monitor Facility (PMF) for monitoring and restarting processes in the cluster.

  • The Data Service Development Library (DSDL), a set of library functions that encapsulates the low-level API and process-management functionality at a higher level. The DSDL adds some additional functionality to ease the writing of callback methods. These functions are implemented in the libdsdev.so library.

The following figure shows the interrelationship of these elements.

Figure 1  Programming Architecture of the Oracle Solaris Cluster Application Environment

image:Diagram shows the interrelationship between callback methods, RMAPI, Process Monitor Facility (PMF), and DSDL

The Oracle Solaris Cluster Agent Builder, which is described in Oracle Solaris Cluster Agent Builder, is a tool in the Oracle Solaris Cluster package that automates the process of creating a data service. Agent Builder generates data service code in either C (by using DSDL functions to write the callback methods) or in the Korn (ksh) shell command language (by using low-level API commands to write the callback methods). Agent Builder also has an option to generate a set of driving scripts to be used with the Generic Data Service (GDS).

The RGM runs as a daemon on each cluster node and automatically starts and stops resources on selected Oracle Solaris hosts according to preconfigured policies. The RGM makes a resource highly available in the event of a node failure or reboot. The RGM does so by stopping the resource on the affected node and starting it on another node. The RGM also automatically starts and stops resource-specific monitors. These monitors detect resource failures and relocate failing resources onto other nodes or monitor other aspects of resource performance.

The RGM supports both failover resources and scalable resources. A failover resource can be online on only one node at a time. A scalable resource can be online on multiple nodes simultaneously.