Net.Data verwendet eine Initialisierungsdatei, um Einstellungen anzupassen und Sprachumgebungen sowie Suchpfade zu konfigurieren. Die Speicherposition dieser Datei sowie deren Inhalt und Syntax hängen von der verwendeten Plattform und API ab. Ausführliche Informationen dazu finden Sie in der Dokumentation zu Ihrer Plattform im Anhang des Handbuchs Net.Data Reference Guide.
Die in der Initialisierungsdatei enthaltenen Basisinformationen gelten jedoch plattformübergreifend und werden mit einer der drei Konfigurationsanweisungen angegeben. Es gibt folgende Anweisungsarten:
Einige Systeme können die Leistung von Net.Data jedoch mit Hilfe einer Direktverbindung, die Datenbankverbindungen ständig aufrechterhält, sowie einer Web-Server-API (API - Application Programming Interface) steigern. Net.Data unterstützt die folgenden APIs abhängig von der jeweiligen Plattform:
Net.Data erkennt die folgenden Pfadanweisungen zur Suche von Dateien, die für die Verarbeitung der Net.Data-Makros erforderlich sind:
Diese Pfadanweisungen geben eine Gruppe von Verzeichnissen an, die Net.Data nach Makrodateien, ausführbaren Dateien, unstrukturierten Textdateien und Kopfdateien durchsucht. Jedes angegebene Verzeichnis wird durch ein Semikolon (;) begrenzt. Schrägstriche (/) und umgekehrte Schrägstriche (\) werden auf gleiche Weise behandelt. Durch die Möglichkeit zur Angabe mehrerer Pfade können Sie Ihre Dateien nach Belieben organisieren und Ihre Web-Anwendungen in eigenen Verzeichnissen ablegen.
Die angegebenen Verzeichnisse werden durchsucht, die Unterverzeichnisse jedoch nicht. Wenn Sie beispielsweise Net.Data-Makros in folgenden Verzeichnissen gespeichert haben, müssen Sie jedes Makro in der Pfadanweisung angeben:
usr/test/client usr/test/assoc usr/test/partner
Ihre Anweisung MACRO_PATH könnte in etwa so aussehen:
MACRO_PATH = usr/test/client;usr/test/assoc;usr/test/partner
Die Beispiele in den folgenden Abschnitten zur Net.Data-Konfiguration enthalten Pfadangaben, die je nach Plattform und Konfiguration von Ihren Pfadangaben abweichen können.
Die Syntax der Anweisung MACRO_PATH ist der anderer Pfadanweisungen ähnlich:
MACRO_PATH [=] pfad1;pfad2;...;pfadn
Die Angabe des Gleichheitszeichens (=) ist wahlfrei. Wahlfreie Angaben stehen in Klammern. Die Anweisung MACRO_PATH identifiziert ein oder mehrere Verzeichnisse, die in der angegebenen Reihenfolge nach einer Net.Data-Makrodatei durchsucht werden. Zum Beispiel wird beim Senden des folgenden URL das Net.Data-Makro mit dem Pfad- und Dateinamen /WWW/macro/sqlm.mac angefordert:
http://hostname/cgi-bin/db2www/WWW/macro/sqlm.mac/report
Net.Data fügt den Pfad /WWW/macro an die Pfade der Konfigurationsanweisung MACRO_PATH von links nach rechts an, bis das Net.Data-Makro gefunden wird bzw. alle Pfade durchsucht worden sind. Weitere Informationen zum Aufrufen von Net.Data-Makros finden Sie im Abschnitt "Aufrufen von Net.Data".
Beispiel:
Net.Data-Initialisierungsdatei:
MACRO_PATH = ../macro;product1/macro
HTML-Ankerverweis:
<A HREF="cgi-bin/db2www/query.mac/input">Submit another query.</A>
Wenn query.mac im Verzeichnis ../macro gefunden wird, lautet der qualifizierte Name des Net.Data-Makros /WWW/macro/query.mac.
Das Format von EXEC_PATH ist dem von MACRO_PATH ganz ähnlich:
EXEC_PATH [=] pfad1;pfad2;...;pfadn
Die Anweisung EXEC_PATH identifiziert ein oder mehrere Verzeichnisse, die in der angegebenen Reihenfolge nach einem externen Programm durchsucht werden, das über die Anweisung EXEC aufgerufen wird. Wenn das Programm gefunden wird, wird der Name des externen Programms an die Pfadangabe angefügt. Der daraus resultierende qualifizierte Dateiname wird zur Ausführung an die Sprachumgebung übergeben.
Beispiel 1:
Net.Data-Initialisierungsdatei:
EXEC_PATH = ../pgms;product1/pgms;product2/pgms
Net.Data-Makro:
%FUNCTION(DTW_REXX) myFunction() {
%EXEC{ "myFunction.cmd" %}
%}
Wenn Net.Data im Verzeichnis /www/cgi-bin ausgeführt wird und sich die Datei myfunction.cmd im Verzeichnis product1/pgms befindet, lautet der qualifizierte Name des Programms /www/cgi-bin/product1/pgms/myfunction.cmd.
Weitere Informationen finden Sie im Handbuch Net.Data Reference Guide.
Das Format von INCLUDE_PATH ist dem von MACRO_PATH ganz ähnlich:
INCLUDE_PATH [=] pfad1;pfad2;...;pfadn
Die Anweisung INCLUDE_PATH identifiziert ein oder mehrere Verzeichnisse, die in der angegebenen Reihenfolge nach einer Datei durchsucht werden, die in der Anweisung INCLUDE in einem Net.Data-Makro angegeben wurde. Wenn die Datei gefunden wird, wird der Name der Kopfdatei an die Pfadangabe angefügt. Auf diese Weise wird ein qualifizierter Kopfdateiname gebildet.
Beispiel 1:
Net.Data-Initialisierungsdatei:
INCLUDE_PATH = ../macro;product1/macro
Net.Data-Makro:
%INCLUDE "myInclude.txt"
Wenn Net.Data im Verzeichnis /WWW/cgi-bin ausgeführt wird und sich die Datei myinclude.txt im Verzeichnis ../macro befindet, lautet der qualifizierte Name der Kopfdatei /WWW/macro/myinclude.txt.
Beispiel 2:
Net.Data-Initialisierungsdatei:
INCLUDE_PATH = ../INCLUDES
Net.Data-Makro:
%INCLUDE "OE/oeheader.inc"
Wenn Net.Data im Verzeichnis /www/cgi-bin ausgeführt wird, wird die Kopfdatei im Verzeichnis /WWW/INCLUDES/OE gesucht und der qualifizierte Name der Kopfdatei lautet /WWW/INCLUDES/OE/oeheader.inc.
Das Format von FFI_PATH ist dem von MACRO_PATH ganz ähnlich:
FFI_PATH [=] pfad1;pfad2;...;pfadn
Die Anweisung FFI_PATH identifiziert ein oder mehrere Verzeichnisse, die in der angegebenen Reihenfolge nach einer unstrukturierten Textdatei durchsucht werden, die mit einer FFI-Funktion verwendet wird. FFI steht für "Flat File Interface" (Schnittstelle für unstrukturierte Textdateien).
Beispiel:
Net.Data-Initialisierungsdatei:
FFI_PATH = pub/ffi;pub/ffi/data
Wenn die FFI-Sprachumgebung aufgerufen wird, wird der hier angegebene Pfad durchsucht.
Das Format von HTML_PATH ist dem von MACRO_PATH ganz ähnlich:
HTML_PATH [=] pfad1;pfad2;...;pfadn
Beispiel:
Net.Data-Initialisierungsdatei:
HTML_PATH = pub/www/htm
Wenn eine Abfrage ein großes Objekt (LOB) zurückgibt, speichert Net.Data dieses in dem Verzeichnis, das in der Konfigurationsvariablen HTML_PATH angegeben ist. Bei der Verwendung von LOBs ist die jeweilige Systemausstattung zu berücksichtigen, da diese Objekte die Systemressourcen schnell aufbrauchen können. Weitere Informationen hierzu finden Sie im Abschnitt "Verwenden großer Objekte".
Die Anweisung ENVIRONMENT wird zum Konfigurieren einer Sprachumgebung verwendet. Eine Sprachumgebung ist ein steckbares Modul, mit dem Net.Data über eine Schnittstelle verbunden ist, und das den Zugriff auf eine Datenquelle, wie zum Beispiel eine OS/2-Datenbank, ermöglicht. Auf diese Sprachumgebungen wird als DLLs oder gemeinsam benutzte Bibliotheken zugegriffen. Net.Data stellt mehrere Sprachumgebungen einschließlich Schnittstellen zu Datenbanken zur Verfügung. Im Handbuch Net.Data Language Environment Guide wird beschrieben, wie Sie Sprachumgebungen erstellen können. Damit Net.Data mit einer Sprachumgebung verbunden werden kann, muß in die Net.Data-Initialisierungsdatei eine Anweisung ENVIRONMENT eingefügt werden. Diese Anweisung hat die folgende Syntax:
ENVIRONMENT(art) bibliotheksname ([verwendung argument, ...] [CLIETTE "LE_art:dbname"])
Weitere Informationen hierzu finden Sie im Handbuch Net.Data Language Environment Guide.
Variablenanweisungen sind Zeichenfolgen mit folgender Syntax:
NAME [=] VALUE_STRING
Variablenweisungen erfüllen unterschiedliche Zwecke. In einigen Fällen wird eine Variablenanweisung zum Definieren eines Werts verwendet, der für die korrekte Funktionsweise oder einen alternativen Modus der Sprachumgebung erforderlich ist Die von Net.Data verwendeten Pfadanweisungen bilden zum Beispiel eine bestimmte Art einer Variablenanweisung. Net.Data stellt Schnittstellen zur Verfügung, über die von einer Sprachumgebung aus auf die Variablenanweisungen zugegriffen werden kann. Weitere Informationen hierzu finden Sie im Handbuch Net.Data Language Environment Guide.
Net.Data stellt keine speziellen Sicherungsfunktionen zur Verfügung. Sie können jedoch Ihre Datenbestände mit Hilfe vorhandener Maßnahmen sichern, die Sie wahrscheinlich bereits zum Schutz von System und Daten einsetzen. Sie müssen sich entscheiden, welche Sicherheitsstufe für Ihre Datenbestände angebracht ist.
Net.Data unterstützt zwei Arten von Identifikationsüberprüfungen: eine schützt bestimmte Verzeichnisse auf Ihrem Server, die andere schützt Ihre Datenbank.
Sie können alle zwischen Client-System und Web-Server übertragenen Daten verschlüsseln, wenn Sie den Web-Server mit SSL (Secured Sockets Layer) oder SHTTP (Secured Hypertext Transfer Protocol) verwenden. Über diese Sicherheitsmaßnahmen werden Anmelde-IDs, Kennwörter sowie alle über HTML-Formulare vom Client eingehenden Daten und alle vom Web-Server gesendeten Daten verschlüsselt.
Net.Data kann auch mit IBM Firewall und mit den meisten anderen Firewall-Produkten verwendet werden, um den Net.Data-Server und das Netzwerk vor unbefugten Zugriffen zu schützen. Prüfen Sie sorgfältig, welche der folgenden Konfigurationen am besten für die in Ihrem Unternehmen eingesetzten Sicherheitsmaßnahmen geeignet ist:
Bei dieser Konfiguration wird ein Teilnetz erstellt, das nur Net.Data und den Web-Server umfaßt. Hierbei handelt es sich um die Konfiguration, die die größte Sicherheit bietet, indem sich sowohl Net.Data als auch DB2 innerhalb der Prozeßabgrenzung befinden. Diese Konfiguration erfordert die folgenden Sicherheitsmaßnahmen:
Bei dieser Alternative befindet sich Net.Data außerhalb der Prozeßabgrenzung auf einer Datenstationsplattform, bei der DB2 innerhalb der Prozeßabgrenzung liegt. Die Kommunikation zwischen Net.Data und DB2 erfolgt hierbei über DDCS. Diese Konfiguration ist einfacher als Konfiguration A, bietet aber trotzdem einen Datenbankschutz.
Bei dieser Konfiguration liegt DB2 innerhalb der Prozeßabgrenzung. Auf dem Web-Server muß CAE installiert sein. Ferner muß die Prozeßabgrenzung eine Regel zur Paketfilterung enthalten, so daß DB2-Client-Anforderungen von Net.Data und Bestätigungspakete von DB2 an Net.Data gesendet werden können.
Für diese Konfiguration benötigt die Prozeßabgrenzung zwar keine Regeln zur Paketfilterung, allerdings sind Net.Data und DB2 hierbei auch nicht gegenüber unberechtigten Zugriffen geschützt.
Eine weitere Methode zum Schutz der Datenbestände bildet der Aufbau einer eigenen Schutzeinrichtung mit Hilfe von Net.Data. Beispielsweise könnten Sie anhand eines HTML-Formulars Informationen zur Gültigkeit vom Benutzer anfordern und diese Informationen dann anhand von Daten aus einer Datenbank oder durch ein externes Programm, das von einem Net.Data-Makro aufgerufen wird, überprüfen lassen.
Sie können Ihre Datenbestände auch durch die SQL-Anweisungen schützen, die Sie den Benutzern zum Senden an die Datenbank zur Verfügung stellen. So ist es beispielsweise möglich, die Anweisung SELECT auf zwei Tabellen zu begrenzen. Weitere Informationen zum Schutz Ihrer Datenbestände enthält die Internet-Liste zu häufig gestellten Sicherheitsfragen, die Sie unter folgender Web-Adresse finden:
http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html
Als zusätzliche Sicherheitsmaßnahme können Sie mit verdeckten Variablen die interne Struktur Ihrer Datenbank vor Benutzern schützen, die Ihre HTML-Quelle mit ihrem Web-Browser anzeigen möchten. Weitere Informationen hierzu finden Sie im Abschnitt "Verdeckte Variablen".