Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Programmierschnittstellen

Für das Schreiben von Datendienstcode stellt die Ressourcenverwaltungsarchitektur Folgendes bereit. eine API auf niedriger Ebene bzw. Basis-API, eine Bibliothek auf höherer Ebene, die auf der Basis-API aufbaut, sowie das Tool SunPlex Agent Builder. Letzteres generiert einen Datendienst anhand einiger grundlegender Benutzereingaben automatisch.

RMAPI

Die RMAPI (Resource Management API, Ressourcenverwaltungs-API) stellt eine Reihe von Routinen auf niedriger Ebene bereit, mit denen ein Datendienst auf Informationen zu Ressourcen, Ressourcentypen und Ressourcengruppen im System zugreifen, einen lokalen Neustart oder Failover anfordern und den Ressourcenstatus einstellen kann. Der Zugriff auf diese Funktionen erfolgt über die libscha.so-Bibliothek. 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-Routinen finden Sie unter scha_calls(3HA) und in Kapitel 4. Beispiele für die Verwendung der Routinen in Rückmeldemethoden für Beispieldatendienste finden Sie in Kapitel 5.

DSDL

Auf der RMAPI setzt die DSDL auf, die ein integriertes Framework auf höherer Ebene bereitstellt, jedoch das zugrunde liegende Methoden-Rückmeldemodell von RGM beibehält. Die DSDL stellt mehrere Funktionen für die Datendienstentwicklung zusammen, zu denen u. a. folgende gehören:

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. Sie können libscha.so-Funktionen auch direkt aufrufen, während Sie die DSDL zum Codieren eines Großteils des Datendienstes verwenden. Die libdsdev.so-Bibliothek enthält die DSDL-Funktionen.

Weitere Informationen zur DSDL finden Sie in Kapitel 6 und in der Online-Dokumentation unter 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 mit Quell- und ausführbarem Code (C- oder Korn-Shell), einer angepassten RTR-Datei und einem SolarisTM-Paket.

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. Auch in diesen Fällen können Sie jedoch Agent Builder für das Generieren eines großen Teils des Codes einsetzen und den restlichen Code manuell erstellen. Zumindest kann Agent Builder für das Generieren des Solaris-Pakets verwendet werden.