410 likes | 528 Views
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
E N D
WebServer mit FOXISAPI Programmierung von Web-Servernmit FOXISAPI unterMicrosoft 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 FOXISvon 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 mitMicrosoft 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... Formular ...Diskette GTZ-Zentrale SAP-Extrakt Erstellung (monatlich) ...E-Mail
Internet-Server: http://sunrise.gtz.de Neues aktives Verfahren • Neu: Formular B monatliche, wöchentliche oder tägliche Bereitstellung Internet GTZ-Zentrale SAP-Extrakt erstellen (monatlich, bei Bedarf wöchentlich oder täglich) Benutzerkennung + Passwort
Diskette E-Mail Internet-Server: http://sunrise.gtz.de Gemischtes Verfahren • Gemischt: monatlicher Versand Formulare A B monatlicher Versand monatliche, wöchentliche oder tägliche Bereitstellung GTZ-Zentrale SAP-Extrakt erstellen (monatlich, bei Bedarf wöchentlich oder täglich) Benutzerkennung + Passwort 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 Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175