4D Server Architektur

4D - Documentation   Français   English   German   4D Server, Inhalt   Index   Back   Previous   Next

Version 2004 (Geändert)


Die 4D Server-Architektur ist leistungsstark, weil sich Arbeitsstationen und Server die Arbeit teilen.

Der Server speichert und verwaltet die Daten. Die Arbeitsstationen schicken dem Server Anfragen und erhalten von diesem die Ergebnisse.

Diese Architektur unterscheidet sich von den herkömmlichen Multiuser-Architekturen, denn sie benutzen Dateien gemeinsam (File-Sharing Prinzip)

Die 4D Server-Architektur gleicht den Client/Server-Architekturen, die mit vernetzten Stationen arbeiten. Es gibt jedoch zwei Unterschiede: Die grafische Client/Server-Architektur und die integrierte Client/Server-Architektur von 4th Dimension.

Das folgende Kapitel beschreibt die verschiedenen Möglichkeiten von 4D Server.

Arbeitsweise File Sharing (nicht bei 4D Server)


Alle Benutzer können auf dieselbe Datei zugreifen. Da aber kein Verwaltungsprogramm existiert, muss 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 der Daten-Engine als auch mit der Schnittstellenverwaltung von 4th Dimension.

Arbeitsstation und Server haben also auf ihrer eigenen Ebene weniger Arbeit.

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 dass 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 interpretiert, z.B. mit übergebenen Arrays.

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 die Engine 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.


4D - Documentation   Français   English   German   4D Server, Inhalt   Index   Back   Previous   Next