Wizards & Wizards & Builders GmbH Builders GmbH
WebServer mit FOXISAPIWebServer mit FOXISAPI
Programmierung von Web-Programmierung von Web-ServernServern
mit FOXISAPI untermit FOXISAPI unterMicrosoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Diese Schulung dient der Einführung in die Programmierung
von WebServern mit Hilfe der FOXISAPI.DLL-Schnittstelle unter
Microsoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
ThemenübersichtThemenübersicht
VorbemerkungenVorbemerkungen InformationenInformationen TerminologieTerminologie HW/SW-VoraussetzungenHW/SW-Voraussetzungen ArbeitsumgebungArbeitsumgebung ServereinrichtungServereinrichtung EntwicklungsumgebungEntwicklungsumgebung FOXIS-BeispielFOXIS-Beispiel EntscheidungenEntscheidungen ProgrammierbeispieleProgrammierbeispiele DatenkompressionDatenkompression SkalierbarkeitSkalierbarkeit
Wizards & Wizards & Builders GmbH Builders GmbH
VorbemerkungenVorbemerkungen
Vorbemerkungen zur Vorbemerkungen zur Programmierung von Programmierung von
WebServern mit WebServern mit Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
VorbemerkungenVorbemerkungen
Internet/Intranet ist in aller MundeInternet/Intranet ist in aller Munde VFP-Apps mit FOXISAPI VFP-Apps mit FOXISAPI
internetfähiginternetfähig Kleine Webserver leicht gebautKleine Webserver leicht gebaut Hauptziel: Dual-use-Applications!Hauptziel: Dual-use-Applications! Hoher Lernaufwand (wg. Chaos)Hoher Lernaufwand (wg. Chaos) Ergebnis: Web-enabled Ergebnis: Web-enabled
applicationsapplications
Wizards & Wizards & Builders GmbH Builders GmbH
Verfügbare InformationenVerfügbare Informationen
C:\VFP\SAMPLES\C:\VFP\SAMPLES\SERVERS\FOXISAPI\README.TXTSERVERS\FOXISAPI\README.TXT
C:\VFP\SAMPLES\C:\VFP\SAMPLES\SERVERS\FOXISAPI\FOXISAPI.CPPSERVERS\FOXISAPI\FOXISAPI.CPP
http://calvinh3 -> CUSTOLE.DOChttp://calvinh3 -> CUSTOLE.DOC README für neues FOXISAPIREADME für neues FOXISAPI Session Notes KonferenzvorträgeSession Notes Konferenzvorträge
Wizards & Wizards & Builders GmbH Builders GmbH
TerminologieTerminologie
INETINFOINETINFO Internet Server SteuerungInternet Server Steuerung \SCRIPTS\SCRIPTS Script-VerzeichnisScript-Verzeichnis \WWWROOT\WWWROOT Hauptverzeichnis für WWWHauptverzeichnis für WWW ISAPIISAPI InternetServer API (NSAPI)InternetServer API (NSAPI) FOXISAPIFOXISAPI FoxPro InternetServer APIFoxPro InternetServer API INETMGRINETMGR Internet Service ManagerInternet Service Manager REGSVR32REGSVR32 Registry-EintragungRegistry-Eintragung OLE2VW32OLE2VW32 OLE-Registry-ViewerOLE-Registry-Viewer DCOMCNFGDCOMCNFG DCOM-KonfigurationDCOM-Konfiguration
Wizards & Wizards & Builders GmbH Builders GmbH
HW/SW-VoraussetzungenHW/SW-Voraussetzungen
Pentium mit 166+ MHz (ggf. 2xPent.)Pentium mit 166+ MHz (ggf. 2xPent.) RAM: 64+ MB (32 MB reicht nicht!)RAM: 64+ MB (32 MB reicht nicht!) Windows NT 4.0 ServicePack 2Windows NT 4.0 ServicePack 2
oder: Windows NT 3.51 SP4 + IIS 1.0 +IISSP3oder: Windows NT 3.51 SP4 + IIS 1.0 +IISSP3
VFP 5.0a (dodefault())VFP 5.0a (dodefault()) Internet Explorer 3.0x (und NetScape!)Internet Explorer 3.0x (und NetScape!) Neue FOXISAPI.DLLNeue FOXISAPI.DLL
Wizards & Wizards & Builders GmbH Builders GmbH
Arbeitsumgebung einrichtenArbeitsumgebung einrichten
Konfiguration für die Konfiguration für die Programmierung von Programmierung von
WebServern mit WebServern mit Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Arbeitsumgebung (1)Arbeitsumgebung (1)
Server sperren (sofern möglich...)Server sperren (sofern möglich...) Anlegen eines eigenen Anlegen eines eigenen
Administrator-AccountsAdministrator-Accounts Shortcut:Shortcut: INETMGRINETMGR Shortcut:Shortcut: KILL INETINFOKILL INETINFO Shortcut:Shortcut: REGSRV32REGSRV32 Shortcut:Shortcut: DCOMCNFGDCOMCNFG Shortcut:Shortcut: OLE2VW32OLE2VW32
Wizards & Wizards & Builders GmbH Builders GmbH
Arbeitsumgebung (2)Arbeitsumgebung (2)
Service: Allow WWWPub-Service to Service: Allow WWWPub-Service to “Interact with Desktop”“Interact with Desktop”
Service: Disable GopherService: Disable Gopher (und FTP - zumindest am Anfang)(und FTP - zumindest am Anfang)
Internet-Explorer: Disable Proxy!Internet-Explorer: Disable Proxy! Internet-Explorer: Default Page setzenInternet-Explorer: Default Page setzen Andere Browser installieren (nicht MS!)Andere Browser installieren (nicht MS!)
Wizards & Wizards & Builders GmbH Builders GmbH
Einrichtung Server (1)Einrichtung Server (1)
INETUSR-Konto prüfenINETUSR-Konto prüfen Passwort vergleichen in INETSRV Passwort vergleichen in INETSRV
und im Benutzermanager von NTund im Benutzermanager von NT Zugriffsrechte prüfen für die Zugriffsrechte prüfen für die
INETPUB/VFP.DLL-Dateien INETPUB/VFP.DLL-Dateien Zusätzliche Rechte prüfen: Zusätzliche Rechte prüfen:
“work as service”, local login“work as service”, local login
Wizards & Wizards & Builders GmbH Builders GmbH
Einrichtung Server (2)Einrichtung Server (2)
Zugriffsrechte DCOMCNFG prüfenZugriffsrechte DCOMCNFG prüfen Vorgaben gelten für alle DLLs (nur EXE Vorgaben gelten für alle DLLs (nur EXE
einzeln)einzeln)
„„Directory Browsing“ abschalten!Directory Browsing“ abschalten! Lese-Zugriff auf WWWROOTLese-Zugriff auf WWWROOT Schreib-Zugriff auf SCRIPTS (BMPs)Schreib-Zugriff auf SCRIPTS (BMPs) Lese-Zugriff für weitere Lese-Zugriff für weitere
VerzeichnisseVerzeichnisse z.B. \Temp oder \Transz.B. \Temp oder \Trans
Wizards & Wizards & Builders GmbH Builders GmbH
EntwicklungsumgebungEntwicklungsumgebung
DEFAULT.HTM als StartseiteDEFAULT.HTM als Startseite Unterseiten/Verzeichnisse für Unterseiten/Verzeichnisse für
ProgrammProgramm Neue FOXISAPI.DLL nach \SCRIPTSNeue FOXISAPI.DLL nach \SCRIPTS CONFIG.FWP zu den eigenen.DLLs CONFIG.FWP zu den eigenen.DLLs
(also in \SCRIPTS)(also in \SCRIPTS) Registrierung notwendiger OCXeRegistrierung notwendiger OCXe Workstation für Test via Netzwerk!Workstation für Test via Netzwerk!
Wizards & Wizards & Builders GmbH Builders GmbH
Registry-Key für CacheRegistry-Key für Cache
HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE/SYSTEM/SYSTEM/CURRENTCONTROLSET/CURRENTCONTROLSET/SERVICES/SERVICES/W3SVC/W3SVC/PARAMETER/PARAMETER/CacheEnabled=1/CacheEnabled=1
Wizards & Wizards & Builders GmbH Builders GmbH
Erste Schritte mit Erste Schritte mit FOXISAPIFOXISAPI
Beispielanwendung FOXISBeispielanwendung FOXISvon Calvin Hsia für von Calvin Hsia für
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
FOXISAPI-ArchitekturFOXISAPI-Architektur
Aufruf im Aufruf im Browser - Browser - Weiterleitung:Weiterleitung: Internet-ServerInternet-Server WWW-ServiceWWW-Service ScriptsScripts Foxisapi.dllFoxisapi.dll VFP-OLE.dllVFP-OLE.dll OLE-Public-KlasseOLE-Public-Klasse Methode + ParamsMethode + Params
Wizards & Wizards & Builders GmbH Builders GmbH
FOXIS-Beispiel (1)FOXIS-Beispiel (1)
Klasse ISAPI: Ändern von scriptdir Klasse ISAPI: Ändern von scriptdir auf „samples\servers\foxisapi“ auf „samples\servers\foxisapi“ (oder „\SCRIPTS“)(oder „\SCRIPTS“)
Klasse employee: Ändern von Klasse employee: Ändern von DBFNAME und entfernen der DBFNAME und entfernen der “.DBF”-Dateierweiterung“.DBF”-Dateierweiterung
Klasse employee: Ändern Klasse employee: Ändern DBCNAMEDBCNAME
Wizards & Wizards & Builders GmbH Builders GmbH
FOXIS-Beispiel (2)FOXIS-Beispiel (2)
Test der inetuser-Zugriffsrechte Test der inetuser-Zugriffsrechte auf die Verzeichnisse „\foxisapi“ auf die Verzeichnisse „\foxisapi“ und „\testdata“und „\testdata“
Interaktiver Test mit createobject Interaktiver Test mit createobject (siehe Beschreibung von isapi-(siehe Beschreibung von isapi-Beispiel)Beispiel) Aufruf als MaskeAufruf als Maske Aufruf als ObjektAufruf als Objekt Aufruf als DLLAufruf als DLL
Wizards & Wizards & Builders GmbH Builders GmbH
EntscheidungenEntscheidungen
Kleinstmöglichen Webserver am AnfangKleinstmöglichen Webserver am Anfang Notwendige Entscheidungen:Notwendige Entscheidungen:
Decision: Win95-Publishing oder NT-ServerDecision: Win95-Publishing oder NT-Server Decision: Internet oder Intranet (protected PEMs?)Decision: Internet oder Intranet (protected PEMs?) Decision: EXE-Servers oder DLLsDecision: EXE-Servers oder DLLs Decision: Parsen von HTM-Dateien oder Bausteine in Decision: Parsen von HTM-Dateien oder Bausteine in
DatenbankDatenbank Decision: Fill-in-Forms oder HTML-Generierung aus Decision: Fill-in-Forms oder HTML-Generierung aus
ObjektenObjekten Decision: Deutsch, Englisch oder mehrsprachige Decision: Deutsch, Englisch oder mehrsprachige
OberflächeOberfläche Decision: Test auf dem Server oder als .APPDecision: Test auf dem Server oder als .APP Decision: Standard-Cookies oder SelbgekochtesDecision: Standard-Cookies oder Selbgekochtes
Wizards & Wizards & Builders GmbH Builders GmbH
ProgrammierbeispielProgrammierbeispiel
Programmierbeispiel für die Programmierbeispiel für die Programmierung von Programmierung von
WebServern mitWebServern mitMicrosoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Beispiel WebServerBeispiel WebServer
Beschreibung des Business Beschreibung des Business Case Case
Besichtigung des WebServersBesichtigung des WebServers Default-pageDefault-page View INI-file / parametersView INI-file / parameters Send eMail / remarksSend eMail / remarks Change PasswordChange Password Download dataDownload data
Wizards & Wizards & Builders GmbH Builders GmbH
Bisher:Bisher:
Datenabruf bisherDatenabruf bisher
GTZ-Zentrale SAP-ExtraktErstellung
(monatlich)
...Diskette
monatlicherVersand per...
Formular
Wizards & Wizards & Builders GmbH Builders GmbH
Neu:Neu:
Neues aktives VerfahrenNeues aktives Verfahren
GTZ-Zentrale
Formular
Benutzerkennung+
Passwort
monatliche, wöchentliche oder täglicheBereitstellung
Internet-Server:http://sunrise.gtz.de
Internet
B
SAP-Extrakt erstellen (monatlich, bei Bedarf
wöchentlich oder täglich)
Wizards & Wizards & Builders GmbH Builders GmbH
Gemischtes VerfahrenGemischtes Verfahren
Gemischt:Gemischt:
GTZ-ZentraleBenutzerkennung
+Passwort
Diskette
monatlicher
Versand
monatlicherVersand
Internet-Server:http://sunrise.gtz.de
Internet
Formulare
BA
monatliche,
wöchentliche
oder tägliche
BereitstellungSAP-Extrakt erstellen (monatlich, bei Bedarf
wöchentlich oder täglich)
Wizards & Wizards & Builders GmbH Builders GmbH
ZugangsvoraussetzungenZugangsvoraussetzungen
Internet/WWW Zugang (lokal)Internet/WWW Zugang (lokal)
WEB-Browser (Netscape 2.x (oder WEB-Browser (Netscape 2.x (oder höher), Microsoft Explorer 2.x höher), Microsoft Explorer 2.x (oder höher))(oder höher))
Benutzerkennung und Passwort Benutzerkennung und Passwort (bei der Zentrale anfordern)(bei der Zentrale anfordern)
Wizards & Wizards & Builders GmbH Builders GmbH
StartseiteStartseite
Default.HTM als Default.HTM als StartseiteStartseite
Auswahl der Auswahl der Sprache der Sprache der OberflächeOberfläche
Aufruf von Aufruf von ISAPI-FunktionISAPI-Funktion
Wizards & Wizards & Builders GmbH Builders GmbH
Einloggen für DownloadEinloggen für Download
Eingabe Eingabe UsernameUsername
Eingabe Eingabe PasswortPasswort
Validierung Validierung Username und Username und PasswortPasswort
ZugangZugang
Wizards & Wizards & Builders GmbH Builders GmbH
SAP-DatenauswahlSAP-Datenauswahl
Übersicht Übersicht Projekte für Projekte für den jeweiligen den jeweiligen UserUser
Auswahl Auswahl Projekte mit Projekte mit Multi-SelectMulti-Select
Komprimieren Komprimieren in ZIP-Dateiin ZIP-Datei
Wizards & Wizards & Builders GmbH Builders GmbH
ParametereinstellungParametereinstellung
Anzeigen Anzeigen Parameter des Parameter des WebserversWebservers
Änderung des Änderung des PasswortsPassworts
Eingabe Eingabe KommentarKommentar
Versand eMailVersand eMail
Wizards & Wizards & Builders GmbH Builders GmbH
ISAPI-ProgrammierungISAPI-Programmierung
Programmierung von Programmierung von WebServern mit WebServern mit
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
ParameterübergabeParameterübergabe
INI-file (parse starting points)INI-file (parse starting points) Parsen der Parameter (mit Parsen der Parameter (mit
diversen kleineren Problemchen)diversen kleineren Problemchen) self-cooked cookiesself-cooked cookies Dispatcher-Variable (notwendig für Dispatcher-Variable (notwendig für
cleanup / Aufräumarbeiten nach cleanup / Aufräumarbeiten nach User)User)
Wizards & Wizards & Builders GmbH Builders GmbH
SourceCode (1)SourceCode (1)
Interaktives Testen (Direktaufruf)Interaktives Testen (Direktaufruf) Initialisierung des Systems Initialisierung des Systems
(Registry-Klasse aus Registry oder (Registry-Klasse aus Registry oder INI-Datei)INI-Datei)
Benutzerverwaltung (Cookies, User-Benutzerverwaltung (Cookies, User-class, cleanup)class, cleanup)
HTML-Datenbank / Textbausteine HTML-Datenbank / Textbausteine und automatische Übersetzung und automatische Übersetzung (Platzhalter)(Platzhalter)
Wizards & Wizards & Builders GmbH Builders GmbH
SourceCode (2)SourceCode (2)
Eintragen von Werten oder Eintragen von Werten oder Anzeige von ObjektenAnzeige von Objekten
Die Masken-KlasseDie Masken-Klasse Die Button-KlasseDie Button-Klasse Aufräumen des SystemsAufräumen des Systems
RESETRESET TimerTimer
Wizards & Wizards & Builders GmbH Builders GmbH
Sonstige HinweiseSonstige Hinweise
Sonstige Hinweise für die Sonstige Hinweise für die Programmierung von Programmierung von
WebServern unterWebServern unter
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Daten komprimierenDaten komprimieren
Kleine Download-DateienKleine Download-Dateien DZOCX32.OCX (Dynazip)DZOCX32.OCX (Dynazip) MFCANS32.DLL (Foundation Class 3.2)MFCANS32.DLL (Foundation Class 3.2) OC30.DLL (in Distrib-Verz. von VFP5)OC30.DLL (in Distrib-Verz. von VFP5) Registrierung (REGSRV32.EXE)Registrierung (REGSRV32.EXE) Eigene kleine OLE-KlasseEigene kleine OLE-Klasse
Wizards & Wizards & Builders GmbH Builders GmbH
SkalierbarkeitSkalierbarkeit
FOXISAPI.DLL (neue Version!)FOXISAPI.DLL (neue Version!) Virtuelle Server (Probleme mit NT!)Virtuelle Server (Probleme mit NT!) DLLs mit unterschiedlichen NamenDLLs mit unterschiedlichen Namen Einsatz WebConnect von Rick StrahlEinsatz WebConnect von Rick Strahl Allgemein: Kleine schnelle Funktionen Allgemein: Kleine schnelle Funktionen
/Methoden, nicht zuviele Grafiken/Methoden, nicht zuviele Grafiken(oder Grafiken wenn Server zu lahm...)(oder Grafiken wenn Server zu lahm...)
Wizards & Wizards & Builders GmbH Builders GmbH
ZusammenfassungZusammenfassung
SysteminstallationSysteminstallation Notwendige Basis-Notwendige Basis-
entscheidungen entscheidungen treffentreffen
Werkzeuge, z.B. Werkzeuge, z.B. Frontpage Frontpage (EDIT .EXE ist kein (EDIT .EXE ist kein Tool!)Tool!)
HTML lernen...HTML lernen...
Wizards & Wizards & Builders GmbH Builders GmbH
Vielen Dank!Vielen Dank!
Das waren die Themen:Das waren die Themen: VorbemerkungenVorbemerkungen InformationenInformationen TerminologieTerminologie HW/SW-VoraussetzungenHW/SW-Voraussetzungen ArbeitsumgebungArbeitsumgebung ServereinrichtungServereinrichtung EntwicklungsumgebungEntwicklungsumgebung FOXIS-BeispielFOXIS-Beispiel EntscheidungenEntscheidungen ProgrammierbeispieleProgrammierbeispiele DatenkompressionDatenkompression SkalierbarkeitSkalierbarkeit
Wizards & Wizards & Builders GmbH Builders GmbH
Wenn Fragen bestehen:Wenn Fragen bestehen:
Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-
Entwicklung GmbHEntwicklung GmbH
Frankfurter Str. 21bFrankfurter Str. 21b
61476 Kronberg61476 Kronberg
Tel.: 06173-950906Tel.: 06173-950906
Fax: 06173-950907Fax: 06173-950907
CIS: 101605,175CIS: 101605,175
Top Related