Version 6.8 (Geändert)
4D Server ist der plattformunabhängige Daten- und Anwendungsserver für 4th Dimension im Mehrplatzbetrieb.
Dank der integrierten Architektur von 4D Server können Clients und Server eine einzige 4D Anwendung nutzen. Mit 4D Server ist es daher nicht mehr erforderlich, Client- und Server-Anwendungen getrennt voneinander zu entwickeln. 4D Server ist zudem ein Serversystem, das praktisch wartungsfrei" ohne Verwaltungsaufwand arbeitet: Es ist einfach zu installieren, zu verwenden und zu verwalten. Und es erlaubt die Entwicklung extrem kosteneffektiver Lösungen.
4D Server füllt die Lücke zwischen File-Sharing-gestützten Low-End-Systemen und komplexen RDBMS-Systemen auf SQL-Basis. Mit Hilfe von 4D Connectivity Plug-Ins kann jede 4D Server Anwendung problemlos mit vorhandenen Unternehmensdatenbanken genutzt werden. (Hierzu gehören beispielsweise ORACLE, Sybase oder beliebige andere ODBC-kompatible Datenquellen.) 4D Server erfüllt die Anforderungen von Arbeitsgruppen in Unternehmen beliebiger Größe und kann intuitiv und ohne besondere Vorkenntnisse verwendet werden.
In 4D Server integriert ist 4D Backup, das Dienstprogramm für Datensicherung und schnelles Wiederherstellen im Störfall.
Integrierte Back-end und Front-end Architektur
Mit 4D Server gibt es keinen Unterschied zwischen front-end und back-end Anwendungen. Client Software und Server Anwendung sind zwei Seiten desselben Produkts, nämlich 4th Dimension. Die 4D Server Anwendung selbst ist in zwei Teile gegliedert 4D Server und 4D Client diese entsprechen den Elementen der Client/Server Architektur.
4D Server, der Motor der Datenbank, liegt auf dem Server-Rechner. Er speichert und verwaltet die Datenbank auf dem Server und erlaubt Benutzern, von ihren eigenen Rechnern (Clients) aus in der Datenbank zu arbeiten.
Eine Kopie von 4D Client liegt auf jedem Client-Rechner. Mit 4D Client können Benutzer auf die Datenbank auf dem Server zugreifen und verschiedene Operationen ausführen. Sie können Daten hinzufügen, Berichte erstellen und die Struktur der Datenbank verändern. Alles, was mit 4th Dimension möglich ist, kann genauso mit 4D Server und 4D Client ausgeführt werden.
Weder zusätzliche Middleware noch weitere Entwicklungsphasen sind für den Einsatz in einer Client/Server-Umgebung erforderlich. 4th Dimension, 4D Client und 4D Server nutzen dieselben Tools für die Benutzeroberfläche, dieselbe Sprache und dasselbe Datenmanagement-System.
Jede Einzelplatzanwendung, die für eine Plattform (Windows oder Macintosh) erstellt wurde, kann mühelos auf eine Client/Server-Lösung für Arbeitsgruppen skaliert werden. Genauso ist umgekehrt die Abwärtsskalierung einer mit 4D Server generierten Anwendung auf eine Einzelplatzanwendung möglich.
Wartungsfreier Daten- und Anwendungs-Server
4D Server zeichnet sich durch dasselbe hohe Maß an Benutzerfreundlichkeit wie 4D aus.
4D Server ist ein echtes Plug&Play-System.
4D Server Verwaltungsfenster
Grafisch übersichtlich zusammengefaßte Informationen: Im 4D Server Hauptbildschirm werden alle wichtigen Informationen automatisch angezeigt: der für 4D Server reservierte Speicher, der Daten-Cache, Anzahl und Name der angemeldeten Benutzer, Anzahl und Status der laufenden Prozesse, Serveraktivität und Cache-Trefferrate.
Automatische Konfigurierung und Skalierbarkeit: 4D Server ist für die Unterstützung weiterer neuer Protokolle, neuer Clients und neuer Plug-Ins sowie für die Anbindung an andere Systeme ohne Neukonfigurierung oder Neuprogrammierung konzipiert.
Automatische und dynamische Aktualisierung sowie Versionskontrolle von Client-Workstations: Alle 4D Clients werden automatisch und dynamisch aktualisiert, wenn die Datenbank modifiziert oder wenn ein Plug-In hinzugefügt, entfernt oder geändert wird.
Automatische asynchrone Verbindungen zu lokalen und remote Clients über das standardmässige Netzwerkprotokoll TCI/IP: 4D Server und 4D Client kommunizieren über das TCP/IP Protokoll transparent miteinander, unabhängig auf welcher Plattform Client und Server laufen. Das TCP/IP Protokoll ist in alle Betriebssysteme integriert, so dass keine zusätzliche Installation notwendig ist.
Automatische Verwaltung von Sitzung und Status der 4D Client- und Web-Verbindungen:
Die 4D Server Datenbank-Engine generiert und verwaltet automatisch eine aktuelle Arbeitsumgebung für jede Tabelle-/Prozeß-/Benutzer-Kombination. Diese sitzungsorientierte Architektur macht es möglich, daß jeder Prozeß Daten für jeden einzelnen Benutzer unabhängig und simultan verwalten kann. 4D Server stellt automatisch sämtliche Client/Server-Funktionalitäten für Web-Browser zur Verfügung.
Automatische Datensatzsperre: 4D Server ermöglicht das automatische Sperren und Freigeben von Datensätzen, wodurch Probleme vermieden werden, die häufig durch das €ndern gerade verwendeter Objekte entstehen. Das Sperren von Datensätzen verhindert ebenfalls Probleme, die beim Sperren von Seiten oder Dateien auftreten können.
In der Benutzeroberfläche integriertes Nachrichtensystem: Die ursprünglich desktop-orientierte 4D Server Software umfaßt sämtliche Aspekte einer Bedienerführung, vereint mit modernen, integrierten Entwicklungsumgebungen. So kann 4D Server Clients über Wartungsarbeiten am Server informieren, etwa über geplante Unterbrechung von Verbindungen, Sicherungsvorgänge und vieles mehr.
Automatisierte Start- und Abmeldemethoden: 4D Server löst automatisch fünf Datenbankmethoden aus (On Server Startup, On Server Shutdown, On Server Open Connection, On Server Close Connection, On Web Connection). Die Methode On Server Startup kann automatisch alle Objekte initialisieren und laden, die möglicherweise während der weiteren Sitzung benötigt werden.
Ein unschlagbares Leistungsspektrum
4D Server bietet zusätzlich zu den Leistungsmerkmalen von 4th Dimension:
Datenmanagement im Mehrplatzbetrieb: Mehrere Benutzer können gleichzeitig in der Datenbank arbeiten. Sie können z.B. zur gleichen Zeit Datensätze hinzufügen, ändern, löschen, sortieren oder ausdrucken. 4D Server sorgt für die Datenintegrität, indem er Datensätze in Benutzung automatisch für die anderen Benutzer sperrt.
Enwicklung im Team: Entwickler können eine Datenbank einrichten bzw. modifizieren, an der andere Entwickler gerade arbeiten. 4D Server verwaltet automatisch die Daten der Arbeitsgruppen, indem er die gerade verwendeten Objekte sperrt und eine Versionskontrolle über ein Check-in/Check-out-System implementiert.
Plattformunabhängige Client /Server Architektur: 4D Server verwaltet die Datenbank für Macintosh und für Windows 4D Clients. Dazu gehört die simultane und plattformübergreifende Entwicklung im Team ebenso wie eine transparente Schnittstelle zu allen eingegebenen bzw. geänderten Daten auf den Arbeitsstationen, die auf verschiedenen Plattformen laufen.
4D Plug-In Architektur für Windows und MacOS: In der Windows Version von 4D Server können Sie über die Ordner Win4DX und Mac4DX sowohl Plug-Ins für Windows als auch für MacOS installieren. So lassen sich plattformunabhängige 4D Plug-Ins schnell und problemlos zwischen 4D Server und 4D Client aufteilen, unabhängig von der Plattform der Arbeitsstation.
Integrierter Web Server: 4D Server enthält eine Web Server Engine, mit der Sie 4D Datenbanken direkt im Internet publizieren können. Sie müssen weder ein Datenbanksystem, noch eine Web Site entwickeln, noch eine CGI Schnittstelle zwischen beiden einrichten. Ihre Datenbank ist Ihre Web Site. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache unter Web Dienste, Überblick.
Sicherheit der Verbindung via SSL (Secured Socket Layer): Sie können 4D Server Verbindungen verschlüsseln. Die "klassische" Client/Server Architektur kann das SSL Protokoll für die Kommunikation im gesicherten Modus verwenden. Weitere Informationen dazu finden Sie im Abschnitt Client/Server Verbindungen verschlüsseln.
Trigger: Ein Trigger ist eine Methode, die einer Tabelle zugewiesen ist. Es ist demnach eine Tabelleneigenschaft. Trigger rufen Sie nicht selbst auf, sie werden automatisch von der 4D Datenbank Engine aufgerufen, immer wenn Sie Datensätze in der Tabelle bearbeiten, d.h. Datensätze laden, hinzufügen, ändern und löschen. Sie können einfache Trigger schreiben und diese dann komplexer gestalten. Trigger können "illegale" Operationen auf die Datensätze Ihrer Datenbank verhindern. Sie können mit Triggern Operationen in einer Tabelle einschränken, oder versehentliches Löschen bzw. Verfälschen von Daten ausschließen. In einem Rechnungssystem können Sie beispielsweise verhindern, daß eine Rechnung ohne Angabe des Empfängers geschrieben werden kann. Mit 4D Server werden Trigger auf dem Server-Rechner ausgeführt. Die über Trigger festgelegten Regeln für die Datenbank gelten für alle Arbeitsstationen, egal, ob es sich um 4D Client handelt oder um eine Anwendung, die auf 4D Open basiert. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache unter Trigger.
Serverprozeduren: Sie können 4D Methoden erstellen, die in einem eigenen Prozeß lokal auf dem Server-Rechner laufen. In der Client/Server Terminologie wurde dafür der Begriff "Serverprozedur" eingeführt. 4D Server dagegen bietet eine Architektur, die weit über das gängige Konzept von Serverprozeduren hinausgeht. Mit 4D Server ist eine Serverprozedur ein eigener Server Prozeß, mit dem Ihr Code asynchron und unabhängig von allen anderen Prozessen auf dem Server- oder Client-Rechner läuft. In der herkömmlichen Client/Server Architektur führt eine Serverprozedur eine Anweisung aus und gibt ein Ergebnis synchron oder asynchron zurück. Mit 4D Server können Sie eine Serverprozedur starten, die während einer ganzen Client/Server Sitzung läuft und Anfragen von Clients beantwortet. Sie können auch genauso eine Serverprozedur einrichten, die nicht mit Clients interagiert, sondern über 4D Connectivity Plug-Ins oder 4D Open Daten mit einem SQL-Server oder einem anderen 4D Server abgleicht. Die Anzahl gleichzeitig ablaufender Serverprozeduren wird nur durch Hardware und Speicher begrenzt. Eine 4D Serverprozedur läuft in ihrem eigenen Prozeß und kann so wie jeder andere Benutzerprozeß ihr individuelles Datenbankkontext haben, z.B. aktuelle Auswahlen. Die 4D Programmiersprache bietet außerdem Befehle, mit denen Client-Prozesse die Prozeßvariablen jeder beliebigen Serverprozedur (einschließlich BLOB Variablen) lesen und schreiben können. Dadurch ist eine ausgeklügelte und flexible Kommunikation zwischen Clients und Serverprozeduren möglich. Schließlich können Sie mit Serverprozeduren auch neue und eigene Dienste in 4D Server hinzufügen. Weitere Informationen dazu finden Sie im Abschnitt Serverprozeduren.
Auf Client ausgeführte Serverprozeduren
Mit 4D Server können Sie von einem Server- oder Client-Rechner aus Serverprozeduren auf einem oder mehreren anderen Client-Rechnern ausführen. So können Sie die Verteilung des Arbeitsaufkommens optimieren oder Anwendungen erstellen, welche die Kommunikation zwischen den Clients ermöglicht. Weitere Informationen dazu finden Sie im Abschnitt Serverprozeduren.
Server Pfad: Sie können den Pfad auf eine Serverdatenbank mit einem Benutzerkennwort im Kennworteditor sichern. Der Benutzer erhält so durch einfaches Anklicken des Icons für den 4D Client Pfad Zugriff auf die Serverdatenbank. 4D Client greift über diesen Pfad automatisch auf die richtige Datenbank zu.
4D Open: Mit 4D Open, dem API (Application Programming Interface) für 4D Server können Benutzer über "fremde" Clients auf 4D Server Datenbanken zugreifen. Dies können sowohl Windows- als auch Macintosh-Anwendungen sein. 4D Open kann in 4th Dimension und 4D Client eingebunden werden. Benutzer können sich auch gleichzeitig an mehrere Server anschließen, so daß auch Systeme möglich sind, die auf mehrere Abteilungen oder auch Firmenstandorte verteilt sind. Wenn Sie 4D Open innerhalb von Triggern und Serverprozeduren einsetzen (also Methoden, die auf dem Server-Rechner ausgeführt werden), können Sie auch Systeme schreiben, bei denen sich 4D Server an andere 4D Server anbindet, um beispielsweise Daten automatisch zu reproduzieren oder verteilen. Kurzum, mit 4D Open wird 4D Server zum Client seiner eigenen Architektur.
4D Backup: 4D Backup erstellt Backup-Kopien von Ihrer Datenbank. Es gibt folgende Methoden: Sie können ein einfaches Backup auf der Festplatte erstellen, eine fortlaufende Logbuchdatei anlegen oder einen Spiegelserver als Duplikat Ihrer Datenbank einrichten. Wenn Sie 4D Backup in einer Datenbank installieren, wird es als Plug-In in 4th Dimension integriert. Arbeiten Sie mit 4D Server, können Sie die 4D Backup Plug-Ins auch vom Serverrechner aus öffnen.
Connectivity Plug-Ins: Mit den 4D Connectivity Plug-Ins 4D ODBC, 4D ORACLE und 4D SQL Server können 4D Server und 4D Client direkt auf Mini-Computer und Großrechneranlagen zugreifen, wie z.B. ORACLE, Sybase SQL Server, sowie auf jeden anderen Datenbankserver, der auf ODBC basiert. 4D Anwendungen können Daten von mehreren Servern gleichzeitig abfragen, zusammenstellen und das direkt in 4D oder über jeden beliebigen Web Browser, der auf 4D zugreifen kann.
Remote Verbindungen: Auf MacOS unterstützt 4D Server Fernverbindungen über ARA (Apple Remote Access). Weitere Informationen dazu finden Sie in der Dokumentation zu ARA.
Unter Windows unterstützt 4D Server Fernverbindungen über RAS (Remote Access System) Weitere Informationen dazu finden Sie in der Dokumentation zu Windows.
Das folgende Schema gibt einen Überblick über die einzelnen Teile: