Download 4D Server 2004 Administration

Transcript
4D Server®
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Administration
für Windows und Mac OS
4D Server®
© 2005 4D SA / 4D, Inc. Alle Rechte vorbehalten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4D Server Administration
Version 2004 für Windows ® und Mac™ OS
Copyright © 1985-2005 4D SA/4D Inc.
Alle Rechte vorbehalten
_––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––_____________________________________________________________________________________________________________________________________________________
Software und Handbuch unterliegen dem Copyright und dürfen weder ganz noch teilweise
vervielfältigt werden. Davon ausgenommen ist die Nutzung durch den Lizenznehmer
gemäß den Bestimmungen des Softwarelizenzvertrags.
4D, 4D Draw, 4D Write, 4D View, 4D Insider, 4D Server sowie 4th Dimension und das
4D Logo sind eingetragene Warenzeichen von 4D.
Windows und Microsoft sind eingetragene Warenzeichen von Microsoft Corporation.
Apple, Macintosh, Mac, ResEdit, und QuickTime sind Handelsnamen oder eingetragene
Warenzeichen von Apple Computer, Inc.
Mac2Win Software Copyright © 1990-2005, ist ein Produkt von Altura Software, Inc.
ACROBAT © Copyright 1987-2005, Secret Commercial Adobe Systems Inc. Alle Rechte
vorbehalten. ACROBAT ist eingetragenes Warenzeichen von Adobe Systems Inc.
Alle anderen Produktnamen sind Handelsnamen, eingetragene Warenzeichen oder
Copyrights der jeweiligen Hersteller.
WICHTIGER HINWEIS
Für die Verwendung der Software gilt der bei der Installation angezeigte Softwarelizenzvertrag. Durch Installation der Software erklären Sie sich an die Bestimmungen dieses
Vertrags gebunden. Bitte lesen Sie daher den Vertragstext vollständig und genau durch,
bevor Sie die Software installieren.
Inhalt
1. Einleitung
Überblick
4D Server Architektur
2. 4D Server in 10 Minuten
Die Installation prüfen
Eine Server Datenbank erstellen
Arbeitsstation an Server Datenbank anmelden
Die Datenbankstruktur festlegen
Daten mit 4D Server bearbeiten
Eine eigene Menüleiste hinzufügen
Gleichzeitig mit 4D Server arbeiten
4D Server ist ein Web Server
3. Backup
Backups verwalten
Logbuch verwalten
Daten wiederherstellen
Backup Journal
Backup – XML Datei
4. 4D Server verwalten
Das 4D Server Prozessfenster
4D Server beenden
Konfiguration und Cache-Speicher
Einstellungen zur Veröffentlichung
Client/Server Verbindungen verschlüsseln
7
9
16
21
23
25
30
35
38
44
49
57
69
71
87
96
104
105
107
109
114
116
123
125
4D Server
3
5. 4D Client verwalten
129
Dokument mit Pfad
4D Client anmelden
Eigene Elemente übertragen (Ordner Extras)
131
134
138
6. 4D Server Menüs
Menü Datei/Ablage
Menü Bearbeiten
Menü Prozesse
Menü Daten
Menü Web Server
Menü Hilfe
141
145
146
150
152
153
7. 4D Programmiersprache
Einführung
4D Server und Mengen
Datenbankmethode On
Datenbankmethode On
Datenbankmethode On
Datenbankmethode On
4
139
Server Startup
Server Shutdown
Server Open Connection
Server Close Connection
155
157
159
163
164
165
171
8. Serverprozeduren
173
Serverprozeduren
Import mit Serverprozeduren (Beispiel)
Service mit Serverprozeduren (Beispiel)
Clients registrieren
175
185
188
200
4D Server
4D Server
5
6
4D Server
1
________________________
Einleitung
4D Server
7
8
4D Server
Überblick
Einleitung
Version 2004 (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.
4D Server
9
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.
10
4D Server
Automatische und dynamische Aktualisierung sowie Versionskontrolle von ClientWorkstations: 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 desktoporientierte 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.
4D Server
11
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.
12
4D Server
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 Serveroder Client-Rechner aus Serverprozeduren auf einem oder mehreren anderen ClientRechnern 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 Server
13
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!
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.
14
4D Server
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.
4D Server
15
4D Server Architektur
Einleitung
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/ServerArchitektur 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.
16
4D Server
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.
4D Server
17
• 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).
18
4D Server
• Low-level Datenbankoperationen: 4D Server führt Datenbankoperationen, wie Suchund 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 Server
19
20
4D Server
2
________________________
4D Server in 10 Minuten
4D Server
21
22
4D Server
Die Installation prüfen
4D Server in 10 Minuten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Dieses Kapitel gibt eine kurze Einführung in folgende Bereiche:
• Eine Server Datenbank erstellen
• Clients an die erstellte Server Datenbank anmelden
• Eine Datenbankstruktur einrichten, inkl. Tabellen, Datenfeldern,
Formularen und Methoden
• Einen zweiten Benutzer anmelden und gleichzeitig arbeiten
• Verbindung mit einem Web Browser
Zur Durchführung dieser Schritte benötigen Sie
• Einen Rechner, auf dem 4D Server installiert ist
• Zwei Rechner, auf denen 4D Client installiert ist
• Einen Rechner, auf dem ein Web Browser installiert ist.
(Das kann auch einer der Client-Rechner sein.)
Bevor Sie zum ersten Mal mit 4D Server und 4D Client arbeiten, sollten Sie Ihre
Installation prüfen. Lesen Sie dazu die nachfolgenden Abschnitte.
Installierte Elemente
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Haben Sie 4D Server und 4D Client in den Ordnern installiert, die das Programm
standardmäßig vorgibt, liegen auf Ihrer Festplatte folgende Ordner und Dateien:
4D Server
Im Installationsordner Programme/4D wurde der Ordner 4D Server angelegt:
• Unter Windows enthält er das 4D Server Programm, die dazugehörigen Dateien und den
Ordner 4D Extensions. Klicken Sie auf das Icon 4dserver.exe, um 4D Server zu starten.
• Auf MacOS enthält er das 4D Server Software Paket. Um 4D Server zu starten, klicken Sie
einfach auf dieses Paket.
4D Client
Im Installationsordner Programme/4D wurde der Ordner 4D Client angelegt.
• Unter Windows enthält er das 4D Client Programm, die dazugehörigen Dateien und
den Ordner 4D Extensions. Klicken Sie auf das Icon 4dclient.exe, um 4D Client zu starten.
• Auf MacOS enthält er das 4D Client Software Paket. Um 4D Client zu starten, klicken
Sie einfach auf dieses Paket.
4D Server
23
Wie geht es weiter?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Ihre Rechner können nur über das Netzwerk miteinander kommunizieren, wenn das Netzwerkprotokoll TCP/IP konfiguriert ist.
Sind 4D Server und 4D Client korrekt installiert, gehen Sie zum nächsten Abschnitt Eine
Server Datenbank erstellen. Fehlen einige der oben aufgelisteten Ordner, schlagen Sie dazu
im Installationshandbuch 4D Produkte nach.
24
4D Server
Eine Server Datenbank erstellen
4D Server in 10 Minuten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Dieser Abschnitt beschreibt, wie Sie eine Server Datenbank erstellen, auf die 4D Client
bzw. ein Web Browser über das Netzwerk zugreifen können. Bevor Sie zum ersten Mal mit
4D Server und 4D Client arbeiten, sollten Sie Ihre Installation prüfen. Lesen Sie dazu im
Abschnitt Die Installation prüfen nach.
Um eine 4D Server Datenbank zu öffnen, bzw. eine vorhandene zu erstellen, starten Sie
4D Server.
1. Doppelklicken Sie auf das Icon 4D Server.
Auf dem Bildschirm erscheint der Willkommensdialog.
4D Server
25
Hier können Sie eine bestehende Datenbank öffnen, eine neue einrichten oder eine
archivierte Datenbank wiederherstellen.
In diesem Beispiel erstellen wir eine leere Datenbank.
2. Klicken Sie am linken Rand auf das Icon Neue Anwendung.
26
4D Server
Auf dem Bildschirm erscheint folgendes Dialogfenster:
3. Klicken Sie auf die Schaltfläche Erzeuge Anwendung.
Auf dem Bildschirm erscheint ein Standard-Sichern Dialog, in dem Sie Name und Position
der neuen Datenbank angeben.
4. Geben Sie "Angestellte" ein und klicken auf die Schaltfläche Speichern.
4D Server erstellt automatisch die erforderlichen Dateien und Ordner für das Operieren
der Datenbank. Dann erscheint das Prozessfenster.
4D Server
27
Es besteht aus mehreren Teilen.
Der obere Teil enthält allgemeine Angaben über den Server und die verwendeten Dateien;
der mittlere Teil zeigt den Backup-Status der Datenbank und Informationen zum Speicher;
der untere Teil enthält Informationen über die aktuelle Serveraktivität.
Derzeit sind keine Clients an die Datenbank angemeldet, die Anzahl der Anwender zeigt
Null an. Standardmäßig werden vier Prozesse angezeigt. Diese Prozessse werden von der
Datenbank-Engine (Kernel) und dem integrierten Web Server angelegt.
Der untere Bereich listet die angemeldeten Benutzer und die Prozesse auf. Sind keine
Arbeitsstationen angeschlossen, wird nur die Aktivität der Server-Engine angezeigt.
28
4D Server
Wie geht es weiter?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbank steht nun über das Netzwerk für die Anbindung von Windows und/oder
Macintosh 4D Client zur Verfügung. Sie ist jedoch noch nicht für Web Anbindungen
verfügbar, da diese nicht standardmäßig zugelassen sind.
Weitere Informationen dazu finden Sie im nächsten Abschnitt Arbeitsstation an Server
Datenbank anmelden. Sie lernen zuerst, wie Sie die Arbeitsstationen mit 4D Client
anmelden, wie Sie die Struktur der Datenbank festlegen und einige Datensätze in der
Datenbank anlegen.
4D Server
29
Arbeitsstation an Server Datenbank anmelden 4D Server in 10 Minuten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Bevor Sie zum ersten Mal mit 4D Server und 4D Client arbeiten, sollten Sie Ihre Installation prüfen. Weitere Informationen dazu finden Sie im Abschnitt Die Installation prüfen.
Dieser Abschnitt beschreibt folgendes:
• Arbeitsstationen an die erstellte Server Datenbank anmelden.
• Eine Datenbankstruktur anlegen. Sie lernen auch, Tabellen und Datenfelder in der
Datenbank zu erstellen, neue Datensätze einzugeben und bestehende Datensätze zu
ändern.
• Einen zweiten Client anmelden.
• Gleichzeitig arbeiten.
Anmelden an die Datenbank
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Obwohl Sie die Datenbank mit 4D Server erstellt haben (Siehe Abschnitt Eine Server
Datenbank erstellen), werden alle Änderungen in der Datenbankstruktur sowie der aktuelle
Datenbestand auf der Arbeitsstation angezeigt. Dieser Abschnitt beschreibt, wie Sie eine
Arbeitsstation an den Server anschließen und von dort aus die Server Datenbank öffnen.
1. Doppelklicken Sie auf das Icon 4D Client.
30
4D Server
Auf dem Bildschirm erscheint der Anmeldedialog:
2. Klicken Sie auf die Registerkarte TCP/IP, um die Liste der über das Netzwerk laufenden
Datenbanken anzuzeigen.
4D Server
31
In der Liste erscheint die Datenbank "Angestellte":
3. Wählen Sie "Angestellte.4DB" und klicken Sie auf die Schaltfläche OK.
Die Datenbank wird auf der Arbeitsstation in der Designumgebung geöffnet. Sie können
sofort mit der Strukturierung Ihrer Datenbank beginnen.
Hinweis: Erscheint nicht der Name der Datenbank, die Sie soeben mit 4D Server erstellt
haben, überprüfen Sie folgende Punkte:
• Läuft 4D Server noch auf dem anderen Rechner?
• Sind Ihre Rechner an das Netzwerk angeschlossen?
• Sind die TCP/IP Einstellungen auf beiden Rechnern korrekt?
• Sind Sie noch nicht vertraut mit diesen Dialogfenstern, lesen Sie den Abschnitt Eine
Server Datenbank erstellen.
32
4D Server
Server Aktivität
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Im Prozessfenster von 4D Server erscheint der Benutzername, die Anzahl der angemeldeten Anwender zeigt Eins (1) an.
Es laufen nun insgesamt sechs Prozesse:
Die ersten vier Prozesse betreffen den Server, sie wurden beim Starten von 4D Server eingerichtet. Die beiden neuen Prozesse betreffen den ersten Benutzer, der sich am Server
angemeldet hat:
• Der Design-Prozess verwaltet die Designumgebung. Sobald Sie den Design-Prozess auf
dem Client-Rechner über den Befehl "Struktur schließen" im Menü "Datei/Ablage"
schließen, wird der Design-Prozess auf dem Server beendet.
4D Server
33
• Der Benutzer-/Runtimeprozess verwaltet die Benutzer- und die Runtime-Umgebung.
Jeder weitere Benutzer fügt in der Prozessliste mindestens zwei Prozesse hinzu. Wollen Sie
die Prozesse eines Benutzers ausblenden, klicken Sie unter Windows auf das Kreuz, auf
Macintosh auf den Pfeil links neben dem Benutzernamen. Wollen Sie die Prozesse eines
Benutzers wieder einblenden, klicken Sie erneut unter Windows auf das Kreuz, auf
Macintosh auf den Pfeil.
Wie geht es weiter?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie sind jetzt angemeldet und können mit der Datenbank arbeiten. Ihnen stehen alle
Funktionalitäten, die 4th Dimension in der Einzelplatzumgebung hat, zur Verfügung. Als
nächstes definieren Sie die Struktur der Datenbank. Gehen Sie dazu zum Abschnitt Die
Datenbankstruktur festlegen.
34
4D Server
Die Datenbankstruktur festlegen
4D Server in 10 Minuten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Nachdem Sie an die Server Datenbank anmeldet sind (siehe Abschnitt Eine Arbeitsstation
an die Server Datenbank anmelden), bringen Sie das Strukturfenster in den Vordergrund.
Die neue Datenbank zeigt eine Tabelle mit dem Standardnamen [Tabelle1] an.
Die Tabelle benennen
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Doppelklicken Sie auf den Namen von [Tabelle1].
ODER
klicken Sie unter Windows mit der rechten Maustaste, auf MacOS mit gedrückter ctrlTaste auf [Tabelle1] und wählen Sie im Kontextmenü den Befehl Tabelleneigenschaften.
Im Inspektor erscheint die Seite Tabelleneigenschaften.
2. Geben Sie im Bereich Tabelle den Namen "Angestellte" ein und klicken Sie auf die
Schaltfläche Anwenden.
3. Klicken Sie im Inspektor auf die Schaltfläche Anwenden.
4D Server
35
4. Klicken Sie unter Windows mit der rechten Maustaste, auf MacOS mit gedrückter ctrlTaste auf [Tabelle1] und wählen Sie im Kontextmenü den Befehl Neues Feld.
Im Inspektor erscheint die Seite Feldeigenschaften.
5. Legen Sie in der Tabelle [Angestellte] folgende Datenfelder an:
Feldname
Vorname
Name
Gehalt
Abteilung
Typ
Alphanumerisch (20 Zeichen)
Alphanumerisch (20 Zeichen)
Zahl
Alphanumerisch (20 Zeichen)
Geben Sie für jedes Datenfeld den Namen ein, wählen Sie den Feldtyp und klicken Sie auf
die Schaltfläche Hinzufügen.
Haben Sie alle Datenfelder festgelegt, schließen Sie das Fenster Inspektor.
Hinweis: Arbeiten andere 4D Clients zur gleichen Zeit in der Server-Datenbank,
erscheinen die Datenfelder, die Sie gerade angelegt haben, nach ein paar Sekunden auf
diesen Client-Rechnern. Die Änderungen werden in Echtzeit auf den Server übertragen,
erscheinen aber nicht sofort auf den anderen Bildschirmen, um zu häufiges Aktualisieren
zu vermeiden.
36
4D Server
Fomulare für die Tabelle [Angestellte] erstellen
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Nachdem Sie die Tabelle [Angestellte] erstellt haben, benötigen Sie Formulare, um mit den
Datensätzen arbeiten zu können. Sie können dafür den Formularassistenten verwenden
und Formulare für Ihren Bedarf erstellen. 4D Server bietet jedoch praktische Tastaturkürzel
für die rasche Erstellung von Ein- und Ausgabeformularen.
1. Wählen Sie im Menü Modus den Befehl Benutzer.
Sie wechseln in die Benutzerumgebung. 4D Server stellt fest, dass der Tabelle noch keine
Formulare zugeordnet sind und fragt Sie, ob das Programm diese anlegen soll.
2. Klicken Sie auf die Schaltfläche Ja.
4th Dimension erstellt automatisch ein Eingabeformular und ein Ausgabeformular. Im
Eingabeformular können Sie Datensätze einzeln hinzufügen bzw. anzeigen. Im
Ausgabeformular können Sie mehrere Datensätze in einer Liste hinzufügen bzw.
anzeigen.
Wie geht es weiter?
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können nun Daten in der Server-Datenbank eingeben und bearbeiten. Gehen Sie zum
nächsten Abschnitt Daten mit 4D Server bearbeiten.
4D Server
37
Daten mit 4D Server bearbeiten
4D Server in 10 Minuten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Im Abschnitt Die Datenbankstruktur festlegen haben Sie die Tabelle [Angestellte] und
Standardformulare dafür erstellt. Sie können nun Datensätze eingeben.
Datensätze eingeben
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In der Benutzerumgebung geben Sie Datensätze ein, suchen danach oder ändern und
drucken Ihre Datensätze. Sind Sie noch nicht in der Benutzerumgebung, wählen Sie im
Menü Modus den Befehl Benutzer. Auf dem Bildschirm erscheint das standardmäßige
Ausgabeformular. Es wird automatisch angelegt und ist noch leer.
1. Wählen Sie im Menü Datensätze den Befehl Neuer Datensatz.
Es erscheint ein leeres Eingabeformular.
2. Geben Sie Ihren ersten Datensatz ein.
Wechseln Sie per Mausklick oder mit der Tabulatortaste von einem Feld in das nächste.
3. Klicken Sie am linken Rand auf die Schaltfläche Bestätigen. Der Datensatz wird
gesichert.
Auf dem Bildschirm erscheint eine neues Leerformular zur weiteren Eingabe von
Datensätzen.
38
4D Server
4. Geben Sie fünf weitere Datensätze mit folgenden Werten ein:
Name
Fürst
Klein
Müller
Weiß
Pechmann
Vorname
Alexander
Thomas
Andrea
Bernhard
Claudia
Gehalt
4500
4000
3450
4500
3400
Abteilung
Vertrieb
Versand
Vertrieb
Technik
Versand
5. Haben Sie den letzten Datensatz eingegeben, klicken Sie auf Abbrechen (Icon mit
Kreuz am linken Rand), um das neue Leerformular zu annullieren. 4D Server kehrt zum
Ausgabeformular zurück.
6. Werden nicht alle sechs Datensätze angezeigt, wählen Sie im Menü Datensätze den
Befehl Alle anzeigen. Ihr Bildschirm sollte folgendermaßen aussehen:
Die Datensätze sind nun in der Datenbank auf dem Server-Rechner gespeichert. Meldet
sich eine zweite Arbeitsstation auf dem Server-Rechner an, kann sie die soeben
eingegebenen Datensätze anzeigen. Ebenso können Sie von Ihrer Arbeitsstation aus alle
Datensätze anzeigen, die in der Datenbank gespeichert sind, inkl. der Datensätze, die von
anderen Arbeitsstationen eingegeben wurden. Jeder Benutzer hat Zugang zu den
Datensätzen, die auf dem Server gespeichert sind.
4D Server
39
Datensätze suchen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sobald Sie Datensätze in der Tabelle [Angestellte] eingegeben haben, können Sie mit den
Datensätzen arbeiten, z.B. Such- oder Sortierläufe durchführen oder drucken.
Sie können beispielsweise nach den Angestellten einer Abteilung suchen.
1. Klicken Sie in der Menüleiste auf das Icon für Suchen.
Auf dem Bildschirm erscheint der Sucheditor.
2. Klicken Sie im Bereich Verfügbare Felder auf "Abteilung", in der Liste Vergleiche auf “ist
gleich”und geben Sie im Bereich Wert "Technik" ein.
Der Sucheditor sieht jetzt folgendermaßen aus:
3. Klicken Sie am unteren Rand auf die Schaltfläche Suche.
Die Anfrage wird an den 4D Server gesendet, 4D Server sendet das Ergebnis an den Client
zurück. Im Ausgabeformular erscheinen nur die Angestellten der Abteilung Technik.
4. Wollen Sie wieder alle Datensätze anzeigen, wählen Sie im Menü Datensätze den
Befehl Alle anzeigen.
40
4D Server
Ein Diagramm erstellen
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Wählen Sie im Menü Bericht den Befehl Diagramme.
Auf dem Bildschirm erscheint der Diagramm-Assistent:
Sie erstellen ein 2D Säulendiagramm. Diese Art ist standardmäßig ausgewählt.
4D Server
41
2. Klicken Sie am unteren Rand auf die Schaltfläche Nächste.
Auf dem Bildschirm erscheint das Fenster Diagramm-Assistent. Hier müssen Sie die Daten
für Ihr Diagramm auswählen.
3. Ziehen Sie das Datenfeld Name per Drag & Drop in den Bereich Kategorie (X Achse).
42
4D Server
4. Ziehen Sie das Datenfeld Gehalt per Drag & Drop in den Bereich Werte (Z Achse).
5. Klicken Sie auf die Schaltfläche OK.
Ihr Diagramm sieht folgendermaßen aus.
Wie geht es weiter?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie haben in wenigen Minuten eine Server Datenbank erstellt, eine Tabelle angelegt,
Datensätze eingegeben und dann mit diesen Daten eine Suche ausgeführt und ein
Diagramm erzeugt.
Sie lernen nun, eine eigene Menüleiste hinzuzufügen. Gehen Sie zum nächsten Abschnitt
Eine eigene Menüleiste hinzufügen.
4D Server
43
Eine eigene Menüleiste hinzufügen
4D Server in 10 Minuten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In diesem Abschnitt erstellen Sie zwei Methoden und eine eigene Menüleiste, d.h. Sie
erstellen Ihre eigene 4D Anwendung.
Zwei Methoden hinzufügen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Kehren Sie in die Designumgebung zurück. Wählen Sie dazu im Menü Modus den
Befehl Design.
2. Wählen Sie im Menü Datei/Ablage den Befehl Neu>Methode.
Es erscheint das Dialogfenster Neue Methode.
3. Geben Sie im Bereich Methodenname “M_Hinzufügen” ein und klicken Sie auf die
Schaltfläche OK.
Auf dem Bildschirm erscheint das Methodenfenster mit dem Titel "Hinzufügen"
4. Geben Sie folgenden Code ein:
44
4D Server
5. Erstellen Sie eine 2. Methode mit Namen “M_Suchen” und geben Sie folgenden Code
ein:
Haben Sie beide Methoden erstellt, können Sie eine eigene Menüleiste einrichten und
diese Methoden Ihren eigenen Menübefehlen hinzufügen.
Eine eigene Menüleiste einrichten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Wählen Sie im Menü Design den Befehl Toolbox>Menüs.
4D Server
45
Auf dem Bildschirm erscheint der Menüeditor mit der Standard Menüleiste.
2. Klicken Sie unter der Liste der Menüleisten auf das Pluszeichen und wählen den Eintrag
Neues Menü.
3. Geben Sie den Menünamen “Angestellte” ein.
4. Markieren Sie den Eintrag Neue Zeile, um diesem Menü einen Befehl hinzuzufügen.
5. Geben Sie für den ersten Befehl im Textbereich “Hinzufügen” ein und klicken Sie auf
die Eingabetaste.
6. Markieren Sie erneut den Eintrag Neue Zeile, um diesem Menü einen zweiten Befehl
hinzuzufügen.
7. Geben Sie “Suchen” ein.
46
4D Server
Ihre Menüleiste sieht folgendermaßen aus:
8. Klicken Sie auf den Menübefehl “Hinzufügen” und geben Sie im Bereich
Methodenname “M_Hinzufügen” ein.
9. Klicken Sie auf den Menübefehl “Suchen”und geben Sie im Bereich Methodenname
“M_Suchen” ein.
Ihre Menüleiste sieht nun folgendermaßen aus:
10. Schließen Sie das Fenster Toolbox.
Ihr eigenes Menü ist fertig!
11. Wählen Sie im Menü Modus den Befehl Runtime.
4D Server
47
Sie verwenden jetzt Ihre eigene Anwendung mit den selbsterstellten Menüs.
Wählen Sie beispielsweise im Menü Angestellte den Befehl Suchen, erscheint der
Sucheditor (der integrierte Sucheditor aus der Benutzerumgebung). Sie können Ihre Suche
definieren, die daraus resultierenden Datensätze anzeigen und ändern.
Sie haben, ohne zu wissen, soeben eine Mehrplatz-Anwendung entwickelt!
Die Erklärung dafür finden Sie im nächsten Abschnitt Gleichzeitig mit 4D Server arbeiten.
48
4D Server
Gleichzeitig mit 4D Server arbeiten
4D Server in 10 Minuten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Arbeiten Sie das Lernprogramm unter Windows durch, können Sie diese Server-Datenbank
ohne Änderungen auf Macintosh verwenden. Arbeiten Sie das Lernprogramm auf
Macintosh durch, können Sie diese Server-Datenbank ebenfalls ohne Änderungen unter
Windows verwenden.
Eine zweite Arbeitsstation anmelden
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Melden Sie für dieses Lernprogramm je einen 4D Client für Windows und für MacOS an.
Sobald dieser angemeldet ist, wird im 4D Server Prozessfenster ein zweiter Benutzer
eingetragen:
Auf jeder Arbeitsstation können Sie alles, was Sie auf der anderen Plattform eingerichtet
haben, sofort verwenden.
4D Server
49
Die Designumgebung des Windows-Client sieht folgendermaßen aus:
Alle sechs Datensätze und die beiden Methoden stehen zur Verfügung.
Gleichzeitig mit Datensätzen arbeiten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Wechseln Sie auf der ersten Arbeitsstation in den Runtime-Modus und wählen im
Menü Angestellte den Befehl Suchen. Suchen Sie nach den Datensätzen mit dem
Kriterium "Abteilung ist gleich Technik".
2. Wiederholen Sie denselben Vorgang für die zweite Arbeitsstation.
Sie erhalten auf beiden Rechnern dieselbe Liste.
3. Doppelklicken Sie auf der ersten Arbeitsstation auf den Datensatz “Hannes Emsheim”.
4. Wiederholen Sie denselben Vorgang für die zweite Arbeitsstation.
4D Server aktiviert den eingebauten Mechanismus zum Sperren von Objekten.
50
4D Server
Sie erhalten die Meldung, dass der Datensatz bereits benutzt wird:
Sie können diesen Datensatz aber im Lesemodus öffnen, d.h. Sie können ihn anzeigen,
jedoch nicht ändern.
5. Ändern Sie auf der ersten Arbeitsstation den Vornamen um in “Michael” und
bestätigen Sie Ihre Änderungen.
Auf dem Bildschirm erscheint die aktualisierte Liste:
4D Server
51
6. Annullieren Sie auf der zweiten Arbeitsstation die Anzeige des Datensatzes im
Eingabeformular.
Auf dem Bildschirm erscheint ebenfalls die aktualisierte Liste:
Gleichzeitig mit Design Objekten arbeiten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4D Server ist Daten- und Anwendungsserver zugleich. Das bedeutet folgendes:
1. Drücken Sie auf der zweiten Arbeitsstation die Escape-Taste und wählen Sie im Menü
Modus den Befehl Design.
2. Wiederholen Sie diesen Vorgang auf dem ersten Rechner.
3. Wählen Sie auf der ersten Arbeitsstation im Menü Design den Befehl
Explorer>Formular.
52
4D Server
Auf dem Bildschirm erscheint das Fenster Explorer.
4. Erweitern Sie die Tabelle [Angestellte].
5. Doppelklicken Sie auf das Eingabeformular und klicken auf die Schaltfläche Bearbeiten.
4D Server
53
Auf dem Bildschirm erscheint folgendes Fenster:
6. Wiederholen Sie diesen Vorgang auf dem zweiten Rechner.
Da dieses Formular bereits auf der ersten Arbeitsstation im Bearbeitungsmodus geöffnet
ist, sperrt 4D Server diesen Vorgang. Sie erhalten folgende Meldung:
Sie können dieses Formular auf der zweiten Arbeitsstation zwar nicht bearbeiten, jedoch
Objekte auswählen und in anderen Formulare einsetzen.
54
4D Server
Das Schloss in der Ecke oben links weist darauf hin, dass Sie keine Änderungen
vornehmen können.
7. Wählen Sie auf der ersten Arbeitsstation die Bezeichnung "Name" links neben der
Tabelle [Angestellte].
8. Wählen Sie im Menü Objekt>Farbe in der Farbpalette einen roten Farbton, um dieses
Objekt rot einzufärben.
9. Wählen Sie im Menü Datei/Ablage den Befehl Speichern Formular
[Angestellte]Angabe.
10. Schließen Sie das Formular auf der zweiten Arbeitsstation und öffnen es wieder, um es
neu zu laden.
Auf dem Bildschirm erscheint nun das Formular mit den Änderungen, die Sie auf der
ersten Arbeitsstation gemacht haben.
Wie Sie sehen, können mit 4D Server mehrere Benutzer gleichzeitig an derselben
Datenbank arbeiten!
4D Server
55
Den Server abschalten
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4D Server informiert nicht nur die Arbeitsstationen, wenn mehrere Benutzer gleichzeitig
auf denselben Datensatz oder dasselbe Objekt zugreifen wollen, sondern auch wenn der
Server abgeschaltet wird.
1. Beide Arbeitsstationen bleiben an die Server-Datenbank angeschlossen. Wählen Sie auf
dem Server-Rechner unter Windows im Menü Datei, auf MacOS im Menü 4D Server den
Befehl Beenden.
Auf dem Bildschirm erscheint folgender Dialog:
2. Klicken Sie auf die Schaltfläche OK.
Die beiden Arbeitsstationen erhalten unmittelbar darauf die Meldung, dass der Server
abgeschaltet wird. Legt ein Benutzer gerade einen neuen Datensatz an, bleibt ihm
genügend Zeit, die Eingabe zu beenden und zu sichern.
Sie können beim Abschalten des Servers auch die Option “Warte bis alle Benutzer
abgemeldet sind" verwenden.
3. Während der Server abschaltet, beenden Sie 4D Client auf den beiden Arbeitsstationen.
Wie geht es weiter?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Nach diesen neun intensiven Minuten und bis der Server abgeschaltet hat, gönnen Sie
sich eine Kaffeepause.
Im nächsten Abschnitt 4D Server ist ein Web Server sehen Sie, wie Sie den in 4D Server
integrierten Web Server nutzen können.
56
4D Server
4D Server ist ein Web Server
4D Server in 10 Minuten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Starten Sie die Server Datenbank erneut, indem Sie 4D Server starten und öffnen Sie Ihre
Datenbank "Angestellte".
Melden Sie eine Arbeitsstation an der Datenbank an.
Erstellen Sie rasch ein Formular, das sich zur Veröffentlichung im Web eignet.
Gehen Sie in den Designmodus und wählen Sie im Menü Datei/Ablage den Befehl Neu
>Formular.
Auf dem Bildschirm erscheint der Formularassistent:
Nehmen Sie folgende Einstellungen vor:
• Formularname: “Web Eingabe”
• Formulartyp: Detail-Formular
• Verwendete Vorlage: Web Aware
• Verfügbare Felder: Klicken Sie auf die Schaltfläche “Alle Felder hinzufügen”.
4D Server
57
Der Assistent sollte nun folgendermaßen aussehen:
Klicken Sie auf die Schaltfläche Benutzen.
58
4D Server
Auf dem Server-Rechner gibt es einen angemeldeten Benutzer:
Prüfen Sie zuerst im Menü Web Server, ob der Web Server aktiviert ist. Wenn nicht,
starten Sie ihn mit dem Menübefehl Start Web Server.
Um zu prüfen, ob der Web Server läuft, starten Sie einen Browser auf einem anderen
Rechner und geben Sie die IP Adresse des Server-Rechners im "Adressbereich" des Browsers
ein (in der Regel vom Typ 123.45.67.89).
4D Server
59
Auf dem Bildschirm sollte die Standard Home Page des Web Servers erscheinen:
Als nächstes konfigurieren Sie den Web Server so, dass er im kontextuellen Modus startet.
In diesem Modus kommen die Web Seiten von der dynamischen Umwandlung der 4D
Formulare und Menüleisten. Der kontextuelle Modus eignet sich besonders zur raschen
Veröffentlichung einer bestehenden Datenbank. Weitere Informationen dazu finden Sie
im Handbuch 4th Dimension Programmiersprache im Kapitel Kontextueller Modus.
Wählen Sie auf dem Server Rechner im Menü Bearbeiten den Befehl Einstellungen,
öffnen Sie die Seite “Web (Server)/Konfiguration” und führen Sie folgende Änderungen
aus:
• Prüfen Sie, ob die Datenbank beim Start veröffentlicht wird
• Entfernen Sie die Standard Home Page (um die Menüleiste als Home Page zu
verwenden)
• Markieren Sie die Option “Kontextueller Modus”.
60
4D Server
Ihr Bildschirm sollte folgendermaßen aussehen:
Gehen Sie zum Rechner zurück, auf welchem der Web Browser läuft und aktualisieren Sie
die Server-Verbindung.
4D Server
61
Sie erhalten nun die Web Version Ihrer eigenen Menüleiste (evtl. müssen Sie auch den
Cache-Speicher des Browser leeren):
Wie Sie sehen, mussten Sie dafür weder HTML Code schreiben noch ein CGI Plug-In
einbinden – 4D Server ist also auch ein Web Server!
62
4D Server
Die kontextuelle Web Anbindung erscheint auf dem Server-Rechner im Prozessfenster:
Klicken Sie im Web Browser auf die Schaltfläche Suche.
4D Server hat das Standardfenster des Sucheditors "on the fly" in eine HTML Seite
übersetzt. Definieren Sie die Suche “Abteilung ist gleich Technik”.
4D Server
63
Ihr Suchergebnis sieht folgendermaßen aus:
4D Server übersetzt die 4D Daten dynamisch in Web Daten und zeigt die Liste der
Datensätze an.
Öffnen Sie den ersten Datensatz über das Icon in der linken Spalte.
64
4D Server
Das Eingabeformular, das Sie mit 4D Client verwendet haben, erscheint als Web Seite:
Ändern Sie den Vornamen um in "Hans" und klicken Sie auf die Schaltfläche Bestätigen.
Wechseln Sie in die Liste der Datensätze.
4D Server
65
Die Änderung ist bereits berücksichtigt:
Wechseln Sie nun auf dem Client-Rechner in die Benutzerumgebung. Auch hier ist die
Änderung bereits berücksichtigt:
66
4D Server
Zusammenfassung
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In nur 10 Minuten – außer Sie hatten eine Kaffeepause – haben Sie gelernt, mit 4D Server
zu arbeiten:
• Sie haben von Grund auf eine Datenbank erstellt.
• Sie haben eine Tabelle eingerichtet und 4D Server angewiesen, dafür
Formulare zu erstellen.
• Sie haben Datensätze angelegt und damit gearbeitet.
• Sie haben Ihre Anwendung mit einer eigenen Menüleiste ausgestattet.
• Sie haben die Server Datenbank unter Windows und auf Macintosh eingesetzt.
• Sie haben den Server abgeschaltet und erneut gestartet.
• Sie haben die Server Datenbank gleichzeitig mit 4D Client und im Web verwendet.
Schließlich haben Sie drei eigene Anwendungen erstellt (Windows, Macintosh und Web),
obwohl Sie in der Tat nur eine Anwendung entwickelt haben. Außerdem können Sie die
Datenbank bei Bedarf auch im Einzelplatzbetrieb einsetzen. Sie müssen die Datenbank
dazu lediglich mit 4th Dimension oder 4D Runtime öffnen.
Weitere Informationen zu 4D Server finden Sie in der Einleitung und den nachfolgenden
Kapiteln.
Eine vollständige Beschreibung der 4D Umgebung finden Sie in folgenden Handbüchern:
• Der 4th Dimension Designmodus erläutert die Strukturierung von 4D Datenbanken.
• Der 4th Dimension Benutzermodus beschreibt ausführlich die einzelnen Editoren, wie den
hier erwähnten Sucheditor und den Diagrammeditor.
• Die 4th Dimension Programmiersprache beschreibt die Befehle der 4D
Programmiersprache. Wollen Sie beispielsweise mehr über 4D Server als Web-Server
erfahren, lesen Sie den Abschnitt Web Server, Überblick.
4D Server
67
68
4D Server
3
________________________
Backup
4D Server
69
70
4D Server
Backups verwalten
4D Server verwalten
Version 2004
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Einleitung
4th Dimension 2004 enthält ein komplettes Modul für Backup und Wiederherstellen der
Datenbank. Dieses Modul funktioniert mit 4th Dimension Einzelplatz und 4D Server.
Damit können Sie von einer gerade laufenden Datenbank ein Backup erstellen, ohne sie
zu beenden. Jedes Backup kann die Strukturdatei, die Datendatei sowie einzelne Segmente
und zusätzliche Dateien oder Ordner enthalten. Diese Parameter setzen Sie zuerst in den
Einstellungen des Programms.
Die Backups lassen sich manuell starten oder automatisch nach Zeitplan ohne Aktionen
des Benutzers. Über spezifische Programmierbefehle und neue Datenbankmethoden
lassen sich Backup-Funktionen in eine selbst gestaltete Oberfläche einbauen. Datenbanken
werden automatisch wiederhergestellt, wenn eine beschädigte Datenbank geöffnet wird.
Das integrierte Backup-Modul kann auch das Logbuch nutzen. Diese Datei schreibt alle
mit den Daten ausgeführten Operationen mit und sorgt so für vollkommene Sicherheit
zwischen zwei Backups. Treten bei einer laufenden Datenbank Probleme auf, werden
Operationen, die in der Datendatei fehlen, beim nächsten Öffnen der Datenbank automatisch nachgetragen. Über ein Fenster können Sie den Inhalt des Logbuchs jederzeit
ansehen.
Mit dem integrierten Backup-Modul können Sie:
• Jederzeit ein vollständiges Backup der Datenbankdateien starten (Strukturdatei, Datendatei, Logbuch, angehängte Dateien, etc.).
• In regelmäßigen Abständen automatische Backups einrichten – das kann stündlich,
täglich, wöchentlich oder monatlich sein.
• Komplexe Backup Parameter setzen, wie Satznummer, Dateikomprimierung, Optionen
für Starten nach Wiederherstellen, etc.
• Eine Datenbank mit den dazugehörige Dateien nach einem Zwischenfall automatisch
wiederherstellen.
• Operationen rückgängig machen, die in den Daten der Datenbank ausgeführt wurden.
Backups verwalten
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Hauptfunktion des Moduls ist das Backup. Bei einem Backup der Datenbank wird zu einem
gegebenen Zeitpunkt eine Kopie der Datenbank und aller notwendigen Dateien erstellt.
Diese Kopie wird in eine Backup-Datei gelegt.
Backup-Dateien lassen sich später mit 4th Dimension öffnen, wenn ein Zwischenfall
eintritt, der die aktuelle Datenbank beschädigt. Die Datenbank wird dann im Status der
Kopie wiederhergestellt.
4D Server
71
Backup ausführen
Jedes Backup berücksichtigt die Parameter in den Einstellungen des Programms.
In den Einstellungen der Datenbank legen Sie alle Optionen für das Backup fest:
• Die Dateien für das Backup (Daten/Logbuch, Struktur, Benutzerstruktur und dazugehörige Dateien),
• Die Platzierung der Backup-Dateien (primäre Backup-Datei und Logbuch der BackupDatei).
• Verwaltung des Logbuchs
• Backup-Planer
• Backup Optionen: Anzahl und Frequenz der Backup-Sätze, Steuern von Transaktionen
oder aktiven Indizierungen, Vorgehensweise bei Fehlschlägen, Segmentation, Komprimierung und Integrität der Backup-Dateien.
• Optionen für automatisches Wiederherstellen: Diese Parameter sind auf Standardwerte
für normalen Einsatz gesetzt; Sie können sie bei Bedarf verändern. Weitere Informationen
dazu finden Sie im Absatz “Backup Einstellungen”.
Backup starten
In 4th Dimension 2004 gibt es drei Möglichkeiten, ein Backup zu starten:
• Manuell über den Befehl Backup im Menü Datei/Ablage von 4th Dimension
(Benutzerumgebung) bzw. von 4D Server.
• Automatisch über den Planer, der in den Einstellungen des Programms aktiviert wird.
• Per Programmierung über den Befehl BACKUP. Ein Backup lässt sich über eine Methode,
die den Befehl BACKUP aufruft, auch manuell vom 4D Client aus starten. In allen Fällen
wird er auf dem Server ausgeführt.
72
4D Server
• Um ein Backup automatisch nach Plan auszuführen, gehen Sie in den Einstellungen der
Datenbank zum Thema “Backup” und dann auf die Seite Planer:
Das Backup wird automatisch im hier definierten Intervall ausgeführt, ohne dass der
Benutzer irgendetwas tun muss. Weitere Information dazu finden Sie im Absatz “Backup
nach Zeitplan”.
• Um ein Backup nach Plan über Programmierung auszuführen, führen Sie den Befehl
BACKUP in einer Methode aus. Das Backup startet mit den aktuellen Parametern.
Zur Abwicklung des Backups können Sie auch die neuen Datenbankmethoden Backup
Startup und On Backup Shutdown verwenden. Weitere Informationen dazu finden Sie im
Handbuch 4th Dimension Programmiersprache im Kapitel Backup.
4D Server
73
Backup ausführen
Sobald das Backup gestartet ist, zeigt 4th Dimension das Fortschreiten der Operation in
einem Dialogfenster an:
Über die Schaltfläche Stopp kann der Benutzer das Backup jederzeit unterbrechen. Weitere
Informationen dazu finden Sie im nächsten Absatz.
Das Ergebnis des letzten Backup (erfolgreich oder fehlgeschlagen) wird in den Einstellungen von Backup auf der Seite Konfiguration im Bereich “Letzte Backup Information”
gespeichert oder im Hauptfenster von 4D Server. Weitere Informationen dazu finden Sie
im Absatz “Letztes Backup". Es wird ausserdem im Backup-Journal der Datenbank abgelegt.
Weitere Informationen dazu finden Sie im Abschnitt Backup Journal.
Während Backup auf die Datenbank zugreifen
Während ein Backup läuft, können Sie folgendermaßen auf die Datenbank zugreifen:
• In 4th Dimension Einzelplatz ist die Datenbank im Lese- und Schreibmodus gesperrt;
alle Prozesse sind eingefroren. Es lassen sich keine Aktionen ausführen.
• In 4D Server ist die Datenbank nur im Schreibmodus gesperrt; Client-Rechner können
die Daten ansehen. Sendet ein Client eine Anfrage für Hinzufügen, Andern oder
Entfernen an den Server, erscheint eine Meldung, dass der Benutzer bis zum Ende des
Backup warten muss.
Ist die Datenbank gesichert, verschwindet das Fenster und die Aktion wird ausgeführt.
Um die laufende Anfrage abzubrechen und nicht das Ende des Backup abzuwarten,
klicken Sie auf die Schaltfläche Abbrechen.
- Stammt die Aktion in Warteposition jedoch von einer Methode, die vor dem Backup
gestartet wurde, sollte sie nicht abgebrochen werden, da nur noch verbleibende offene
Operationen abgebrochen werden. Darüberhinaus kann eine nur teilweise ausgeführte
Methode zu Inkonsistenzen in der Datenbank führen.
- Stammt die Aktion in Warteposition von einer Methode und klickt der Benutzer auf die
Schaltfläche Abbrechen, gibt 4D Server Fehler -9976 zurück (Befehl kann nicht ausgeführt
werden, da Backup läuft).
74
4D Server
Probleme während Backup-Ausführung
Es kann passieren, dass ein Backup nicht korrekt ausgeführt wird. Das kann verschiedene
Ursachen haben: Unterbrechung durch den Benutzer, angefügte Datei wird nicht gefunden, Probleme auf dem Zieldatenträger, unvollständige Transaktion, etc. 4th Dimension
bearbeitet den Zwischenfall je nach Ursache.
In allen Fällen wird der Status des letzten Backup (erfolgreich oder fehlgeschlagen)
angezeigt, und zwar in den Einstellungen von Backup auf der Seite Konfiguration, im
Fenster 4D Server und im Backup-Logbuch. Weitere Informationen dazu finden Sie im
Absatz “Letztes Backup”.
• Unterbrechung durch den Benutzer: Der Benutzer kann das Backup im Dialogfenster,
das den Verlauf anzeigt, jederzeit über die Schaltfläche Stopp abbrechen. Dann stoppt das
Kopieren von Elementen und ein Fehler wird angezeigt. Sie können diesen Fehler über die
Datenbankmethode Backup Shutdown abfangen.
• Angefügte Datei wird nicht gefunden: Ist eine angefügte Datei nicht auffindbar, führt
4th Dimension das Backup teilweise durch, d.h. Backup der Dateien der Datenbank und
verfügbaren angefügten Dateien, und gibt einen Fehler zurück.
• Backup ist nicht möglich: (Platte ist voll oder schreibgeschützt, Platte fehlt oder ist fehlerhaft, unvollständige Transaktion, Datenbank zum Zeitpunkt für geplantes automatischen
Backup nicht gestartet, etc.)
- Tritt der Fehler zum ersten Mal auf, versucht 4th Dimension erneut, das Backup auszuführen. Die Wartezeit zwischen zwei Versuchen wird in den Einstellungen des Backup auf
der Seite Konfiguration ausgeführt. Weitere Informationen dazu finden Sie im Absatz
“Wenn Backup fehlschlägt”.
- Scheitert auch der zweite Versuch, erscheint ein Meldedialog des Systems und ein Fehler
wird angezeigt. Sie können diesen Fehler über die Datenbankmethode On Backup
Shutdown abfangen.
- Backups, die aufgrund einer unvollständigen Transaktion bzw. Indizierung abgeblockt
werden, werden über einen spezifischen Mechanismus verwaltet. Weitere Informationen
dazu finden Sie im Absatz “Wenn Transaktionen oder Indizierungen aktiv”.
4D Server
75
Backup-Dateien konfigurieren
In den Einstellungen der Datenbank unter dem Thema Backup auf der Seite Konfiguration
bestimmen Sie die Backup-Dateien, das Logbuch und ihre Position. Hier erhalten Sie auch
Informationen zum letzten Backup.
Diese Parameter sind nur auf dem Rechner mit 4D Server zugänglich.
Die gezeigten Parameter sind für jede mit 4th Dimension geöffnete Datenbank anders.
Backup Inhalt
Hier definieren Sie, welche Dateien bzw. Ordner beim nächsten Backup kopiert werden.
Der obere Bereich zeigt die Dateien der 4th Dimension Datenbank und jeweils ihre
aktuelle Größe an. Markieren Sie die Dateien, welche das Backup enthalten soll. Eine
Option in Grauschrift gibt an, dass die Datei in der Datenbank nicht vorhanden ist. Sie
können die Dateien beliebig auswählen. Die Wahl richtet sich nach Kriterien wie
Häufigkeit der Aktualisierung, strategische Bedeutung, Größe, o.ä.. Keine Datei ist
zwingend erforderlich.
Der darunterliegende Bereich „Anlagen“ listet den Zugriffspfad für angefügte Dateien auf,
die das Backup berücksichtigen soll.
• Datendatei: Besteht die Datenbank aus mehreren Segmenten, erscheinen nur Name
und Größe des ersten Segments. Es wird natürlich von allen Segmenten ein Backup
erstellt.
76
4D Server
Mit dieser Option wird auch – sofern vorhanden – zeitgleich vom aktuellen Logbuch der
Datenbank ein Backup erstellt. Dabei wird das aktuelle Logbuch geschlossen und als
Backup gesichert und anschließend ein neues Logbuch angelegt. Diese Operation verhindert, dass das Logbuch zu groß wird. Weitere Informationen dazu finden Sie im Absatz
Logbuch verwalten.
• Strukturdatei: Diese Option ermöglicht bei Datenbanken mit einkompilierter 4D
Runtime Volume Licence unter Windows ein Backup der .exe Datei, auf MacOS des
Software-Pakets.
• Anwender-Strukturdatei: Diese Datei enthält angepasste Benutzerformulare. Weitere
Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache im
Kapitel “Formulare".
• Anlagen: Hier können Sie Dateien bzw. Ordner wählen, die zusammen mit der Datenbank als Backup gesichert werden sollen. Das können Dokumente, Vorlagen von Plug-Ins,
Etiketten, Berichte, Bilder, o.ä. sein.
Sie können eigene Dateien oder Ordner bestimmen, deren Inhalt vollkommen als Backup
gesichert wird. Jedes angefügte Element wird mit dem kompletten Zugriffspfad im
Bereich „Anlagen“ aufgeführt.
- Ordner hinzufügen: Klicken Sie auf diese Schaltfläche, öffnet 4th Dimension ein Dialogfenster, um Ordner für das Backup auszuwählen. Beim Wiederherstellen wird dieser
Ordner mit seiner internen Struktur wiederhergestellt. Sie können jeden Ordner bzw.
jedes Verzeichnis wählen, das an den Rechner angeschlossen ist. Die Ordner mit den
Dateien der Datenbank können Sie nicht als Anlage hinzufügen.
- Hinzufügen: Klicken Sie auf diese Schaltfläche, öffnet 4th Dimension ein Dialogfenster,
um Dateien für das Backup auszuwählen. Eine Datei der Datenbank können Sie nicht als
Anlage hinzufügen.
- Löschen: Klicken Sie auf diese Schaltfläche, wird die gewählte Datei aus der Liste entfernt.
Hinweis: Unter Umständen sind ein bzw. mehrere angefügte Dateien nicht zugänglich,
wenn das Backup ausgeführt wird, z.B. weil sich Name oder Zugriffspfad geändert haben
oder das Verzeichnis voll ist. In diesem Fall wird das Backup ohne die fehlenden Dateien
ausgeführt und ein Fehler gemeldet. Sie können den Fehler mit der Datenbankmethode
On Backup Shutdown abfangen. Der Fehler erscheint auch im Logbuch des Backup.
Backup-Zielverzeichnis
Hier definieren Sie, wo die Backup-Dateien und Logbücher gespeichert werden sollen.
4th Dimension erstellt zwei Arten von Backup-Dokumenten: Backup-Dateien und BackupLogbücher. Dateien haben folgende spezifischen Merkmale:
• Sie können mehrere Dateien enthalten, wie Struktur-, Daten-, und angefügte Dateien.
• Sie sind durch einen internen Überprüfungsmechanismus abgesichert. Dafür gibt es
verschiedene Möglichkeiten in den erweiterten Einstellungen für Backup.
Hinweis: 4th Dimension speichert diese Dateien standardmäßig neben der Datendatei der
Datenbank. Wir raten jedoch dringend, die Dateien auf einer anderen Festplatte abzulegen, um zu vermeiden, dass bei Ausfall der Platte, die Datenbank und Backup enthält,
sämtliche Daten verloren gehen.
4D Server
77
Um den Speicherort dieser Dateien zu ändern, klicken Sie auf die Schaltfläche [...]:
Auf dem Bildschirm erscheint ein Auswahldialog, in dem Sie einen Ordner bzw. eine
Festplatte zum Ablegen der Backups wählen können. Die Bereiche “Verwendeter Platz”
und “Freier Platz” werden automatisch aktualisiert. Sie geben an, wieviel Speicherplatz auf
der Festplatte mit dem gewählten Ordner belegt und wieviel frei ist.
Stellen Sie sicher, dass der freie Platz für all Ihre Backups ausreicht. Schlägt ein Backup
fehl, weil der Platz nicht ausreicht, wird ein Fehler erzeugt. Sie können diesen Fehler in
der Datenbankmethode On Backup Shutdown abfangen. Der Fehler erscheint auch im
Informationsbereich und im Logbuch des Backup.
Namen der Backup Dateien
Backup-Dateien in 4th Dimension verwenden ein spezifisches Namenssystem, auf dem die
automatischen Funktionen zur Wiederherstellung basieren. Dieses Namenssystem lässt
sich nicht verändern.
• Standard Backups lauten Datenbankname[xxxx].4BK, wobei Datenbankname der Name
der Datendatei der Datenbank ist und xxxx die Nummer des Backup. Beispiel: Das 26.
Backup der Datenbank Rechnungen hat den Namen Rechnungen[0026].4BK. Ist das
Backup in Segmente unterteilt, fügt 4th Dimension die Segmentnummer als -xxxx hinzu.
Beispiel: Das 3. Segment des 26. Backup der Datenbank Rechnungen hat den Namen
Rechnungen[0026-0003].4BK.
Weitere Informationen zu Segmenten finden Sie im Absatz Archiv.
• Backups von Logbüchern lauten Logname[xxxx].4BL, wobei Logname der Name des
Logbuchs „Log“ der Datenbank ist und xxxx die Nummer des Backup (beginnt mit 0).
Beispiel: Das 13. Backup des Logbuchs „Log“ hat den Namen Log[0012].4BL.
Ist das Backup des Logbuchs in Segmente unterteilt, fügt 4th Dimension die Segmentnummer als -xxxx hinzu.
Beispiel: Das 2. Segment des 13. Backup des Logbuchs „Log“ hat den Namen Log[00120002].4BL.
Beachten Sie, dass Backups von Logbüchern bei 0 (Null) starten, Backups von Datenbankdateien dagegen bei 1. Lautet z.B. das erste Backup der Datenbank Backup[0001].4BK, hat
das dazugehörige Logbuch den Namen Log[0000]: Es enthält die Anderungen in der
Datendatei, beginnend mit dem Status “leer” und kann nur in eine leere Datendatei
integriert werden. Folglich muss ein Logbuch mit Namen Log[0025].4BL als das
26. Backup interpretiert werden, das die Operationen enthält, die zwischen dem 25. und
26. Backup der Datenbank ausgeführt wurden. Log[0025].4BL gehört also zum Backup
Backup[0025].4BK.
78
4D Server
Die Backup Nummerierung lautet:
• Backup: 1 bis 9999
• Backup des Logbuchs: 0 bis 9998
• Segment: 1 bis 9999
Letztes Backup: Dieser Bereich zeigt Informationen zum letzten Backup der Datenbank.
Dazu muss mindestens ein Backup ausgeführt worden sein.
• Datum und Zeit: Datum und Uhrzeit des letzten Backup.
• Status: Hier erscheint die Fehlernummer mit der dazugehörigen Meldung für das letzte
Backup. Bei korrekter Ausführung ist der Status 0 (Null), d.h. das Backup war erfolgreich.
• Backup Dateiname: Zugriffspfad und Dateiname des letzten Haupt-Backup.
Besteht das Backup aus mehreren Segmenten, erscheint der Name des ersten Segments.
• Name des Logbuchs: Zugriffspfad und Dateiname des letzten Logbuchs des Backups –
sofern zutreffend.
• Nächstes planmäßiges Backup: Datum und Uhrzeit des nächsten Backup; Hier
erscheinen Informationen, wenn ein Zeitplan für das Backup eingerichtet wurde.
Auf 4D Server erscheint diese Information auch im Server-Hauptfenster:
4D Server
79
Backup Einstellungen
Die Backup-Einstellungen gelten wie die Einstellungen zur Konfiguration ebenfalls für
jedes Backup. Die eingetragenen Werte entsprechen der Standardverwendung. Sie können
die Werte bei Bedarf verändern. Dies definieren Sie in den Einstellungen der Datenbank
auf der Seite Backup:
Im Client-/Server-Betrieb lassen sich die Backup-Einstellungen nur auf dem Rechner mit
4D Server setzen. Die Einstellungen gelten für jede Datenbank, die mit dem Programm
4th Dimension geöffnet werden.
Anzahl Backup-Sätze
Damit legen Sie fest, dass die älteren Backup-Dateien gelöscht werden. Im Eingabebereich
definieren Sie, wieviel Backups Sie aufbewahren wollen. Wird die Zahl überschritten, wird
das älteste Backup beim nächsten Backup gelöscht. So vermeiden Sie eine Überbelegung
der Festplatte.
Das funktioniert folgendermassen: Ist das aktuelle Backup komplett, löscht
4th Dimension das älteste Archiv, wenn es an derselben Stelle liegt und denselben Namen
hat. Sie können auch bestimmen, dass das älteste Archiv vor Ausführen des Backup
gelöscht wird, um Platz auf der Festplatte zu sparen.
Ist z.B. als Anzahl 3 definiert, erstellen die ersten drei Backups jeweils die Archive
MeineDB-0001, MeineDB-0002 und MeineDB-0003. Beim 4. Backup wird das Archiv
MeineDB-0004 erstellt und MeineDB-0001 gelöscht.
80
4D Server
Ausgehend vom Platz auf der Festplatte, wo Sie Ihre Backups ablegen, können Sie die max.
Anzahl der Backup-Sätze mit folgender Gleichung festlegen:
Sie müssen die max. Anzahl der Sätze um 1 reduzieren, da 4th Dimension standardmäßig
zuerst das aktuelle Backup durchführt, und anschließend das älteste Archiv auf der Festplatte löscht. Dieses Verhalten können Sie ändern über die Option “Backup nur wenn
Datendatei geändert”. Nähere Informationen dazu finden Sie im nächsten Absatz.
Standardmäßig ist der Löschmechanismus aktiviert und 4th Dimension behält 3 BackupSätze.
Wollen Sie diesen Mechanismus deaktivieren, deaktivieren Sie einfach diese Option.
Hinweis: Dieser Parameter betrifft sowohl die Backup-Sätze der Datenbank als auch das
Logbuch der Backup-Sätze.
Backup nur wenn Datendatei geändert
Ist diese Option markiert, startet 4th Dimension geplante Backups nur, wenn seit dem
letzten Backup Daten in der Datenbank hinzugefügt, verändert oder gelöscht wurden.
Sonst wird das geplante Backup nicht ausgeführt und auf das nächste geplante Backup
gelegt. Es erscheint keine Fehlermeldung; das Logbuch notiert jedoch, dass das Backup
verschoben wurde.
Damit sparen Sie Rechnerzeit für Backups von Datenbanken, die überwiegend zum
Ansehen genutzt werden. Beachten Sie jedoch, dass mit dieser Option keine Anderungen
an der Struktur oder angefügten Dateien berücksichtigt werden.
- Weitere Informationen dazu finden Sie im Absatz “Backup nach Zeitplan”.
- Ist diese Option markiert, und startet das Backup manuell, erscheint die Meldung, dass
die Datendatei nicht geändert wurde. Der Benutzer kann die Operation bestätigen oder
abbrechen.
- Dieser Parameter betrifft sowohl Backups der Datenbank als auch des Logbuchs.
Lösche ältesten Satz nach/vor Backup
Diese Option wird nur verwendet, wenn die Option “Anzahl der Backups” markiert ist.
Damit geben Sie an, ob 4th Dimension das älteste Archiv vor (Option vor) oder nach
Ausführen des Backup (Option nach) löscht. Das funktioniert nur, wenn das älteste Archiv
weder umbenannt noch verschoben wurde.
Mit vor sparen Sie Speicherplatz. Es ist nicht notwendig, die Anzahl der Backups um 1 zu
verringern. Dadurch lassen sich z.B. zwei Archive mit je 2 GB auf einer Festplatte mit 5 GB
speichern. Beachten Sie, dass Sie bei Unterbrechung eines Backups weder auf das alte (das
ja zuvor gelöscht wurde), noch auf das aktuelle Backup (das noch nicht abgeschlossen ist)
zugreifen können. Da sich die Datenbank jedoch während dem Backup nicht verändern
lässt, können Sie sicher sein, dass die Datendatei intakt ist, selbst wenn Sie kein gültiges
Backup haben. Startet das System neu und ist das unvollständige Archiv zerstört, sollten
Sie gleich ein neues Backup erstellen.
4D Server
81
Die Option nach ist eine zusätzliche Sicherheitsmaßnahme, die jedoch mehr Platz auf der
Festplatte mit dem Backup benötigt.
Wenn Transaktionen oder Indizierungen aktiv
Transaktionen und Indizierungen sind kritische Operationen, die kein Backup der Datenbank zulassen, solange sie nicht abgeschlossen sind. Vor Starten eines Backup – egal auf
welche Weise – prüft 4th Dimension oder 4D Server die Datenbank; stösst das Programm
auf eine gerade laufende kritische Operation, wird der Backup-Prozess auf Warteposition
gesetzt.
Dafür können Sie folgende Parameter festlegen:
• Ende der Operation abwarten: Das Backup ist in Wartestellung, solange die Operation
nicht abgeschlossen ist; und startet unmittelbar danach. So ist garantiert, dass das Backup
ausgeführt wird. Es lässt sich jedoch nicht genau überprüfen, wann das Backup stattfindet.
• Backup abbrechen nach Minuten: Das Backup wartet eine bestimmte Zeitspanne ab,
damit die Transaktion bzw. Indizierung beendet werden kann. Standardmäßig sind
3 Minuten eingestellt. Ist die Operation nach dieser Zeit noch nicht abgeschlossen, gilt
das Backup als fehlgeschlagen. Im Logbuch des Backup wird ein Fehler notiert. Dann läuft
der Vorgang ab, der für fehlgeschlagene Backups definiert wurde. (siehe folgenden
Absatz).
Hinweise: Vermeiden Sie das Öffnen einer Transaktion beim Starten einer Datenbank
sowie eine Transaktion, die nur beim Beenden der Datenbank bestätigt bzw. abgebrochen
wird. Sie sollten auch während einer Transaktion keine Dialogfenster einrichten, in die
der Benutzer etwas eintragen oder die er bestätigen muss. Startet das Backup in diesem
Moment, kann die Datenbank neue Transaktionen erst ausführen, wenn das Dialogfenster
bestätigt wurde.
Wenn Backup fehlschlägt
Damit legen Sie fest, wie fehlgeschlagene Backups verwaltet werden.
Hinweise:
- Nicht alle Zwischenfälle führen zu einem fehlgeschlagenen Backup. Weitere Informationen dazu finden Sie im Absatz “Probleme während Backup-Ausführung”.
- 4th Dimension wertet ein Backup als fehlgeschlagen, wenn die Datenbank zum
Zeitpunkt des automatisch geplanten Backups nicht gestartet ist. Weitere Informationen
dazu finden Sie im Absatz “Backup nach Zeitplan”.
Lässt sich ein Backup nicht ausführen, ermöglicht 4th Dimension einen zweiten Versuch.
Dafür gibt es zwei Optionen:
• Erneut nach planmäßigem Datum und Zeit: Diese Option ist nur sinnvoll für geplante
automatische Backups. Weitere Informationen dazu finden Sie im Absatz “Backup nach
Zeitplan”. Das fehlgeschlagene Backup wird abgebrochen und ein Fehler erscheint.
• Erneut nach X Stunden oder Minuten: Mit dieser Option wird nach der Wartezeit ein
neues Backup versucht. So lassen sich bestimmte Umstände umgehen, die ein Backup
blockieren können. Sie können die Wartezeit in Stunden oder Minuten angeben.
82
4D Server
Scheitert auch der 2. Versuch, erscheint ein Fehler. Das wird auch im Statusbereich des
letzten Backup und im Logbuch des Backup vermerkt.
Archiv
Hier legen Sie die Einstellungen zum Anlegen des Archivs fest. Sie gelten für die Dateien
von Haupt-Backups sowie für Logbücher der Backups.
• Segmentgröße (MB): Mit 4th Dimension können Sie Archive segmentieren, d.h. ein
Archiv in mehrere kleinere aufteilen. So können Sie z.B. ein Backup über verschiedene
Medien, wie CD, ZIP o.ä. speichern. Beim Wiederherstellen fügt 4th Dimension die
Segmente automatisch wieder zusammen. Jedes Segment hat den Namen MeineDBxxxxyyyy].4BK, wobei xxxx die Nummer des Backup ist, yyyy die Nummer des Segments.
Beispiel: Die drei Segmente der Datenbank MeineDB lauten MeineDB[0006-0001].4BK,
MeineDB[0006-0002].4BK und MeineDB[0006-0003].4BK.
Segmentgröße ist eine Combobox, in der Sie für jedes Segment des Backup die Größe in
MB festlegen. Sie können eine vordefinierte Größe wählen oder eine eigene Größe
zwischen 0 und 2048 angeben. Bei 0 wird nicht segmentiert, das entspricht dem Eintrag
Keine.
• Komprimierung: 4th Dimension komprimiert die Backups, um Platz zu sparen. Das
kann bei großen Datenmengen den Backup-Prozess beträchtlich verlangsamen.
Es gibt folgende Möglichkeiten:
- Keine: Die Dateien werden nicht komprimiert. Das Backup läuft schneller ab, die ArchivDateien sind jedoch um einiges größer.
- Schnell (Standard): Das ist ein Mittelmaß zwischen Geschwindigkeit des Backup und
Größe des Archivs.
- Kompakt: Hier wird das Archiv maximal komprimiert. Die Dateien beanspruchen den
kleinstmöglichen Platz auf der Festplatte, das Backup läuft jedoch um einiges langsamer
ab.
• Interlacing und Redundanz: 4th Dimension erstellt Archive über spezifische Algorithmen, die auf Operationen zur Optimierung (Interlacing) und Sicherheit (Redundanz)
beruhen. Dies können Sie gemäß Ihren Bedürfnissen einstellen. 4th Dimension enthält
standardmäßig den Wert Mittel. Weitere Möglichkeiten sind Niedrig, Hoch und Keine.
- Interlacing: Damit werden Daten in nicht aufeinanderfolgenden Sektoren gespeichert,
um die Lesezeit zu beschleunigen. Diese Speicherphase läuft jedoch langsamer.
- Redundanz: Damit werden die Daten in einer Datei abgesichert, indem dieselbe Information mehrere Male wiederholt wird. Je höher die Redundanzrate, desto besser ist die Sicherheit der Datei. Nachteile sind langsame Speicherung und große Dateien.
Backup nach Zeitplan
Sie können das Backup von Datenbanken, die mit 4th Dimension oder 4D Server geöffnet
werden – auch wenn keine Client-Rechner angemeldet sind – automatisch erstellen. Dazu
legen Sie einen Zeitplan fest, nach dem Backups erfolgen sollen. Das Zeitintervall lässt sich
in Stunden, Tagen, Wochen oder Monaten definieren; 4th Dimension startet dann das
Backup automatisch mit den Backup-Einstellungen, die in den Einstellungen der Datenbank auf der Seite Backup festgelegt wurden.
4D Server
83
Läuft die Anwendung zum Zeitpunkt des geplanten Backup nicht, erscheint beim
nächsten Starten eine Meldung, dass das Backup fehlgeschlagen ist. 4th Dimension
wendet dann die entsprechende Konfiguration aus den Einstellungen der Datenbank an.
Weitere Informationen dazu finden Sie im Absatz “Wenn Backup fehlschlägt”.
Die Optionen für das Backup nach Zeitplan definieren Sie in den Einstellungen der
Datenbank auf der Seite Backup-Intervall:
Sie müssen zuerst eine Zeitspanne festlegen; das können Tage, Wochen, etc. sein. Klicken
Sie dazu auf das gewünschte Kontrollkästchen. Dann definieren Sie, wann das Backup
ausgeführt wird.
• Kein automatisches Backup: Das Backup nach Plan ist inaktiv.
• Alle X Stunden: Damit programmieren Sie Backups nach Stunden. Sie können einen
Wert zwischen 1 und 24 eingeben.
- Start um: Setzt die Zeit, zu der das Backup zum ersten Mal ausgeführt wird.
• Alle X Tage um xx: Damit programmieren Sie Backups nach Tagen. Geben Sie 1 ein,
wenn das Backup jeden Tag durchgeführt werden soll. Ist diese Option markiert, müssen
Sie auch die Uhrzeit eintragen, zu der das Backup starten soll.
• Alle X Wochen um xx: Damit programmieren Sie Backups nach Wochen. Geben Sie 1
ein, wenn das Backup jede Woche durchgeführt werden soll. Ist diese Option markiert,
müssen Sie auch den Wochentag und die Uhrzeit eintragen, zu der das Backup starten
soll. Sie können bei Bedarf auch mehrere Wochentage ankreuzen.
84
4D Server
Sie können z.B. festlegen, dass das Backup zweimal pro Woche läuft, nämlich am Mittwoch
und am Freitag.
• Alle X Monate, X.Tag um xx: Damit programmieren Sie Backups nach Monaten. Geben
Sie 1 ein, wenn das Backup jeden Monat durchgeführt werden soll. Ist diese Option
markiert, müssen Sie auch den Wochentag und die Uhrzeit eintragen, zu der das Backup
starten soll.
Automatisches Backup
4th Dimension bietet beim Erstellen einer Datenbank eine standardmäßige BackupStrategie an. Das gewährleistet ein Mindestmaß an Sicherheit für die Datenbank.
Sie können diese Einstellungen verändern, nachdem die Datenbank erstellt ist.
Beim Erstellen einer neuen Datenbank ist standardmäßig die Option automatisches
Backup eingestellt. Wollen Sie das nicht, gehen Sie im Willkommensdialog auf die Seite
Neue Anwendung und deaktivieren rechts unten die Option Automatisches Backup:
4D Server
85
Die standardmäßige Backup-Strategie beinhaltet folgende Einstellungen:
• Erstellung und Verwendung eines Logbuchs mit Namen DatenbankName.4dl.
• Backup aller Dateien der Datenbank (Daten, Logbuch, Struktur und Benutzerstruktur
mit Platzierung neben der Strukturdatei der Datenbank.
• Standardmäßige weitere Optionen (Aufbewahren der letzten 3 Backups, mittlere Raten,
etc.).
• Automatisches Backup jeden Sonntag um 00:00:00.
• Alle Optionen zum automatischen Wiederherstellen
86
4D Server
Logbuch verwalten
4D Server verwalten
Version 2004
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Eine Datenbank im Einsatz speichert ständig Anderungen, es werden Datensätze hinzugefügt oder gelöscht. Die Durchführung von Backups in regelmäßigen Abständen ist
wichtig, ermöglicht aber nicht, nach einem Zwischenfall die nach dem letzten Backup
eingegebenen Daten wiederherzustellen. Dafür bietet 4th Dimension jetzt ein spezifisches
Hilfsmittel: das Logbuch. Diese Datei sorgt für permanente Sicherheit der Daten der
Datenbank.
Zusätzlich arbeitet 4th Dimension kontinuierlich mit dem Daten-Cache im Speicher. Alle
Anderungen an den Daten der Datenbank werden im Cache zwischengespeichert, bevor
sie auf die Festplatte geschrieben werden. Das beschleunigt die Operationen der Programme, da der Zugriff auf den Speicher schneller ist als auf die Festplatte. Tritt ein Zwischenfall ein, bevor die im Cache gespeicherten Daten auf die Festplatte geschrieben wurden,
müssen Sie beim Wiederherstellen der Datenbank auch das aktuelle Logbuch integrieren.
Einführung
Das von 4D angelegte Logbuch enthält alle Operationen, die in einer Datenbank ausgeführt werden. Somit löst jeder vom Benutzer ausgeführte Schritt zwei Aktionen gleichzeitig aus: Einerseits wird die Anweisung des Benutzers in der Datenbank ausgeführt, zur
selben Zeit wird die Aktion im Logbuch mitgeschrieben. Das Logbuch wird unabhängig
erstellt, es beeinträchtigt und verlangsamt nicht die Arbeit des Benutzers. Eine Datenbank
kann zur selben Zeit immer nur mit einem Logbuch arbeiten.
Das Logbuch registriert vier Arten von Operationen:
-
Hinzugefügte Datensätze
Aktualisierte Datensätze
Gelöschte Datensätze
Transaktionen
Hinweis zu Transaktionen: Eine Transaktion ist eine Operationsabfolge, die zur selben Zeit
ausgeführt wird. Beispiel: Während einer Banküberweisung, die in einer Transaktion ausgeführt wird, müssen Sie sicherstellen, dass Sie in einer Aktion einen Betrag auf einem
Konto belasten und auf einem anderen gutschreiben, ohne dass die laufende Operation
unterbrochen werden kann. D.h. die Operation wird entweder ganz oder gar nicht
ausgeführt, sie kann nie nur teilweise ausgeführt werden. Das erste Konto kann nur
belastet werden, wenn gleichzeitig eine Gutschrift auf ein zweites Konto erfolgt.
4th Dimension wertet Transaktionen als eine Operation, sowie Hinzufügen, Aktualisieren
oder Löschen.
4D Server
87
4th Dimension verwaltet das Logbuch. Es schreibt alle Operationen mit, die die Datendatei
betreffen, egal welche Aktion der Benutzer im Einzelplatz von 4th Dimension oder in
4D Client ausführt, in 4D Methoden, 4D Plug-Ins (4D Write, 4D View, 4D Draw, etc.), ein
Web Browser, ja sogar 4D Open beim Verwenden von 4D Server.
Nachfolgende Darstellung zeigt, wie das Logbuch arbeitet:
Das aktuelle Logbuch wird automatisch mit der aktuellen Datendatei gesichert. Das hat
folgende Vorteile:
• Wichtig ist, dass das Volume, in welchem das Logbuch gespeichert wird, nicht voll wird.
Ohne Backup würde das Logbuch mit der Zeit beträchtlich anwachsen und u.U. den
gesamten Platz im Verzeichnis belegen. 4th Dimension bzw. 4D Server schliesst für jeden
Backup-Satz das aktuelle Logbuch und startet sofort eine neue leere Datei, so dass auf dem
Volume genügend Platz frei bleibt. Das alte Logbuch wird je nach Backup-Einstellungen
archiviert oder entfernt.
88
4D Server
• Behalten Sie die Logbücher zu den entsprechenden Backups, damit Sie eine Datenbank
später analysieren oder reparieren können. Das Logbuch kann nur in die Datenbank
integriert werden, zu der es gehört. Sie müssen Backups und Logbücher zusammen
archivieren, damit Sie das Logbuch bei Bedarf korrekt in das Backup einbinden können.
Logbuch erstellen
Jede mit 4th Dimension 2004 erstellte Datenbank führt automatisch ein Logbuch: Es wird
automatisch angelegt, wenn im Willkommensdialog auf der Seite Erzeuge die Option
Automatisches Backup markiert ist.
Das Logbuch hat den Namen DatendateiName.4DL und wird in den Ordner gelegt, der die
Strukturdatei der Datenbank enthält. Sie können jederzeit prüfen, ob Ihre Datenbank ein
Logbuch führt. Dazu gehen Sie in den Einstellungen der Datenbank auf die Seite
Konfiguration und sehen nach, ob die Option Benutze Logbuch markiert ist.
Mit 4D Server erscheint der Name des Logbuchs auch im Fenster des Server-Rechners:
Ist diese Option inaktiv oder verwenden Sie eine Datenbank ohne Logbuch und wollen
dann eine Backup-Strategie mit Logbuch einrichten, müssen Sie ein Logbuch anlegen.
1. Um ein Logbuch anzulegen, gehen Sie in den Einstellungen der Datenbank unter dem
Thema Backup auf die Seite Konfiguration und markieren Sie am unteren Rand die Option
Benutze Logbuch.
Hinweis zur Kompatibilität: Diese Option ersetzt die Option “Logbuch erforderlich” aus
früheren Versionen von 4th Dimension.
4D Server
89
Damit Sie ein Logbuch erstellen können, muss die Datenbank sich in einer der folgenden
Situationen befinden:
• Die Datendatei ist leer,
• Sie haben gerade ein Backup der Datenbank ausgeführt und es hat noch keine Anderungen an den Daten gegeben.
In allen anderen Fällen zeigt das Programm eine Meldung, ob Sie ein Backup durchführen
wollen. Diese Vorsichtsmaßnahme ist notwendig, denn, damit Sie die Datenbank nach
einem Zwischenfall wiederherstellen können, benötigen Sie eine Kopie der Datenbank, in
die Sie die im Logbuch gespeicherten Operationen integrieren können.
Trifft eine der o.a. Bedingungen zu, zeigt das Programm einen Dialog zum Öffnen einer
Datei oder zum Anlegen eines neuen Logbuchs:
90
4D Server
2. Klicken Sie auf die Schaltfläche Neu.
Auf dem Bildschirm erscheint ein Standard Sichern-Dialog. Das Logbuch heißt standardmäßig DatendateiName.4DL.
3. Behalten Sie den Standardnamen oder benennen Sie ihn um und wählen dann die
Platzierung der Datei.
Wir empfehlen, das Logbuch nicht auf dieselbe Platte wie die Datenbank zu legen. Geht
diese Platte kaputt, können Sie in jedem Fall das Logbuch aufrufen.
4. Klicken Sie auf die Schaltfläche Öffnen.
Zugriffspfad und Name des aktuellen Logbuchs erscheinen nun in den Einstellungen der
Datenbank im Bereich “Benutze Logbuch”.
Ab jetzt werden alle Operationen in den Daten im Logbuch mitgeschrieben. Dieses wird
in Zukunft immer zusammen mit der Datenbank verwendet.
• Erstellen Sie eine neue Datendatei, müssen Sie auch ein neues Logbuch anlegen.
• Sie müssen ein anderes Logbuch einrichten, wenn Sie eine andere Datendatei öffnen,
die nicht mit einem Logbuch verknüpft ist oder wenn das Logbuch fehlt. Dazu klicken
Sie auf die Schaltfläche [...] neben dem Eingabebereich mit dem Zugriffspfad zum
Logbuch.
Logbuch stoppen
Wollen Sie das Mitschreiben der Operationen für das aktuelle Logbuch stoppen, gehen Sie
in die Einstellungen der Datenbank zum Thema Backup und deaktivieren Sie auf der Seite
Konfiguration die Option "Benutze Logbuch".
Auf dem Bildschirm erscheint folgende Meldung:
Klicken Sie auf die Schaltfläche Stop, wird das aktuelle Logbuch sofort geschlossen, d.h.
das Dialogfenster Einstellungen muss danach nicht bestätigt werden.
Wollen Sie das aktuelle Logbuch schliessen, weil es zu groß ist, sollten Sie von der
Datendatei ein Backup ausführen, welches dann auch das Logbuch sichert.
4D Server
91
Logbuch analysieren
4th Dimension bietet eine Funktion, über die Sie den Inhalt des aktuellen Logbuchs
ansehen können. Das ist hilfreich, um die Verwendung der Datenbank zu analysieren
oder um die Operationen herauszufinden, die Fehler oder Fehlfunktionen verursachen.
Läuft die Datenbank im Client/Server-Betrieb, können Sie die Operationen jedes ClientRechners überprüfen.
Auf diese Weise können Sie die Operationen in den Daten der Datenbank rückgängig
machen.
Um das aktuelle Logbuch anzusehen, wählen Sie in 4th Dimension oder 4D Server im
Menü Datei/Ablage den Befehl Logbuch:Rollback. Diese Funktion ist auf dem Client
nicht verfügbar:
Auf dem Bildschirm erscheint folgendes Fenster:
Jede im Logbuch mitgeschriebene Operation erscheint in einer Zeile. Die Spalten
enthalten verschiedene Informationen zur Operation. Sie können die Standardanzeige in
den Spalten verändern, z.B. über das Kontextmenü des Fensters die Werte der Felder
anzeigen.
Über diese Angaben können Sie die Quelle und den Kontext jeder Operation
herausfinden.
92
4D Server
Aktion: Art der ausgeführten Operation in den Daten. Diese Spalte kann folgende Einträge
enthalten: Hinzufügen, Löschen, Andern, Transaktion. Weitere Informationen dazu
finden Sie im Absatz “Einleitung” auf Seite 229.
Tabelle: Tabelle, zu der die bearbeiteten Datensätze gehören.
Anwender: Name des Benutzers, der die Operation ausgeführt hat; im Client/ServerBetrieb erscheint der Name des Client-Rechners, im Einzelplatz die Benutzerkennung.
Sind keine 4th Dimension Kennwörter aktiviert, zeigt diese Spalte
Designer an.
Wurde die Operation mit 4D Open ausgeführt, erscheint die Bezeichnung “4D Open”.
Datum und Zeit: Datum und Uhrzeit der Ausführung.
Spaltenanzeige setzen
Über das Kontextmenü des Fensters Logbuch können Sie die Anzeige in den Spalten an
Ihre Bedürfnisse anpassen. Sie können Spalten hinzufügen oder entfernen, den Inhalt
einer Spalte für das aktuelle Fenster ersetzen. Der angepasste Fensterinhalt wird nach
Schließen des Fensters wieder zurückgesetzt.
Das Kontextmenü erscheint, wenn Sie auf einen Spaltentitel klicken:
Es gibt folgende Einträge:
Neu: Damit fügen Sie rechts neben den vorhandenen Spalten eine Spalte hinzu. Die
Spalte ist standardmäßig leer und hat den Namen “Feld”. Sie kann einem Feld der Datenbank zugeordnet werden (siehe nächster Abschnitt).
Entfernen: Damit entfernen Sie eine Spalte aus dem Fenster.
Andern: Damit ersetzen Sie den Inhalt der aktuellen Spalte. Sie können entweder eine
Standardinformation wie Aktion, Tabelle, etc. wählen oder Feld, um eine Spalte hinzuzufügen, die die Werte eines Feldes der Datenbank anzeigt.
Feldwerte ansehen
Sie können einer Spalte im Fenster Logbuch ein Feld der Datenbank zuweisen, so dass für
jede mitgeschriebene Operation der aktuelle Wert des Feldes angezeigt wird. Das ist
besonders hilfreich, wenn Sie z.B. herausfinden wollen, wann ein bestimmter Datensatz
hinzugefügt wurde.
Um eine leere Spalte vom Typ Feld hinzuzufügen, wählen Sie im Kontextmenü des
Fensters den Eintrag Hinzufügen oder Ersetzen (siehe oben).
4D Server
93
Klicken Sie auf den Spaltentitel, erscheint ein hierarchisches Menü mit den Tabellen und
Feldern der Datenbank:
Wählen Sie das entsprechende Feld. Die Werte erscheinen dann für jeden hinzugefügten
oder geänderten Datensatz:
94
4D Server
Ansichten
Sie können im Fenster des Logbuchs Ansichten erstellen. Dazu klicken Sie auf das SplitterSymbol rechts oben und ziehen es nach unten. Das Fenster sieht jetzt folgendermaßen
aus:
Um mehrere Ansichten zu erstellen, wiederholen Sie diese Operation so oft wie erforderlich. Sie können auch eine Ansicht vor eine bereits erstellte setzen, wenn Sie deren Splitter
ziehen.
Um eine Ansicht wieder aufzuheben, ziehen Sie den Splitter am unteren Rand nach oben
oder doppelklicken Sie auf den Splitter.
Referenz
Backup verwalten
4D Server
95
Daten wiederherstellen
4D Server verwalten
Version 2004
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit dem in 4th Dimension integrierten Backup-Modul können Sie komplette Datenteile
der Datenbank bei Zwischenfällen, egal welcher Art, wiederherstellen.
Zwischenfälle und Diagnose
Es gibt zwei Hauptkategorien für Zwischenfälle:
• Unvorhergesehener Abbruch der Datenbank in Betrieb
Dieser Zwischenfall kann bei Stromausfall, Fehler im Betriebssystem, o.ä. passieren. Je
nachdem, welchen Status der Daten-Cache im Augenblick des Zwischenfalls hat, sind zum
Wiederherstellen der Datenbank unterschiedliche Operationen erforderlich:
- War der Cache leer, öffnet sich die Datenbank ganz normal. Alle Anderungen in der
Datenbank wurden gespeichert. In diesem Fall ist keine besondere Operation erforderlich.
- Enthält der Cache Operationen, ist die Datenbank intakt. Sie müssen jedoch das aktuelle
Logbuch integrieren, um den Zustand im Moment des Abbruchs wiederherzustellen.
- Sollte der Cache gerade auf die Festplatte geschrieben werden, ist die Datendatei wahrscheinlich beschädigt. In diesem Fall müssen Sie das letzte Backup wiederherstellen und
das aktuelle Logbuch integrieren.
• Verlust von Dateien der Datenbank
Dieser Zwischenfall kann bei fehlerhaften Sektoren auf der Festplatte, bei einem Virus, bei
Bedienungsfehlern, o.ä. passieren.
Hier müssen Sie das letzte Backup wiederherstellen und das aktuelle Logbuch integrieren.
Um herauszufinden, ob eine Datenbank bei einem Zwischenfall beschädigt wurde, starten
Sie einfach die Datenbank wieder mit 4th Dimension. Das Programm führt selbst eine
Prüfung durch und listet auf, welche Operationen zum Wiederherstellen ausgeführt
werden müssen.
Im automatischen Modus werden diese Operationen direkt ausgeführt, ohne Eingreifen
durch den Benutzer. Weitere Informationen dazu finden Sie im nächsten Absatz.
Haben Sie eine reguläre Backup-Strategie eingerichtet, finden Sie über die 4th Dimension
Tools zum Wiederherstellen in der Regel die Datenbank in genau dem Zustand vor dem
Zwischenfall vor. Zwei Haupt-Tools stehen zur Verfügung:
• Wiederherstellen des Backup
• Integration des Logbuchs
Beide Funktionen lassen sich auch miteinander kombinieren und automatisieren.
96
4D Server
Automatisches Wiederherstellen
4th Dimension startet nach einem Zwischenfall automatisch die Prozedur zum
Wiederherstellen der Datenbank. Das sind folgende Abläufe:
• Automatisches Wiederherstellen
• Automatische Integration des Logbuchs
• Automatisches Starten der Datenbank nach Wiederherstellen
Sie können diese Abläufe in den Einstellungen der Datenbank auf der Seite
Wiederherstellen unter dem Thema Backup einzeln aktivieren/deaktivieren:
Letztes Backup wiederherstellen, wenn Datenbank beschädigt
Mit dieser Option startet das Programm automatisch die Wiederherstellung der Daten des
letzten gültigen Backup der Datenbank, wenn beim Hochfahren der Datenbank eine
Unregelmäßigkeit festgestellt wird. Der Benutzer selbst muss nichts ausführen; die
Operation wird im Logbuch des Backup vermerkt. Weitere Informationen dazu finden Sie
im Abschnitt Backup Journal.
4D Server
97
Hinweise:
• Beim Wiederherstellen werden Dateien aus einer bzw. mehreren Backup-Dateien
entnommen und erneut für die Anwendung, die sie erstellt hat, lesbar gemacht.
• Beim automatischen Wiederherstellen wird nur die Datendatei wiederherstellt. Soll das
auch für die angefügten Dateien oder die Strukturdatei gelten, müssen Sie eine manuelle
Wiederherstellung ausführen.
Bei automatischer Wiederherstellung werden folgende Schritte ausgeführt:
• 4th Dimension gibt zuerst der beschädigten Datendatei einen anderen Namen.
• 4th Dimension entnimmt die Datendatei des letzten Backup und speichert sie an der
Stelle der vorigen Datei.
• Ist die Option “Letztes Logbuch integrieren, wenn Datenbank unvollständig” markiert,
integriert 4th Dimension bei Bedarf das Logbuch. Weitere Informationen dazu finden Sie
im Absatz “Letztes Logbuch integrieren, wenn Datenbank unvollständig”.
• Ist die Option “Datenbank nach automatischer Wiederherstellung starten” markiert,
startet 4th Dimension die wiederhergestellte Datenbank. Weitere Informationen dazu
finden Sie im Absatz “Datenbank nach automatischer Wiederherstellung starten”.
Letztes Logbuch integrieren, wenn Datenbank unvollständig
Ist diese Option markiert, integriert das Programm automatisch das Logbuch, wenn eine
wiederhergestellte Datenbank geöffnet wird. Der Benutzer selbst muss nichts ausführen.
• Beim Öffnen einer Datenbank wird das aktuelle Logbuch automatisch integriert, wenn
4th Dimension feststellt, dass die im Logbuch gespeicherten Operationen in den Daten
nicht vorhanden sind. Das passiert z.B. bei Stromausfall, wenn es Operationen im DatenCache gibt, die noch nicht in den Hauptspeicher übertragen wurden.
• Hat beim Wiederherstellen einer Datenbank das aktuelle Logbuch bzw. Logbuch des
Backup dieselbe Nummer wie das Backup, das im gleichen Ordner gespeichert ist, prüft
4th Dimension seinen Inhalt. Enthält es Operationen, die nicht in der Datendatei
enthalten sind, wird es integriert.
Auf Benutzerseite erscheint kein Dialogfenster, die Operation läuft vollkommen automatisch ab. Ziel dabei ist, die Verwendung so einfach wie möglich zu machen. Die
Operation wird im Logbuch des Backup vermerkt. Weitere Informationen dazu finden Sie
im Abschnitt Backup Journal.
98
4D Server
Datenbank nach automatischer Wiederherstellung starten
Ist diese Option markiert, öffnet 4th Dimension automatisch eine Datenbank, die nach
Abschließen der Prozedur wiederhergestellt wurde.
Bei dieser Option müssen Sie darauf achten, dass alle Elemente, die zum Betreiben der
Datenbank notwendig sind, nach der Wiederherstellung verfügbar sind. Benötigt eine
Datenbank z.B. auf derselben Ebene wie die Strukturdatei spezifische Dateien, müssen
diese in die Backups integriert werden, so dass sie gleichzeitig mit der Datenbank wiederher
gestellt werden können. Arbeitet die Datenbank mit Plug-Ins, ist es besser, diese auf
derselben Ebene wie das Programm 4th Dimension zu installieren.
Diese drei Optionen zum Wiederherstellen im Zusammenspiel mit den Optionen für
Backup ermöglichen ein halb- oder vollautomatisches System zum Rückführen auf den
Stand der Datenbank vor dem Zwischenfall.
Halbautomatisch: Der Administrator muss nur die Datenbank erneut starten,
4th Dimension führt automatisch die notwendigen Operationen zur Wiederherstellung
aus und startet eine zuverlässige Version der Anwendung (aktualisiert).
Automatisch (nur 4D Server): Konfigurieren Sie die Datenbank als Service, der bei
Systemstart aktiviert wird, wird er beim Hochfahren des Rechners automatisch erneut
gestartet. Weitere Informationen dazu finden Sie im Absatz “4D Server als MacOS X
Service registrieren” auf Seite 24 bzw. für Windows im Handbuch 4D Server.?? 4th
Dimension führt automatisch die notwendigen Operationen zur Wiederherstellung aus.
Diese Art System ist besonders gut an 4D Server Datenbanken angepasst. Beachten Sie,
dass jede ausgeführte Operation automatisch im Logbuch des Backup mitgeschrieben
wird. Weitere Informationen dazu finden Sie im Absatz “Letztes Logbuch integrieren,
wenn Datenbank unvollständig”.
Backup manuell wiederherstellen
Sie können den Inhalt eines Archivs, das vom Backup-Modul erstellt wurde, manuell
wiederherstellen. Manuelles Wiederherstellen ist z.B. erforderlich, um den Archivinhalt im
Ganzen zu reproduzieren (Strukturdateien und/oder angehängte Dateien) oder zur
Ausführung von Suchläufen in den Archiven. Wiederherstellen kann auch mit Integration des aktuellen Logbuchs erfolgen.
Hinweis: Sie können 4th Dimension so einstellen, dass die Datenbank bei einen Zwischenfall, egal welcher Art, wiederhergestellt wird. Weitere Informationen dazu finden Sie im
Abschnitt Daten wiederherstellen.
Die 4D Anwendung selbst (4th Dimension, 4D Server, Anwendung mit einkompilierter
4D Runtime Volume License, etc.) führt die Wiederherstellung des Backup über die Seite
Wiederherstellen im Willkommensdialog aus.
4D Server
99
Um eine Datenbank manuell wiederherzustellen:
1. Klicken Sie im Willkommensdialog am rechten Rand auf die Schaltfläche
Wiederherstellen (nur 4th Dimension und 4D Server)
ODER
Führen Sie in einer 4th Dimension Methode den Befehl RESTORE aus (alle 4D Programme)
ODER
Ziehen Sie die Backup-Datei für die Wiederherstellung per Drag&Drop auf das Icon der
Anwendung (alle 4D Programme).
Im letzten Fall erscheint ein Standard Sichern-Dialog, in dem Sie angeben, wo die Dateien
wiederhergestellt werden. Gehen Sie direkt zu Schritt 3.
2. Im Bereich “Struktur auswählen” wählen Sie die Datenbank, dann das Backup für die
Wiederherstellung und klicken auf die Schaltfläche Wiederherstellen:
100
4D Server
Der rechte Teil des Dialogfensters zeigt den Zugriffspfad und den Inhalt des gewählten
Archivs. Bei segmentiertem Backup erscheint der Zugriffspfad des ersten Segments.
Um ein anderes Archiv wiederherzustellen, klicken Sie auf Anderes Backup.
Ein Dialogfenster erscheint, in dem Sie angeben, wo die Dateien wiederherstellt werden
sollen.
4th Dimension stellt die Dateien standardmäßig in einem Ordner mit Namen
„Archivname-Restore“ wieder her, der neben dem Archiv liegt. Sie können auf die
Schaltfläche […] klicken, um eine andere Platzierung festzulegen.
3. Andern Sie bei Bedarf die Platzierung der wiederhergestellten Dateien und klicken Sie
auf die Schaltfläche Wiederherstellen.
4th Dimension setzt alle Backup-Dateien an den festgelegten Ort.
Hat das aktuelle Logbuch bzw. Logbuch des Backup dieselbe Nummer wie das Backup, das
im gleichen Ordner gespeichert ist, prüft 4th Dimension seinen Inhalt. Enthält es
Operationen, die nicht in der Datendatei enthalten sind, fragt das Programm, ob Sie diese
Operationen integrieren wollen.
Hinweis: Die Integration erfolgt automatisch, wenn die Option zum Integrieren des
Logbuchs markiert ist. Weitere Informationen dazu finden Sie im Absatz “Letztes
Logbuch integrieren, wenn Datenbank unvollständig”.
4. (Optional) Klicken Sie auf die Schaltfläche OK, um das Logbuch in die
wiederhergestellte Datenbank zu integrieren.
Sind die Operationen zum Wiederherstellen und Integrieren korrekt abgelaufen, zeigt
4th Dimension die Meldung, ob Sie die Datenbank öffnen möchten.
5. Klicken Sie auf die Schaltfläche OK, um die wiederhergestellte Datenbank zu öffnen
ODER
auf die Schaltfläche Abbrechen, um das Programm 4th Dimension zu beenden.
4D Server
101
Hinweis: Die Datenbank startet automatisch, wenn die Option zum automatischen
Starten markiert ist. Weitere Informationen dazu finden Sie im Absatz “Datenbank nach
automatischer Wiederherstellung starten”.
4th Dimension legt während der Wiederherstellung alle Backup-Dateien in den Zielordner,
egal an welcher Stelle auf der Festplatte die Orginaldateien beim Starten des Backup liegen.
So finden Sie die Dateien leichter.
Logbuch manuell integrieren
Ist die Option für automatisches Integrieren des Logbuchs nicht aktiv, erscheint beim
Öffnen der Datenbank eine Meldung, wenn 4th Dimension feststellt, dass das Logbuch
mehr Operationen enthält als in der Datenbank ausgeführt wurden.
Damit dieser Vorgang funktioniert, muss 4th Dimension auf das Logbuch an dessen
aktueller Platzierung zugreifen können.
Sie entscheiden selbst, ob Sie das aktuelle Logbuch integrieren wollen.
Operationen rückgängig machen
4th Dimension bietet eine Funktion, über die sich Operationen, die im Logbuch
aufgeführt sind, rückgängig machen lassen. Der Vorgang ähnelt dem Widerrufen in
mehreren Stufen. Er ist besonders hilfreich, wenn versehentlich ein Datensatz aus der
Datenbank gelöscht wurde.
Das ist nur durchführbar, wenn die Datenbank ein Logbuch hat.
Um eine Datenbank in einem früheren Stadium wiederherzustellen:
1. Wählen Sie in 4th Dimension oder 4D Server im Menü Datei/Ablage den Befehl Prüfe
Logbuch (ist auf Client-Seite nicht verfügbar).
Es erscheint ein Dialogfenster mit den Operationen im Logbuch. Weitere Informationen
dazu finden Sie im Abschnitt Logbuch verwalten.
2. Wählen Sie die Zeile, nach der alle Operationen annulliert werden sollen.
Die Operation der gewählten Zeile bleibt als letzte erhalten. Wollen Sie z.B. einen
Löschvorgang aufheben, wählen Sie die direkt davor liegende Operation.
102
4D Server
Diese bleibt dann erhalten, alle nachfolgenden Operationen werden zurückgefahren.
3. Klicken Sie auf die Schaltfläche Zurückfahren.
Auf dem Bildschirm erscheint ein Dialogfenster zum Bestätigen.
4. Klicken Sie auf die Schaltfläche OK.
Die Daten werden dann in dem Stadium wiederhergestellt, das zum Zeitpunkt der
gewählten Operation galt.
Arbeitsweise
Klickt der Benutzer auf die Schaltfläche Zurückfahren, schliesst 4th Dimension die aktuelle
Datenbank und stellt das letzte Backup der Daten der Datenbank wieder her. Die wiederher
gestellte Datenbank wird dann geöffnet. 4th Dimension integriert die Operationen des
Logbuchs bis zur gewählten Operation.
Wurde die Datenbank noch nicht gesichert, startet 4th Dimension mit einer leeren Datendatei.
4D Server
103
Backup Journal
Backup
Version 2004
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Damit das Nachvollziehen und Überprüfen von Backups einfacher ist, schreibt das
Backup-Modul einen Abriss jeder ausgeführten Operation in eine spezielle Datei, die eine
Art Aktivitätsjournal ist. Hier werden – wie in einem Boardbuch – alle Operationen der
Datenbank (Backup, Wiederherstellen, Integration des Logbuchs) eingetragen, und ob sie
nach Zeitplan oder manuell ausgeführt wurden. Zusätzlich erscheinen Datum und Uhrzeit
der Ausführung.
Das Journal macht je nach Bereich des Backup folgende Angaben:
Für jedes Archiv:
- Zugriffspfad (für das Archiv, das erstellte oder gelöschte Logbuch)
- Größe
- Archivinhalt (Datendatei, Strukturdatei, Strukturdatei des Benutzers,
Index-Dateien, Logbuch)
Für jeden Eintrag im Archiv:
- Dateityp
- Originalgröße der Datei
- Datum/Uhrzeit (Startzeit, planmäßige Zeit, Endzeit)
Das Backup Journal hat den Namen “Journal.txt” und liegt auf derselben Ebene wie die
Datendatei der Datenbank. Es lässt sich mit einem beliebigen Texteditor öffnen. Zur
besseren Übersicht enthält das Journal Einrückungen, jede Informationszeile endet mit
einer Zeilenschaltung.
104
4D Server
Backup – XML Datei
Backup
Version 2004
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Alle Einstellungen für Backup und Wiederherstellen in 4th Dimension sind als eigenständige XML-Datei verfügbar. 4th Dimension verwendet die darin enthaltenen Daten
zur Anzeige der Optionen in den Einstellungen der Datenbank und in dem Moment,
wenn ein Backup startet.
Sie können die Einstellungen für Backup über XML Befehle in 4th Dimension oder einen
beliebigen XML Editor aufrufen und verändern. Weitere Informationen dazu finden Sie
im Handbuch 4th Dimension Programmiersprache im Kapitel "XML”.
Das ermöglicht Entwicklern, Backup-Einstellungen per Programmierung zu verwalten,
insbesondere bei Anwendungen mit einkompilierter 4D Runtime Volume License:
4D Server
105
Diese Datei enthält zwei Einstellungsblöcke:
• Allgemeine Einstellungen: Allgemeine und erweiterte Einstellungen des Backup.
• Spezifische Einstellungen der Datendatei: Einstellungen des durchgeführten Backup
(Datum und Uhrzeit des letzten Backup, Datum und Uhrzeit des nächsten Backup,
Platzierung und Nummer der letzten Backup-Datei).
Die XML-Datei mit den Einstellungen für Backup und Wiederherstellen hat den Namen
Backup.XML. Sie wird automatisch an folgender Stelle angelegt:
DatenbankOrdner/Preferences/Backup/Backup.xml
Dabei ist DatenbankOrdner der Ordner mit der Strukturdatei der Datenbank, die
Unterordner Preferences/Backup/ werden bei Bedarf automatisch angelegt.
106
4D Server
4
________________________
4D Server verwalten
4D Server
107
108
4D Server
Das 4D Server Prozessfenster
4D Server verwalten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Der Server wird über das Serverfenster grafisch verwaltet. Dieses Fenster zeigt
Konfiguration und Aktivität der angemeldeten Rechner:
Das Serverfenster besteht aus zwei Bereichen:
• Der obere Teil enthält Informationen über die vom Server verwendeten Dateien, Backup
und Speicher,
• Der untere Teil enthält Informationen über die angeschlossenen Benutzer und die
laufenden Prozesse.
4D Server
109
Allgemeine Informationen zum Server
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Der obere Teil enthält im einzelnen:
• 4D Server Versionsnummer: Versionsnummer Ihrer 4D Server Anwendung.
• Strukturdatei: Name der Strukturdatei, die 4D Server öffnet.
• Datendatei: Name der Datendatei, die der Strukturdatei zugeordnet ist.
• Logbuch: Name der Logbuchdatei zur fortlaufenden Protokollierung der Operationen in
der Datenbank. Das Logbuch wird beim Erstellen der Datenbank mit angelegt, wenn es in
den Einstellungen des Backup aktiviert ist.
• Angemeldete Benutzer: Anzahl der angemeldeten Benutzer.
• Laufende Prozesse: Anzahl der laufenden Prozesse. Dazu gehören alle Prozesse des
Kernel, der angeschlossenen Benutzer, der Web Anbindungen und der Serverprozeduren.
• Letztes Backup: Zugriffspfad und Name der letzten Backup-Datei der Datenbank.
• Letztes Backup: Datum und Uhrzeit des zuletzt ausgeführten Backup.
• Nächstes planmäßiges Backup: Datum und Uhrzeit des nächsten automatischen
Backup. Diese Information kommt von der automatischen Backup-Konfiguration, die in
den Einstellungen der Datenbank definiert wird.
• Kernel-Speicher: Zugewiesener Speicher für den Kernel von 4D Server. Das Betriebssystem stellt diesen Speicher dynamisch ein je nach Einsatz der Datenbank und den
vorhandenen Ressourcen.
• Cache-Speicher: Zugewiesener Speicher für den Cache. Hier werden Daten zwischengelagert, um den Zugriff auf die Festplatte zu reduzieren. Diesen Speicher stellen Sie in den
Einstellungen der Datenbank unter dem Thema Datenbank auf der Seite Datenbankverwaltung ein. Weitere Informationen dazu finden Sie im Kapitel "Einstellungen zur
Konfiguration".
110
4D Server
• Ablaufbalken für die Serveraktivität: Der Balken gibt den aktuellen Stand der Serveraktivität an. Je mehr Anfragen der Server erhält, desto weiter ist der Balken ausgefüllt.
•Ablaufbalken für den Cache-Speicher: Der Ablaufbalken zeigt an, wieviel Platz im CacheSpeicher vorhanden ist. Ist der Balken nur wenig ausgefüllt, sollten Sie die Speichergröße
des Cache verringern.
Das Fenster Cache-Trefferrate
Klicken Sie den Balken der Cache-Trefferrate, sehen Sie die Elemente im Einzelnen:
Bei viel Speicherplatz können Sie jeder Anwendung den optimalen Cache-Speicherplatz
zuteilen. Datensätze, Datensatzadressen und Indexseiten-Adressen werden in den Cache
geladen, wenn Sie mit den Datensätzen arbeiten. Indexseiten und Bit-Tabellen werden
geladen, wenn Sie Daten verändern, also Datensätze hinzufügen, ändern oder löschen. Im
Beispiel finden Sie eine gängige Situation. Auch hier gilt: je mehr vom Ablaufbalken
farbig ist, desto besser. Ist dagegen viel weiß, können Sie mit mehr Speicher die Arbeitsgeschwindigkeit verbessern. Bei größeren Datenbanken ist es normal, dass die Rubrik
Datensätze nur halb gefüllt ist.
Weitere Hinweise zur Optimierung des Datenbestands finden Sie im Handbuch 4D_Tools.
4D Server
111
Informationen über Prozesse und Benutzer
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Das Prozess-Informationfenster zeigt alle angeschlossenen Benutzer und die derzeit
laufenden Prozesse an:
Alle Benutzerprozesse erscheinen in dieser Liste, davon ausgenommen sind die Prozesse,
die lokal auf der Arbeitsstation laufen. Wollen Sie Prozesse ausblenden, klicken Sie unter
Windows auf das Kreuz, auf Macintosh auf den Pfeil links neben dem Benutzernamen.
Sind keine Benutzer angemeldet, erscheinen in diesem Fenster nur Prozesse der 4D Server
Engine und optional Serverprozeduren.
Die 4D Server Engine wird von vier Kernel Prozessen gesteuert:
• Serverfenster: Dieser Prozess verwaltet die Benutzerschnittstelle des Servers. Sie
antwortet auf Benutzeranfragen. Das können folgende Aktionen sein: Icon anklicken,
Fenster auswählen oder verschieben. Dieser Prozess hat entweder den Status In
Ausführung oder Schläft.
• Arbeitsplatz-Manager: Dieser Prozess verwaltet die Anmeldung einer neuen
Arbeitsstation an den Server. Sein Status lautet standardmäßig "Wartet auf
Eingabe/Ausgabe".
• Cache-Manager: Dieser Prozess verwaltet die Datenübertragung auf die Festplatte. Er ist
nur aktiv, wenn der Cache voll ist bzw. eine Station den Befehl gegeben hat, den Cache
zu sichern. Die Cache-Verwaltung sucht auch nach Anfragen für Indizes und aktiviert
gegebenenfalls die Indexverwaltung.
• Web Server: Dieser Prozess verwaltet Web Anbindungen. Wenn Sie den Web Server
Prozess starten, bedeutet das noch nicht, dass Sie eine aktuelle Web Anbindung öffnen.
Sie ermöglichen damit lediglich, dass Web Benutzer Web Anbindungen starten können.
Jeder Prozess enthält folgende Angaben:
• Prozessname
• Zeitspanne (in Sekunden) die der Prozess seit dem Starten läuft.
• Prozessstatus
• Prozentsatz an Zeit, die 4D Server im Prozess benötigt.
112
4D Server
Zur Unterscheidung werden die einzelnen Prozesse in verschiedenen Farben angezeigt:
• Kernel Prozesse in schwarz
• Benutzerprozesse in schwarz
• Prozesse für Web Anbindungen in cyan
• Prozesse für Serverprozeduren in blau
• Prozesse für Anbindungen mit 4D Open in grün
Hinweis: Abgebrochene Prozesse erscheinen für kurze Zeit in Rot.
Weitere Informationen finden Sie im Handbuch 4th Dimension Programmiersprache im
Abschnitt Einführung in Prozesse.
Referenz
Menü Prozesse.
4D Server
113
4D Server beenden
4D Server verwalten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Um 4D Server zu beenden, gehen Sie folgendermaßen vor:
1. Wählen Sie unter Windows im Menü Datei von 4D Server, auf MacOS im Menü
4D Server der Anwendung den Befehl Beenden.
Auf dem Bildschirm des Server Rechners erscheint folgendes Dialogfenster:
2. Geben Sie entweder die Zeitspanne an, nach der Server beenden soll oder wählen Sie die
Option Warte, bis alle Benutzer abgemeldet sind.
Sobald Sie eine Option gewählt haben, kann sich am Server kein neuer Client anmelden.
• Wählen Sie Abmelden vom Server in ... min, erscheint auf dem Bildschirm folgende
Meldung:
Gleichzeitig erhalten alle Arbeitsstationen eine entsprechende Meldung. Der Benutzer
kann die noch verbleibende Zeit weiterarbeiten:
114
4D Server
• Wählen Sie Warte, bis alle Benutzer abgemeldet sind, erscheint folgendes
Dialogfenster:
Auf der Arbeitsstation erscheint kein Dialogfenster. Der Server schaltet ab, sobald sich alle
Arbeitsstationen abgemeldet haben.
Hinweise:
• In beiden Fällen beendet 4D Server sofort nach Bestätigen des Fensters, wenn keine
Arbeitsstationen angemeldet sind.
• Soll 4D Server ohne Verzögerung beenden, tragen Sie als Zeitspanne 0 Minuten ein.
• Klicken Sie im Fenster "Server herunterfahren" auf die Schaltfläche Abbrechen, wird das
Beenden des Servers nicht ausgeführt.
Unabsichtliches Beenden
Unterbricht eine Arbeitsstation die Verbindung zum Server nicht ordnungsgemäß, weil
ein Netzwerkfehler aufgetreten ist bzw. die Arbeitsstation ausgeschaltet wurde, registriert
4D Server dies nach ca. 2 Minuten. Er führt dann automatisch folgende Operationen
durch:
Er löscht die Prozesse der Arbeitsstation,
Er bricht laufende Transaktionen ab,
Er gibt evtl. gesperrte Datensätze frei,
Er gibt evtl. gesetzte Semaphoren frei.
Beendet der Server nicht ordnungsgemäß, erhalten die Arbeitsstationen die Meldung, dass
die Verbindung zum Server unterbrochen wurde.
4D Server
115
Konfiguration und Cache-Speicher
4D Server verwalten
Version 2004.1 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In den Einstellungen der Datenbank können Sie Parameter für das Netzwerk und die
Client/Server Kommunikation festlegen (zugänglich für 4D Client und 4D Server), und
bei Bedarf den Cache-Speicher selbst einstellen.
Konfiguration
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Das Dialogfenster Client/Server > Konfiguration enthält folgende Optionen:
Netzwerk
• Netzwerk-Anzeigename: Der Name einer Datenbank, die mit 4D Server veröffentlicht
wird, lässt sich ändern. Das kann z.B. der Name auf der dynamischen Veröffentlichungsseite TCP/IP des Verbindungsdialogs sein.
116
4D Server
4D Server verwendet standardmäßig den Namen der Strukturdatei der Datenbank. Sie
können einen beliebigen Namen eingeben.
Hinweis: Dieser Parameter wird bei eigenen Client-/Server-Anwendungen nicht berücksichtigt. Im Prinzip meldet sich die Client-Anwendung direkt an die Server Anwendung
an, ohne über den Anmeldedialog zu gehen. Der Dialog erscheint jedoch, wenn ein Fehler
auftritt; in diesem Fall ist der Publikationsname der Server-Anwendung der Name der
kompilierten Datenbank.
• Port Nummer: Mit dieser Option können Sie die TCP Port Nummer ändern, unter der
4D Server die Datenbank veröffentlicht. Diese Information wird in der Strukturdatei der
Datenbank und auf jedem Client-Rechner gespeichert. 4D Server und 4D Client verwenden standardmäßig die Port Nummer 19813.
Sie müssen diesen Wert anpassen, wenn Sie mehrere 4D Anwendungen auf demselben
Rechner mit dem TCP Protokoll verwenden wollen; in diesem Fall müssen Sie für jede
Anwendung eine andere Port Nummer vergeben.
4D Server
117
Ändern Sie diesen Wert auf 4D Server bzw. 4D Client, wird er automatisch auf alle
4D Client Rechner übertragen, die an die Datenbank angemeldet sind. Andere nicht
angeschlossene Client-Rechner aktualisieren Sie, indem Sie bei der nächsten Anmeldung
im Verbindungsdialog auf der Seite Angepasst die neue Port Nummer eingeben. Sie wird
an die IP-Adresse des Server-Rechners angehängt, getrennt durch Doppelpunkt.
Hinweis: Ab 4D Server 2004 wird als Trenner der Doppelpunkt verwendet. Aus
Kompatibilitätsgründen ist aber auch das Komma aus früheren Versionen zulässig.
Für die Nummer 19888 sieht das Dialogfenster folgendermaßen aus:
Hinweis: Auf der Seite TCP/IP zur dynamischen Veröffentlichung erscheinen nur die
Datenbanken, die auf demselben Port, wie in 4D Client definiert, veröffentlicht werden.
Client-Server Verbindungs-Timeout
Im Ablaufbalken legen Sie das Timeout fest, d.h. die Dauer an Inaktivität, nach der die
Verbindung zwischen 4D Server und den angeschlossenen Client-Rechnern beendet wird.
Bei Unbegrenzt gibt es kein Timeout. In diesem Fall erfolgt keine Kontrolle der ClientAktivität, d.h ein inaktiver Client bleibt auf unbestimmte Zeit an den Server
angeschlossen.
Ist ein Timeout eingestellt, beendet der Server die Verbindung zu einem Client, wenn
dieser innerhalb der vorgegebenen Zeitspanne nicht auf bestimmte Anfragen des Server
reagiert.
118
4D Server
Client beim Starten anmelden
Damit registriert 4D Server automatisch jeden 4D Client Rechner bei der Anmeldung an
eine 4D Server Datenbank. Ein registrierter Client kann jede Operation ausführen, die
vom Server oder einem anderen Client angefordert wird. Weitere Informationen dazu
finden Sie im Abschnitt Clients registrieren.
Automatische Wiederanmeldung des Client
Mit dieser Option lassen sich die Client-Rechner in bestimmten Konfigurationen nach
unerwarteter Abmeldung automatisch wiederanmelden. Diese Option ermöglicht eine
stabilere Verbindung zwischen 4D Client und 4D Server, wenn im Netzwerk Probleme
auftreten.
Ist diese Option markiert – sie gilt global für alle Clients – wird die Wiederanmeldung
automatisch aktiviert, wenn ein Client die Verbindung zum Server verloren hat. Scheitert
die Wiederanmeldung, wird der Standardfehler -10002 generiert. Ist sie erfolgreich,
erscheint eine Meldung und unter Windows in der Task-Leiste das Symbol für 4D Client.
Damit die automatische Wiederanmeldung ausführbar ist, muss das Timeout auf dem
Server über 1 Minute liegen.
4D Open
Mit 4D Open, dem API (Application Programming Interface) können Benutzer über 4D
bzw. „fremde“ Clients (4D for C/C++, ODBC-Treiber for 4D Server) auf 4D Server
zugreifen. 4D Open lässt sich in 4th Dimension, 4D Server und 4D Client einbinden.
• DropDown-Menü für 4D Open Zugriff: Hier geben Sie die Benutzergruppe an, die über
4D Open eine Verbindung zur 4D Server Datenbank herstellen darf, wenn die Option “4D
Open Verbindungen erlauben” markiert ist.
• 4D Open Verbindungen erlauben: Mit dieser Option kann die in „4D Open Zugriff“
gewählte Gruppe über eine 4D Open Anwendung die Verbindung zu 4D Server herstellen.
Cache Speicher verwalten
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In Version 2004 wurde die Verwaltung des Kernel-Hauptspeichers an die Möglichkeiten
von Windows XP und MacOS X angeglichen. Der von 4th Dimension verwendete
Speicher wird automatisch vom System zugewiesen und ist nicht länger anpassbar. Sie
können jedoch weiterhin den Cache-Speicher Ihrer Datenbank anpassen.
Zum Setzen des Cache-Speichers gibt es zwei Berechnungsarten:
• Erzwungen
• Anpassbar
4D Server
119
Erzwungen
In diesem Modus definieren Sie selbst die Größe des Cache-Speichers. Dazu genügt es, im
Dialogfenster Datenbank > Datenverwaltung die Option "Berechnung des anpassungsfähigen Cache" zu deaktivieren. 4th Dimension zeigt dann einen Eingabebereich, in dem
Sie selbst den Cache-Speicher festlegen, sowie Informationen zum tatsächlichen Speicher
(auf dem Rechner verfügbarer RAM-Speicher), dem aktuellen Cache und dem Cache nach
erneutem Hochfahren (berücksichtigt Ihre Änderungen) eintragen:
Die Größe des vorgegebenen Cache-Speichers wird für die 4D Datenbank reserviert,
unabhängig von den für den Rechner verfügbaren Ressourcen. Diese Einstellung ist nur
in wenigen Einzelfällen sinnvoll. In den meisten Fällen bietet der anpassbare Cache eine
höhere Leistung.
Anpassbar
In diesem Modus wird der Cache-Speicher vom System dynamisch verwaltet – innerhalb
der von Ihnen gesetzten Grenzen. Sie können einen leistungsstarken Cache-Speicher
einrichten, der zu den meisten Konfigurationen passt. Dazu markieren Sie die Option
Berechnung des anpassungsfähigen Cache. 4th Dimension zeigt dann mehrere Eingabebereiche:
Die Größe des Cache-Speichers wird dann gemäß den Einstellungen dynamisch
berechnet. Die standardmäßig vorgegebenen Werte entsprechen der standardmäßigen
Verwendung von 4th Dimension.
120
4D Server
• Physikalischen Speicher reservieren: Anteil des RAM-Speichers, der für das System und
andere Programme zu reservieren ist. Dieser Wert wird zur Optimierung erhöht, wenn
gleichzeitig mit 4th Dimension noch andere Programme auf dem Rechner laufen.
• Prozentsatz des verfügbaren Speicher für Cache: Prozent des verbleibenden Speichers,
der standardmäßig dem Cache zugewiesen wird.
Um diese Größe zu bestimmen, führen Sie folgende Rechnung aus: (Tatsächlicher
Speicher – Zu reservierender tatsächlicher Speicher) X Prozent des Speichers für den
Cache.
Im anpassbaren Modus variiert die Größe des Cache-Speichers je nach den Erfordernissen
der Programme und des Systems. Mit folgenden Optionen können Sie Einschränkungen
setzen:
• Maximale Größe: Maximale Speichergröße, die der Cache verwendet. Der Wert kann
max. 2000 MB (2 GB) sein.
• Mindestgröße: Mindestspeichergröße, die für den Cache reserviert werden muss. Der
Wert kann nicht unter 4 MB sein.
Hinweis: Das Einrichten von Grenzen ist besonders hilfreich für Datenbanken, die auf
Rechner verteilt werden, deren Speicherkonfiguration Sie nicht kennen. So können Sie in
jedem Fall eine Mindestleistung gewährleisten.
Nachfolgendes Schema veranschaulicht die Speichereinteilung:
4D Server
121
Konfigurationsbeispiele
Nachfolgende Beispiele zeigen die Vorteile des anpassungsfähigen Cache mit unterschiedlicher Software und Speicherkonfiguration:
• Rechner mit 768 MB an RAM, auf dem ein einzelner 4D Server läuft.
In diesem Fall ist es sinnvoll, dem Server den Maximum Cache-Speicher zuzuweisen:
- Zu reservierender physikalischer Speicher = 256 MB
- Prozentsatz des verfügbaren Speichers für den Cache = 100%, da es nur eine 4D Server
Anwendung gibt.
- Mindestgröße = 10 MB und Maximumgröße = 1 GB (in dieser Konfiguration sind diese
Werte bedeutungslos)
Standardmäßige Cache-Größe: (768 - 256) x 100% = 512 MB
• Dieselbe Konfiguration wie oben, jedoch mit drei 4D Server Anwendungen. Jede soll
denselben Cache erhalten.
Sie setzen den Wert für „Prozentsatz des verfügbaren Speichers für Cache“ für jeden
Server auf 33%.
Standardmäßige Cache-Größe: (768 - 256) x 33% = 170 MB
• Erstellung einer ausführbaren Anwendung für breitgefächerten Vertrieb mit multipler
Konfiguration. Nach dem Testen ergibt sich, dass die Anwendung am besten mit einem
Cache zwischen 20 und 100 MB operiert.
- Zu reservierender physikalischer Speicher = 256 MB
- Prozentsatz des verfügbaren Speichers für den Cache = 50%, damit Speicherplatz für
andere Programme verfügbar bleibt.
- Mindestgröße = 20 MB und Maximumgröße = 100 MB.
Auf einem Rechner mit 256 MB an RAM verwendet 4th Dimension den Mindest Cache =
20 MB.
Auf einem Rechner mit 1 GB an RAM verwendet 4th Dimension den Maximum Cache =
100 MB.
Auf einem Rechner mit 384 MB an RAM verwendet 4th Dimension (384 - 256) x 50% =
64 MB.
Referenz
Clients registrieren, Einstellungen zur Veröffentlichung.
122
4D Server
Einstellungen zur Veröffentlichung
4D Server verwalten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
In den Einstellungen der Datenbank können Sie unter dem Thema Client/Server auf der
Seite "Veröffentlichung" Parameter zur Sicherheit und zur Veröffentlichung von
Datenbanken durch 4D Server festlegen (zugänglich für 4D Client und 4D Server):
Es gibt folgende Parameter.
Veröffentlichen
Hier definieren Sie, ob die 4D Server Datenbank in der Liste der veröffentlichten
Datenbanken erscheint oder nicht:
• Ist die Option Veröffentlichen markiert, wird die Datenbank öffentlich gemacht und
erscheint in der Liste der veröffentlichten Datenbanken. Diese Option ist standardmäßig
aktiv.
• Ist die Option Veröffentlichen nicht markiert, wird die Datenbank nicht öffentlich
gemacht. Sie erscheint nicht in der Liste der veröffentlichten Datenbanken (Seite
TCP/IP). Zum Anmelden müssen Benutzer die Adresse der Datenbank im
Verbindungsdialog auf der Seite Angepasst manuell eingeben.
4D Server
123
Konfiguration Erlauben/Verweigern Tabelle
Mit dieser Tabelle setzen Sie die Regeln für den Zugriff auf die Datenbank. Das richtet sich
nach den IP-Adressen des Client-Rechners. Das sorgt z.B. bei Anwendungen mit sensiblen
Daten für mehr Sicherheit.
Hinweis: Diese Tabelle steuert nicht die Web Verbindungen.
Diese Tabelle funktioniert folgendermaßen:
• In der Spalte “Erlauben-Verweigern” wählen Sie im PopUp-Menü die anzuwendende
Regel, d.h. Erlauben oder Verweigern. Um eine Regel hinzuzufügen, klicken Sie auf die
Schaltfläche Hinzufügen. In der Tabelle erscheint dann eine neue Zeile. Über die
Schaltfläche Löschen können Sie die aktuelle Zeile entfernen.
• In der Spalte “IP Adresse” setzen Sie die IP-Adresse(n), für welche die Regel gelten soll.
Dazu klicken Sie in die Spalte und geben die Adresse in folgender Form ein: 123.45.67.89.
Sie können auch nur den Anfang der Adresse eingeben, gefolgt von einem * (Stern):
192.168.* gibt alle Adressen an, die mit 192.168 beginnen.
• Die Anwendung der Regeln richtet sich nach der Reihenfolge der Anzeige in der Tabelle.
Bei zwei widersprüchlichen Regeln hat die zuerst angelegte Regel Priorität.
Durch Ändern der aktuellen Sortierung können Sie die Zeilen neu ordnen (Klicken Sie auf
den Kopfteil der Spalte, um die Sortierrichtung zu wechseln). Sie können die Zeilen auch
per Drag&Drop bewegen.
• Aus Sicherheitsgründen ist die Anmeldung nur an Adressen möglich, die zu einer Regel
passen, d.h. enthält die Tabelle eine bzw. mehrere Regeln Verweigern, werden alle Adressen abgewiesen, da keine zu mindestens einer Regel passt. Wollen Sie nur einige Adressen
abweisen, andere jedoch zulassen, fügen Sie am Ende der Tabelle die Regel Erlauben *
hinzu.
Beispiel:
Verweigere 192.168.* (weist alle Adressen ab, die mit 192.168 beginnen
Erlaube * (lässt jedoch alle anderen Adressen zu)
4D Server verwendet standardmäßig keine Verbindungseinschränkungen, d.h. die erste
Zeile der Tabelle enthält die Bezeichnung Erlaube und das Zeichen * (alle Adressen sind
zugelassen).
Verschlüsselte Client/Server Verbindungen
Mit dieser Option können Sie den SSL Modus (gesicherter Modus) zur Kommunikation
zwischen dem Server-Rechner und den 4D Client-Rechnern ein- bzw. ausschalten.
Weitere Informationen dazu finden Sie im Abschnitt Client/Server Verbindungen
verschlüsseln.
Referenz
Client/Server Verbindungen verschlüsseln, Einstellungen zur Konfiguration.
124
4D Server
Client/Server Verbindungen verschlüsseln
4D Server verwalten
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können Client/Server-Verbindungen so einstellen, dass die 4D Clients von den Arbeitsstationen im gesicherten Modus mit 4D Server kommunizieren. Die gesicherte
Client/Server Kommunikation basiert auf dem SSL Protokoll (Secured Socket Layer).
SSL Protokoll und Client/Server Verbindungen
Das SSL Protokoll sichert die Kommunikation zwischen zwei Anwendungen ab, das sind
hauptsächlich Web Server und Browser. Das SSL Protokoll bürgt für die Identität von
Sender und Empfänger, sowie für die Vertraulichkeit und Vollständigkeit der ausgetauschten Informationen. Eine ausführliche Beschreibung des SSL Protokolls finden Sie im
Handbuch 4th Dimension Programmiersprache im Kapitel Web Server im Abschnitt SSL
Protokoll.
Mit dem SSL Protokoll können 4D Server und 4D Client mit größerer Sicherheit
kommunizieren. 4D Server verwaltet die Operationen zum Erstellen des Schlüssels, der
Authentifizierung und der Datenintegrität eigenständig. Der Benutzer muss keine
weiteren Einstellungen vornehmen.
Hinweis: Das Verschlüsseln von Client und Server macht die Verbindung langsamer.
Einstellungen
Das SSL Protokoll wird in den Netzwerkkomponenten integriert und zwar zwischen dem
TCP/IP Protokoll (niedere Ebene) und dem Protokoll auf hoher Ebene.
Um SSL in einer “klassischen” Client/Server-Architektur einzusetzen, achten Sie darauf,
dass die Datei 4DSLI.DLL auf dem 4D Server Rechner sowie auf jedem 4D Client Rechner
korrekt installiert sind. Das ist die Schnittstelle für die gesicherte Ebene (Secured Layer
Interface) zum Verwalten von SSL. Diese Datei muss im Ordner [4D Extensions] der 4D
Server-Anwendung/des Software-Pakets und der 4D Client Anwendungen/der SoftwarePakete liegen, welche die Datenbank veröffentlichen.
4D Server
125
Diese Elemente werden standardmäßig installiert.
Dagegen ist die Verschlüsselung der 4D Server Verbindungen standardmäßig deaktiviert.
Sie können diese in den Einstellungen der Datenbank unter dem Thema Client/Server auf
der Seite “Veröffentlichung” aktivieren. Markieren Sie dazu im Bereich "Verschlüsselung"
die Option Verschlüsselte Client/Server Verbindungen:
126
4D Server
Diese Einstellung wird erst aktiv, wenn Sie 4D Server beenden und neu starten. Alle 4D
Client Arbeitstationen melden sich dann im gesicherten Modus an.
4D Client Verbindung im gesicherten Modus
Eine im gesicherten Modus (SSL) veröffentlichte Datenbank ist im Verbindungsdialog auf
der Seite TCP/IP mit einem Circumflex (^) gekennzeichnet:
Hinweis: Erscheint die Datenbank im Verbindungsdialog nicht automatisch, kann der
Benutzer auf der Seite Angepaßt ihren Namen eingeben (siehe Abschnitt 4D Client
anmelden und Einstellungen zur Veröffentlichung). In diesem Fall muss ein Circumflex (^)
vor den Datenbanknamen gesetzt werden. Andernfalls wird die Verbindung zurückgewiesen.
Referenz
Keine Referenz.
4D Server
127
128
4D Server
5
________________________
4D Client verwalten
4D Server
129
130
4D Server
Dokument mit Pfad
4D Client verwalten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können Pfaddokumente anlegen, über die Sie vom Client-Rechner direkt auf eine
4D Server Datenbank zugreifen können.
Sie können das Pfad-Dokument per Drag&Drop oder Doppelklick auf die Datei auf die
4D Client Anwendung legen. Dann können Sie direkt auf die 4D Server Datenbank
zugreifen, ohne Angaben im Anmeldedialog einzutragen. Dieser Dialog kann außerdem
das Kennwort (verschlüsselt) enthalten, so dass Sie sofort Zugriff auf die 4D Server
Datenbank haben.
Um ein Startdokument für eine Datenbank zu erstellen:
1. Geben Sie – je nach der aktuellen Konfiguration – im 4D Client Dialogfenster zur
Identifikation den Benutzernamen ein oder wählen den Namen für die
Zugriffsberechtigung aus und geben dann ein Kennwort ein.
Diese Parameter müssen gültig sein, damit der Zugriff auf das Dialogfenster zum Sichern
der Verbindungsdatei möglich ist.
Hinweis: Dieses Dialogfenster erscheint unmittelbar, nachdem die 4D Server Datenbank
ausgewählt ist, wenn das Kennwortsystem aktiviert ist.
4D Server
131
2. Klicken Sie auf die Schaltfläche Sichern.
Auf dem Bildschirm erscheint folgendes Dialogfenster:
Sie können den Pfad mit oder ohne Kennwort speichern
• Mit Kennwort: In diesem Fall werden Zugriffspfad der Datenbank und Benutzerkennwort
(verschlüsselt) im Startdokument gespeichert. Beim Starten von 4D Client erscheint kein
Dialogfenster, die Verbindung erfolgt sofort.
• Ohne Kennwort: In diesem Fall wird der Zugriffspfad der Datenbank gespeichert, die
Benutzer müssen jedoch ihr Kennwort angeben, um die Datenbank zu öffnen.
3. Klicken Sie auf die Schaltfläche Mit Kennwort oder Ohne Kennwort.
Auf dem Bildschirm erscheint ein Standard Sichern-Dialog, in dem Sie Name und Ort zum
Speichern der Datei auf der Festplatte angeben. Der Name erhält die Endung ".pth".
132
4D Server
4. Wählen Sie Name und Ort für das Dokument und bestätigen Sie den Sichern-Dialog.
Das Dokument der 4D Client Verbindung wird auf der Festplatte gespeichert.
4D Server
133
4D Client anmelden
4D Client verwalten
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Beim Starten von 4D Client erscheint ein Dialogfenster mit drei Registerkarten.
Registerkarte Favoriten
Die Seite Favoriten zeigt die Liste aller kürzlich verwendeten 4D Server:
Die Liste ist alfabethisch sortiert. Um sich an einen Server in der Liste anzumelden,
doppelklicken Sie auf seinen Namen oder markieren ihn und klicken auf die Schaltfläche
OK.
Um einen Server aus der Liste zu entfernen, wählen Sie ihn aus und drücken die Taste Del
bzw. die Rückschrittaste.
134
4D Server
Registerkarte TCP/IP
Die Seite TCP/IP zeigt eine dynamische Liste aller 4D Server Datenbanken, die über das
Netzwerk veröffentlicht werden:
Die Liste ist alfabethisch sortiert. Wollen Sie sich über diese Liste an einen Server
anmelden, doppelklicken Sie auf seinen Namen oder markieren ihn und klicken auf die
Schaltfläche OK.
Hinweise:
• Ein Circumflex (^) vor dem Namen der Datenbanken gibt an, dass sie verschlüsselt
publiziert werden. Weitere Informationen dazu finden Sie im Abschnitt Client/Server
Verbindungen verschlüsseln.
• Die dynamische Veröffentlichtung des Datenbanknamen im Netzwerk lässt sich unterbinden. In diesem Fall muss die Verbindung manuell über die Seite "Angepasst" hergestellt
werden. Weitere Informationen dazu finden Sie im Abschnitt Einstellungen zur
Veröffentlichung.
4D Server
135
Registerkarte Angepasst
Auf dieser Seite können Sie einen im Netzwerk veröffentlichten Server über seine
IP Adresse zuweisen und einen eigenen Namen vergeben:
Sie können das TCP/IP Übertragungssystem von 4D Server so anpassen, dass die Namen
der Datenbanken nicht automatisch über das Netzwerk publiziert werden. In diesem Fall
erscheinen die Namen nicht auf der TCP/IP Seite des Clients. Kennen Sie jedoch die IPAdresse einer nicht angezeigten Server-Datenbank, können Sie die Adresse manuell
eingeben. Weitere Informationen dazu finden Sie im Abschnitt Einstellungen zur
Veröffentlichung.
• Datenbankname: Hier definieren Sie den Namen der 4D Server Datenbank. Dieser Name
wird auf der Seite Favoriten verwendet, wenn Sie Bezug auf die Datenbank nehmen.
• Netzwerk-Adresse: Hier geben Sie die IP-Adresse des Rechners an, auf dem der 4D Server
gestartet wurde. Laufen auf einem Rechner zwei Server gleichzeitig, müssen auf die
IP Adresse ein Doppelpunkt und eine Port-Nummer folgen, zum Beispiel
192.168.92.104:19814.
Hinweis: Ab 4D Server 2004 wird als Trenner der Doppelpunkt verwendet. Aus Kompatibilitätsgründen ist aber auch das Komma aus früheren Versionen zulässig.
Der Port zum Veröffentlichen eines Servers ist standardmäßig 19813. Diese Nummer lässt
sich in den Einstellungen der Anwendung verändern. Weitere Informationen dazu finden
Sie im Abschnitt Einstellungen zur Konfiguration.
136
4D Server
Hinweis: Haben Sie auf den Seiten Favoriten oder TCP/IP eine Datenbank ausgewählt und
klicken auf die Registerkarte Angepaßt, enthalten die beiden Felder diese Informationen.
Ist auf dieser Seite ein Server zugewiesen, können Sie sich durch Anklicken der Schaltfläche OK an den Server anmelden. Der Server erscheint dann auf der Seite Angepasst.
Hinweis: Wird die Datenbank verschlüsselt veröffentlicht, müssen Sie vor den Namen ein
Circumflex (^) setzen. Andernfalls wird die Verbindung zurückgewiesen. Weitere Informationen dazu finden Sie im Abschnitt Client/Server Verbindungen verschlüsseln.
Lokale Ressourcen aktualisieren
Mit dieser Option können Sie die Aktualisierung der lokalen Ressourcen auf dem ClientRechner beim Anmelden erzwingen. Das sind Informationen zur Struktur der Datenbank,
die auf jedem Client-Rechner gespeichert sind.
In der Regel werden die lokalen Ressourcen automatisch aktualisiert, wenn die Struktur
der Datenbank zwischen zwei Anmeldungen geändert wurde. In den meisten Fällen ist
diese Option unnötig. In einigen spezifischen Fällen kann es jedoch erforderlich sein, die
Aktualisierung zu erzwingen.
4D Server
137
Eigene Elemente übertragen (Ordner Extras)
4D Client verwalten
Version 2004.1 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Ordner Extras
In der Client-/Server Konfiguration ist es möglich, einen spezifischen Ordner zum
Übertragen eigener Elemente des Servers auf Client-Rechner zu verwenden
(Ressourcendatei, Textdokumente, Dateien mit XML Einstellungen, etc.). Dieser Ordner
mit Namen Extras muss neben die Strukturdatei gelegt werden.
4D Server verwaltet automatisch die Änderungen an dieser Datei und überträgt nur das,
was notwendig ist. Außerdem wird der Inhalt des Ordners komprimiert, um die Übertragungszeit über das Netzwerk zu optimieren.
Wichtig: Vermeiden Sie die Übertragung großer Datenmengen, da dies die Dauer der
Aufbauphase der Verbindung für Client Rechner signifikant erhöhen kann.
Auf der Client-Seite wird der Ordner Extras an dieselbe Stelle wie die anderen Strukturelemente gelegt, z.B.:
System
Pfad für die auf den Client-Rechner geladenen Ordner
Mac OS
{Disk}:Library:Application Support:4D:DatabaseName_Address:Extras
Windows 2000 {Disk}:\Documents and Settings\User Name\Application Data\
Windows XP
4D\DatabaseName_Address\Extras
Die ursprüngliche Hierarchie wird auf jedem Client-Rechner rekonstruiert.
Referenz
Keine Referenz.
138
4D Server
6
________________________
4D Server Menüs
4D Server
139
140
4D Server
Menü Datei/Ablage
4D Server Menüs
Version 2004 (Geändert)
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Das Menü Datei/Ablage enthält folgende Befehle:
Backup
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit diesem Befehl können Sie jederzeit ein Backup der Datenbank starten. Wählen Sie
diesen Befehl, erscheint folgendes Dialogfenster:
• Die Schaltfläche Backup startet sofort ein Backup mit den Parametern, die in den
Einstellungen der Datenbank der Anwendung definiert wurden (Dateien für das Backup,
Ort der Archive, Anzahl der Backup-Sätze)
• Die Schaltfläche Einstellungen öffnet die Einstellungen der Datenbank unter dem
Thema Backup. Hier können Sie die aktuellen Einstellungen für das Backup ansehen und
bei Bedarf verändern.
• Die Schaltfläche Abbrechen unterbricht die Operation der Datensicherung.
Prüfe Logbuch
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Erstellen Sie eine neue Datenbank, können Sie gleichzeitig die zugehörige Logbuchdatei
anlegen. Eine Logbuchdatei ist eine Art Journal. Sie verzeichnet alle Änderungen in der
Datenbank, wie z.B. Hinzufügen, Ändern und Löschen von Dateien, Datenfeldern bzw.
Datensätzen – egal, ob Sie von einem Benutzer auf der Arbeitsstation, einer Serverprozedur,
einem Plug-In, einem Web Browser oder auch über 4D Open ausgeführt werden.
4D Server
141
Bei einem Störfall in der Datenbank sorgen das Wiederherstellen des letzten Backup und
die Integration des Logbuchs dafür, dass die Datenbank exakt in dem Stadium vor dem
Störfall wiederhergestellt wird.
Der Befehl Logbuch:Rollback öffnet ein Fenster mit dem Inhalt des aktuellen Logbuchs:
Dieses Fenster ist hilfreich, um die in der Datenbank ausgeführten Operationen zu
analysieren und den Auslöser für Fehler oder Störungen herauszufinden. Sie können
insbesondere die Operationen auf jedem Client-Rechner prüfen.
Über die Schaltfläche Zurückfahren können Sie in den ausgeführten Operationen
rückwärts blättern.
Als Service registrieren
Registrierung für aktuelle Datenbank aufheben
Alle 4D Server Registrierungen aufheben
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können 4D Server als Service unter Windows und auf MacOS starten.
Um eine 4D Server Datenbank als Service zu registrieren, wählen Sie im Menü 4D Server
den Befehl Als Service registrieren. Beim nächsten Start des Rechners startet 4D Server
automatisch und öffnet die aktuelle Datenbank.
Sie können beliebig viele Datenbanken registrieren. Jede Datenbank lässt sich nur einmal
registrieren.
Warnung: Vergewissern Sie sich, dass Sie beim Öffnen der Sitzung ein gültiges
Benutzerkonto verwenden. Es muss auch auf einen Drucker zugreifen können, sonst
erscheint eine Fehlermeldung. Der Zugriff auf die Einstellungen von Services erfolgt in
der Regel über Verwaltungs-Tools/Services der Kontrollfelder.
Um die Registrierung einer Datenbank aufzuheben, wählen Sie im Menü 4D Server den
Befehl Registrierung für aktuelle DB aufheben.
142
4D Server
Um die Registrierung aller Datenbanken aufzuheben, wählen Sie im Menü 4D Server den
Befehl Alle 4D Server Registrierungen aufheben. Er erscheint in Grauschrift, wenn die
Datenbank nicht als Service registriert ist.
Startet die Anwendung beim Öffnen als Service, können Sie diesen Status nicht in
4D Server ändern; die drei Menübefehle sind inaktiv. Um den Service zu stoppen, rufen
Sie das Kontrollfeld Dienste auf.
Beenden
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Um den Server abzuschalten, gehen Sie folgendermaßen vor:
Wählen Sie unter Windows im Menü Datei, auf MacOS im Menü 4D Server der
Anwendung den Befehl Beenden.
Auf dem Bildschirm erscheint folgendes Dialogfenster
Abmelden vom Server in ... min: Geben Sie hier die Zeitspanne an, nach der sich Server
und alle Arbeitsstationen automatisch abschalten sollen.
Auf dem Bildschirm erscheint folgendes Dialogfenster:
4D Server
143
Auf der Arbeitsstation erscheint eine entsprechende Meldung. Sie können die noch
verbleibende Zeit weiterarbeiten.
Warte, bis alle Benutzer angemeldet sind: Der Server beendet, sobald alle Anwender
beendet haben. Hat ein Anwender nicht rechtzeitig beendet, wird die Verbindung
trotzdem unterbrochen. Neue Anwender können sich nicht mehr anmelden, da der
Server nicht mehr im Netzwerk erscheint.
Unabsichtliches Beenden
Unterbricht eine Arbeitsstation die Verbindung zum Server nicht ordnungsgemäß, weil
ein Netzwerkfehler aufgetreten ist bzw. die Arbeitsstation ausgeschaltet wurde, registriert
4D Server dies nach ca. 2 Minuten. Er führt dann automatisch folgende Operationen
durch:
Er löscht die Prozesse der Arbeitsstation,
Er bricht laufende Transaktionen ab,
Er gibt evtl. gesperrte Datensätze frei,
Er gibt evtl. gesetzte Semaphoren frei.
Beendet der Server nicht ordnungsgemäß, erhalten die Arbeitsstationen die Meldung, dass
die Verbindung zum Server unterbrochen wurde.
Referenz
Backup verwalten, Logbuch verwalten.
144
4D Server
Menü Bearbeiten
4D Server Menüs
Version 2004
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Das Menü Bearbeiten von 4D Server enthält die Standardbefehle Kopieren/Einfügen, den
Befehl Zeige Zwischenablage, etc.
Unter Windows enthält dieses Menü auch den Befehl Einstellungen, der das Dialogfenster
Einstellungen der Anwendung anzeigt. Weitere Informationen dazu finden Sie im
Handbuch 4th Dimension Designmodus.
Hinweis: Auf MacOS liegt der Befehl Einstellungen im Menü 4D Server der Anwendung.
Referenz
Menü Datei/Ablage, Menü Daten, Menü Hilfe, Menü Prozesse, Menü Web Server.
4D Server
145
Menü Prozesse
4D Server verwalten
Version 6.8 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Prozesse im Serverfenster steuern Sie über das Menü Prozesse.
Löschen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Warnung: Dieser Befehl dient zur Verwaltung und zur Fehlerbehebung. Sie sollten ihn nur
verwenden, wenn ein Client einen Vorgang nicht selbst beenden kann.
Der Befehl Löschen hat je nach dem ausgewählten Prozesstyp eine andere Wirkung:
• Wählen Sie den Prozess für eine Verbindung aus, wird dieser Prozess abgebrochen.
• Wählen Sie einen Benutzer aus, werden alle Prozesse abgebrochen, die zu diesem
Benutzer gehören. Der Benutzer wird aus der Liste entfernt und automatisch vom Server
abgemeldet.
• Wählen Sie eine Serverprozedur aus, wird diese Serverprozedur abgebrochen.
• Wählen Sie die Liste der Serverprozeduren aus, werden alle Serverprozeduren
abgebrochen.
• Wählen Sie den Prozess für eine Web-Anbindung aus, wird dieser Prozess abgebrochen.
• Wählen Sie die Liste der Web Clients aus, werden alle Prozesse der Web Anbindungen
gelöscht.
Sie können alle Prozesse außer Kernelprozesse löschen. Ist ein Kernel-Prozess ausgewählt,
erscheint der Befehl in Grauschrift, d.h. er ist deaktiviert.
Versuchen Sie, einen abgebrochenen Prozess auf einem Client-Rechner zu verwenden,
erscheint die Meldung, dass der Prozess nicht länger verfügbar ist.
146
4D Server
Beispielsweise erscheint folgende Meldung, wenn der Befehl Löschen auf einen Benutzer
angewendet wird:
Fehler -10001, Die aktuelle Verbindung zur Datenbank wurde unterbrochen.
Hinweis: Eine Liste der Netzwerkfehler finden Sie im Handbuch 4th Dimension
Programmiersprache im Abschnitt Netzwerkfehler.
Beendet eine Arbeitsstation die Verbindung zum Server unabsichtlich, erkennt 4D Server
dies nach ein paar Sekunden. Er führt dann folgendes aus:
•
•
•
•
Er
Er
Er
Er
hebt die Sperre für alle gesperrten Datensätze auf
annulliert alle noch nicht beendeten oder bestätigten Transaktionen
annulliert alle Client Prozesse
entfernt den Benutzer im 4D Server Prozessfenster aus der Liste der Benutzer
Wollen Sie nicht so lange warten, können Sie den Prozess über den Befehl Löschen selbst
beenden.
Warten zwei Arbeitsstationen aufeinander, und kann keine von beiden die Situation
lösen, wenden Sie den Befehl Löschen an, um diese Deadlock-Situation zu beenden.
Erweitern/Übersicht
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Wählen Sie den Befehl Erweitern, sehen Sie die Prozesse des Servers und der angeschlossenen Arbeitsstationen.
Wählen Sie den Befehl Übersicht, können Sie die Prozesse ausblenden. Sie enthält nur
noch die Kernelreferenz und die Arbeitsstationen. Haben Sie zuvor den Kernel bzw. eine
Arbeitsstation ausgewählt, gelten diese Befehle nur für das ausgewählte Objekt. Sie
können mit Ausnahme der Kernelprozesse sämtliche Prozesse ganz oder teilweise ausblenden.
4D Server
147
Prozessfenster einblenden/ausblenden
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Das Prozessfenster ist standardmäßig eingeblendet. Mit dem Befehl Prozessfenster
ausblenden können Sie es ausblenden.
Runtime Explorer einblenden/ausblenden
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit diesem Befehl können Sie das Fenster 4D Server Runtime Explorer ein- oder
ausblenden.
Mit dem Runtime Explorer können Sie den Status verschiedener Strukturelemente der
Datenbank ansehen und prüfen, ob die verfügbaren Ressourcen korrekt verwaltet werden.
Der Runtime Explorer ist besonders hilfreich beim Entwickeln oder Analysieren einer
Datenbank.
Das Fenster enthält vier Registerkarten, über die Sie auf die Seiten Überwachen, Prozess,
Unterbrechung und Unterbrechungspunkt gelangen. Er funktioniert in 4D Server auf
dieselbe Art und Weise wie in 4th Dimension. Weitere Informationen dazu finden Sie im
Handbuch 4th Dimension Designmodus.
148
4D Server
Schrittmodus
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Der Befehl Schrittmodus kann für folgende Prozesse angewandt werden:
• Prozess für Verbindung, um Trigger im Schrittmodus zu durchlaufen, die innerhalb
dieses Prozesses ausgeführt werden.
• Prozess für Web Anbindung, um Code im Schrittmodus zu durchlaufen, der als Antwort
auf Anfragen, die der Web Browser sendet, auf dem Server-Rechner ausgeführt wird.
• Serverprozedur, um die Projektmethode, die als Serverprozedur auf dem Server-Rechner
ausgeführt wird, im Schrittmodus zu durchlaufen.
Wählen Sie den Befehl Schrittmodus, erscheint das Fenster Debugger für den ausgewählten Prozess, sobald dieser Prozess Programmiercode ausführt. Das Fenster Debugger für
einen Prozess erscheint auch, wenn Sie den Befehl Schrittmodus in einer Methode
wählen, die diesen Prozess ausführt.
Interessant dabei ist, dass sich 4D Server die Schrittanfrage merkt:
• Führt der Prozess gerade Programmiercode aus, erscheint sofort der Debugger für diesen
Prozess.
• Führt der Prozess gerade keinen Programmiercode aus, weil er z.B. auf ein Ereignis im
Eingabemodus wartet, erscheint der Debugger unmittelbar, nachdem der Prozess die
Ausführung des Codes abgeschlossen hat.
Hinweis: Dies ist eine Funktion für Entwickler, die mit 4D Server im Team arbeiten. Bei
kompilierten Anwendungen lässt sich der Debugger nicht aufrufen.
Weitere Informationen zum Schrittmodus finden Sie im Handbuch 4th Dimension
Programmiersprache unter dem Befehl TRACE.
Referenz
Menü Bearbeiten, Menü Datei/Ablage, Menü Daten, Menü Hilfe, Menü Web Server.
4D Server
149
Menü Daten
4D Server Menüs
Version 6.8 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4D Server ermöglicht Ihnen das Erzeugen von bis zu 128 Gigabyte großen Datenbeständern, unterteilt in maximal 64 Segmente von jeweils 2 Gigabyte. Um die Größe der
Datei über 2 Gigabyte hinaus zu erhöhen, fügen Sie Datensegmente hinzu. Dies
ermöglicht Ihnen, verschiedene Segmente einer Datei auf verschiedenen Volumes
abzulegen.
Wählen Sie im Menü Daten den Befehl Segmente. Auf dem Bildschirm erscheint
folgendes Dialogfenster:
Sie können eine Datei segmentieren, wenn Sie die Datenbank erzeugen oder nachdem Sie
angefangen haben, sie zu benutzen. Sie können eine neue Datei segmentieren, wenn Sie
erwarten, dass die Datei sehr groß wird. Das Segmentieren einer Datei ermöglicht die
Speicherung einer virtuell unbegrenzten Anzahl von Daten.
Hinweis: Sie müssen keine Datensegmente erzeugen, wenn Sie weniger als 2 Gigabyte
Daten haben oder Ihre Festplatte die voraussichtliche Größe Ihrer Datei speichern kann.
Beim Segmentieren einer Datei unterteilen Sie die Datei in Segmente und legen dann fest,
auf welchen Volumes das jeweilige Segment gespeichert wird. Zum Beispiel können
4 Gigabyte Daten in zwei Segmente von jeweils 2 Gigabyte unterteilt werden. Jedes
Segment kann in der Größe begrenzt sein, so dass Sie Platz auf Ihrer Festplatte für andere
Dateien reservieren können und ein vollkommen volles Volume vermeiden.
150
4D Server
4D Server füllt die Datensegmente transparent in der Reihenfolge, in der sie erzeugt
wurden. Wenn ein Segment voll ist, geht das Programm automatisch zum nächsten über.
Wenn Sie durch Löschen von Daten Platz in einem Datensegment schaffen, werden die
Lücken im Segment wiederverwendet. Wenn alle Datensegmente voll sind, erhalten Sie
eine Meldung, dass die Volumes, auf denen Segmente vorhanden sind, voll sind. Dann
können Sie weitere Datensegmente hinzufügen.
Hinweis: Wird das Logbuch auf einer anderen Festplatte angelegt, erhalten Sie auch eine
Fehlermeldung, wenn dieses Medium voll ist.
Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Designmodus.
Referenz
ADD DATA SEGMENT, Menü Bearbeiten, Menü Datei/Ablage, Menü Hilfe, Menü Prozesse,
Menü Web Server.
4D Server
151
Menü Web Server
4D Server Menüs
Version 2004 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Über dieses Menü können Sie den Web Server jederzeit starten und beenden.
Hinweis: Auf MacOS funktioniert dieses Menü evtl. nicht, wenn der Web Server über eine
temporäre Root-Sitzung gestartet wird. Weitere Informationen dazu finden Sie im
Handbuch 4th Dimension Programmiersprache im Abschnitt Web Server konfigurieren und
Verbindung verwalten.
Es gibt drei verschiedene Möglichkeiten, den 4D Web Server zu starten:
• Web Server selbst aufrufen
Wählen Sie in 4D Server das Menü Web Server, in 4D Client das Menü Start. Mit den
beiden Befehlen Start Web Server und Stop Web Server können Sie den Web Server
beliebig an- und ausschalten.
• Die Datenbank wird beim Öffnen automatisch im Web publiziert.
Dazu müssen Sie in den Einstellungen der Anwendung auf der Seite Web>Konfiguration
unter den Web Server Start Optionen "Automatisch starten" markieren. Öffnen Sie nun
Ihre Datenbank mit 4th Dimension oder 4D Server, wird sie automatisch im Web
publiziert.
• Über das Programm durch Aufrufen des Befehls START WEB SERVER.
Referenz
Menü Bearbeiten, Menü Datei/Ablage, Menü Daten, Menü Hilfe, Menü Prozesse.
152
4D Server
Menü Hilfe
4D Server Menüs
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit den ersten Befehlen im Menü Hilfe können Sie auf die Online-Hilfe für 4D Server
zugreifen.
Lizenz aktualisieren
Dieser Befehl öffnet das Dialogfenster, um zusätzliche Lizenzen in Ihrer 4D Umgebung zu
aktivieren. Weitere Informationen dazu finden Sie im Installationshandbuch 4D Produkte.
4D Server
153
Der Befehl Über 4D Server zeigt ein Dialogfenster mit Registerkarten, über die Sie
Informationen über das Programm 4D Server (Name und Plazierung der Dateien), die
laufende Datenbank und Systemdateien erhalten:
Über die Seite 4D können Sie auf die Online-Registrierung von 4D Server zugreifen.
Hinweis: Auf MacOS liegt der Befehl Über 4D Server im Menü 4D Server der Anwendung.
Referenz
Menü Bearbeiten, Menü Datei/Ablage, Menü Daten, Menü Prozesse, Menü Web Server.
154
4D Server
7
________________________
4D
Programmiersprache
4D Server
155
156
4D Server
Einführung
4D Programmiersprache
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 ServerRechner 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
4D Server
157
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 Server
prozess 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.
158
4D Server
4D Server und Mengen
4D Programmiersprache
Version 6.0.2
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können mit Interprozess-, Prozess- oder lokalen Mengen arbeiten. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache im Kapitel
Mengen.
• Prozessmengen: Eine Prozessmenge gilt nur für den Prozess, der die Menge erzeugt hat.
Sie wird bei Beginn der Methodenausführung aktiv und bleibt es, bis die Methode vollständig ausgeführt ist. Dann ist die Prozessmenge gelöscht. Prozessmengen benötigen
keine spezielle Kennzeichnung im Namen. UserSet und LockedSet sind Mengen mit
reservierten Namen.
• Interprozessmengen: Eine Interprozessmenge gilt für alle Prozess auf der Arbeitsstation,
welche diese Menge erzeugt hat. Ihr Name beginnt mit den Zeichen <> ( “kleiner als”
gefolgt von “größer als”).
Hinweis: Diese Schreibweise gilt für Windows und Macintosh. Auf Macintosh kann auch
das Zeichen ◊ benutzt werden. Tippen Sie dazu bei gedrückter Umschalt- und Wahltaste
den Buchstaben v ein.
• Lokale Mengen/Client Mengen: Der Name von lokalen bzw. Client Mengen beginnt
mit dem Dollarzeichen ($). Auch die Systemmenge UserSet gehört zu den lokalen bzw.
Client Mengen, obwohl Sie nicht mit einem Dollarzeichen $ beginnt.
Interprozess- und Prozessmengen werden auf dem Server Rechner verwaltet, lokale
Mengen auf den Client-Rechnern.
Hinweis: Sie verwenden normalerweise Interprozess- und Prozessmengen, da diese die
Verwaltung in der Client/Server Architektur optimieren.
4D Server und Befehle für Mengen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Dieser Abschnitt beschreibt das Verhalten von Befehlen für Mengen in der Client/Server
Architektur bei der Ausführung auf dem Client Rechner:
• CREATE EMPTY SET
Eine leere Menge wird auf dem Server Rechner erstellt. Eine lokale Menge wird dann über
das Netzwerk vom Server-Rechner auf den Client-Rechner kopiert. Interprozess- oder
Prozessmengen bleiben auf dem Server-Rechner und werden auch dort gepflegt.
• CREATE SET
• CREATE SET FROM ARRAY
4D Server
159
Eine Menge wird auf dem Server Rechner erstellt. Eine lokale Menge wird dann über das
Netzwerk vom Server-Rechner auf den Client-Rechner kopiert. Interprozess- oder Prozessmengen bleiben auf dem Server-Rechner und werden auch dort gepflegt.
• USE SET
Eine lokale Menge wird zuerst vom Client-Rechner über das Netzwerk auf den ServerRechner kopiert, und dann auf dem Server verwendet, um die Tabellenauswahl zu ändern.
Interprozess- oder Prozessmengen werden lokal auf dem Server-Rechner verwendet, um die
Tabellenauswahl zu ändern.
• SAVE SET
Eine lokale Menge wird lokal auf dem Client-Rechner gesichert.
Interprozess- oder Prozessmengen werden zuerst über das Netzwerk vom Server-Rechner
auf den Client-Rechner kopiert und dann lokal auf dem Client-Rechner gesichert.
• LOAD SET
Eine lokale Menge wird von der Festplatte lokal auf den Client-Rechner geladen.
Interprozess- oder Prozessmengen werden zuerst von der Festplatte lokal auf den ClientRechner geladen und dann über das Netzwerk vom Client-Rechner auf den ServerRechner kopiert.
•
•
•
•
•
CLEAR SET
ADD TO SET
REMOVE FROM SET
Is in set
Records in set
Diese fünf Befehle greifen auf lokale Mengen zu, die lokal auf dem Client-Rechner liegen.
Bei Interprozess- oder Prozessmengen wird über das Netzwerk eine Anfrage an den ServerRechner gesendet, um die Information zu erhalten bzw. die Aktion auszuführen.
• DIFFERENCE
• INTERSECTION
• UNION
Für diese drei Befehle müssen die dazugehörigen Mengenparameter auf demselben
Rechner liegen. Folglich müssen entweder alle oder keiner davon lokale Mengen sein.
• COPY SET
Mit COPY SET können Sie jede Menge in eine andere kopieren. Sie können zum Beispiel
eine lokale Menge in eine Interprozess- oder Prozessmenge kopieren. Die Menge wird
dann über das Netzwerk vom Client-Rechner auf den Server-Rechner kopiert.
160
4D Server
4D Server und die Menge UserSet
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4D Client erstellt die Menge UserSet als lokale Menge (auch wenn der Name nicht mit
einem $-Zeichen beginnt), um das Erstellen der Menge zu optimieren. UserSet enthält die
Datensätze, die der Anwender in einer mit den Befehlen MODIFY SELECTION oder DISPLAY
SELECTION erzeugten Liste angeklickt hat.
Wollen Sie UserSet als Parameter für die Befehle DIFFERENCE, INTERSECTION oder UNION
übergeben, wenn die anderen Parameter Interprozess oder Prozessmengen sind, müssen
Sie UserSet (eine lokale Menge) zuerst in eine Interprozess- oder Prozessmenge kopieren,
um diese Menge mit dem Befehl benutzen zu können.
Beispiel:
ALL RECORDS ([Tabelle])
` Laß den Benutzer einige Datensätze auswählen
MODIFY SELECTION ([Tabelle];*)
` Prüfe, ob der Benutzer einige Datensätze ausgewählt hat
If (Records in set("UserSet")>0)
` Suche die Datensätze, die auszuschließen sind
QUERY([Tabelle];[Tabelle]Flag#0)
` Erstelle eine Menge aus der sich ergebenden Auswahl
CREATE SET([Tabelle];"auszuschließen")
If (Application type = 4D Client)
` UserSet ist lokale Menge, kopiere sie in eine nicht-lokale Menge
COPY SET ("UserSet";"Benutzerauswahl") ` ← über das Netzwerk kopiert
` Rufe DIFFERENCE auf und übergebe 3 nicht-lokale Parameter
vom Typ Menge
DIFFERENCE ("Benutzerauswahl";"auszuschließen";"Benutzerauswahl")
Else
` Rufe DIFFERENCE
DIFFERENCE ("UserSet";"auszuschließen";"Benutzerauswahl")
End if
CLEAR SET("auszuschließen")
USE SET("Benutzerauswahl")
CLEAR SET("Benutzerauswahl")
End if
4D Server
161
Sie können die Operation auch mit folgendem Code ausführen:
ALL RECORDS ([Tabelle])
` Laß den Benutzer einige Datensätze auswählen
MODIFY SELECTION ([Tabelle];*)
` Prüfe, ob der Benutzer einige Datensätze ausgewählt hat
If (Records in set("UserSet")>0)
` Suche die Datensätze, die auszuschließen sind
QUERY([Tabelle];[Tabelle]Flag#0)
` Erstelle eine Menge aus der sich ergebenden Auswahl
CREATE SET([Tabelle];"auszuschließen")
If (Application type = 4D Client)
` UserSet ist lokale Menge, kopiere sie in eine nicht-lokale Menge
CREATE SET([Tabelle];"$auszuschließen") ` ← kopiere vom Server auf den Client
` Rufe DIFFERENCE auf und übergebe 3 nicht-lokale Parameter
vom Typ Menge
DIFFERENCE ("UserSet";"$Auszuschließen";"UserSet")
Else
` Erstelle eine nicht lokale Menge aus der sich ergebenden Auswahl
CREATE SET([Tabelle];"auszuschließen")
` Rufe DIFFERENCE
DIFFERENCE ("UserSet";"auszuschließen";"Benutzerauswahl")
End if
CLEAR SET("$auszuschließen")
USE SET("UserSet") ` ← kopiere vom Client zum Server
End if
Im ersten Beispiel werden drei Mengen erstellt und eine über das Netzwerk kopiert. Im
zweiten Beispiel werden zwei Mengen erstellt und zwei über das Netzwerk kopiert. Wählen
Sie je nach Ihrem Bedarf eine ähnliche Programmierung.
4D Server und die Menge LockedSet
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
LockedSet ist eine Menge, die auf dem Server-Rechner erstellt und gepflegt wird.
Referenz
COPY SET, Einführung, Einführung in Mengen.
162
4D Server
Datenbankmethode On Server Startup
4D Programmiersprache
Version 6.8 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbankmethode On Server Startup wird einmal auf dem Server-Rechner aufgerufen,
wenn Sie eine Datenbank mit 4D Server öffnen. Die Datenbankmethode On Server Startup
wird ausschließlich in der 4D Server Umgebung aufgerufen.
Die Datenbankmethode On Server Startup ist der richtige Ort, um:
• Interprozessvariablen zu initialisieren, die Sie während der gesamten 4D Server Sitzung
verwenden.
• Serverprozeduren automatisch beim Öffnen der Datenbank zu starten.
• Voreinstellungen bzw. Einstellungen aus der letzten 4D Server Sitzung zu laden.
• Andere Aktionen auszuführen, die bei jedem Öffnen der Datenbank automatisch
ablaufen sollen.
Um Code automatisch auf einem Client-Rechner auszuführen, wenn sich ein 4D Client
am Server anmeldet, verwenden Sie die Datenbankmethode On Startup.
Referenz
Datenbankmethode On Server Shutdown, Datenbankmethoden, Import mit Serverprozeduren
(Beispiel).
4D Server
163
Datenbankmethode On Server Shutdown
4D Programmiersprache
Version 6.8 (Geändert)
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbankmethode On Server Shutdown wird einmal auf dem Server-Rechner
aufgerufen, wenn Sie 4D Server beenden und somit die Datenbank verlassen. Die
Datenbankmethode On Server Shutdown wird ausschließlich in der 4D Server Umgebung
aufgerufen.
Eine Server Datenbank wird nur beendet, wenn der Benutzer auf dem Server den Befehl
Beenden wählt oder eine Serverprozedur den Aufruf des Befehls QUIT 4D auslöst.
Beim Verlassen der Datenbank führt 4D folgende Aktionen durch:
• Ist keine Datenbankmethode On Server Shutdown vorhanden, beendet 4D Server ohne
Unterscheidung der Reihe nach jeden Prozess.
• Ist eine Datenbankmethode On Server Shutdown vorhanden, führt 4D Server diese
Methode in einem neu angelegten lokalen Prozess durch. Sie können so via
Interprozesskommunikation anderen Prozesse mitteilen, die Ausführung zu beenden.
Beachten Sie, dass 4D Server evtl. beendet wird – die Datenbankmethode On Server
Shutdown kann zwar alle gewünschten Operationen zum Aufräumen oder Schließen
durchführen, aber nicht das Beenden ansich verweigern, und so an einem gewissen Punkt
enden.
Die Datenbankmethode On Server Shutdown ist der richtige Ort, um:
• Serverprozeduren zu beenden, die beim Öffnen der Datenbank automatisch starten.
• Voreinstellungen bzw. Einstellungen (lokal oder auf Festplatte) zu speichern, um sie
beim Starten der nächsten Sitzung in der Datenbankmethode On Server Startup
wiederzuverwenden.
• Andere Aktionen auszuführen,
• Andere Aktionen auszuführen, die bei jedem Beenden der Datenbank automatisch
ablaufen sollen.
Wichtig: Verwenden Sie zum Schliessen von Serverprozeduren die Datenbankmethode On
Server Shutdown, beachten Sie, dass der Server mit Ende der Ausführung der
Datenbankmethode On Server Shutdown und nicht der Serverprozeduren abschaltet. Noch
laufende Serverprozeduren werden abgebrochen.
Wollen Sie sicherstellen, dass die Serverprozeduren beenden, bevor der Server abschaltet,
muss die Datenbankmethode On Server Shutdown eine Anweisung zum Beenden geben,
z.B. über Testen einer Interprozessvariablen und die Zeit zum Beenden gewähren. Dazu
können Sie eine Schleife von n-Sekunden oder einen Test durch eine andere
Interprozessvariable einrichten.
Um Code automatisch auf einem Client-Rechner auszuführen, wenn sich ein 4D Client
am Server abmeldet, verwenden Sie die Datenbankmethode On Exit.
Referenz
Datenbankmethode On Server Startup, Datenbankmethoden, Methoden.
164
4D Server
Datenbankmethode On Server Open Connection 4D Programmiersprache
Version 6.8 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Wann wird die Datenbankmethode On Server Open Connection aufgerufen?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbankmethode On Server Open Connection wird einmal auf dem Server-Rechner
aufgerufen, wenn sich ein Client-Rechner anmeldet. Die Datenbankmethode On Server
Open Connection wird ausschließlich in der 4D Server Umgebung aufgerufen.
4D Client
Mit 4D Client wird die Datenbankmethode On Server Open Connection immer aufgerufen,
wenn:
• 4D Client sich anmeldet (weil der Prozess Benutzerumgebung startet)
• 4D Client die Designumgebung öffnet (weil der Prozess Design startet)
• 4D Client über den Befehl New Process einen nicht-lokalen Prozess startet
• Ein nicht-lokaler Prozess über ein Menü oder das Dialogfenster Methode ausführen
aufgerufen wird.
Bei den Aktionen mit 4D Client starten zwei Prozesse —Einer auf dem Client-Rechner, der
andere auf dem Server-Rechner. Auf dem Client-Rechner führt der Prozesscode aus und
sendet Anfragen an 4D Server. Auf dem Server-Rechner verwaltet der Prozess die Datenbankumgebung für den Client-Prozess (z.B. akutelle Auswahlen für den Benutzerprozess)
und beantwortet Anfragen, die von dem Prozess auf dem Client-Rechner gesendet
wurden. Von daher wird der Prozess, der auf dem Server läuft, Verbindungsprozeß
genannt. Er führt im Grunde genommen dasselbe aus, wie der Prozess auf dem Rechner
im Einzelplatzbetrieb, mit dem Unterschied, dass er über das Netzwerk läuft.
4D Insider
Melden Sie sich von 4D Insider aus an 4D Server an, startet auf dem Server-Rechner ein
Verbindungsprozess für die Arbeitsumgebung von 4D Insider. Dieser Prozess beantwortet
die Anfragen, die 4D Insider sendet.
Auf 4D Open basierende Anwendungen
Jedes Mal, wenn sich eine auf 4D Open-basierende Anwendung an 4D Server anmeldet,
startet ein Verbindungsprozess auf dem Server. Dieser Prozess beantwortet die Anfragen,
die über 4D Open gesendet werden und verwaltet den Datenbankbereich dieser
Verbindung (z.B. aktuelle Auswahl).
4D Server
165
Wichtig: Web Verbindungen lösen nicht die Datenbankmethode On Server Open
Connection aus. Meldet sich ein Web Browser an 4D Server an, startet die Datenbankmethode On Web Autentication -sofern vorhanden und/oder die Datenbankmethode
On Web Connection. Weitere Informationen dazu finden Sie im Handbuch 4th Dimension
Programmiersprache im Kapitel Web Server.
Wichtig: Startet eine Serverprozedur, wird nicht die Datenbankmethode On Server Open
Connection ausgelöst. Serverprozeduren sind Serverprozesse und keine Verbindungsprozesse. Sie führen Code auf dem Server-Rechner aus, beantworten jedoch keine
Anfragen von 4D Clients oder anderen Clients an 4D Server.
Wie wird die Datenbankmethode On Server Open Connection aufgerufen?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbankmethode On Server Open Connection wird auf dem 4D Server-Rechner
innerhalb des Verbindungsprozesses ausgeführt, der die Anweisung gibt, die Methode
aufzurufen.
Beispiel: Meldet sich ein 4D Client an eine Datenbank auf 4D Server an, starten die
Prozesse Benutzerumgebung und Design und Clienteintragung für diesen Client. Die
Datenbankmethode On Server Open Connection wird also dreimal ausgeführt —einmal
innerhalb des Verbindungsprozesses Benutzerumgebung, einmal innerhalb des Verbindungsprozesses Clienteintragung und einmal innerhalb des Verbindungsprozesses Design.
Sind diese Prozesse jeweils der sechste, siebte und achte gestartete Prozeß auf dem ServerRechner, gibt die Funktion Current process jeweils 6, 7 und 8 zurück, wenn Sie Current
process von der Datenbankmethode On Server Open Connection aufrufen.
Beachten Sie, dass die Datenbankmethode On Server Open Connection auf dem ServerRechner ausgeführt wird. Sie läuft im Verbindungsprozess ab, der auf dem Server läuft,
unabhängig vom Prozess auf der Client-Seite. Außerdem ist der Verbindungsprozeß in
dem Moment, wo die Methode ausgelöst wird, noch nicht benannt. (Der Befehl PROCESS
PROPERTIES gibt zu diesem Zeitpunkt nicht den Namen des Verbindungsprozesses
zurück).
Die Datenbankmethode On Server Open Connection hat keinen Zugriff auf die Tabelle
Prozessvariablen des Prozesses auf der Client-Seite, da diese Tabelle auf dem ClientRechner und nicht auf dem Server-Rechner liegt.
Greift die Datenbankmethode On Server Open Connection in einer interpretierten Datenbank auf eine Prozessvariable zu, läuft sie in einer eigenen und dynamisch erstellten
Tabelle Prozessvariablen für den Verbindungsprozess ab. Da die On Server Close
Connection Database Method unter Umständen im gleichen Verbindungsprozeß ausgelöst
wird, nehmen Sie vielleicht an, dass Sie Informationen zwischen den beiden Methoden
über Prozessvariablen verwalten können. Das funktioniert nicht im kompilierten Modus.
166
4D Server
In einer komplierten Datenbank teilt sich die Datenbankmethode On Server Open
Connection zusammen mit anderen Datenbankmethoden sowie Triggern eine gemeinsame Tabelle Prozessvariablen, die auf dem Server-Rechner verwaltet wird. Auf diese Weise
kann der kompilierte Code laufen und der Speicherverbrauch wird reduziert. Sie können
einerseits von einer Datenbankmethode oder einem Trigger aus auf jede Prozessvariable
zugreifen. Andererseits wird Speicherplatz gespart, denn eine eigene Prozesstabelle pro
Datenbankmethode sowie Trigger würde sowohl Speicherplatz als auch Startzeit beanspruchen.
Fazit: Stützen Sie sich beim Ausführen der Datenbankmethode On Server Open Connection
und On Server Close Connection Database Method nicht auf Prozessvariablen. Verwenden
Sie Daten, die in Interprozeßvariablen oder in einer Tabelle gespeichert sind.
4D Server übergibt der Datenbankmethode On Server Open Connection drei Parameter
vom Typ Lange Ganzzahl und erwartet ein Ergebnis vom Typ Lange Ganzzahl. Die
Methode muss deshalb ausdrücklich mit drei Parametern vom Typ Lange Ganzzahl
deklariert werden und dem Funktionsergebnis vom Typ Lange Ganzzahl:
C_LONGINT($0;$1;$2;$3)
Geben Sie keinen Wert in $0 zurück, d.h. die Variable ist undefiniert oder gegen Null
initialisiert, nimmt 4D Server an, daß die Datenbankmethode die Verbindung akzeptiert.
Akzeptieren Sie die Verbindung nicht, geben Sie in $0 einen Wert zurück, der nicht Null
ist.
Die drei Parameter für die Datenbankmethode geben folgende Informationen zurück:
Parameter
$1
Benutzers
$2
$3
Beschreibung
ID Nummer für Benutzer, die 4D Server intern zur Identifikation des
verwendet.
ID Nummer für Verbindung, die 4D Server intern zur Identifikation einer
Verbindung verwendet.
ID Nummer für Netzwerkprotokoll, die 4D Server intern verwendet.
Hinweis: Ab 4D Server Version 6.8 gibt der Parameter $3 immer 2 oder 29 zurück.
Diese drei ID Nummern sind nicht direkt als Informationsquellen einsetzbar, z.B. um sie
in einem 4D Befehl als Parameter zu übergeben. Sie ermöglichen jedoch, einen Verbindungsprozeß zwischen der Datenbankmethode On Server Open Connection und der
Datenbankmethode On Server Close Connection eindeutig zu identifizieren. Die Kombination dieser drei Werte ist zu jedem Moment einer Server Sitzung einmalig. Ist diese
Information in einer Interprozeß-Array bzw. Tabelle gespeichert, können beide Datenbankmethoden Informationen austauschen.
4D Server
167
Im Beispiel am Ende dieses Abschnitts, verwenden die beiden Datenbankmethoden diese
Information, um Datum und Uhrzeit für Beginn und Ende einer Verbindung zum
gleichen Datensatz einer Tabelle zu speichern.
Beispiele
1. Dieses Beispiel zeigt, wie mit der Datenbankmethode On Server Open Connection und
der On Server Close Connection Database Method in der Datenbank ein Logbuch der Verbindung verwaltet wird. Die Tabelle [Server Log] wird zum Auffinden der Verbindungsprozesse verwendet.
Die hier gespeicherte Information wird von der Datenbankmethode On Server Open
Connection und der Datenbankmethode On Server Close Connection wie folgt verwaltet:
` Datenbankmethode On Server Open Connection
C_LONGINT($0;$1;$2;$3)
` Erstelle eine Datensatz [Logbuch]
CREATE RECORD([Logbuch])
[Logbuch]Log Nr:=Sequence number([Logbuch])
` Sichere Anmeldedatum und Anmeldezeit
[Logbuch]Anmeldedatum:=Current date
[Logbuch]Anmeldezeit:=Current time
` Sichere die Verbindungsinformation
[Logbuch]Benutzer Nr:=$1
[Logbuch]Verbindung Nr:=$2
[Logbuch]NC Nr:=$3
SAVE RECORD([Logbuch])
168
4D Server
` Gibt keinen Fehler zurück, so dass die Verbindung weiterlaufen kann
$0:=0
` Datenbankmethode On Server Close Connection
C_LONGINT($1;$2;$3)
` Finde wieder Datensatz [Logbuch]
QUERY([Logbuch];[Logbuch]Benutzer Nr=$1;*)
QUERY([Logbuch]; & ;[Logbuch]Verbindung Nr=$2;*)
QUERY([Logbuch]; & ;[Logbuch]NC Nr=$3;*)
QUERY([Logbuch]; & ;[Logbuch]Prozeß Nr=0)
` Sichere Abmeldedatum und -zeit
[Logbuch]Abmeldedatum:=Current date
[Logbuch]Abmeldezeit:=Current time
` Sichere die Prozessinformation
[Logbuch]Prozeß Nr:=Current process
PROCESS PROPERTIES([Logbuch]Prozeß Nr;$vsProzName;$vlProzStatus;$vlProzZeit)
[Logbuch]Prozeß Name:=$vsProzName
SAVE RECORD([Logbuch])
Nachfolgend sehen Sie einige Einträge in [Logbuch] mit mehreren 4D Client
Anbindungen und einer 4D Insider Anbindung:
4D Server
169
2. Im folgenden Beispiel kann zwischen 2 und 4 Uhr A.M. keine neue Verbindung
hergestellt werden:
` Datenbankmethode On Server Open Connection
C_LONGINT($0;$1;$2;$3)
If((?02:00:00?<=Current time)&(Current time<?04:00:00?))
$0:=22000
Else
$0:=0
End if
Referenz
Datenbankmethode On Server Close Connection, Datenbankmethoden.
170
4D Server
Datenbankmethode On Server Close Connection 4D Programmiersprache
Version 6.8 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Datenbankmethode On Server Close Connection wird jedes Mal auf dem Server-Rechner
aufgerufen, wenn ein Verbindungsprozess endet.
Analog zur Datenbankmethode On Server Open Connection übergibt 4D Server in der
Datenbankmethode On Server Close Connection drei Parameter vom Typ Lange Ganzzahl,
er erwartet jedoch kein Ergebnis.
Die Methode muss deshalb ausdrücklich mit drei Parametern vom Typ Lange Ganzzahl
definiert werden:
C_LONGINT($1;$2;$3)
Die drei Parameter für die Datenbankmethode geben folgende Informationen zurück:
Parameter
$1
$2
$3
Beschreibung
ID Nummer für Benutzer, die 4D Server intern zur Identifikation des
Benutzers verwendet.
ID Nummer für Verbindung, die 4D Server intern zur Identifikation einer
Verbindung verwendet.
ID Nummer für Netzwerkkomponente, die 4D Server intern verwendet.
Hinweis: Ab 4D Server Version 6.8, gibt der Parameter $3 immer 2 oder 29 zurück.
Die Datenbankmethode On Server Close Connection ist das exakte Gegenstück zur
Datenbankmethode On Server Open Connection. Weitere Informationen und eine
Beschreibung der Verbindungsprozesse, finden Sie im vorigen Abschnitt.
Beispiel
Siehe erstes Beispiel für die Datenbankmethode On Server Open Connection.
Referenz
Datenbankmethode On Server Open Connection, Datenbankmethoden.
4D Server
171
172
4D Server
8
________________________
Serverprozeduren
4D Server
173
174
4D Server
Serverprozeduren
Serverprozeduren
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Was ist eine SQL Serverprozedur?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Der Ausdruck Serverprozedur stammt aus der Server-Welt, die auf SQL basiert. Sendet eine
Arbeitsstation eine Anfrage an einen SQL Server, sendet sie die Anfrage als Volltext in SQL
Sprache an diesen Server. Die Anfrage wird vor der Ausführung auf dem SQL Server
analysiert und interpretiert. Ist der Quellcode umfangreich und wird die Anfrage während
einer Sitzung mehrere Male gesendet, beansprucht das natürlich viel Zeit für die Übertragung über das Netzwerk und die stets neue Analyse und Interpretation.
Deshalb sollte ein Weg gefunden werden, diese Anfrage zuerst über das Netzwerk zu
senden, zu analysieren und zu interpretieren und nur noch auszuführen, wenn sie von
der Arbeitsstation gesendet wird. Die Lösung war, den Quellcode der Anfrage (mit anderen
Worten eine Prozedur) auf der Server-Seite zu lassen; die Arbeitsstation sendet dann als
Anfrage nur den Namen dieser Prozedur. Da diese Prozedur auf dem Server gespeichert
wird, nennen wir solche Prozeduren "Serverprozeduren".
Beachten Sie, dass eine Serverprozedur, die auf SQL basiert, Parameter von einer Arbeitsstation empfangen kann, die damit verbundenen Tasks synchron oder asynchron
ausführt und evtl. ein Ergebnis an die Arbeitsstation zurückgibt. Löst eine Arbeitsstation
die Ausführung einer Serverprozedur aus, überlässt die Station die Ausführung von Code
bis zu einem gewissen Maß dem Server-Rechner.
Was ist eine 4D Server Serverprozedur?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Selbst wenn wir den gängigen Namen benutzen, bieten Serverprozeduren unter 4D Server
weit mehr als reguläre Serverprozeduren.
Mit einer 4D Funktion, wie z.B. New process können Sie einen Benutzerprozess starten, in
dem eine Methode abläuft. Diese Methode heißt Prozessmethode. Weitere Informationen
dazu finden Sie im Handbuch 4th Dimension Programmiersprache im Abschnitt
Projektmethoden.
Dasselbe können Sie mit 4D Server auf einer Arbeitsstation durchführen. Sie können
zusätzlich mit der Funktion Execute on server auf dem Server-Rechner einen Benutzerprozess starten, in dem eine Methode abläuft. Diese Methode heißt Serverprozedur. Der
Prozess, der auf dem Server-Rechner gestartet wird, heißt ebenfalls Serverprozedur.
4D Server
175
Wichtig: Der Hauptunterschied zwischen einer Serverprozedur, die auf SQL-basiert und
einer Serverprozedur unter 4D Server ist, dass im ersten Fall eine SQL Prozedur, im zweiten
Fall ein 4D Prozess abläuft.
Architektur der 4D Serverprozeduren
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Eine Serverprozedur hat wie ein normaler Prozess eine eigene Umgebung:
• Aktuelle Auswahl pro Tabelle: Jede Serverprozedur hat eine eigene aktuelle Auswahl.
Eine Tabelle kann in verschiedenen Serverprozeduren auch verschiedene Auswahlen
haben.
• Aktueller Datensatz pro Tabelle: Jede Tabelle kann in jeder Serverprozedur einen
anderen aktuellen Datensatz haben.
• Variablen: Jede Serverprozedur hat ihre eigenen Prozessvariablen. Prozessvariablen
werden nur im Bereich der jeweiligen Serverprozedur erkannt.
• Standardtabelle: Jede Serverprozedur hat eine eigene Standardtabelle.
• Prozeßmengen: Jede Serverprozedur hat ihre eigenen Prozessmengen.
• On Error Call: Jede Serverprozedur hat ihre eigene Methode On Error Call.
• Debugger Fenster: Jede Serverprozedur kann ein eigenes Debugger Fenster haben.
Eine Serverprozedur kann in der Benutzeroberfläche Fenster öffnen und Daten anzeigen
(z.B. DISPLAY RECORD). Sie kann jedoch im Gegensatz zu Benutzerprozessen auf der
Arbeitsstation keine Dateneingabe auslösen (z.B. ADD RECORD), da es keinen EingabeKernel auf dem Server-Rechner gibt.
Sie können soviele Serverprozeduren starten wie es Hardware und Speicher des Systems
zulassen. Im Grunde genommen antwortet der 4D Server-Rechner nicht nur auf Anfragen
der Arbeitsstation und von Web Browsern, er führt auch Prozesse aus, die mit anderen
Prozessen interagieren, die auf dem Server-Rechner und Client-Rechnern laufen.
Ebenso wie 4th Dimension und 4D Client eine Multi-Tasking Umgebung für Benutzerprozesse auf einer Arbeitsstation bieten, bietet 4D Server eine Multi-Tasking Umgebung
für Serverprozeduren. 4D Server verwaltet zum Beispiel eine Tabelle mit Interprozessvariablen, die Serverprozeduren für die Interprozesskommunikation benutzen können.
Was macht eine Serverprozedur?
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Fast alles, was im Handbuch 4th Dimension Programmiersprache über die Funktionsweise
von Prozessen und Befehlen beschrieben wird, gilt auch für Serverprozeduren. Davon
ausgenommen sind die Eingabe von Daten und einige Druckoptionen.
176
4D Server
Eine Serverprozedur kann Datensätze hinzufügen, suchen, sortieren, aktualisieren und
löschen. Sie kann Mengen und Auswahlen verwenden, auf Dokumente auf der Festplatte
zugreifen, mit BLOBs u.v.m. arbeiten. Der einzige Unterschied besteht darin, dass etwas
nicht auf dem 4D Client-Rechner, sondern auf dem Server-Rechner ausgeführt wird.
Ein großer Vorteil ist, dass eine Serverprozedur lokal auf dem Server-Rechner ausgeführt
wird, also dort, wo auch die Datenbank-Engine liegt. Der Befehl APPLY TO SELECTION ist
innerhalb einer Serverprozedur effizienter als über das Netzwerk. Das Beispiel im Abschnitt
Import mit Serverprozeduren (Beispiel) zeigt, wie stark sich die Leistung über clever eingesetzte Serverprozeduren optimieren lässt.
Der wichtigste Vorteil von Serverprozeduren sind jedoch die neuen Möglichkeiten, die
sich für 4D Server ergeben. Mit Serverprozeduren können Sie Ihre eigenen 4D Server
Dienste einrichten. Ihrer Phantasie sind keine Grenzen gesetzt. Das Beispiel im Abschnitt
Service mit Serverprozeduren (Beispiel) zeigt eine Serverprozedur, die Clients mit Information über 4D Server bzw. den Server-Rechner ausstattet. Sie können z.B. die Laufwerke des
Server-Rechners auflisten. Dieses Beispiel lässt sich leicht erweitern, so dass ein Client auch
Information über ein Verzeichnis oder ein Dokument erhält.
Auf dem Server nicht zulässige Befehle
Enthält eine Serverprozedur einen dieser Befehle, erscheint eine Meldung, dass der Befehl
nicht auf 4D Server ausgeführt werden kann. Der Fehler #67 wird zurückgegeben. Sie
können ihn mit dem Befehl ON ERR CALL verwalten.
ACCUMULATE
ADD RECORD
ADD SUBRECORD
APPEND MENU ITEM
BREAK LEVEL
CALL PROCESS
CHANGE LICENSES
Count menu items
Count menus
CREATE DATA FILE
DELETE MENU ITEM
DISABLE MENU ITEM
DISPLAY SELECTION
EDIT ACCESS
ENABLE MENU ITEM
FILTER EVENT
Get menu item
Get menu item key
Get menu item mark
Get menu item style
4D Server
177
Get menu title
GRAPH TABLE
HIDE MENU BAR
INSERT MENU ITEM
Level
Menu selected
MODIFY RECORD
MODIFY SELECTION
MODIFY SUBRECORD
ON EVENT CALL
OPEN DATA FILE
Open external window
PAGE BREAK
PAGE SETUP
PRINT FORM
PRINT LABEL
PRINT SETTINGS
Printing page
QR REPORT
QUERY BY EXAMPLE
REMOVE PICTURE FROM LIBRARY
SET ABOUT
SET MENU ITEM
SET MENU ITEM KEY
SET MENU ITEM MARK
SET MENU ITEM STYLE
SET PICTURE TO LIBRARY
SET PRINT PREVIEW
SHOW MENU BAR
Subtotal
Auf dem Server ungeeignete Befehle
Enthält eine Serverprozedur einen dieser Befehle, kann der Server blockiert werden. Es
kann ein Fehler erzeugt werden oder nicht das gewünschte Ergebnis eintreten. Sie
erhalten keine spezifische Fehlermeldung. Vermeiden Sie deshalb diese Befehle in Serverprozeduren.
ACCEPT
Activated
ADD DATA SEGMENT
After
APPEND TO CLIPBOARD
APPEND TO LIST
Before
178
4D Server
BLOB to list
BRING TO FRONT
BUTTON TEXT
CANCEL
CHANGE CURRENT USER
CHANGE PASSWORD
CLEAR CLIPBOARD
CLEAR LIST
Copy list
Count list items
Count screens
Create document (1)
Create resource file (1)
Current form page
Current form table
Current user
C_GRAPH
Deactivated
DELETE LIST ITEM
DELETE USER
DIALOG
DISABLE BUTTON
DRAG AND DROP PROPERTIES
DRAG WINDOW
Drop position
During
ENABLE BUTTON
ERASE WINDOW
EXPORT DATA (1)
FILTER KEYSTROKE
Find window
FIRST PAGE
Focus object
FONT
FONT LIST
Font name
Font number
FONT SIZE
FONT STYLE
Form event
Frontmost process
Frontmost window
GET CLIPBOARD
Get edited text
4D Server
179
GET FORM PROPERTIES
GET GROUP LIST
GET GROUP PROPERTIES
GET HIGHLIGHT
GET LIST ITEM
GET LIST ITEM PROPERTIES
GET LIST PROPERTIES
GET MOUSE
GET OBJECT RECT
GET PICTURE FROM CLIPBOARD
Get text from clipboard
GET USER LIST
GET USER PROPERTIES
GET WINDOW RECT
Get window title
GOTO AREA
GOTO PAGE
GRAPH SETTINGS
HIDE PROCESS
HIDE TOOL BAR
HIDE WINDOW
HIGHLIGHT RECORDS
HIGHLIGHT TEXT
IMPORT DATA (1)
In break
In footer
In header
INPUT FORM
INSERT LIST ITEM
INVERT BACKGROUND
Is a list
Is user deleted
Keystroke
LAST PAGE
List item parent
List item position
LIST TO BLOB
Load list
MAXIMIZE WINDOW
Menu bar height
Menu bar screen
MINIMIZE WINDOW
Modified
MOVE OBJECT
180
4D Server
New list
NEXT PAGE
Next window
Old
Open document (1)
Open resource file (1)
ORDER BY (2)
OUTPUT FORM
Outside call
PRINT RECORD (2)
PRINT SELECTION (2)
Pop up menu
POST CLICK
POST EVENT
POST KEY
PREVIOUS PAGE
QUERY BY FORMULA (2)
QUERY (2)
REDRAW
REDRAW LIST
REDRAW WINDOW
REGISTER CLIENT
REJECT
SAVE LIST
SCREEN COORDINATES
SCREEN DEPTH
Screen height
Screen width
Select folder
SELECT LIST ITEMS BY POSITION
SELECT LIST ITEMS BY REFERENCE
SELECT LOG FILE
Selected list items
Self
SET CHOICE LIST
SET COLOR
SET CURSOR
SET ENTERABLE
SET FIELD TITLES
SET FILTER
SET FORMAT
Set group properties
SET LIST ITEM
SET LIST ITEM PROPERTIES
4D Server
181
SET LIST PROPERTIES
SET PICTURE TO CLIPBOARD
SET RGB COLORS
SET SCREEN DEPTH
SET TABLE TITLES
SET TEXT TO CLIPBOARD
SET TIMER
Set user properties
SET VISIBLE
SET WINDOW RECT
Shift down
SHOW PROCESS
SHOW WINDOW
SORT LIST
Test clipboard
User in group
Validate password
Window kind
WINDOW LIST
Window process
(1) Nur wenn der erste Parameter ein leerer String ist.
(2) Nur wenn die Syntax die Anzeige eines Dialogfensters auslöst, z.B. SORT ([Tabelle]).
Befehle ohne Auswirkung auf dem Server
Diese Befehle haben keine Auswirkung in Serverprozeduren auf dem Server. Sie erhalten
keine Fehlermeldung.
GRAPH
MENU BAR
MESSAGES OFF
MESSAGES ON
SHOW TOOL BAR
182
4D Server
Eine Serverprozedur starten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
• Mit 4D Client können Sie eine Serverprozedur im Dialogfenster Methode ausführen
manuell starten:
Sie können sie auf 4D Server oder einem bzw. mehreren 4D Client Rechnern ausführen.
Beachten Sie, dass nur die Clients in der Liste erscheinen, welche Sie zuvor registriert
haben. Weitere Informationen dazu finden Sie im Abschnitt 4D Client registrieren und
unter dem Befehl REGISTER CLIENT.
• Über Code in 4D Client: Rufen Sie die Funktion Execute on server auf.
• Über eine Methode, die auf 4D Server ausgeführt wird (Server Datenbankmethode oder
Serverprozedur): Wählen Sie dazu die Funktion Execute on server oder New process oder
EXECUTE ON CLIENT.
Interprozess-Kommunikation zwischen Serverprozeduren und Benutzerprozessen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Serverprozeduren können miteinander kommunizieren durch:
• Interprozessvariablen
• lokale oder globale Semaphoren
• Datensätze
• Interprozessmengen und temporäre Auswahlen auf Interprozessebene
• die Befehle GET PROCESS VARIABLE, SET PROCESS VARIABLE und VARIABLE TO VARIABLE
4D Server
183
Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache
in den entsprechenden Abschnitten. Nochmal zur Erinnerung: Denken Sie daran, dass die
4D Befehle im Bereich des Server-Rechners genauso arbeiten, wie im Bereich des ClientRechners.
Hinweis: Die Befehle CALL PROCESS und Outside call haben auf dem Server-Rechner keine
Bedeutung, da Serverprozeduren keine Benutzeroberfläche mit Dateneingabe haben.
Es gibt jedoch ein anderes wichtiges Feature: Benutzerprozesse, die auf dem ClientRechner laufen, können mit den Befehlen GET PROCESS VARIABLE, SET PROCESS VARIABLE
und VARIABLE TO VARIABLE Prozessvariablen (*) von einer Serverprozedur lesen und
schreiben.
(*) ebenso wie die Interprozessvariable auf dem Server-Rechner.
Wichtig: Die Prozesskommunikation zwischen mehreren Rechnern über die Befehle GET
PROCESS VARIABLE, SET PROCESS VARIABLE und VARIABLE TO VARIABLE ist nur vom Client
zum Server möglich. Es ist immer ein Client-Prozess, der die Variablen einer
Serverprozedur liest oder schreibt.
Referenz
Import mit Serverprozeduren (Beispiel), Service mit Serverprozeduren (Beispiel)
184
4D Server
Import mit Serverprozeduren (Beispiel)
Serverprozeduren
Version 6.0.2
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Folgendes Beispiel zeigt, wie sich der Datenimport im Client/Server-Betrieb enorm beschleu
nigen lässt. Mit der Methode Reguläre Projektmethode Import können Sie testen, wie lange
es dauert, mit dem Befehl IMPORT TEXT Datensätze auf der Arbeitsstation zu importieren:
` Reguläre Projektmethode Import
$vhDocRef:=Open document("")
If (OK=1)
CLOSE DOCUMENT($vhDocRef)
INPUT FORM([Table1];"Import")
$vhStartTime:=Current time
IMPORT TEXT([Table1];Document)
$vhEndTime:=Current time
ALERT("Es dauerte "+String(0+($vhEndTime-$vhStartTime))+" Sekunden.")
End if
Mit dieser Methode analysiert 4D Client die Textdatei, erstellt dann für jeden Datensatz
einen neuen Datensatz, füllt die Datenfelder mit den importierten Daten und sendet den
Datensatz zum Server-Rechner, damit er der Datenbank hinzugefügt wird. Demzufolge
laufen viele Anfragen über das Netzwerk. Diese Operation läßt sich mit einer Serverprozedur optimieren, da sie dann lokal auf dem Server-Rechner ausgeführt wird. Der
Client-Rechner lädt das Dokument in ein BLOB, startet dann eine Serverprozedur, die das
BLOB als Parameter übergibt. Die Serverprozedur speichert das BLOB in einem Dokument
auf der Festplatte des Server-Rechners und importiert dann das Dokument lokal. Der
Datenimport wird demnach lokal ausgeführt (mit der Geschwindigkeit für Einzelplatz), da
die meisten Anfragen über das Netzwerk eliminiert wurden.
Hier ist die Projektmethode CLIENT IMPORT. Sie wird auf dem Client-Rechner ausgeführt
und ruft die u.a. Serverprozedur SERVER IMPORT auf:
` Projektmethode CLIENT IMPORT
` CLIENT IMPORT ( Pointer ; String )
` CLIENT IMPORT ( -> [Table] ; Input form )
C_POINTER($1)
C_STRING(31;$2)
C_TIME($vhDocRef)
C_BLOB($vxData)
C_LONGINT(spErrCode)
4D Server
185
` Wähle das zu importierende Dokument
$vhDocRef:=Open document("")
If (OK=1)
` Wurde ein Dokument ausgewählt, schließe es
CLOSE DOCUMENT($vhDocRef)
$vhStartTime:=Current time
` Versuche, es in den Speicher zu laden
DOCUMENT TO BLOB(Document;$vxData)
If (OK=1)
` Konnte das Dokument in das BLOB geladen werden,
` Starte die Serverprozedur, die die Daten auf dem Server-Rechner importiert.
$spProcessID:=Execute on server("SERVER IMPORT";32*1024;
"Server Import Services";Table($1);$2;$vxData)
` Wir benötigen das BLOB nicht länger in diesem Prozeß
CLEAR VARIABLE($vxData)
` Warte bis die Operation durch die Serverprozedur vollständig ausgeführt ist
Repeat
DELAY PROCESS(Current process;300)
GET PROCESS VARIABLE($spProcessID;spErrCode;spErrCode)
If (Undefined(spErrCode))
` Hinweis: Hat die Serverprozedur nicht ihre eigene Instanz der Variable
` spErrCode initialisiert, wird evtl. eine undefinierte Variable zurückgegeben
spErrCode:=1
End if
Until (spErrCode<=0)
` Teile der Serverprozedur mit, daß wir bestätigen
spErrCode:=1
SET PROCESS VARIABLE($spProcessID;spErrCode;spErrCode)
$vhEndTime:=Current time
ALERT("es dauerte "+String(0+($vhEndTime-$vhStartTime))+" Sekunden.")
Else
ALERT("Es gibt nicht genügend Speicher, um das Dokument zu laden.")
End if
End if
186
4D Server
Hier ist die Projektmethode SERVER IMPORT, ausgeführt als Serverprozedur:
` Projektmethode SERVER IMPORT
` SERVER IMPORT ( Long ; String ; BLOB )
` SERVER IMPORT ( Table Number ; Input form ; Import Data )
C_LONGINT($1)
C_STRING(31;$2)
C_BLOB($3)
C_LONGINT(spErrCode)
` Operation ist noch nicht beendet, setze spErrCode auf 1
spErrCode:=1
$vpTable:=Table($1)
INPUT FORM($vpTable->;$2)
$vsDocName:="Import File "+String(1+Random)
DELETE DOCUMENT($vsDocName)
BLOB TO DOCUMENT($vsDocName;$3)
IMPORT TEXT($vpTable->;$vsDocName)
DELETE DOCUMENT($vsDocName)
` Operation ist beendet, setze spErrCode auf 0
spErrCode:=0
` Warte, bis der anfragende Client das Ergebnis erhalten hat.
Repeat
DELAY PROCESS(Current process;1)
Until (spErrCode>0)
Sind diese beiden Projektmethoden in einer Datenbank integriert, können Sie den Import
über eine Serverprozedur ausführen, wenn Sie beispielsweise schreiben:
CLIENT IMPORT (->[Table1];"Import")
Bei einigen Benchmarks werden Sie feststellen, daß der Datensatzimport mit dieser
Methode bis zu 60 mal schneller läuft als über den regulären Import.
Referenz
Execute on server, GET PROCESS VARIABLE, Serverprozeduren, Service mit Serverprozeduren
(Beispiel), SET PROCESS VARIABLE.
4D Server
187
Service mit Serverprozeduren (Beispiel)
Serverprozeduren
Version 6.8 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Im Beispiel aus dem vorigen Abschnitt Import mit Serverprozeduren (Beispiel) startet oder
endet eine Serverprozedur immer, wenn ein Datenimport angefordert wird. In diesem
Beispiel startet eine Serverprozedur automatisch beim Starten der Serverdatenbank und
kann von jedem Client, der sich an die Datenbank anmeldet, beliebig beendet oder
wieder gestartet werden. Sobald die Serverprozedur läuft, kann sie asynchron auf die
verschiedenen Anfragen antworten, welche die an die Datenbank angeschlossenen
Clients senden.
Der vorige Abschnitt zeigt, wie Sie einen in 4D Server bestehenden Service zur Optimierung von Operationen integrieren können. Dieser Abschnitt erläutert, wie Sie neue
Services integrieren können, die für alle 4D Clients verfügbar sind. Sie können das Beispiel
auch als Vorlage zum Einrichten eigener Services verwenden.
Automatisches Starten der Serverprozedur
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Serverprozedur wird automatisch gestartet mit der Datenbankmethode On Server
Startup:
` Datenbankmethode On Server Startup
START SP SERVICES
Da die Datenbankmethode On Server Startup die Projektmethode SP SERVICES als Serverprozedur startet, läuft SP SERVICES, sobald die Datenbank mit 4D Server gestartet wird,
unabhängig davon, ob derzeit Clients an die Server-Datenbank angemeldet sind.
188
4D Server
Das hier abgebildete Prozessfenster von 4D Server zeigt die aktive Serverprozedur, ohne
dass ein Client angemeldet ist.
Hinweis: Alle Serverprozeduren gelten als ein Benutzer von 4D Server. Von daher wird
unter angemeldete Anwender "1" angezeigt.
Serverprozeduren individuell starten und beenden
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Projektmethode START SP SERVICES sieht folgendermaßen aus:
` Projektmethode START SP SERVICES
◊vlSPServices:=Execute on server("SP SERVICES";32*1024;"SP SERVICES";*)
Da die Funktion Execute on server wie New process arbeitet, wenn sie auf dem ServerRechner aufgerufen wird, kann auf dem Server-Rechner bzw. jedem Client-Rechner
dieselbe Methode (START SP SERVICES) verwendet werden, um die Methode SP SERVICES als
Serverprozedur auf dem Server-Rechner aufzurufen.
4D Server
189
Die Projektmethode STOP SP SERVICES stoppt die Projektmethode SP SERVICES
` Projektmethode STOP SP SERVICES
SET PROCESS VARIABLE(◊vlSPServices;vbStopSPServices;True)
Startet die Projektmethode SP SERVICES, setzt sie die Prozessvariable vbStopSPServices auf
Falsch und durchläuft die Schleife, bis diese Variable vom Typ Boolean den Wert Wahr
annimmt. Mit dem Befehl SET PROCESS VARIABLE lässt sich in jedem Benutzerprozess auf
dem Server-Rechner bzw. jedem Client-Rechner der Wert der Variablen vbStopSPServices
verändern und so die Serverprozedur nach eigenen Wünschen stoppen.
Mit Serverprozeduren kommunizieren
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Serverprozedur muss Anfragen des Clients jederzeit und in beliebiger Reihenfolge
asynchron empfangen und beantworten können. Das lässt sich am einfachsten mit einer
Tabelle bewerkstelligen.
Die Tabelle [SP Anfragen] enthält folgende Datenfelder:
• [SP Anfragen]Anf_Nr arbeitet mit der Funktion Sequence number. Es dient nur zum
Identifizieren der Anfragen.
• [SP Anfragen]Anf_Typ beschreibt die Art der Anfrage.
190
4D Server
• [SP Anfragen]Anf_Status kann folgende Werte annehmen:
Wert
1
0
<0
Beschreibung
Die Anfrage wurde gesendet, jedoch noch nicht bearbeitet
Die Anfrage wurde erfolgreich bearbeitet.
Die Anfrage wurde bearbeitet, es ist jedoch ein Fehler aufgetreten.
Hinweis: Die Werte wurden willkürlich für dieses Beispiel gewählt, sie sind nicht von 4D
vorgegeben.
• [SP Anfragen]Anf_Daten ist ein BLOB mit den Daten der Anfrage. Sie kann sowohl Daten
enthalten, die der Anfrager sendet als auch Daten, die die Serverprozedur an den Anfrager
zurückgibt.
• [SP Anfragen]Anf_Parameter enthält optional Parameterwerte, die der Anfrager an die
Serverprozedur sendet.
Warum eine Tabelle verwenden?
Die Kommunikation zwischen einem Client-Rechner und einer Serverprozedur lässt sich
mit den Befehlen GET PROCESS VARIABLE, SET PROCESS VARIABLE und VARIABLE TO
VARIABLE herstellen. Diese Befehle werden z. B. im Abschnitt Import mit Serverprozeduren
(Beispiel) und in der Projektmethode STOP SP SERVICES verwendet.
Hier muss das System jedoch zulassen, dass die Serverprozedur variable Datenmengen
empfängt und zurücksendet. Sie könnten zwar auch Arrays, einschließlich Arrays vom
Typ Text und Bild verwenden, zwei Gründe sprechen jedoch für die Verwendung einer
Tabelle:
• Der Algorithmus zum Bearbeiten von Anfragen via Datensätzen lässt sich einfacher
einrichten. Wollen Sie eine Anfrage von einem Client-Rechner aus senden, müssen Sie in
der Tabelle lediglich eine Anfrage hinzufügen. Wird die Anfrage von der Serverprozedur
aus beantwortet, muss diese Anfrage lediglich geändert werden.
• Anfragen in einer Tabelle werden auch auf der Festplatte gespeichert. Von daher ist die
Größe einer umfangreichen Anfrage kein Problem, da sie aus dem Speicher entfernt
werden kann (im Gegensatz zu Daten, die in Arrays gespeichert sind)
4D Server
191
Eine Anfrage vom Client-Rechner senden
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Projektmethode Client post request ist eine generische Methode zum Senden einer
Anfrage:
` Projektmethode Client post request
` Client post request ( String { ; Text } ) -> Long
` Client post request (Anfrage_Typ { ; Parameter } ) -> Anfrage_Nr
CREATE RECORD([SP Anfragen])
[SP Anfragen]Anf_Nr:=Sequence number([SP Anfragen])
[SP Anfragen]Anf_Typ:=$1
[SP Anfragen]Anf_Status:=1
If (Count parameters>=2)
[SP Anfragen]Anf_Parameter:=$2
End if
SAVE RECORD([SP Anfragen])
$0:=[SP Anfragen]Anf_Nr
Die Methode gibt die Nummer der Anfrage zurück. Die Funktion Sequence number stellt
ihre Einzigartigkeit sicher. Wurde der Datensatz in der Datenbank [SP Anfragen] hinzugefügt, kann der Client das Datenfeld [SP Anfragen]Anf_Status befragen und abwarten, bis
die Serverprozedur die Anfragen vollständig bearbeitet hat.
Den Status der Anfrage abfragen und das Ergebnis auf dem Client-Rechner erhalten
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Projektmethode Client get result ist eine generische Methode zum Abfragen des Status
der Anfrage. Wie bereits erwähnt, weiss der Client, sobald das Datenfeld
[SP Anfragen]Anf_Status einen anderen Wert als 1 hat, dass die Serverprozedur die Anfrage
bearbeitet hat (erfolgreich oder nicht erfolgreich).
` Projektmethode Client get result
` Client get result ( Long ; ->BLOB {; Long } ) -> Long
` Client get result ( Anfrage-Nr; ->Daten {; Delay } ) -> Error Code
C_LONGINT($0;$1;$vlDelay)
$0:=1
$vlDelay:=0
If (Count parameters>=3)
$vlDelay:=$3
End if
READ ONLY([SP Anfragen])
Repeat
QUERY([SP Anfragen];[SP Anfragen]AnfID=$1)
If (Records in selection([SP Anfragen])>0)
192
4D Server
If ([SP Anfragen]Anf_Status # 1)
$2->:=[SP Anfragen]Anf_Daten
READ WRITE([SP Anfragen])
While (Locked([SP Anfragen]))
WAITING LOOP ($vlDelay)
LOAD RECORD([SP Anfragen])
End while
DELETE RECORD([SP Anfragen])
$0:=[SP Anfragen]Anf_Status
End if
Else
` Datensatz für die Anfrage ging verloren!
` Das sollte zwar nicht passieren. Setze trotzdem den Fehler auf -2
(willkürlicher Wert)
$0:=-2
End if
` Die Anfrage wurde noch nicht bearbeitet
If ($0=1)
WAITING LOOP ($vlDelay)
End if
Until ($0 # 1)
READ ONLY([SP Anfragen])
Hat die Serverprozedur die Anfrage erfolgreich bearbeitet, kopiert die Methode das
Ergebnis (falls vorhanden) aus dem Datensatz in das BLOB, dessen Zeiger als Parameter
übergeben wurde. Die aufrufende Methode analysiert und verwendet dann die BLOB
Daten je nach Art der Anfrage. Beachten Sie, dass der Client für das Löschen des Datensatzes [SP Anfragen] zuständig ist, sobald die Anfrage vollständig bearbeitet ist.
Die kleine Projektmethode WAITING LOOP durchläuft die Schleife, bis eine Anzahl Ticks
vergangen ist:
`Projektmethode WAITING LOOP
` WAITING LOOP ( Long )
` WAITING LOOP ( Delay in ticks )
C_LONGINT($1)
$vlStartTicks:=Tickcount
Repeat
IDLE
Until ((Tickcount-$vlStartTicks)>=$1)
Zu Erinnerung: Der Befehl DELAY PROCESS hat im Benutzerprozess keine Auswirkung. Mit
der Projektmethode WAITING LOOP wartet der Prozess die erforderliche Zeitspanne ab,
selbst wenn die Anfrage von einem Benutzerprozess auf einem Client-Rechner ausging.
4D Server
193
Serverprozeduren und dazugehörige Unterroutinen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Die Projektmethode SP SERVICES läuft als Serverprozedur auf dem Server-Rechner. Der
gesamte Aufbau dieser Methode, hier gezeigt in Pseudocode, ist denkbar einfach:
Initialisiere eine Variable “stop”
Wiederhole
Suche nach Anfragen mit dem Wert des Datenfeldes
[SP Anfragen]Anf_Status ist gleich 1
Für jede Anfrage
Rufe je nach Art der Anfrage eine Unterroutine auf
die das Ergebnis im Datenfeld [SP Anfragen]Anf_Daten speichert
Ändere den Status der Anfrage, so dass der Client weiß, was passiert ist
Ende für
“Schlafe” ein wenig vor erneutem Starten
Bis die Variable “stop” den Wert wahr hat.
Hier ist der echte Source Code:
` Projektmethode SP SERVICES
` Die Serverprozedur startet
vbStopSPServices:=False
` Die Serverprozedur benötigt auf Tabellen etc. keinen Zugriff im Lese/Schreibmodus
READ ONLY(*)
` ...außer der Tabelle [SP Anfragen]
READ WRITE([SP Anfragen])
Repeat
` Suche nach noch nicht bearbeiteten Anfragen
QUERY([SP Anfragen];[SP Anfragen]Anf_Status=1)
` Bearbeite diese Anfragen eine nach der anderen
For ($vlRecord;1;Records in selection([SP Anfragen]))
` Ist der Datensatz Anfrage gesperrt, warte bis er freigegeben wird
While (Locked([SP Anfragen]))
` Warte eine Sekunde vor erneutem Versuch
DELAY PROCESS(Current process;60)
` Versuche, Zugriff im Lese/Schreibmodus zu erhalten
LOAD RECORD([SP Anfragen])
End while
` Nimm an, dass die Anfrage erfolgreich bearbeitet wird
[SP Anfragen]Anf_Status:=0
194
4D Server
Case of
: ([SP Anfragen]Anf_Typ="Server Information")
SP DO SERVER INFORMATION
: ([SP Anfragen]Anf_Typ="Volume List")
SP DO VOLUME LIST
: ([SP Anfragen]Anf_Typ="Browse Directory")
SP DO BROWSE DIRECTORY ([SP Anfragen]Anf_Parameter)
` ...
` HIER KÖNNEN ANDERE ANFRAGETYPEN HINZUGEFÜGT WERDEN!
` ...
Else
` Der Anfragetyp ist unbekannt, gibt Fehler -1 zurück
(willkürlicher Wert)
[SP Anfragen]Anf_Status:=-1
End case
` Sorge dafür,dass der Anfragestatus ungleich 1 ist
` (falls eine Unterroutine ihn auf 1 setzt)
If ([SP Anfragen]Anf_Status=1)
[SP Anfragen]Anf_Status:=-3
End if
` Aktualisiere den Datensatz Anfrage
SAVE RECORD([SP Anfragen])
` Gehe zur nächsten unbearbeiteten Anfrage
NEXT RECORD([SP Anfragen])
End for
` Gib den zuletzt bearbeiteten Datensatz Anfrage frei
UNLOAD RECORD([SP Anfragen])
` Warte eine Sekunde vor erneutem Starten der Antwort auf die Anfrage
DELAY PROCESS(Current process;60)
` Bleibe in der Schleife, bis die SP angewiesen wird, die Ausführung zu stoppen
Until (vbStopSPServices)
Die Projektmethode SP SERVICES kann als Vorlage zur Integration neuer Services in einer
Datenbank dienen. In diesem Abschnitt betrachten wir näher die Unterroutinen SP DO
SERVER INFORMATION und SP DO VOLUME LIST. Die Unterroutine SP DO BROWSE
DIRECTORY, die den Parameter übernimmt, den der Client im Datenfeld
[SP Anfragen]Anf_Parameter übersendet, wird hier nicht behandelt.
Die Projektmethode SP SERVICES ruft je nach Anfragetyp eine Unterrroutine auf, welche
die resultierenden Daten im Datenfeld [SP Anfragen]Anf_Daten speichert. SP SERVICES
sichert den Datensatz und ändert den Status der Anfrage.
4D Server
195
Hier folgt die Unterroutine SP DO SERVER INFORMATION. Sie speichert die serverbezogene Information im BLOB. Eine andere Projektmethode entnimmt die BLOB Daten
entsprechend auf dem Client-Rechner.
` Projektmethode SP DO SERVER INFORMATION
TEXT TO BLOB(Application version(*);[SP Anfragen]Anf_Daten;Pascal string)
TEXT TO BLOB(Structure file;[SP Anfragen]Anf_Daten;Pascal string;*)
TEXT TO BLOB(Data file;[SP Anfragen]Anf_Daten;Pascal string;*)
PLATFORM PROPERTIES($vlPlatform;$vlSystem;$vlMachine)
VARIABLE TO BLOB($vlPlatform;[SP Anfragen]Anf_Daten;*)
VARIABLE TO BLOB($vlSystem;[SP Anfragen]Anf_Daten;*)
VARIABLE TO BLOB($vlMachine;[SP Anfragen]Anf_Daten;*)
Hier folgt die Unterroutine SP DO VOLUME LIST. Sie speichert die volume-bezogene
Information im BLOB. Eine andere Projektmethode entnimmt die BLOB Daten
entsprechend auf dem Client Rechner.
` Projektmethode SP DO VOLUME LIST
VOLUME LIST($asVName)
$vlSize:=Size of array($asVName)
ARRAY REAL($arVSize;$vlSize)
ARRAY REAL($arVUsedSpace;$vlSize)
ARRAY REAL($arVFreeSpace;$vlSize)
For ($vlElem;1;$vlSize)
VOLUME ATTRIBUTES($asVName{$vlElem};$arVSize{$vlElem};
$arVUsedSpace{$vlElem};$arVFreeSpace{$vlELem})
End for
VARIABLE TO BLOB($asVName;[SP Anfragen]Anf_Daten)
VARIABLE TO BLOB($arVSize;[SP Anfragen]Anf_Daten;*)
VARIABLE TO BLOB($arVUsedSpace;[SP Anfragen]Anf_Daten;*)
VARIABLE TO BLOB($arVFreeSpace;[SP Anfragen]Anf_Daten;*)
196
4D Server
Die Server Information auf einem Client-Rechner zeigen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit den generischen Projektmethoden Client post request und Client get result zeigt die
Projektmethode M_SERVER_INFORMATION die Serverinformation an, die die Serverprozedur auf dem Client-Rechner zurückgibt. Diese Methode kann einem Menübefehl
zugeordnet werden oder z.B. über eine Objektmethode für eine Schaltfläche aufgerufen
werden:
` M_SERVER_INFORMATION
C_BLOB(vxData)
C_LONGINT($vlAnf_Nr;$vlErrCode;$vlOffset)
` Stelle die Anfrage
$vlAnfID:=Client post request ("Server Information")
` Frage den Anfragestatus ab und erhalte das Ergebnis
$vlErrCode:=Client get result ($vlAnfID;->vxDaten;60)
` Ist die Anfrage erfolgreich abgeschlossen, zeige das Ergebnis an
If ($vlErrCode=0)
` Entnehme die Information aus dem BLOB
$vlOffset:=0
vsServerVersion:=BLOB to text(vxDaten;Pascal string;$vlOffset)
vsStructureFile:=BLOB to text(vxDaten;Pascal string;$vlOffset)
vsDataFile:=BLOB to text(vxDaten;Pascal string;$vlOffset)
BLOB TO VARIABLE(vxDaten;$vlPlatform;$vlOffset)
BLOB TO VARIABLE(vxDaten;$vlSystem;$vlOffset)
BLOB TO VARIABLE(vxDaten;$vlMachine;$vlOffset)
` Analysiere die Plattform Eigenschaften
vs4DPlatform:="Unbekannte 4D Server Version"
vsSystem:="Unbekannte System Version"
vsMachine:="Unbekannter Rechner"
`...
` Hier ist der Code (nicht aufgelistet) der $vlSystem und $vlMachine analysiert
` (siehe Beispiel für den Befehl PLATFORM PROPERTIES)
` ...
` Zeige das Ergebnis
DIALOG([SP Anfragen];"SERVER INFORMATION")
Else
ALERT("Anfrage error "+String($vlErrCode))
End if
` BLOB wird nicht länger benötigt
CLEAR VARIABLE(vxDaten)
4D Server
197
Hier ist das Formular [SP Anfragen];"SERVER INFORMATION" in der Benutzer- oder RuntimeUmgebung:
In diesem Fenster wird die Information von einem 4D Server-Rechner für Windows NT
auf einem Client-Rechner für Macintosh angezeigt.
Laufwerke des Server-Rechners auf einem Client-Rechner anzeigen
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Mit den generischen Projektmethoden Client post request und Client get result zeigt die
Projektmethode M_SERVER_VOLUMES auf dem Client-Rechner die Laufwerke des ServerRechners an, die die Serverprozedur zurückgibt. Diese Methode kann einem Menübefehl
zugeordnet werden oder z.B. über eine Objektmethode für eine Schaltfläche aufgerufen
werden:
` M_SERVER_VOLUMES
C_BLOB(vxDaten)
` Stelle die Anfrage
$vlReqID:=Client post request ("LAUFWERK")
` Frage den Anfragestatus ab und erhalte das Ergebnis
$vlErrCode:=Client get result ($vlAnf_Nr;->vxDaten;120)
` Ist die Anfrage erfolgreich abgeschlossen, zeige das Ergebnis an
If ($vlErrCode=0)
` Entnehme die Information aus dem BLOB
$vlOffset:=0
BLOB TO VARIABLE(vxDaten;asVName;$vlOffset)
BLOB TO VARIABLE(vxDaten;arVSize;$vlOffset)
BLOB TO VARIABLE(vxDaten;arVUsedSpace;$vlOffset)
198
4D Server
BLOB TO VARIABLE(vxDaten;arVFreeSpace;$vlOffset)
For ($vlElem;1;Size of array(arVSize))
` Konvertiere von bytes in MB
arVSize{$vlElem}:=arVSize{$vlElem}/1048576
arVUsedSpace{$vlElem}:=arVUsedSpace{$vlElem}/1048576
arVFreeSpace{$vlElem}:=arVFreeSpace{$vlElem}/1048576
End for
` Zeige das Ergebnis
DIALOG([SP Anfragen];"LAUFWERK")
Else
ALERT("Anfrage error "+String($vlErrCode))
End if
` BLOB wird nicht länger benötigt
CLEAR VARIABLE(vxDaten)
Hier ist das Formular [SP Anfragen];"LAUFWERK" in der Benutzer- oder Runtime-Umgebung:
In diesem Fenster wird die Information von einem 4D Server-Rechner für Windows auf
einem Client-Rechner für MacOS angezeigt.
Referenz
BLOB Befehle, Execute on server, Import mit Serverprozeduren (Beispiel), Serverprozeduren.
4D Server
199
Clients registrieren
Serverprozeduren
Version 2004 (Geändert)
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sie können Serverprozeduren auf einem oder mehreren anderen Clients ausführen. Sie
arbeiten wie die Serverprozeduren auf dem Server. Der einzige Unterschied ist, dass eine
auf 4D Client ausgeführte Serverprozedur auch die Dateneingabe zulässt. Weitere Informationen dazu finden Sie im Abschnitt Serverprozeduren.
Darüberhinaus muss jede Arbeitsstation, die auf Anfrage des Servers oder eines anderen
Clients Prozeduren ausführen soll, explizit für die Arbeitssitzung registriert sein. Dafür
gibt es zwei Möglichkeiten: Jeden Client automatisch beim Anmelden registrieren oder
Clients per Programmierung registrieren.
Jeden 4D Client automatisch beim Anmelden an 4D Server registrieren
Wählen Sie dazu in den Einstellungen der Datenbank unter dem Thema Client-Server auf
der Seite Konfiguration die Option "Client beim Starten registrieren":
Ist diese Option markiert, gilt jeder 4D Client, der sich an die Datenbank anmeldet, in
4D Server als Client, der Serverprozeduren ausführen kann. Auf dem Server wird in der
Gruppe Benutzerprozesse ein Prozess mit dem Namen des Client Rechners angelegt.
200
4D Server
4D Client per Programmierung registrieren
Sie können auch einen oder mehrere 4D Clients per Programmierung registrieren. In
diesem Fall wählen Sie die Arbeitsstationen, die Sie registrieren wollen und ihre Namen
selbst. Verwenden Sie dazu den Befehl REGISTER CLIENT.
Registrierung von 4D Client aufheben
Unabhängig von der Art der Registrierung können Sie jede Registrierung der Arbeitsstation für die aktuelle Sitzung wieder aufheben. Rufen Sie dazu für die betreffende(n)
Arbeitsstation(en) den Befehl UNREGISTER CLIENT auf.
Der Prozess, der die Client-Registrierung verwaltet – er hat den Namen des Client – wird
dann auf dem Server aus der Gruppe Benutzerprozesse und auf der Arbeitsstation entfernt.
Hinweis: Mit dem Befehl GET REGISTERED CLIENTS erhalten Sie die Liste der für die
Sitzung registrierten Clients und ihr jeweiliges Arbeitsaufkommen, d.h. die Anzahl der
noch auszuführenden Methoden.
Weitere Informationen zu diesen Befehlen finden Sie im Handbuch 4th Dimension
Programmiersprache im Kapitel Prozesse.
4D Server
201