Session V-AFP
Active-FoxPro-Pages
Peter Herzog
ProLib Software GmbH
Wollten Sie nicht auch schon immer auf ganz einfache Weise Webseiten
mit FoxPro erzeugen, ohne sich mit Begriffen herumzuschlagen wie: CGI,
ISAPI, oder Java ?
Wäre es nicht schön, FoxPro-Code direkt in Webseiten ausführen zu können,
vielleicht sogar mit einer Art BROWSE, um Daten tabellarisch darzustellen?
Ab sofort geht das: Mit dem neuen Tool AFP (Active-FoxPro-Pages) der
Prolib Software GmbH können Sie lauffähigen FoxPro-Code direkt in einer
HTML - Internetseite ausführen lassen - und sogar eine Art BROWSE ist
möglich!
Klingt unglaublich?
Ja, das ist es auch: Nämlich _unglaublich_ einfach zu bedienen! Sie
müssen lediglich wissen, wie man eine Webseite erstellt, und zumindest
den FoxPro-Syntax ab FoxPro-Version 2.6 beherrschen. D.h. auch Clipper-
oder dBase-Programmierer kommen schnell damit klar.
Einmal installiert, übernimmt die AFP (fast) alle Arbeit für Sie. Sie
müssen nur noch den FoxPro-Code in Ihre fertigen Webseite einbringen.
Halten wir uns nicht mit langen Vorreden auf. Hier gleich das erste
Beispiel, damit Sie selbst sehen können, wie schnell und einfach das funktioniert:
BEISPIEL
Normalerweise würde eine STATISCHE Webseite mit einer Liste an Firmennamen
in der einfachsten Form so aussehen:
<HTML>
<HEADER>
<TITEL> Customer names </TITEL>
</HEADER>
<BODY>
company name 1
company name 2
company name 3
</BODY>
</HTML>
Diese Seite können Sie nun mittels der AFP völlig DYNAMISCH erzeugen,
z.B. unter Verwendung der customer.dbf, und das sieht so aus:
<HTML>
<HEADER>
<TITEL> Customer names </TITEL>
</HEADER>
<BODY>
<%
if not used("customer")
use c:\vfp\samples\data\cutomer share in 0
endif
scan
? company + "<br>"
endscan
%>
</BODY>
</HTML>
That's it!
Mal ehrlich: Einfacher geht es doch nicht mehr, oder?
Obiger Beispielcode zeigt zugleich die genialen Prinzipen der AFP:
DAS PRINZIP DER AFP
FoxPro-Code wird direkt in den HTML-Code der Webseite eingestreut. Es
gibt nur zwei Bedingungen:
- Der FoxPro-Code muß zwischen den Zeichen <% und %> stehen,
damit er von der AFP als ausführbarer FoxPro-Code erkannt werden kann.
- eine Webseite mit FoxPro-Code speichern Sie nicht mit der Extension
.HTM(L) ab, sondern mit *.AFP, damit diese von der AFP als ausführbare
Webseite erkannt wird.
Um FoxPro-Code in Webseiten einzubinden, bearbeiten Sie die *.afp - Seiten
z.B. in Frontpage, Visual Interdev, mit dem Notepad von Windows oder schlicht
und einfach mit "Modify File <myafp.afp>" direkt in FoxPro.
Was passiert nun, wenn Sie solch eine *.afp - Seite im Browser laden?
Die AFP liest die Webseite ein, führt darin enthaltenen FoxPro-Code
aus und fügt das Ergebnis des FoxPro-Codes in den vorhandenen HTML-Code
ein. Der HTML-Code wird hierbei unverändert gelassen und funktioniert
wie gewohnt. Die somit von der AFP erstellte HTML-Seite wird dann von
der AFP an den Browser geschickt.
Eine AFP - Webseite sprechen Sie in Ihrem Browser genau so an, wie normale
Webseiten, die Sie von Ihrem Webserver anfordern. Haben Sie z.B. eine
AFP - Seite namens start.afp im Rootverzeichnis Ihres Webservers liegen,
tippen Sie im Browser ein
http://localhost/start.afp
und schon wird die AFP - Seite ausgeführt.
Die AFP ist also simpel ausgedrückt eine Script-Engine, die sich zwischen
Webserver und Browser hängt und sich nur um den FoxPro-Code in Webseiten
kümmert, den sie in sichtbare Ergebnisse umwandelt.
Sobald Sie im Browser eine AFP - Seite aufrufen, startet die AFP - Engine,
führt den FoxPro-Code in der Webseite aus, und schickt das fertige Ergebnis
an den Browser.
So einfach war publizieren Ihrer Daten im Web noch nie!
"BROWSE" mit der AFP
Ein weiteres starkes Feature ist die Möglichkeit, mit der AFP eine Art
BROWSE zur tabellarischen Anzeige von Daten zu simulieren. Damit entfällt
in vielen Fällen die in HTML lästige Seitenformatierung mit oftmals komplizierten
und tief verschachtelten <TABLE>-Konstruktionen.
Sie können mit dem "AFP - Browse" komfortabel Spaltenüberschriften
festlegen, Größe und Farbe der Schrift frei festlegen, die Art der Rahmen/Ränder
bestimmen (oder auch unterdrücken), Hintergrundfarben einstellen, und
vieles mehr - eben alles, was man zum komfortablen tabellarischen Darstellen
von Daten benötigt.
Sehen Sie sich doch einfach mal das Beispiel unter
http://www.active-foxpro-pages.de
an.
WEITERE HIGHLIGHTS
Die AFP bietet Ihnen ferner folgende Highlights, die Ihnen die Internet
- Programmierung erheblich erleichtern:
- Benutzung der Ihnen bekannten FoxPro-Befehle und Funktionen.
- Keine Objektorientierte Programmierung von Nöten, jedoch voll unterstützt,
d.h., Sie können wahlweise auch den "alten", prozeduralen
Syntax von FoxPro 2.x verwenden. So tun sich vor allem auch Clipper-
oder dBase - Umsteiger leicht.
- Eingebaute Hooks zur selbständigen Erweiterung, d.h. Sie können ihre
gewohnten UDF´s und Funktionslibraries auch mit der AFP benutzen.
- Ihr Programmcode bleibt nach außen hin völlig unsichtbar, d.h. wenn
jemand im Browser die Option "Quelltext anzeigen" auswählt,
bekommt er Ihren FoxPro-Code nicht zu sehen.
- Direkter, blitzschneller Zugriff auf FoxPro-Tabellen ohne umständliche
und zeitraubende Umwege wie ODBC, CGI, etc.
- Unterstützung von Verschlüsselungstools (z.B. Cryptor), Memoindizierern
(z.B. Phdbase) und WINAPI Aufrufen.
- Sie können Ihre AFP - Seiten nach jeder Änderung sofort live austesten,
ohne vorher kompilieren zu müssen (eine nachträgliche Kompilierung bringt
jedoch mindestens 10-fache Geschwindigkeit, und das Kompilieren selbst
geht blitzschnell)
- Die AFP unterstützt Mehrprozessortechnik und ist Multi-Instanz-fähig,
somit schafft die AFP viele hundertausend Hits (Datenbankzugriffe) pro
Tag.
- Keine Einschränkung bei der Wahl der Web - Browser.
- HTTP-Cookies und AFP-Cookies Unterstützung.
- Kein VB-Script oder Java-Script nötig.
- Sie können die AFP so konfigurieren, daß Sie im Fehlerfall automatisch
per E-Mail benachrichtigt werden. Alle auftretenden Fehler werden protokolliert.
INTRANET-LÖSUNGEN mit der AFP
Mit der AFP lassen sich auch hervorragend Intranetlösungen realisieren!
Die Hauptvorteile hierbei sind:
- Sie können mit jedem Browser mittels der AFP plattformunabhängig
auf ihre FoxPro-Tabellen zugreifen (auf den Clients muß kein FoxPro
installiert sein)
- Hohe Performance durch die zugrundeliegende FoxPro Datenbank.
- Sie schaffen damit automatisch eine echte Client-Server-Lösung, denn
alle FoxPro-Befehle werden ausschließlich direkt auf dem Server ausgeführt.
SYSTEMVORAUSSETZUNGEN
Als Mindestvoraussetzung zum Testen und Entwickeln von AFP - Webseiten
genügt ein Pentium - PC mit Windows 95 und installiertem "Personal
Web Server 4.0". Für den professionellen Web - Einsatz sollte es
hingegen schon ein Windows NT Server mit installiertem Internet-Information-Server
sein. Der Websiteserver von O´Reilly wurde ebenfalls getestet und arbeitet
einwandfrei mit der AFP zusammen.
In allen Fällen muß auch zumindest eine FoxPro-Runtime installiert sein.
Ferner muß ein TCP/IP Netzwerk auf dem PC eingerichtet sein, was aber
automatisch der Fall ist, wenn Sie auf Ihrem PC via DFÜ-Netzwerk und Modem
ins Internet gehen.
DOWNLOAD DER AFP
Eine uneingeschränkt funktionsfähige Demoversion der AFP können Sie
sich kostenlos unter
http://www.active-foxpro-pages.de
downloaden.
Die Demoversion unterscheidet sich von der Vollversion nur dadurch,
daß alle 15 Minuten die Meldung "dies ist eine Demoversion"
am Browser erscheint. Bei der Demoversion sind auch fertig programmierte
Beispielseiten dabei und zwar mit Source-Code, aus dem Sie ersehen, wie
einfach die Ergebnisse realisiert wurden.
Die Installation geht schnell und komfortabel (menügeführt). Nach 3
Minuten ist die AFP samt Demo-Seiten und Dokumentation installiert.
Unter obiger URL finden Sie auch online ausführbare Demo-Seiten, die
dort live mit der AFP laufen. Der Clou: der Source-Code wird dort absichtlich
mit angezeigt, damit Sie die Beispiele nachvollziehen können.
Außerdem gibt es unter dort online eine detaillierte Installations-Anleitungen
für die AFP unter Win95/98 und Windows NT, die komplette AFP-Dokumentation,
und Sie können dort online eine Knowledgebase zur AFP mit den meistgestellten
Fragen und Antworten durchsuchen. (zur Zeit nur in Deutsch verfügbar)
Auch eine Liste an Web-Links zu AFP-Seiten im Web ist vorhanden, und
brandaktuell die Demo einer Web-Shop-Lösung, die vollständig mit der AFP
realisiert wurde.
ZUSAMMENFASSUNG
Mit der AFP verkürzen sich deutlich die Entwicklungszeiten selbst von
aufwendigen Webprojekten. Das Arbeiten ist komfortabel und funktioniert
mit meinen gewohnten FoxPro-Befehlen.
Das Ergebnis bietet höchste Performance, da die AFP native auf alle
FoxPro-Tabellen zugreift (incl. Rushmore-Unterstützung und allem was unter
FoxPro möglich ist).
Nun macht das Web-Programmieren endlich wieder richtig Spaß, und mit
der AFP erschließen Sie neue Möglichkeiten, die es zuvor beim Web-Publishing
nicht gab, oder die bisher ungleich aufwendiger zu realisieren waren.
DIE AUTOREN
Dieser Text wurde von Franz Foltin verfasst und von Peter Herzog an
die Sessionnotes angepasst. Franz Foltin erreichen Sie unter foltin@camelot.de
. Peter Herzog, den Entwickler der Active-FoxPro-Pages, erreichen
Sie unter peter.herzog@prolib.de.
|