El paquete de soporte del desarrollador de Sun Cluster (SUNWscdev) proporciona dos conjuntos de interfaces de codificación de los métodos de los servicios de datos:
La API de administración de recursos (RMAPI), un conjunto de funciones de bajo nivel (en la biblioteca libscha.so)
La Biblioteca de desarrollo del servicio de datos (DSDL), un conjunto de funciones de nivel superior (en la biblioteca libdsdev.so) que encapsulan las funciones de la RMAPI y proporcionan algunas adicionales.
El paquete de soporte del desarrollador de Sun Cluster incluye también Agent Builder de SunPlex, una herramienta que automatiza la creación de un servicio de datos.
A continuación se muestra el enfoque que se debe seguir al desarrollar un servicio de datos:
Decida si se va a codificar con el shell C o el Korn. Si opta por el shell Korn, no podrá utilizar la DSDL, que proporciona sólo una interfaz para C.
Ejecute Agent Builder, especifique la información solicitada y genere un servicio de datos que incluya el código fuente y ejecutable, un archivo RTR y un paquete.
Si el servicio de datos generado requiere personalización, puede agregar código de DSDL a los archivos fuente generados. Agent Builder indica, con comentarios, los lugares específicos, dentro de los archivos fuente, en los que se puede agregar un código propio.
Si el código requiere una personalización avanzada para admitir la aplicación objetivo, puede agregar funciones de RMAPI al código fuente.
En la práctica, es posible adoptar diferentes enfoques para crear un servicio de datos. Por ejemplo, en lugar de agregar su propio código en determinadas ubicaciones del código generado por Agent Builder, puede sustituir uno de los métodos generados o el programa del supervisor generado por un programa escrito desde cero utilizando las funciones DSDL o RMAPI. Sin embargo, independientemente de la opción que lleve a cabo, en casi todos los casos, es recomendable comenzar con Agent Builer, por los siguientes motivos:
El código generado por Agent Builder, aunque de naturaleza genérica, se ha probado en numerosos servicio de datos.
Agent Builder genera un archivo RTR, un makefile, un paquete para el recurso, y otros archivos de soporte para el servicio de datos. Aunque no utilice el código del servicio de datos, los demás archivos disponibles pueden ahorrarle un trabajo considerable.
Puede modificar el código generado.
A diferencia de RMAPI, que proporciona un conjunto de funciones C y un conjunto de comandos para utilizar en secuencias, DSDL proporciona sólo una interfaz de función C. Por tanto, si especifica una salida del shell Korn (ksh) en Agent Builder, el código fuente generado realiza llamadas a RMAPI, porque no hay comandos ksh de DSDL.