Version 2004.3 (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-/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.
Analog zu 4th Dimension Version 2004 ist auch in 4D Server ein einfach zu nutzendes Backup-System mit automatischem Logbuch integriert. Dadurch ist der sichere Betrieb gewährleistet.
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 4th Dimension 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, Cache-Trefferrate und Backup-Überwachung.
Automatische Konfigurierung und Skalierbarkeit: 4D Server ist für die Unterstützung 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 ein Plug-In hinzugefügt, entfernt oder geändert wird.
Automatische asynchrone Verbindungen zu lokalen und remote Clients über das Standard 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-/Prozess-/Benutzer-Kombination. Diese sitzungsorientierte Architektur macht es möglich, dass jeder Prozess Daten für jeden einzelnen Benutzer unabhängig und simultan verwalten kann. Im kontextuellen Modus stellt der Web Server in 4D Server Web Clients mit vielen Client/Server-Funktionalitäten 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 umfasst 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 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 4D Clients unter Windows und auf MacOS. 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 und MacOS Version von 4D Server können Sie 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 und jeder 4D Client enthält eine Web Server Engine, mit der Sie 4D Datenbanken direkt im Intra- oder 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. Sie können auch jeden 4D Client Rechner in einen Web Server umwandeln. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache im Kapitel Web Server, Ü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, dass 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 im Kapitel Trigger.
Serverprozeduren: Sie können 4D Methoden erstellen, die in einem eigenen Prozess 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 Prozess, 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 Prozess und kann so wie jeder andere Benutzerprozess ein individuelles Datenbankkontext haben, z.B. aktuelle Auswahlen. Die 4D Programmiersprache bietet außerdem Befehle, mit denen Client-Prozesse die Prozessvariablen 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 dass 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.
Integriertes Backup System: 4D Server enthält ein komplettes Backup-Modul mit automatischer Restore-Funktion. Damit können Sie eine Datensicherung im laufenden Betrieb ausführen, ohne die Anwendung zu beenden. Backups lassen sich in regulären Zeitabständen und ohne Einwirken des Benutzers automatisch oder manuell starten. Sie können auch festlegen, dass die Datenbank im Störfall automatisch wiederhergestellt bzw. neu gestartet wird.
Logbuch mit Auto-Restore: In der Praxis ändert sich der Datenbestand zwischen zwei Backups. Je mehr Personen mit einer Anwendung arbeiten, desto ärgerlicher ist ein Verlust. Durch die Logbuchfunktion des Backup wird sichergestellt, dass alle Änderungen am Datenbestand (automatisch) in einem Logbuch protokolliert werden. Kommt es z.B. zu einem Festplattenausfall, können Sie mit dem letzten Backup und dem aktuellen Logbuch den Stand vor dem PlattenCrash wiederherstellen.
Wird eine Anwendung nicht ordnungsgemäß beendet, z.B. durch einen Stromausfall, sind alle Änderungen seit dem letzten Speichervorgang des Caches verloren. Stellt 4D / 4D Server beim nächsten Start fest, dass Einträge im Logbuch noch nicht im Daten-File enthalten sind, werden diese intergriert.
Noch problematischer ist die Situation, wenn der Ausfall gerade dann passiert, wenn die Daten auf Platte gesichert werden. Das Resultat ist ein inkonsistenter, bzw. beschädigter Datenbestand. Selbst dieser worst case" ist für das integrierte Auto-Restore kein Problem. Sollte das Daten-File defekt sein, wird das letzte Backup wiederhergestellt und dann das Logbuch eingearbeitet auf Wunsch sogar automatisch!
Backup durch logisches Spiegeln: Bei kritschen Anwendungen, die z.B. 24 Stunden laufen müssen, können Sie ein Backup durch logisches Spiegeln einrichten. Tritt ein Zwischenfall in der laufenden Datenbank ein, können Sie sofort mit dem Duplikat der Datenbank weiterarbeiten.
Web Services anbieten und nutzen: Um eine 4D-Anwendung als SOAP-Server nutzen zu können, muss der Entwickler kaum Änderungen am bestehenen Code machen:
Mit nur einem Klick lassen sich bereits vorhandene Datenbankmethoden in publizierbare SOAP-Methoden umwandeln. Dabei erstellt 4D auf Wunsch auch die externe Dokumentation des gerade freigegebenen Dienstes in Form einer WSDL-Datei (Web Service Description Language). 4D 2004 unterstützt für Ihre eigenen Web-Services die beiden Typen RPC und DOC. Damit Sie eigene Web-Services anbieten können, muss der 4D-Web-Server aktiviert sein.
Um einen fremden" Web Service richtig aufrufen zu können, analysieren Sie die entsprechende WSDL-Datei. Der 4D Web Service-Assistent erledigt das für Sie und generiert automatisch eine Proxy-Methode, mit der Sie den Dienst dann nutzen können. Somit reduziert sich die Entwicklungszeit auf ein Minimum.
Update im Mehrplatz-Betrieb: Bei einem Funktions-Update in der Client/Server Installation
wird eine neue Struktur nur auf dem 4D Server eingespielt. Ist es eine neue, geänderte Strukturdatei der Anwendung, werden alle 4D Clients automatisch beim nächsten Zugriff mit den geänderten Objekten versorgt". Dieser automatische 4D-Update Mechanismus erlaubt Ihnen bzw. den Kunden in kürzester Zeit, eine neue Version Ihrer Anwendung einzusetzen.
In 4D 2004 ist das automatische Update der 4D Clients möglich. Diese können zentral am Server installiert werden. Technisch erzeugen Sie mit Anwendung erstellen" ein Client/ Server Paar Ihrer Applikation. Dieser Client wird auf den Arbeitsstationen installiert und damit gearbeitet. Spielen Sie nun auf dem Server-Rechner neue Versionen ein, z.B. basierend auf der Version 4D 2004.x, wird der bereits installierte Client automatisch aktualisiert.
Connectivity Plug-Ins: Mit den 4D Connectivity Plug-Ins 4D ODBC Pro, 4D for OCI, 4D for MySQL 2004, 4D for PostgreSQL 2004, 4D for ADO und 4D JDBC für 4D Server können 4D Server und 4D Client direkt auf andere Systeme 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.