Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Programmierschnittstellen

Zum Schreiben von Datendienstcode bietet die Ressourcenverwaltungsarchitektur eine Basis-API, eine Bibliothek auf übergeordneter Ebene, die auf die Basis-API aufsetzt, sowie SunPlex Agent Builder, ein Tool, mit dem ein Datendienst automatisch anhand Ihrer Eingabe generiert wird.

Ressourcenverwaltungs-API

Die Ressourcenverwaltungs-API (RMAPI, Ressource Management API) bietet einen Satz von Funktionen, mit dem ein Datendienst auf Informationen über die Ressourcentypen, die Ressourcen und Ressourcengruppen im System zugreifen kann, um einen lokalen Neustart oder Failover anzufordern und den Ressourcenstatus festzulegen. Sie rufen diese Funtionen über die libscha.so-Bibliothek auf. Die RMAPI stellt diese Rückmeldemethoden sowohl in Form von Shell-Befehlen als auch in Form von C-Funktionen bereit. Weitere Informationen zu den RMAPI-Funktionen finden Sie in der Online-Dokumentation zu scha_calls(3HA) und in Kapitel 3, Ressourcenverwaltungs-API-Referenz. Beispiele zur Verwendung dieser Funktionen in Beispieldatendienst-Rückmeldemethoden finden Sie in Kapitel 5, Beispieldatendienst.

Data Service Development Library

Auf die RMAPI aufgesetzt ist die Data Service Development Library (DSDL), die ein integriertes Framework auf höherer Ebene bietet, während das zugrunde liegende Methodenrückmeldemodell des RGM beibehalten wird. Die libdsdev.so-Bibliothek enthält die DSDL-Funktionen. Die DSDL bringt mehrere Funktionen der Datendienstentwicklung zusammen, u.a. folgende:

Für die meisten Anwendungen bietet die DSDL den größten Teil der Funktionen, die für das Erstellen eines Datendienstes erforderlich sind. Beachten Sie jedoch, dass die DSDL die API auf niedriger Ebene nicht ersetzt, sondern einkapselt und erweitert. Viele DSDL-Funktionen rufen die libscha.so-Funktionen auf. Auf ähnliche Weise können Sie libscha.so-Funktionen aufrufen, wenn Sie die DSDL zum Kodieren des größten Teils des Datendienstes verwenden.

Weitere Informationen zur DSDL finden Sie in Kapitel 6, Data Service Development Library und in der Online-Dokumentation zu scha_calls(3HA).

SunPlex Agent Builder

Agent Builder ist ein Tool, das die Erstellung eines Datendienstes automatisiert. Der Benutzer gibt grundlegende Informationen über die Zielanwendung und den zu erstellenden Datendienst ein. Agent Builder generiert einen Datendienst, der Quell- und ausführbaren Code (C oder Korn-Shell), eine benutzerdefinierte RTR-Datei sowie ein Solaris-Paket enthält.

Für die meisten Anwendungen können Sie Agent Builder zum Generieren eines vollständigen Datendienstes einsetzen. Anschließend sind nur noch kleinere manuelle Änderungen erforderlich. Anwendungen mit komplizierteren Anforderungen, wie zum Beispiel Validierungsprüfungen für zusätzliche Eigenschaften, stellen möglicherweise Ansprüche, denen Agent Builder nicht gerecht werden kann. Selbst in diesen Fällen können Sie Agent Builder jedoch zum Generieren des größten Teils des Codes verwenden und dann den Rest manuell kodieren. Auf jeden Fall können Sie Agent Builder zum Generieren des Solaris-Pakets verwenden.