Version 2004 (Geändert)
4D Server bietet drei Möglichkeiten, den 4D Code auf dem Server-Rechner auszuführen:
Trigger
Serverprozeduren
Datenbankmethoden
Trigger
Trigger sind Tabellenereignisse, die ablaufen, wenn bestimmte Ereignisse auftreten, die das Sichern, Löschen und Laden von Datensätzen betreffen. Sie unterbinden unzulässige Operationen in den Datensätzen und schützen vor unabsichtlichem Löschen. In einem Rechnungssystem kann ein Trigger zum Beispiel dafür sorgen, dass eine Rechnung erst dann vollständig ist, wenn auch der dazugehörige Kunde eingetragen wurde.
Trigger werden auf dem Rechner ausgeführt, der die Datenbank-Engine enthält. Auf 4D Server werden Trigger innerhalb des aktuell laufenden Prozesses auf dem Server-Rechner ausgeführt, und nicht auf dem Client-Rechner. Mit 4D Server wird ein Trigger innerhalb des Benutzerprozesses ausgeführt, der die Operation in der Datenbank hervorruft. Der Trigger kann dagegen nicht auf die Prozessvariablen des Benutzerprozesses zugreifen.
Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache im Kapitel Trigger.
Serverprozeduren
Serverprozeduren sind Projektmethoden, die Methoden in Prozessen ausführen, die auf dem Server-Rechner laufen. Weitere Informationen finden Sie im Abschnitt Serverprozeduren.
Datenbankmethoden
Vier Datenbankmethoden werden allein auf dem Server-Rechner ausgeführt:
Datenbankmethode On Server Startup
Datenbankmethode On Server Shutdown
Datenbankmethode On Server Open Connection
Datenbankmethode On Server Close Connection
Vier weitere Datenbankmethoden lassen sich sowohl auf dem Server Rechner als auch auf dem Client Rechner ausführen:
Datenbankmethode On Web Authentication
Datenbankmethode On Web Connection
Datenbankmethode On Backup Startup
Datenbankmethode On Backup Shutdown
Weitere Informationen dazu finden Sie in den folgenden Abschnitten und im Handbuch 4th Dimension Programmiersprache im Kapitel Datenbankmethoden.
4D Server und Variablen
4D Server verwaltet eine Tabelle Interprozessvariablen. Diese Variablen liegen auf dem Server-Rechner. Bei einer kompilierten Datenbank ist die Tabelle Interprozessvariablen für Server und alle Client-Rechner gleich, jeder Rechner hat jedoch einen eigenen Variableninhalt.
Jede Serverprozedur hat eine eigene Tabelle Prozessvariablen. Bei einer kompilierten Datenbank ist die Tabelle Prozessvariablen für Server und alle Client-Rechner gleich, jeder Rechner hat jedoch einen eigenen Variableninhalt.
In interpretierter Form können Datenbankmethoden und Trigger während jeder Ausführungsphase Prozessvariablen dynamisch erstellen und verwenden. Das geht nicht in kompilierter Form. Bei einer kompilierten Datenbank teilen sich Datenbankmethoden und Trigger eine gemeinsame Tabelle der Prozessvariablen. (Die Definition ist identisch mit der anderer Prozesse).
Alle Serverprozeduren teilen sich die Interprozessvariablen auf dem Server (da sie dort ablaufen), unabhängig von welchem Client sie gestartet wurden. Trigger teilen sich die gleichen Interprozessvariablen wie die Serverprozeduren. Darüberhinaus greifen alle Trigger auf die gleichen Prozessvariablen zu, während jede Serverprozedur bzw. jeder Serverprozess eigene Prozessvariablen erhalten.
4D Server und Mengen
Interprozess- und Prozessmengen werden auf dem Server-Rechner, lokale Mengen auf den Client-Rechnern verwaltet. Weitere Informationen finden Sie im Abschnitt 4D Server und Mengen.