WebServer mit FOXISAPI Programmierung von Web-Servern mit FOXISAPI unter Microsoft Visual FoxPro
Diese Schulung dient der Einführung in die Programmierung von WebServern mit Hilfe der FOXISAPI.DLL-Schnittstelle unter Microsoft Visual FoxPro
Themenübersicht Vorbemerkungen Informationen Terminologie HW/SW-Voraussetzungen Arbeitsumgebung Servereinrichtung Entwicklungsumgebung FOXIS-Beispiel Entscheidungen Programmierbeispiele Datenkompression Skalierbarkeit
Vorbemerkungen Vorbemerkungen zur Programmierung von WebServern mit Microsoft Visual FoxPro
Vorbemerkungen Internet/Intranet ist in aller Munde VFP-Apps mit FOXISAPI internetfähig Kleine Webserver leicht gebaut Hauptziel: Dual-use-Applications! Hoher Lernaufwand (wg. Chaos) Ergebnis: Web-enabled applications
Verfügbare Informationen C:\VFP\SAMPLES\ SERVERS\FOXISAPI\README.TXT C:\VFP\SAMPLES\ SERVERS\FOXISAPI\FOXISAPI.CPP http://calvinh3 -> CUSTOLE.DOC README für neues FOXISAPI Session Notes Konferenzvorträge
Terminologie INETINFO Internet Server Steuerung \SCRIPTS Script-Verzeichnis \WWWROOT Hauptverzeichnis für WWW ISAPI InternetServer API (NSAPI) FOXISAPI FoxPro InternetServer API INETMGR Internet Service Manager REGSVR32 Registry-Eintragung OLE2VW32 OLE-Registry-Viewer DCOMCNFG DCOM-Konfiguration
HW/SW-Voraussetzungen Pentium mit 166+ MHz (ggf. 2xPent.) RAM: 64+ MB (32 MB reicht nicht!) Windows NT 4.0 ServicePack 2 oder: Windows NT 3.51 SP4 + IIS 1.0 +IISSP3 VFP 5.0a (dodefault()) Internet Explorer 3.0x (und NetScape!) Neue FOXISAPI.DLL
Arbeitsumgebung einrichten Konfiguration für die Programmierung von WebServern mit Microsoft Visual FoxPro
Arbeitsumgebung (1) Server sperren (sofern möglich...) Anlegen eines eigenen Administrator-Accounts Shortcut: INETMGR Shortcut: KILL INETINFO Shortcut: REGSRV32 Shortcut: DCOMCNFG Shortcut: OLE2VW32
Arbeitsumgebung (2) Service: Allow WWWPub-Service to “Interact with Desktop” Service: Disable Gopher (und FTP - zumindest am Anfang) Internet-Explorer: Disable Proxy! Internet-Explorer: Default Page setzen Andere Browser installieren (nicht MS!)
Einrichtung Server (1) INETUSR-Konto prüfen Passwort vergleichen in INETSRV und im Benutzermanager von NT Zugriffsrechte prüfen für die INETPUB/VFP.DLL-Dateien Zusätzliche Rechte prüfen: “work as service”, local login
Einrichtung Server (2) Zugriffsrechte DCOMCNFG prüfen Vorgaben gelten für alle DLLs (nur EXE einzeln) „Directory Browsing“ abschalten! Lese-Zugriff auf WWWROOT Schreib-Zugriff auf SCRIPTS (BMPs) Lese-Zugriff für weitere Verzeichnisse z.B. \Temp oder \Trans
Entwicklungsumgebung DEFAULT.HTM als Startseite Unterseiten/Verzeichnisse für Programm Neue FOXISAPI.DLL nach \SCRIPTS CONFIG.FWP zu den eigenen.DLLs (also in \SCRIPTS) Registrierung notwendiger OCXe Workstation für Test via Netzwerk!
Registry-Key für Cache HKEY_LOCAL_MACHINE /SYSTEM /CURRENTCONTROLSET /SERVICES /W3SVC /PARAMETER /CacheEnabled=1
Erste Schritte mit FOXISAPI Beispielanwendung FOXIS von Calvin Hsia für Microsoft Visual FoxPro
FOXISAPI-Architektur Aufruf im Browser - Weiterleitung: Internet-Server WWW-Service Scripts Foxisapi.dll VFP-OLE.dll OLE-Public-Klasse Methode + Params
FOXIS-Beispiel (1) Klasse ISAPI: Ändern von scriptdir auf „samples\servers\foxisapi“ (oder „\SCRIPTS“) Klasse employee: Ändern von DBFNAME und entfernen der “.DBF”-Dateierweiterung Klasse employee: Ändern DBCNAME
FOXIS-Beispiel (2) Test der inetuser-Zugriffsrechte auf die Verzeichnisse „\foxisapi“ und „\testdata“ Interaktiver Test mit createobject (siehe Beschreibung von isapi-Beispiel) Aufruf als Maske Aufruf als Objekt Aufruf als DLL
Entscheidungen Kleinstmöglichen Webserver am Anfang Notwendige Entscheidungen: Decision: Win95-Publishing oder NT-Server Decision: Internet oder Intranet (protected PEMs?) Decision: EXE-Servers oder DLLs Decision: Parsen von HTM-Dateien oder Bausteine in Datenbank Decision: Fill-in-Forms oder HTML-Generierung aus Objekten Decision: Deutsch, Englisch oder mehrsprachige Oberfläche Decision: Test auf dem Server oder als .APP Decision: Standard-Cookies oder Selbgekochtes
Programmierbeispiel Programmierbeispiel für die Programmierung von WebServern mit Microsoft Visual FoxPro
Beispiel WebServer Beschreibung des Business Case Besichtigung des WebServers Default-page View INI-file / parameters Send eMail / remarks Change Password Download data
Datenabruf bisher Bisher: monatlicher Versand per... ...Diskette Formular ...Diskette GTZ-Zentrale SAP-Extrakt Erstellung (monatlich) ...E-Mail
Neues aktives Verfahren Formular B monatliche, wöchentliche oder tägliche Bereitstellung Internet-Server: http://sunrise.gtz.de Internet GTZ-Zentrale SAP-Extrakt erstellen (monatlich, bei Bedarf wöchentlich oder täglich) Benutzerkennung + Passwort
Gemischtes Verfahren Gemischt: A B GTZ-Zentrale SAP-Extrakt erstellen Diskette monatlicher Versand Formulare A B monatlicher Versand E-Mail monatliche, wöchentliche oder tägliche Bereitstellung GTZ-Zentrale SAP-Extrakt erstellen (monatlich, bei Bedarf wöchentlich oder täglich) Benutzerkennung + Passwort Internet-Server: http://sunrise.gtz.de Internet
Zugangsvoraussetzungen Internet/WWW Zugang (lokal) WEB-Browser (Netscape 2.x (oder höher), Microsoft Explorer 2.x (oder höher)) Benutzerkennung und Passwort (bei der Zentrale anfordern)
Startseite Default.HTM als Startseite Auswahl der Sprache der Oberfläche Aufruf von ISAPI-Funktion
Einloggen für Download Eingabe Username Eingabe Passwort Validierung Username und Passwort Zugang
SAP-Datenauswahl Übersicht Projekte für den jeweiligen User Auswahl Projekte mit Multi-Select Komprimieren in ZIP-Datei
Parametereinstellung Anzeigen Parameter des Webservers Änderung des Passworts Eingabe Kommentar Versand eMail
ISAPI-Programmierung Programmierung von WebServern mit Microsoft Visual FoxPro
Parameterübergabe INI-file (parse starting points) Parsen der Parameter (mit diversen kleineren Problemchen) self-cooked cookies Dispatcher-Variable (notwendig für cleanup / Aufräumarbeiten nach User)
SourceCode (1) Interaktives Testen (Direktaufruf) Initialisierung des Systems (Registry-Klasse aus Registry oder INI-Datei) Benutzerverwaltung (Cookies, User-class, cleanup) HTML-Datenbank / Textbausteine und automatische Übersetzung (Platzhalter)
SourceCode (2) Eintragen von Werten oder Anzeige von Objekten Die Masken-Klasse Die Button-Klasse Aufräumen des Systems RESET Timer
Sonstige Hinweise Sonstige Hinweise für die Programmierung von WebServern unter Microsoft Visual FoxPro
Daten komprimieren Kleine Download-Dateien DZOCX32.OCX (Dynazip) MFCANS32.DLL (Foundation Class 3.2) OC30.DLL (in Distrib-Verz. von VFP5) Registrierung (REGSRV32.EXE) Eigene kleine OLE-Klasse
Skalierbarkeit FOXISAPI.DLL (neue Version!) Virtuelle Server (Probleme mit NT!) DLLs mit unterschiedlichen Namen Einsatz WebConnect von Rick Strahl Allgemein: Kleine schnelle Funktionen /Methoden, nicht zuviele Grafiken (oder Grafiken wenn Server zu lahm...)
Zusammenfassung Systeminstallation Notwendige Basis-entscheidungen treffen Werkzeuge, z.B. Frontpage (EDIT .EXE ist kein Tool!) HTML lernen...
Vielen Dank! Das waren die Themen: Vorbemerkungen Informationen Terminologie HW/SW-Voraussetzungen Arbeitsumgebung Servereinrichtung Entwicklungsumgebung FOXIS-Beispiel Entscheidungen Programmierbeispiele Datenkompression Skalierbarkeit
Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175