Version 6.0.2
Die 4D Server-Architektur ist leistungsstark, weil sich Arbeitsstation und Server die Arbeit teilen.
Der Server speichert und verwaltet die Daten. Die Arbeitsstation schickt dem Server Anfragen und erhält von diesem die Ergebnisse.
Diese Architektur unterscheidet sich von den herkömmlichen Multiuser-Architekturen, denn sie benutzen Dateien gemeinsam. Auch die früheren Multiuser-Versionen von 4th Dimension arbeiteten nach diesem Prinzip.
Die 4D Server-Architektur gleicht den Client/Server-Architekturen, mit denen vernetzte Stationen arbeiten. Es gibt jedoch zwei Unterschiede: Die grafische Client/Server-Architektur und die integrierte Client/Server-Architektur.
Das folgende Kapitel beschreibt die verschiedenen Möglichkeiten von 4D Server.
Arbeitsweise File Sharing
Alle Benutzer können auf dieselbe Datei zugreifen. Da aber kein Verwaltungsprogramm existiert, muß jeder Benutzer einer Arbeitsstation die Daten aufrufen, bearbeiten und dann zurückschicken.
Dieses Prinzip hat seine Grenzen. Der Datenverkehr im Netz kann eine hohe Dichte erreichen. Die Daten können nicht in einem gemeinsamen Cache-Speicher abgelegt werden. Da jede Station einen eigenen Cache-Speicher verwendet, wissen die Stationen nicht, welcher Teil des Datensatzes sich gerade bei einer Station befindet.
Folgendes Beispiel zeigt den Datenverkehr im Netz, wenn ein Benutzer in der Datenbank nach allen Personen mit dem Nachnamen Müller sucht:
Der Server bleibt passiv, d.h., er speichert die Daten, anstatt sie aktiv zu verwalten. Er unterstützt die Benutzer nicht. Sie müssen selbst die Daten heranholen und auf der Station bearbeiten. Von daher herrscht im Netz ein ständiger Datenverkehr.
Heterogene Client/Server Architektur
Arbeitsstation und Server sind zwei vollkommen unabhängige Einheiten. Sie brauchen daher eine Kommunikationsebene, die die Daten zwischen Arbeitsstation und Server übersetzt.
Das Besondere an 4D Server ist die integrierte Client/Server-Struktur. 4D Server verwaltet natürlich auch sämtliche Daten der Datenbank grafisch und bietet alle Vorteile der Rechnerumgebung. Dazu gehören beispielsweise das einfache Installieren sowie das automatische Erkennen der verschiedenen Geräte im Netz.
4D Server und 4D Client haben die Datenstruktur von 4th Dimension. Diese sorgt für eine flexible und ökonomische Arbeitsteilung.
4D Server arbeitet sowohl mit dem Datenbankmotor als auch mit der Schnittstellenverwaltung von 4th Dimension.
Arbeitsstation und Server haben also auf ihrer eigenen Ebene weniger Arbeit. Die Übersetzungsarbeit beim Anfragen bzw. Empfangen der Daten entfällt.
Um beispielsweise nach einem Datensatz zu suchen, sendet der Client eine Anfrage an den Server. Da die Datenbank auf dem Server liegt, führt der Server den Befehl lokal auf dem Server-Rechner aus und sendet das Ergebnis an den Client-Rechner.
Folgende Abbildung zeigt den Datenverkehr im Netz, wenn ein Benutzer den Server beauftragt, nach allen Personen mit dem Nachnamen Müller zu suchen und anschließend die Datensätze anzuzeigen:
Dieses Beispiel zeigt zwei entscheidende Unterschiede zwischen File Sharing und dem Client/Server Betrieb:
Die Client/Server Architektur arbeitet mit Cache-Speicher: Da nur die Engine real auf die Daten zugreift, kann der Server einen Cache-Speicher betreiben, der geänderte Datensätze speichert, bis sie auf die Festplatte geschrieben werden. Die Daten werden von einer zentralen Stelle gesendet, so daß die Arbeitsstationen immer die aktuellste Version des Datensatzes empfangen. So ist die Datenintegrität gewährleistet. Darüberhinaus werden Operationen in der Datenbank durch Verwendung des Cache-Speichers beschleunigt, da der Zugriff nicht über die Festplatte sondern über den Cache läuft. In File Sharing Architekturen wird immer auf die Festplatte zugegriffen.
Datenbankoperationen im Hintergrund laufen auf dem Server ab: Die Client/Server Architektur bietet deutlich höhere Geschwindigkeit, da Datenbankoperationen wie Erstellen eines Index oder Sortieren von Tabellen auf dem Server Rechner mit dessen Rechnergeschwindigkeit ausgeführt werden. In File Sharing Architekturen laufen die gleichen Operationen durch Netzwerkübertragungen und Grenzen der Arbeitsstation viel langsamer ab.
Zusammenarbeit von Arbeitsstation und Server
Bei herkömmlichen Client/Server-Architekturen besitzt der Server keine Informationen über die Umgebung der Arbeitsstation. Die Daten vom Server sind Rohdaten, die die Arbeitsstation mit Hilfe der Werkzeuge interpretiert.
Bei 4D Server arbeiten Server und Arbeitsstation mit derselben Datenstruktur. Die Daten, die beide ans Netz senden, sind bereits strukturiert. Das heißt, Arbeitsstation und Server können sie direkt lesen.
Die Arbeitsstation ist zuständig für:
Anfragen: 4D Client sendet Anfragen an den 4D Server. Sie können Anfragen über die integrierten Such- und Sortiereditoren erstellen oder über Programmierung. 4D Client bietet Editoren zum Erstellen und €ndern von Methoden und verwaltet Variablen und Arrays.
Antworten: 4D Client empfängt Antworten vom 4D Server und aktualisiert die Daten auf der Arbeitsstation. Fragt der Client z.B. nach allen Datensätzen mit dem Nachnamen "Müller", erhält er diese Datensätze vom Server und zeigt sie in einem Formular an.
Der Server ist zuständig für:
Zugriffe: 4D Server verwaltet über Multitasking konkurrierende Zugriffe und alle Prozesse, die von Clients erzeugt werden.
Struktur und Datenobjekte: 4D Server speichert und verwaltet sämtliche Objekte der Datenbank, d.h. Daten (Datensätze, aktuelle Auswahl) bzw. Strukturobjekte (Tabellen, Datenfelder, Formulare, Methoden und Menüs).
Cache: 4D Server unterhält einen Cache, der Datensätze sowie spezifische Datenobjekte enthält, wie z.B. Auswahlen und Mengen einzelner Clients.
Low-level Datenbankoperationen: 4D Server führt Datenbankoperationen, wie Such- und Sortierläufe nach indizierten Datensätzen aus.
Beispiel:
Die Arbeitsstation fragt beim Server ein Formular ab. Ein umfangreiches Formular braucht eine bestimmte Zeit im Netz. Der Server schickt das Formular an die Arbeitsstation. Dort wird es ohne weitere Arbeit für den Server selbständig bearbeitet. Dadurch reduziert sich die Serveraktivität erheblich. So ist die Auslastungsrate des Servers für 10 Stationen, die gleichzeitig im Benutzer- und €nderungsmodus in 10 verschiedenen Formularen mit jeder Menge Bilder arbeiten, relativ gering.
Die gegenseitige Verständigung zwischen Server und Arbeitsstation ist besonders vorteilhaft beim Anzeigen von Listen und Verwalten der aktuellen Auswahl.
Der Server schickt mehrere Datensätze als Paket an die Arbeitsstation. Dieses enthält im Gegensatz zu einer herkömmlichen, heterogenen Client/Server-Architektur keinen Code. Die Arbeitsstation kann selbst die Daten zerlegen. Die Anzeigeschnittstelle wird automatisch verwaltet. Da der Motor der Arbeitsstation mit dem Server kommunizieren kann, überträgt die Arbeitsstation nur die tatsächlich benutzten Datenfelder.
Die Arbeitsteilung zwischen Arbeitsstation und Server ist eindeutig festgelegt. Sie erfolgt automatisch durch 4th Dimension. Sie benötigen dafür keine besonderen Kenntnisse. Sie kann vielmehr zu neuen Strategien für Ihre Anwendungen beitragen.