IBM Books

Net.Data Programmierung


Aufrufen von Net.Data

Sie können die Net.Data-Software so konfigurieren, daß sie als CGI-Programm oder mit einer Web-Server-API wie Lotus Go Webserver, Internet Connection Server (ICAPI), Netscape Server (NSAPI) bzw. Microsoft Internet Server (ISAPI) für die meisten Plattformen ausgeführt werden kann. Die zum Aufrufen von Net.Data verwendete Syntax hängt von der jeweiligen Net.Data-Konfiguration ab. Weitere Informationen hierzu finden Sie in "Optimieren der Leistung".

Unabhängig von der verwendeten Methode wird Net.Data von einem Web-Browser entweder über einen Ankerverweis, ein HTML-Formular oder direkt als URL aufgerufen. Net.Data wird gestartet, sobald der Web-Server den Ankerverweis, das HTML-Formular oder den URL empfängt, über den/das die CGI-Anwendung oder der API-Prozeß aufgerufen wird. Der Web-Server übergibt den Namen der Net.Data-Makrodatei, den Namen des HTML-Blocks im Net.Data-Makro sowie ggf. Eingabevariablen an Net.Data.

Wenn die Ausführung Ihrer Net.Data-Makros viel Zeit beansprucht (zum Beispiel zum Aufbau einer Verbindung an eine ferne Datenbank) sollte möglicherweise der Zeitlimitüberschreitungswert der Prozedur geändert werden. Für die meisten Makros reicht normalerweise ein Standardwert von 5 Minuten aus. Nähere Anweisungen finden Sie in der Dokumentation zu Ihrem Web-Server.

Die folgenden Beispiele zeigen die unterschiedlichen Möglichkeiten zum Aufrufen von Net.Data als eine CGI-Anwendung. Die Zeichenfolge

cgi-bin/db2www
steht für die Zeichenfolge, die Net.Data aufruft. Dies ist der Standardwert für die meisten Systeme. Sie können diese Zeichenfolge in der Konfigurationsdatei des Web-Servers definieren wie in der Dokumentation zu Ihrem Web-Server beschrieben.

server
Der Name des Web-Servers. Wenn es sich bei dem Server um den lokalen Server handelt, kann der Server-Name übergangen und ein relativer URL verwendet werden.

dateiname.erw
Name und Erweiterung der Net.Data-Makrodatei.

block
Der Name des HTML-Blocks in der angegebenen Net.Data-Makrodatei.

methode
Die mit dem Formular verwendete HTML-Methode. Hierfür wird POST empfohlen.

?name=wert&...
Ein oder mehrere wahlfreie Parameter, die an Net.Data weitergegeben werden. Sie können zum Beispiel eine Benutzer-ID weitergeben, so daß der Benutzer der Anwendung diese ID nur noch einmal eingeben muß, oder Sie können einen Net.Data-Makronamen weitergeben, über den eine Anwendung verlassen werden kann.

ICAPI verwendet dieselbe Syntax wie CGI and wird über die Konfigurationsdatei http.conf des Web-Servers verwaltet. Wenn Sie ISAPI oder NSAPI verwenden, rufen Sie Net.Data wie in den Abschnitten "Verwenden von ISAPI" und "Verwenden von NSAPI" beschrieben auf.

Ein typischer URL mit wahlfreien Parametern sieht folgendermaßen aus:

http://www.ibm.com/cgi-bin/db2www/queryA.mac/input?field1=custno&field2=custname
Von einem Ankerverweis an Net.Data gesendete Parameter werden mit der Schnittstelle QUERY_STRING gesendet, während die HTML-Formulareingabe als Standardeingabe gesendet wird.

Ankerverweise

Ankerverweise werden in der Fachsprache als Hyperlinks oder einfach als Links bezeichnet. Mit Hilfe von Links (Programmverbindungen) geben Sie den Namen des Web-Makros und den Namen des HTML-Blocks ein, um Net.Data aufzurufen. Sowohl Text als auch Grafiken können in einen Link eingeschlossen werden. Wenn der Benutzer einen mit Link versehenen Text oder eine Grafik anklickt, wird das Net.Data-Makro aufgerufen. Es folgt ein Beispiel einer gekapselten Abfrage, die Sie von einer Web-Seite aus mit einem Link aufrufen können. (Eine gekapselte Abfrage ist eine SQL-Abfrage, die keine Eingabe erfordert.)

<a href="http://www.ibm.com/cgi-bin/db2www/listA.mac/report">
List all monitors</a>

Der Link ruft das folgende Makro auf:

%DEFINE DATABASE="MNS97"

%FUNCTION(DTW_SQL) myQuery() {
SELECT MODNO, COST, DESCRIP FROM EQPTABLE WHERE TYPE='MONITOR'
%}

%HTML(report){
@myQuery()
%}
Diese Abfrage gibt eine Tabelle aller Bildschirme aus, einschließlich Modellnummer (MODNO), Preis (COST) und einer Beschreibung (DESCRIP). Mit diesem Beispiel wird ein Standardbericht generiert. Informationen zum Anpassen Ihrer Berichte an einen REPORT-Block finden Sie im Abschnitt "Berichtsblöcke (REPORT)".

Im Allgemeinen beginnt jeder Block eines Net.Data-Makros mit %block_name{ und endet mit %}. Nähere Informationen zur Syntax finden Sie im Net.Data Reference Guide.


HTML-Formulare

Mit HTML-Formularen können Sie Web-Makrooperationen anpassen. Zudem eignen sie sich für die meisten Anwendungen. Das folgende Beispiel ähnelt dem obigen Beispiel zu den Bildschirmen, jedoch kann der Benutzer hierbei die anzuzeigenden Produkte selbst auswählen. Sie können das Makro über einen Link wie den folgenden aufrufen:

<a href="http://www.ibm.com/cgi-bin/db2www/equiplst.mac/input">
Show hardware list</a>

Der Link ruft das folgende Makro auf:

%DEFINE DATABASE="MNS97"

%HTML(input)%{
<H1>Hardware Query Form</H1>
<HR>
<FORM METHOD=POST ACTION="cgi-bin/db2www/equiplst.mac/report">
<P>What type of hardware do you want to see?
<MENU>
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="MON" checked> Monitors
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="PNT"> Pointing devices
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="PRT"> Printers
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="SCN"> Scanners
</MENU>

<INPUT TYPE="SUBMIT" VALUE="Submit">
</FORM>
%}
%FUNCTION(DTW_SQL) myQuery() {
SELECT MODNO, COST, DESCRIP FROM EQPTABLE
WHERE TYPE='$(hdware)'
%REPORT{
<H3>Here is the list you requested</H3>
       %ROW{
<HR>
$(N1): $(V1), $(N2): $(V2)
<P>$(N3): $(V3)
%}
%}
%}

%HTML(report){
@myQuery()
%}

Nachdem der Benutzer der Anwendung seine Auswahl getroffen und die Taste zum Übergeben (Submit) gedrückt hat, verarbeitet der Web-Server den Parameter ACTION des Befehls FORM, über den Net.Data mit dem HTML-Berichtsblock aufgerufen wird. Nähere Informationen zu den im Block ROW verwendeten Variablen finden Sie im Handbuch Net.Data Reference Guide.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]