Net.Data enthält eine Komponente namens Direktverbindung für die Verwaltung von Verbindungen der Datenbank und der virtuellen Java-Maschinen. Die Direktverbindung hält dauerhaft Verbindungen aufrecht, um die Leistung zu verbessern. Für einige Net.Data-Funktionen ist eine lange Startzeit erforderlich. Bevor eine Datenbankabfrage abgesetzt werden kann, muss sich z. B. der Prozess gegenüber dem Datenbankverwaltungssystem (DMBS) identifizieren und eine Verbindung zur Datenbank herstellen. Dieser Vorgang nimmt oft einen bedeutenden Teil der für die Ausführung von Net.Data-Makros, die auf eine Datenbank zugreifen, erforderlichen Verarbeitungszeit in Anspruch. Aufgrund der Arbeitsweise der CGI-Programme fallen diese Startkosten bei jeder Anforderung an den Webserver an. Net.Data bietet eine Direktverbindung für die Betriebssysteme OS/2, Windows NT, AIX, Solaris und Linux, um dauerhaft Verbindungen aufrecht zu erhalten.
Mit Hilfe einer Direktverbindung kann eine entscheidende Leistungssteigerung erzielt werden, da sie den Startaufwand verringert. Der Spareffekt ist darauf zurückzuführen, dass ständig mindestens ein Prozess ausgeführt wird, der die Startfunktionen übernimmt. Diese Prozesse warten dann auf Serviceanforderungen. Sie können Direktverbindungen ausführen, wenn Sie Net.Data als CGI- oder FastCGI-Programm verwenden oder wenn Sie ein Plug-In für eine Webserver-API verwenden.
Die Direktverbindung besteht aus Connection Manager und Cliettes. Cliettes sind von Connection Manager gestartete Prozesse, die solange aktiv bleiben, wie auch der Server aktiv ist. Cliettes verarbeiten Daten und kommunizieren mit Net.Data-Sprachumgebungen, die Sie in der Initialisierungsdatei mit dem Schlüsselwort CLIETTE angeben. Jeder Cliette-Typ ist für die Bearbeitung einer spezifischen Sprachumgebungsfunktion konzipiert, z. B. die DB2-Cliette, die die Verbindung zur DB2-Datenbank herstellt und Operationen zur Ausführung von SQL-Aufrufen definiert, bevor Net.Data-Makros von Net.Data verarbeitet werden. Der Name der ausführbaren Datei wird in der Konfigurationsdatei für die Direktverbindung angegeben (dtwcm.cnf). Abbildung 25 zeigt die Interaktion zwischen der Direktverbindung, dem Makro und den Sprachumgebungen.
Abbildung 25. Direktverbindung mit Cliettes
In den folgenden Abschnitten wird die Direktverbindung näher beschrieben. Informationen zum Konfigurieren der Direktverbindung finden Sie in Konfigurieren der Direktverbindung.
Die Verwendung der Direktverbindung bietet die folgenden Vorteile:
Der wiederholte Einsatz von bestehenden Verbindungen ist effizienter als die Verbindungen immer wieder neu herstellen zu müssen. In der Regel schlägt die Verbindungszeit zu Buche, wenn Sie kleine SQL-Anweisungen anfordern (z. B. einfache Abfragen einer Datenbank mit weniger als 100.000 Zeilen) oder wenn Ihre Verbindung komplex ist (z. B. ferne Server).
Über eine Direktverbindung können Sie mit einem Net.Data-Makro zu mehreren Datenbanken gleichzeitig eine Verbindung herstellen. Dies wird dadurch möglich, dass jede Datenbank über eindeutige Cliettes verfügt, d. h., Net.Data kommuniziert einfach mit mehreren Cliettes.
Sie können die Direktverbindung im CGI-, FastCGI- oder API-Modus für die Kommunikation mit der Datenbank oder der virtuellen Java-Maschine verwenden. Sie können zudem die Vorteile der Direktverbindung nutzen, wenn Ihre Anwendung Daten aus mehreren Datenbanken erfordert.
Die Direktverbindung in Kombination mit einem API-Plug-In verbessert bei vielen Systemen je nach Auslastung und Konfiguration die Leistung. Experimentieren Sie mit Ihrem System, um die für Sie optimal geeignete Konfiguration zu ermitteln.
Für viele Anwendungen sind Leistungssteigerungen ohne Direktverbindung möglich, wenn der Befehl ACTIVATE DATABASE verwendet wird, um Zeit beim Herstellen von Datenbankverbindungen zu sparen. Nähere Angaben zu dem von Ihrer Datenbank verwendeten Befehl finden Sie in der Datenbankdokumentation. Prüfen Sie außerdem anhand der Dokumentation zu Ihrem Betriebssystem, ob weitere Möglichkeiten zur Optimierung der Leistung beschrieben sind.
Anforderung: Im FastCGI- oder API-Modus ist für die Sprachumgebungen für ODBC und Oracle eine Direktverbindung erforderlich.
Connection Manager ist eine separate, ausführbare Datei, die mit Net.Data geliefert wird und den Namen dtwcm hat. Starten Sie Connection Manager, wenn Sie den Webserver starten.
Connection Manager liest nach dem Start eine Konfigurationsdatei und startet eine Gruppe von Prozessen. In jedem Prozess fängt Connection Manager mit der Ausführung einer bestimmten Cliette an. Informationen zum Konfigurieren der Direktverbindung finden Sie in Konfigurieren der Direktverbindung.
Gehen Sie wie folgt vor, um Connection Manager unter Windows NT und OS/2 zu starten:
Dabei steht <inst_dir> für das Net.Data-Installationsverzeichnis.
Gehen Sie wie folgt vor, um Connection Manager unter AIX zu starten:
Gehen Sie wie folgt vor, um Connection Manager mit der Nachrichtenoption zu starten:
Nachrichten für Connection Manager werden standardmäßig unterdrückt. Wenn Nachrichten für Connection Manager angezeigt werden sollen, verwenden Sie die Option -d beim Start von Connection Manager.
Geben Sie in der Befehlszeile dtwcm -d ein.
Nach der Verwendung der Option -d müssen Sie Connection Manager erneut starten, um die Nachrichten wieder zu unterdrücken.
Gehen Sie wie folgt vor, um Connection Manager automatisch als Windows NT-Service zu starten:
Unter Windows NT können Sie angeben, dass Connection Manager nicht von der Befehlszeile aus, sondern als Windows NT-Service gestartet werden soll. Die Ausführung von Connection Manager als Windows NT-Service ermöglicht den automatischen Start von Connection Manager bei jedem Start der Maschine.
Hinweis: Starten Sie Connection Manager von der Befehlszeile aus, bevor Sie den automatischen Start definieren, um sicherzustellen, dass die Konfigurationsdatei für Direktverbindungen korrekt ist.
Nach der Konfiguration und dem Start der Datenbank, des Webservers und von Connection Manager umfasst die Net.Data-Verarbeitung bei Aktivierung der Direktverbindung in der Regel die folgenden drei Schritte:
Wenn eine Cliette in der Initialisierungsdatei angegeben ist, Connection Manager jedoch nicht aktiv ist, lädt Net.Data die DLL und verarbeitet das Makro. Wenn Sie eine API verwenden, empfangen Sie wahrscheinlich Fehler, und Sie müssen Connection Manager starten.