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:

  1. Der FoxPro-Code muß zwischen den Zeichen <% und %> stehen, damit er von der AFP als ausführbarer FoxPro-Code erkannt werden kann.
  2. 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.