Afin d'écrire le code du service de données, l'architecture de gestion des ressources offre une interface API de base et de bas niveau, une bibliothèque d'un niveau plus élevé et un outil, SunPlex Agent Builder, générant automatiquement un service de données à partir de l'entrée de base fournie.
L'interface API GR (interface de programme d'application des gestion des ressources) propose un ensemble de routines de bas niveau permettant au service de données d'accéder aux informations sur les ressources, les types de ressources et les groupes de ressources du système, demandant un redémarrage local ou un basculement et définissant l'état des ressources. La bibliothèque libscha.so vous permet d'accéder à ces fonctions. L'interface API GR fournit ces méthodes de rappel sous la forme de commandes shell et de fonctions C. Reportez-vous à scha_calls(3HA) et au Chapitre 4 pour de plus amples informations sur les routines API GR. Reportez-vous également au Chapitre 5 pour découvrir des exemples d'utilisation de ces routines dans les méthodes de rappel de service de données échantillon.
La bibliothèque BDSD est générée au sommet de l'interface API GR. Elle fournit une structure intégrée de plus haut niveau tout en conservant le modèle de rappel/méthode sous-jacente de l'interface RGM. La bibliothèque BDSD regroupe diverses fonctions de développement de services de données, y compris :
libscha.so : les interfaces API de gestion des ressources de bas niveau.
PMF : la fonction de gestion de processus offrant un moyen de contrôler les processus et leurs descendants et de les redémarrer en cas d'arrêt (reportez-vous à pmfadm(1M) et rpc.pmfd(1M)).
hatimerun : une fonction d'exécution de programmes suivant un délai d'expiration (reportez-vous à hatimerun( 1M)).
Avec la plupart des applications, la bibliothèque BDSD 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 BDSD ne remplace pas l'interface API de bas niveau mais l'encapsule et l'étend. En fait, de nombreuses fonctions BDSD appellent les fonctions libscha.so. Vous pouvez également appeler directement les fonctions libscha.so tout en utilisant la librairie BDSD pour coder la majeure partie du service de données. La librairie libdsdev.so contient les fonctions BDSD.
Reportez-vous au Chapitre 6 et à la page de manuel scha_calls(3HA) pour de plus amples informations sur la bibliothèque BDSD.
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, complété par un code source ou exécutable (C ou Korn shell), un fichier RTR personnalisé et un package SolarisTM.
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 circonstances vous pouvez utiliser Agent Builder pour générer la majeure partie du code avant de coder manuellement la partie restante. Vous pouvez, au minimum, utiliser Agent Builder pour générer le package Solaris pour vous.