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.

Folgende Vorgehensweise wird beim Entwickeln eines Datendienstes empfohlen:

  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 erforderlichen Angaben ein, und generieren Sie einen Datendienst mit Quell- und ausführbarem Code, einer RTR-Datei und einem 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. Statt an bestimmten Stellen des von Agent Builder generierten Codes eigenen Code einzufügen, können Sie zum Beispiel eine der generierten Methoden oder das generierte Überwachungsprogramm komplett durch ein Programm ersetzen, das Sie mit DSDL- oder RMAPI-Funktionen völlig neu schreiben. Unabhängig von der Vorgehensweise ist es jedoch fast immer sinnvoll, mit Agent Builder zu beginnen, und zwar aus folgenden Gründen:


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.