3.) Einrichtung der ArbeitsumgebungZunächst sollte der IIS (Internet Information Server bzw. der PWS (Personal Web Server) installiert werden. Diesen findet man für NT 4 im Option Pack, für Win2K ist er standardmäßig über Systemsteuerung – Software – Windows-Komponenten hinzuzufügen. Nach der Installation können wir überprüfen, ob alles geklappt, indem wir im Browser an der Eingabezeile folgende Adresse eingeben : http://localhost (localhost ist immer der eigene Rechner) wenn dort etwas erscheint, hat alles funktioniert. Physikalisch befindet sich die angezeigte Seite in folgendem Verzeichnis: C:\InetPub\wwwroot Unseren Webserver werden wir in einem anderen Verzeichnis erstellen, und zwar dem Verzeichnis: C:\InetPub\scripts Wir legen uns für unser Projekt ein Unterverzeichnis mit Namen „Devcon“ an. In diesem Verzeichnis werden wir unsere Sourcen haben. ACHTUNG ! Es macht Sinn, die Sourcen in diesem Verzeichnis zu halten, denn der Webserver läuft nur von einem lokalen Laufwerk ! Zusätzlich benötigen wir direkt im Scripts-Verzeichnis eine Datei foxisapi.dll mit ihrer dazugehörigen INI-Datei. Die DLL bekommt den Namen des Projektes, also hier „Devcon.dll“ bzw. „Devcon.ini“.Wenn wir im Browser http://localhost/scripts/devcon.dll/reset eingeben, sollte ein dunkelgrüner Bildschirm mit Statusinfos erscheinen. Die anderen unter 1.) erwähnten Softwareprodukte installiert man einfach nach Standard, hier sind keine besonderen Erfordernisse nötig. 4.) Ein Wort zu HTML-Kenntnissen...Wer sich mit der Webserver-Programmierung beschäftigt, kommt um das Aneignen von Grundkenntnissen der Seitenbeschreibungssprache HTML nicht vorbei. Sicherlich kann man sich viel Arbeit beim Design ersparen, wenn man Tools wie MS Frontpage einsetzt, aber man muß für die Stellen, die später auf der HTML-Seite mit dynamischem Inhalt gefüllt werden sollen, meistens direkt im HTML-Code arbeiten ! 5.) Grundsätzlicher AblaufDer Browser übermittelt seine Anfrage an den Web-Server (PWS bzw. IIS). Dieser ruft die „FoxIsApi.dll“ (hier:devcon.dll) auf, welche
6.) ParameterübergabeZunächst einmal müssen wir uns fragen, wie wir aus dem Browser heraus überhaupt unseren VFP-Webserver ansprechen können. Dazu muß man folgendes wissen: Unser Webserver befindet sich später in einer EXE-Datei, die einen bestimmten Namen hat (hier: devcon.exe). In unserem dazugehörigen Projekt DEVCON.PJT gibt es eine Klassenbibliothek mit einer als OLE-PUBLIC definierten Klasse (hier:devcon). Diese Klasse hat eine Methode namens Process, welche wir über den Webbrowser aufrufen wollen. Die Aufrufsyntax ergibt sich damit folgendermaßen: http://localhost/scripts/dllname/exe.Klasse.Methode?Param1=wert1&Param2=Wert2 usw. also hier: http://localhost/scripts/devcon.dll/devcon.devcon.process?Method=Veranstaltungen~Showkalender&MonJahr=102000 Theoretisch könnte man für jede Funktionalität eine eigene Methode aufrufen. Wir gehen einen anderen Weg: Der Einsprungpunkt in unseren Webserver ist immer die Methode Process. Als einen Parameter METHOD übergeben wir den eigentlichen Methodenaufruf, und zwar Klasse~Methode. Der Vorteil dieses einheitlichen Einsprungpunktes liegt darin, das jedes Mal ablaufende Funktionalitäten einheitlich abgehandelt werden können. Danach wird dann die eigentliche Methode aufgerufen. In unserem Beispiel oben rufen wir also aus der Klasse Veranstaltungen die Methode ShowKalender auf und übergeben den Parameter MonJahr mit dem Wert 102000 7.) URL-Encoded StringsDer Parametersstring, der im Webbrowser angegeben wird, darf weder Leerzeichen noch Sonderzeichen enthalten. Aus diesem Grund muß er URL-Encodiert sein. D.h. :
z.B: Name=Torsten Weggen aus dem hannöverschen Nordenmuß ersetzt werden durch Name=Torsten+Weggen+aus+dem+hann%F6verschen+Norden 8.) Webserver – BasisklassenbibliothekDie Basisklassenbibiothek, auf der wir aufsetzen, besteht aus der Applikationsklasse ismain sowie einigen weiteren Hilfsklassen. ISMain:Die Klasse ismain enthält die Grundfunktionalitäten:
und folgende Methoden:
KiReg:Die Hilfsklasse kireg enthält Hilfsfunktionen zum Schreiben und lesen der Registry
ServerVars:Die Hilfsklasse ServerVars wird in der Process-Methode initialisiert. Sie liest die übergebene temporäre INI-Datei aus und legt die dort stehenden Werte in Eigenschaften ab. Diese können dann in eigenen Methoden mit oWebApp.oServerVars.Eigenschaft abgefragt werden.
|