Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Festlegen der zu verwendenden Schnittstelle

Das Sun Cluster-Entwickler-Unterstützungspaket (SUNWscdev) stellt zwei Schnittstellen für das Codieren von Datendienstmethoden bereit:

Im Sun Cluster-Entwickler-Unterstützungspaket ist auch SunPlex Agent Builder enthalten, ein Tool, das die Erstellung eines Datendienstes automatisiert.

Im Folgenden wird ein Ansatz zur Entwicklung eines Datendienstes beschrieben:

  1. Entscheiden Sie, ob in C oder der Korn-Shell codiert werden soll. Wenn Sie sich für die Verwendung der Korn-Shell entscheiden, können Sie die DSDL nicht verwenden, da diese nur eine C-Schnittstelle enthält.

  2. Führen Sie Agent Builder aus, geben Sie die angeforderten Informationen ein und generieren Sie einen Datendienst, der Quellcode und ausführbaren Code enthält, eine RTR-Datei und ein Paket.

  3. Wenn der generierte Datendienst angepasst werden muss, können Sie den generierten Quelldateien DSDL-Code hinzufügen. Agent Builder gibt mithilfe von Kommentaren bestimmte Stellen in den Quelldateien an, an denen eigener Code eingefügt werden kann.

  4. Wenn der Code weiter angepasst werden muss, um die Zielanwendung zu unterstützen, können Sie dem vorhandenen Quellcode RMAPI-Funktionen hinzufügen.

In der Praxis gibt es viele unterschiedliche Möglichkeiten zum Erstellen eines Datendienstes. Anstatt zum Beispiel an bestimmten Stellen im Code, der von Agent Builder generiert wird, eigenen Code einzufügen, könnten Sie eine der generierten Methoden oder das generierte Überwachungsprogramm vollständig durch ein Programm ersetzen, das Sie mithilfe von DSDL- oder RMAPI-Funktionen von Null schreiben. Unabhängig von Ihrer Vorgehensweise macht das Starten mit Agent Builder aus folgenden Gründen fast immer Sinn:


Hinweis –

Im Unterschied zur RMAPI, die mehrere C-Funktionen und eine Reihe von Befehlen für die Verwendung in Skripts bereitstellt, verfügt die DSDL nur über eine C-Funktionsschnittstelle. Wenn Sie also in Agent Builder Korn-Shell (ksh)-Ausgabe festlegen, ruft der generierte Quellcode die RMAPI auf, weil keine DSDL-ksh-Befehle vorhanden sind.