[ zurück ] Icon

Die Web-Wizards in Visual-dBASE 7 (Teil 1)


Inhalt:
Teil 1: GrundlagenTeil 2: Die Arbeit mit den Web-Wizards

Vorwort

Internet- und Intranettauglichkeit, Webfähigkeit, HTML-Import und Export, Webpublishing und andere Schlagworte sind Kriterien, denen sich heute jedes neue Softwareprodukt stellen muß. So ist es nur folgerichtig und längst überfällig, daß das neue Visual-dBASE 7 mit diesbezüglichen Fähigkeiten wirbt. Leider steckt hinter der Werbung "Einfache Veröffentlichung von Datenbankinhalten im Web" in der bisherigen Version nur ein erster Lösungsansatz.

Der folgende Beitrag zeigt auf, wie weit die diesbezüglichen Möglichkeiten wirklich gehen, welche Einschränkungen und Fehler Sie momentan vorfinden und was Sie letztendlich praktisch realisieren können. Für einige der derzeitigen Probleme werden Lösungen bzw. Verbesserungen geliefert.

Systemvoraussetzungen

Zu den Systemvoraussetzungen sind einige Erläuterungen notwendig: Sie sollten unbedingt über die dBASE-Version 7.01 (Dateidatum 17.03.98 oder später) verfügen. Alle älteren Varianten der Version 7 sind bezüglich der Web-Tools unbrauchbar. Gegebenenfalls fordern Sie beim Inprise-Customer-Service die kostenlose Aktualisierung an.

Um Daten in HTML-Seiten zu veröffentlichen, benötigen Sie nicht unbedingt die "Professionell"-Version. "Standard", selbst ohne die Web-Wizards ist dafür ausreichend.

Um jedoch komplette Web-Applikationen zu erstellen, benötigen Sie die Web-Wizards und den dBASE-Compiler, der erst ab der "Professionell"-Variante verfügbar ist. Mit den über das Internet besorgten Web-Tools alleine schaffen Sie keine lauffähigen Web-Anwendungen.

Zum Betrachten der als HTML exportierten Datenbankberichte reicht jeder übliche Browser (ab Netscape 2, MS-IExplorer 3, Opera 3 usw.) aus. Zum Testen und Betreiben einer fertigen Web-Applikation brauchen Sie einen (frei erhältlichen) Webserver unter Win95/NT aber kein Visual-dBASE mehr. Der Borland-Datenbanktreiber BDE oder die dBASE-RTL muß jedoch auf dem Hostrechner installiert worden sein.

Zielstellung der Webfähgkeit

Mit der realisierten Webfähigkeit von dBASE soll nicht schlechthin einem Modetrend Rechnung getragen werden, sondern es sollen drei entscheidende Vorteile heutiger Netzlösungen für dBASE verfügbar gemacht werden:

Möglichkeiten von dBASE

Die Möglichkeiten von Visual-dBASE 7 hinsichtlich der Webfähigkeit belaufen sich gegenwärtig auf folgende Aktionen:


Datenexport in statische HTML-Seiten

HTML heißt "HyperText Markup Language". Eine hervorragende und immer aktuelle Dokumentation zu diesem Thema finden Sie außer in den offiziellen Quellen des WWW-Konsortiums ("http://www.w3.org/") und den unzähligen Büchern zum Thema im HTML-Kompendium unter der Internetadresse "http://www.teamone.de/selfhtml/".

HTML-Erzeugung

HTML-Seiten mit Daten aus dBASE-Datenbanken lassen sich aus jedem Bericht von Visual-dBASE 7 erzeugen. Dazu öffnen Sie den Bericht im Designer und speichern ihn mit "Datei - Als HTML speichern". Sie können aber auch im Objektinspektor beim Element "form" des Reports die Eigenschaft "Verschiedenes - Output" auf den Wert "4 - HTML-Datei" einstellen und der Eigenschaft "OutputFileName" einen entsprechenden Dateinamen zuweisen. Dann wird bei jedem Ausführen des Reports dessen Ergebnis statt auf den Bildschirm in die HTML-Datei ausgegeben.

Ergebnisanzeige

Das Ergebnis ist mit jedem üblichen Web-Browser zu betrachten. Es fällt auf, daß die Seiten im Browser ein nahezu identisches Layout zur gedruckten Reportausgabe beziehungsweise zur Bildschirmausgabe unter dBASE haben. Das ist zwar eine lobenswerte Bemühung seitens Inprise, widerspricht aber dem Prinzip von HTML und macht im Folgenden auch einige Schwierigkeiten.

Das detailgetreue Layout wird durch eine ganzheitliche Tabelle erzwungen. Dazu werden unnütze leere Zwischenspalten und Zwischenzeilen mit starr vorgegebenen Größen erzeugt, nur um das Layout durchzusetzen. Selbst die Seitenüberschrift ist Inhalt der Tabelle. Der Druckseitenwechsel des dBASE-Reports wird bei längeren Ausgaben im Browserfenster ebenfalls wiedergegeben, was durchaus untypisch und störend ist. Auch linke und obere Seitenränder werden auf dem Browserschirm widergespiegelt.

Druckprobleme

Beim Drucken der HTML-Seite im Web-Browser kommt es durch die doppelte Seitenränder (Druckrand des Browsers plus erzwungener Rand auf dem Schirm), gepaart mit dem starren Seitenwechsel auf dem Schirm zu unpassenden Seitenumbrüchen auf dem Papier. Außerdem kann das starre Tabellenkorsett nicht mit Schriftgrößenänderungen des Browsers umgehen, sodaß selbst die Bildschirmanzeige teilweise entgegen der guten Absicht stark entstellt wird. Weniger wäre hier mehr gewesen.

Leider besteht keine Möglichkeit, auf die HTML-Generierung der Reportausgabe Einfluß zu nehmen. Mit dem Bildschirmergebnis kann man aber in den meisten Praxisfällen auskommen. Die HTML-Syntax ist auch recht korrekt.

Ärger mit Umlauten und Sonderzeichen

Mindestens einen schwerwiegenden Fehler hat der HTML-Export aber. Umlaute und Sonderzeichen werden nicht gemäß den HTML-Regeln umkodiert sondern als normale Zeichen ausgegeben. Das führt dazu, daß zwar die Mehrheit der Windows-Betrachter die HTML-Dokumente korrekt sieht, aber die Surfer unter MacOS, Unix/Linux, OS/2 und anderen Plattformen sowie Windows-User mit anderen Codeseiteneinstellungen teilweise falsche Einzelzeichen erhalten. Dagegen gibt es beim aktuellen Stand von dBASE kein Mittel.


Erzeugen von Web-Anwendungen

Eine Web-Applikation ist im Gegensatz zum Abruf "toter" HTML-Seiten eine aktive Handlung im Netz, die nach dem Client-Server-Prinzip auf mehreren Computern stattfindet. Sie besteht im Minimalfall aus folgenden Komponenten und arbeitet in folgender Weise.

Der Nutzer am Client-Rechner fordert in seinem Browser die HTML-Einstiegsseite in das Projekt an. Diese ist in der Regel ein Formular oder mit einem Formular verbunden. Nach Eintragen von Angaben in die Formularfelder werden die Daten an eine aktive Komponente auf dem Server geschickt. Das ist beispielsweise ein Script oder ein Programm oder ein spezieller Dienst auf dem Server. Das Serverprogramm verarbeitet die Daten und schickt dem Client-Browser eine Antwort zurück. Der Client muß also lediglich die primitiven Aktionen Dateneingabe und Anzeige erledigen, dem Server werden die komplizierten Datenverarbeitungen auferlegt.

CGI-Lösung

Die Web-Wizards von Visual-dBASE 7 benutzen genau dieses Schema und verwenden als aktive Serverkomponente sogenannte CGI-Scripts oder CGI-Programme als weitverbreitete klassischen Form der Serveraktivität. CGI bedeutet "Common Gateway Interface" und ist eine plattformunabhängige Übergabeschnittstelle für die Daten solcher Web-Applikationen. Auch dieses Instrument finden Sie unter "http://www.teamone.de/selfhtml/" einführend erklärt.

Im Detail helfen die Web-Wizards bei Folgendem:

Die Antwortseite als drittes Element wird in den vorliegenden Fällen nicht separat erzeugt, sondern jeweils erst zur Laufzeit der Anwendung durch die Script-EXE produziert. Das muß aber bei CGI nicht generell so sein.

Besonderheiten von CGI mit dBASE

Ohne allzu tief in die CGI-Problematik einzudringen muß an dieser Stelle betont werden, daß CGI mit Visual-dBASE unter Windows eigentlich nicht möglich ist. Das CGI-Interface erwartet die Eingabedaten in Form von Environment-Variablen oder über die Standardeingabe und schickt die Ausgabedaten über die Standardausgabe des Systems an den Webserver. Als GUI-Applikation (GUI - Grafical-User-Inteface) kann ein dBASE-Programm in EXE-Form aber weder mit der Standardeingabe noch Ausgabe direkt kommunizieren. Das können nur sogenannte "Konsolenanwendungen" unter Windows, die aber dBASE nicht bilden kann. Deshalb wird durch die Web-Wizards ein sogenannter CGI-Launcher (oder CGI-Broker) zwischengeschaltet (siehe Abbildung).

Der Launcher "VdB_CGI.EXE" selbst ist in C programmiert und ist eine solche Konsolenanwendung. Durch ihn wird CGI über Visual-dBASE erst möglich. Allerdings bringt das Verfahren auch zwei Probleme mit sich. Zum Ersten belastet das Schreiben der Scriptausgabe in eine temporäre Datei und anschließendes Einlesen durch den CGI-Launcher den sowieso beanspruchten Server und verlängert die Antwortzeiten spürbar gegenüber direkten Ausgaben. Es ist also eine Lösung, die nur bei geringem Datenaufkommen akzeptabel ist.


Bild: Das von den Web-Wizards verwandte Kommunikationsschema

Serverprobleme

Zum Zweiten verkraften nicht alle Webserver den Start zweier Prozesse auf eine Anforderung und melden trotz ordnungsgemäßer Arbeit des Programmes Fehler statt der Antwortseite. Es ist nicht garantiert, daß Ihr Webserver mit dieser speziellen CGI-Variation umgehen kann.

Versionsprobleme der Web-Tools

Die Web-Wizards in der ursprünglichen Version 7.0 von dBASE waren nach einem anderen Konzept realisiert. Statt des CGI-Launchers wurde mit Stapeldateien *.BAT gearbeitet. Mit diesem Relikt aus der 16-bit Umgebung kommen aber nur ganz wenige Webserver klar. Leider wird in der Online-Hilfe der Web-Wizards immer noch und irreführender Weise dieses veraltete Prinzip beschrieben. Auch die Experten der Web-Tools selber melden auf der letzten Dialogseite, daß sie eine *.BAT-Datei generieren würden, wobei Sie tatsächlich etwas ganz anderes tun. Vertrauen Sie bitte lieber den Aussagen dieses Beitrages als der Originaldokumentation.


weiter zu Teil 2

Teil 1: GrundlagenTeil 2: Die Arbeit mit den Web-Wizards

© J. Hummel,   Juli 1998

[ Seitenanfang ] [ Web-Tools ] [ Startseite ]