"Fusion" als Beispiel für den Einsatz von Fertigbausteinen

Websites lassen sich auch ohne Programmierkenntnisse bauen

29.09.2000
Professionelle HTML-Editoren bieten Module, die den Aufbau komplexer Websites mit interaktiven Elementen und Datenbankeinbindung ohne wesentliche Programmierkenntnisse ermöglichen. Dabei ist es unwesentlich, ob die Anwender "Golive" von Adobe, "Dreamweaver" von Macromedia oder "Fusion" von Netobjects verwenden.

Wer einen Internet-Auftritt plant, muss kein Web-Profi oder gar Programmierer sein. Leistungsfähige Web-Entwicklungswerkzeuge übernehmen die lästige HTML-Codierarbeit, und der Anwender kann sich ganz auf die Inhalte konzentrieren. Mit Programmen wie Fusion, Dreamweaver und Golive lassen sich mit minimalem Lernaufwand professionelle Site-Strukturen, klare Navigationsschemen und durchgängige grafische Layouts erstellen.

Die Besucher erwarten im Medium Web nicht nur ein sauberes Layout, sondern auch interaktive Elemente und ständig aktualisierte Inhalte. Hier kommen Javascript und Java-Applets zum Einsatz. Eine Reihe vorgefertigter Minianwendungen, etwa die Components von Fusion, ersparen den Usern den Programmieraufwand. Die Software erstellt daraus einen Scriptcode oder ein Applet und fügt diesen in die HTML-Seite ein.

Statische und dynamische Seiten

Sinnvoll ist es, die Komponenten über offene Schnittstellen einzubinden. Auf diese Weise können auch Drittanbieter ihre Lösungen einklinken. Profis programmieren sich zusätzlich ihre eigene Modulsammlung. Ein entsprechendes Entwicklungs-Kit liefert etwa Netobjects kostenlos über http://www.netobjects.com/company/html/padevtools.html. Bei Fusion (Version 3 und 4) lassen sich fremde Komponenten durch Kopieren der NFX-Dateien ins Unterverzeichnis Components einbinden; in Version 5 melden sich die Komponenten selbst an.

Die Components werden mit der Maus von der Werkzeugleiste auf den Layoutbereich gezogen und dort positioniert. Die Parameter lassen sich danach im Eigenschaftsfenster angeben. Für eine Tickerleiste können zum Beispiel Laufgeschwindigkeit, Farben, Schrifttyp und beliebig viele Texte eingestellt werden.

Ob eine Website aber aus statischen Seiten besteht oder von Fall zu Fall dynamisch aufgebaut wird, sagt nichts über die eigentliche Qualität des Auftritts aus. Prinzipiell bedeutet "statisch", dass alle Inhalte fest in eine HTML-Seite integriert werden. Sie können dabei durchaus aus einer Datenbank stammen. Beim Überarbeiten der Inhalte ist aber immer zunächst die HTML-Seite neu zu generieren, damit die Änderungen auch auf der Webpage erscheinen.

Dynamische Seiten werden dagegen erst beim Aufruf auf dem Server ganz oder teilweise erzeugt. Die Inhalte der Datenbank werden in eine HTML-Datei eingebettet, und diese wird an den Browser übermittelt. Im Quelltext einer solchen Seite sieht man nur HTML-Anweisungen und die Inhaltstexte, denn der Programmcode für die dynamischen Anweisungen läuft ausschließlich auf dem Server.

Beide Verfahren haben ihre Vor- und Nachteile. Bei statischen Seiten sind die Antwortzeiten kürzer, denn der Server braucht nur die schon vorhandene HTML-Seite an den Browser zu senden. Änderungen lassen sich aber nur im Editor durchführen, die Seite muss dann jedes Mal auf den Server geladen werden. Datenbankgestützte Seiten erlauben eine sehr flexible Inhaltspflege. Dafür leidet bei stark frequentierten Seiten die Performance, wenn jede erst aus den Datenbankelementen zusammengesetzt werden muss. In der Praxis strebt man eine Mischung nach folgender Faustregel an: Langzeitelemente werden über statische Seiten veröffentlicht, aktuelle oder interaktive Inhalte in die Datenbank eingepflegt und aus dieser zur HTML-Seite generiert. Klassisches Beispiel für Letzteres sind Mitarbeiterlisten, die sich ständig ändern, oder der Nachrichtenteil von Online-Magazinen.

Auch der statische Teil von Web-Seiten lässt sich sinnvoll auf Datenbanken aufbauen. Einen Produktkatalog, der längere Zeit gültig bleibt, sollte man aus einer Tabelle generieren, anstatt für jedes Produkt eine einzelne HTML-Seite herzustellen. Bei Fusion heißt dies "statisches Publizieren" und wird mit einer eigenen Komponente zum Datenhandling unterstützt. Anwender mit etwas Erfahrung erledigen diesen Job mit wenigen Mausklicks.

Anwendungen mit interaktiver Dateneingabe benötigen aber "echte" dynamische Zugriffe. Ein Beispiel wäre ein kleines Redaktionssystem für die Verwaltung aktueller Meldungen einer Website. Die Texte werden über eine Browser-Schnittstelle in die Datenbank geladen. Kennziffern wie Veröffentlichungs- und Verfallsdatum steuern die Ausgabe auf der Seite. Wird nun die Seite "Aktuelles" aufgerufen, stehen darin immer die neuesten Meldungen. Bisher wurden solche Lösungen vorwiegend mit den Scriptsprachen Perl oder PHP unter Unix realisiert. Eine komfortablere Möglichkeit, um Daten aus Microsoft-Dokumenten schnell publizieren zu können, bietet die Scriptsprache Active Server Pages (ASP) von Microsoft.

Mit dem ASP-Connector stellt Netobjects seit der Version 4 von Fusion eine Component-Sammlung für die professionelle Datenbankanbindung für NT-Server gratis zur Verfügung. Einen ähnlichen Service bietet Adobe mit "Dynamic Link" für Golive. Dagegen muss das entsprechende Connectivity-Kit "Lasso" für Dreamweaver kostenpflichtig erworben werden. Ein professionelles Tool für die datenbankgestützte Site-Entwicklung ist Drumbeat von Macromedia. Allerdings verfügt es nur über wenige Möglichkeiten zur Seitengestaltung.

Wie für den Einsatz der anderen Components sind für den ASP-Connector keine gehobenen Programmierkenntnisse erforderlich. Etwas Erfahrung mit Datenbanken ist nützlich, sonst bleiben die Parameter unverständlich. Der Connector kommuniziert mit der Access- oder SQL-Server-Datenbank über die ODBC-Schnittstelle (Open Database Connectivity). Daher muss auf jeden Fall ein ODBC-Datenquellenname (DSN) für die Datenbank angelegt werden. Für NT-Server übernimmt dies der Systemadministrator. Auf NT-Workstation oder Win-98-Entwicklungsstationen kann es der User in den Systemeinstellungen selbst durchführen.

Auch für die Datenbankfunktionen gibt es vorgefertigte Komponenten. Um in einem Intranet eine Kundenliste verfügbar zu machen, müssen nur in den entsprechenden Layoutbereichen der Seite die Komponenten DBConnection, DBQuery und DBList abgelegt werden. In DBQuery wird die Abfrage als SQL-Statement definiert. DBList erzeugt eine Tabelle, die durch eine ganze Reihe von Parametern zu Schrifttypen etc. formatiert werden kann.

Während die eigentliche Handhabung der Components überzeugt, steckt der Teufel im Detail. Es empfiehlt sich, die Hinweise im PDF-Handbuch zu studieren. Drei Fallstricke seien hier erwähnt. So weist die Datenbank-Schnittstelle über ODBC "Kunden" einen anderen Wert zu als "kunden" und liefert eine Fehlermeldung. Außerdem muss im Menüpunkt "Publizieren" die Verzeichnisstruktur auf "Asset Type" gesetzt werden. Diese ist normalerweise auf "Seitenstruktur" voreingestellt. Schließlich ist es wichtig, die Dateiendung ".asp" zu wählen. Nur dann setzt der Server seinen ASP-Interpreter in Marsch und generiert die richtigen Ausgaben.

*Jens Stein ist freier Autor in München.

Perl und PHP versus ASP

Datenbankgestützte Websites werden vielfach bereits mit Microsofts Active-Server-Pages-Technologie (ASP) gleichgesetzt. Zu Unrecht, denn Microsoft hat diese Technik keineswegs erfunden. Auf Unix-Servern werden mit Perl und PHP schon lange Seitenabrufe dynamisch bedient. Ein weiteres bekanntes Beispiel für kommerzielle, datenbankgestützte Web-Technologie ist der Domino-Server von Lotus. Doch ASP hat schnell Verbreitung gefunden, weil sich damit vorhandene Access- oder SQL-Server-Datenbanken recht einfach in den Web-Auftritt einbinden und die Daten in den Office-Programmen weiterpflegen lassen.

Der Name ASP ist irreführend, denn dahinter verbirgt sich nichts anderes als eine Scriptsprache mit dem üblichen Handling von Kontrollstrukturen, Variablen und Funktionen sowie anderen Elementen, die auf dem Server von einem Interpreter verarbeitet werden. Je nach Vorliebe können die Anweisungen in Jscript (dem Microsoft-Pendant zu Javascript) oder Visual Basic Script (VBScript) entwickelt werden.

Als Server wird normalerweise der Internet Information Server (IIS) von Microsoft eingesetzt (Version 4 unter Windows NT 4 oder Version 5 unter Windows 2000). Für Unix-Umgebungen bietet Chilisoft, das jüngst von Cobalt übernommen wurde, ein plattformübergreifendes ASP für Linux und andere Unix-Derivate an. Für NT-Anwender, die lieber den Apache-Server einsetzen, gibt es auch ein Chilisoft für NT.

Components

Ad Banner: verwaltet rotierende Banner in beliebigen Zeitintervallen. Die Bannergröße lässt sich dabei automatisch an eine vordefinierte Größe anpassen.

Message Board: Dieses Schwarze Brett erlaubt ein vollständiges Diskussionsforum in Perl. Auf dem Server müssen Perl und der Zugriff auf das Verzeichnis /cgi-bin verfügbar sein. Pro Site kann nur ein Diskussionsforum integriert werden.

Dyna Buttons: Java-basierte, animierte Schaltflächen, die zur Navigation verwendet werden und den Aufbau verschachtelter Menüstrukturen erlauben.

Picture Loader: lädt komfortabel Bilder (zum Beispiel Werbebanner) von anderen Web-Servern und bindet diese in die Seite ein.

Form Handler: Erweiterung für die Formularverarbeitung, mit der unter anderem Fenster für Rückmeldungen, Fehlermeldungen und Log-Dateien erzeugt werden. Benötigt Perl und Zugriff auf /cgi-bin.

Go Menü: erzeugt eine Listbox zur schnellen Navigation zwischen den Seiten. Sinnvoll für eine Produktauswahl.

Picture Rollover: bringt per Javascript Rollover-Effekte für jedes Bild. So lässt sich allein durch Bewegen der Maus das Bild abdunkeln oder ein Popup-Fenster anzeigen.

Rotating Picture: wechselt in definierten Zeitabständen eine Serie von Bildern auf der Seite aus. So kann sehr einfach eine kleine Diashow aufgebaut werden.

Screen Door: Definition von Browser-abhängigen Seitenaufrufen nach einem beliebigen Zeitintervall.

Site Map: generiert ein Applet für eine Übersicht der Site-Struktur im Browser mit Suchfunktion. Sitemaps werden als Standardbestandteil der Navigation in jeder Website empfohlen.

Ticker Tape: Applet für eine Textlaufschrift.

Timebased Picture: Je nach Tageszeit werden automatisch verschiedene Bilder ausgewählt.