La arquitectura de administración de recursos proporciona una API básica o de bajo nivel, una biblioteca de nivel superior incorporada sobre la API básica y la herramienta Agent Builder de SunPlex, que permite generar servicios de datos a partir de la información básica especificada, para escribir el código de un servicio de datos.
La API de administración de recursos (RMAPI) proporciona un conjunto de funciones de bajo nivel que permiten a un servicio de datos acceder a la información sobre los tipos de recursos, los recursos y los grupos de recursos del sistema con el fin de solicitar una operación local de reinicio o recuperación ante fallos, y establecer el estado del recurso. Puede utilizar la biblioteca libscha.so para acceder a estas funciones. RMAPI proporciona estos métodos de rellamada en forma de comandos de shell y de funciones de C. Consulte la página de comando man scha_calls(3HA) y el Capítulo 3, Referencia de la API de administración de recursos para obtener más información sobre las funciones de RMAPI. Consulte también el Capítulo 5, Servicio de datos de ejemplo para obtener ejemplos de cómo utilizar estas funciones en los métodos de rellamada del servicio de datos de ejemplo.
La Biblioteca de desarrollo del servicio de datos (DSDL), que se encuentra incorporada sobre la RMAPI, proporciona una estructura integrada de nivel superior a la vez que mantiene el modelo de método de rellamada de RGM. La biblioteca libdsdev.so contiene las funciones de DSDL. DSDL agrupa varias utilidades para el desarrollo de servicios de datos, incluidas las siguientes:
libscha.so. Las API de administración de recursos de bajo nivel.
PMF. La Utilidad de supervisor de procesos (PMF), que proporciona un medio para supervisar procesos y sus descendientes, y reiniciarlos en caso de desactivarse. Consulte las páginas de comando man pmfadm(1M) y rpc.pmfd(1M).
hatimerun. Una utilidad para ejecutar programas en función de un tiempo de espera. Consulte la página de comando man hatimerun(1M).
Para la mayoría de las aplicaciones, DSDL proporciona casi todas las funciones necesarias para crear un servicio de datos, si no todas. Tenga presente, sin embargo, que DSDL no sustituye la API de bajo nivel, sino que la encapsula y la amplía. De hecho, muchas de las funciones de DSDL llaman a las funciones de libscha.so. Del mismo modo, puede llamar directamente a las funciones de libscha.so mientras usa DSDL para generar el código de gran parte del servicio de datos.
Consulte el Capítulo 6, Biblioteca de desarrollo del servicio de datos y la página de comando man scha_calls(3HA) para obtener más información sobre DSDL.
Agent Builder es una herramienta que automatiza la creación de un servicio de datos. En primer lugar se introduce información básica sobre la aplicación de destino y el servicio de datos que se va a crear. Agent Builder genera un servicio de datos, que incluye un código fuente y ejecutable (C o shell Korn), un archivo RTR personalizado y un paquete de Solaris.
Con la mayoría de las aplicaciones es posible usar Agent Builder para generar un servicio de datos completo, apenas con unos cambios mínimos. Las aplicaciones con requisitos más complejos, como añadir comprobaciones de validación de propiedades adicionales, pueden requerir un trabajo que Agent Builder no es capaz realizar. Sin embargo, incluso en estos casos, es posible utilizar Agent Builder para generar gran parte del código y crear manualmente el resto. Como mínimo, puede utilizar Agent Builder para generar automáticamente el paquete de Solaris.