Pour l'écriture du code des services de données, l'architecture de gestion des ressources fournit une API de bas niveau (ou de base), une bibliothèque de niveau plus élevé reposant sur l'API de base et l'outil SunPlex Agent Builder, qui peut créer automatiquement un service de données à partir de données de base saisies par l'utilisateur.
L'interface APIGR fournit un ensemble de fonctions de bas niveau qui permettent à un service de données d'accéder à des informations sur les ressources, les groupes et les types de ressources du système, de demander un redémarrage ou un basculement local et de définir le statut d'une ressource. Ces fonctions sont accessibles par le biais de la bibliothèque libscha.so. L'interface APIGR fournit ces méthodes de rappel sous la forme de commandes shell et de fonctions C. Pour plus d'informations sur les fonctions de l'interface APIGR, reportez-vous à la page de manuel scha_calls(3HA) et au Chapitre 3, Référence concernant l'API de gestion des ressources. Pour voir des exemples d'utilisation de ces fonctions dans des méthodes de rappel de services de données, consultez le Chapitre 5, Service de données modèle.
Au niveau supérieur à celui de l'interface APIGR, la bibliothèque DSDL fournit une structure intégrée plus évoluée, tout en conservant le modèle de rappel de méthodes du RGM. Ses fonctions sont hébergées par la bibliothèque libdsdev.so. La bibliothèque DSDL réunit plusieurs utilitaires de développement de services de données, notamment :
libscha.so, qui fournit les API de gestion de ressources de bas niveau.
PMF, qui permet de contrôler les processus ainsi que leurs descendants et de les redémarrer lorsqu'ils s'arrêtent. Reportez-vous aux pages de manuel pmfadm(1M) et rpc.pmfd(1M).
hatimerun, utilitaire qui permet d'exécuter les programmes respectant un délai d'attente. Reportez-vous à la page de manuel hatimerun(1M).
Avec la plupart des applications, la bibliothèque DSDL fournit toutes ou presque toutes les fonctionnalités dont vous avez besoin pour concevoir un service de données. Notez, toutefois, que la bibliothèque DSDL ne remplace pas l'interface API de bas niveau mais l'encapsule et l'étend. En fait, un grand nombre de fonctions de la bibliothèque DSDL appellent les fonctions du fichier libscha.so. C'est le cas, par exemple, lorsque vous utilisez la bibliothèque DSDL pour coder la majeure partie de votre service de données.
Pour plus d'informations sur la bibliothèque DSDL, reportez-vous au Chapitre 6, Bibliothèque de développement de services de données et à la page de manuel scha_calls(3HA).
Agent Builder est un outil automatisant la création d'un service de données. Une fois entrées les informations élémentaires sur l'application cible et le service de données à créer, Agent Builder génère un service de données qui inclut du code source et du code exécutable (shell Korn ou C), un fichier RTR personnalisé et un package Solaris.
Vous pouvez utiliser Agent Builder avec la plupart des applications pour générer un service de données complet en n'y apportant que des modifications manuelles mineures. Les applications dont les exigences sont plus complexes (ajout de contrôles de validation aux propriétés additionnelles par exemple) peuvent requérir des actions qu'Agent Builder ne peut réaliser. Cependant, même dans ces cas, vous pouvez utiliser Agent Builder pour créer la majeure partie du code et coder manuellement le reste. Vous pouvez n'utiliser Agent Builder que pour générer le package Solaris.