Für jeden Zweck das passende Script

Werbung
ITMAGAZINE
Für jeden Zweck das passende Script
1. Juli 2002 - Bei den Web-Scriptsprachen buhlen vier Technologien um die Gunst der Webprogrammierer. In seinen Anfangszeiten war das World Wide Web ein statisches Gebilde, bestehend aus fixen HTML-Seiten, die
durch Hyperlinks miteinander verbunden waren. Doch je mehr das Web nicht nur bloss als
Informationsplattform, sondern für interaktive Dienste eingesetzt wurde, desto weniger reichte diese statische
Form aus. Für diese ersten Webanwendungen musste die Möglichkeit geschaffen werden, Inhalt
situationsbezogen auszugeben und auch Eingaben - über Formulare - zu verarbeiten.
In der ursprünglichen Form wurden solche dynamischen Aufgaben mit Hilfe von CGIs gelöst, Programmen, die
auf dem Server ausgeführt werden und abhängig von einer Eingabe eine bestimmte Ausgabe generieren. CGIs die Abkürzung steht etwas irreführend für "Common Gateway Interface" - werden vom Webserver aufgerufen,
der auch die generierten Informationen wieder an den anfragenden Browser weiterleitet. Der Aufruf eines CGI
wird entweder durch das Abschicken eines Webformulars ausgelöst oder aber durch einen Link, der auf das
Programm verweist. Programmcode und Webseite sind also strikte getrennt. Das hat zur Folge, dass das
Resultat, meist wieder eine Webseite, vom GCI generiert werden muss. Wird nun aber der HTML-Code direkt vom
Programm erzeugt, erschwert dies die Arbeit für die Webdesigner, da der Code meist direkt im Programm
eingebettet ist und nicht separat mit einem HTML-Editor bearbeitet werden kann. Oft sind bei CGIs
Seitengestaltung, Inhalt und Programmlogik also nicht klar getrennt, was den Aufwand für Anpassungen und
Änderungen erhöht.
Scriptsprachen nicht mehr wegzudenken
Aufgrund der eingeschränkten Flexibilität haben klassische CGIs für dynamische Webseiten mittlerweile an
Bedeutung eingebüsst. An ihre Stelle sind Scripts getreten, die ebenfalls auf dem Server ausgeführt werden, im
Unterschied beispielsweise zu JavaScript, das im Browser des Benutzers abgearbeitet wird. Serverseitige Scripts
sind üblicherweise direkt in eine Webseite eingebettet. Ruft ein Browser ein solches Dokument ab, wird dieses
vom Webserver respektive der Scripting-Engine abgearbeitet. Daraus resultiert eine Webseite in reinem HTMLoder neuerdings auch XML-Format, die dann an den Browser zurückgeliefert wird.
Serverseitige Scriptsprachen sind auch eine Möglichkeit, Design, Inhalt und Programmlogik von dynamischen
Webauftritten einigermassen klar zu trennen. Das Seitenlayout erfolgt wie gewohnt in einem herkömmlichen
HTML-Editor. Auf diesem Weg kann der Webdesigner eine Vorlage gestalten, während der Programmierer die
Scripts schreibt, mit denen der Inhalt in die Seite eingefügt wird. Dieser wiederum wird separat gespeichert,
häufig in einer Datenbank. Dadurch entsteht eine saubere Trennung wenigstens zwischen Gestaltung und Inhalt,
während das Seitenlayout und die Scripts, das eigentliche Programm, zwar separat erstellt werden können,
danach aber zusammengefügt werden müssen.
Scriptsprachen sind heute im Web allgegenwärtig, und je stärker der Trend Richtung interaktive
Webapplikationen zeigt, desto unverzichtbarer werden sie. Dies hat zu einem aktiven Wettbewerb unter
verschiedenen Anbietern von Scripting-Lösungen geführt. Derzeit sind es vier Technologien, die den grössten
Teil des Kuchens unter sich aufteilen: Active Server Pages (ASP) von Microsoft, ColdFusion von Macromedia, Java
Server Pages (JSP) von Sun sowie die Open-Source-Scriptsprache PHP, wobei die Abkürzung für "PHP Hypertext
Preprocessor" steht.
Vier Sprachen, vier Philosophien
Microsofts ASP steht genaugenommen nicht für eine einzelne Scriptsprache, sondern für die Redmondsche
Implementation dynamischer Webseiten auf der Windows-Plattform. ASP ist eine Komponente des Internet
Information Server (IIS) und wird mit diesem mitgeliefert. In der Grundausstattung werden zwei Sprachen
unterstützt. Die weitaus am häufigsten eingesetzte ist VBScript, während es sich bei JScript um Microsofts
Variante von JavaScript handelt. Aufgrund der Integration in den IIS beschränkt sich ASP auf die
Windows-Plattform, während die anderen drei Vertreter auch für Linux und verschiedene Unix-Varianten
verfügbar sind.
Dies gilt auch für ColdFusion, eine ursprünglich von Allaire entwickelte Middleware für dynamische Webseiten,
die seit der Übernahme durch Macromedia unter dessen Namen weitergeführt wird. Das auf Java basierende
Produkt bietet in der aktuellen MX-Version zum einen die Scriptsprache ColdFusion Markup Language (CFML),
zum anderen direkte Interaktion mit Flash-basierten Front-Ends. Der ColdFusion MX for J2EE Application Server
erlaubt zudem über einen entsprechenden Application Server den Zugriff auf Java-basierte Applikationen. Dies
ist gleichzeitig auch zentraler Bestandteil von Suns JSP-Technologie, welche eine Art Schnittstelle zwischen
Webseiten und Java-Applikationen darstellt. Während mit den anderen Scriptsprachen das eigentliche Programm
direkt im Script geschrieben wird, dient der JSP-Code vor allem dazu, eine Funktion in einer Java-Applikation
oder einer JavaBean aufzurufen und das Resultat auszugeben. Die zur Java 2 Enterprise Edition (J2EE)
gehörende Technologie verfügt gegenüber den anderen Scriptsprachen also über eine weitere Trennung
zwischen Design und Programmlogik.
Insbesondere bei Linux-basiertem Hosting geniesst die freie Scriptsprache PHP grosse Beliebtheit. Sie ist
Bestandteil der als LAMP bezeichneten Architektur - Linux, Apache-Webserver, MySQL-Datenbank und eben
PHP. Diese Sprache zeichnet sich zudem durch einen grossen Funktionsumfang aus, was wohl auch mit der
Open-Source-Lizenz zusammenhängt: Ein Entwickler, der eine bestimmte Funktionalität benötigt, erweitert die
Sprache einfach auf eigene Faust. Dadurch sind beispielsweise Funktionen entstanden für den Zugriff auf
verschiedenste Datenbanken, für die Generierung von PDF-Dateien oder zur Erzeugung von Grafiken. PHP lässt
sich am ehesten mit Microsofts ASP-Architektur vergleichen. Die Ausführung der PHP-Scripts übernimmt
normalerweise direkt der Apache-Server mittels eingebautem Modul. Alternativ lässt sich die PHP-Engine auch
unter Windows betreiben, beispielsweise zusammen mit dem IIS.
Über die Verbreitung der einzelnen Script-Technologien liegen keine genauen Zahlen vor. Auf der PHP-Website
lässt sich immerhin einsehen, dass diese Sprache auf rund neun Millionen Domains eingesetzt wird. Das macht
sie zum beliebtesten Modul für den Apache-Webserver, wie Security Space ermittelt hat. Von den untersuchten
rund 500'000 Servern war im Mai dieses Jahres auf 43,7 Prozent das PHP-Modul installiert. Und eine online
durchgeführte Umfrage von InfoWeek vom Januar letzten Jahres über den Einsatz einer Scriptsprache hat
ergeben, dass unter den Antworten PHP mit rund 40 Prozent deutlich obenauf schwingt, gefolgt von ASP mit 27
Prozent. ColdFusion und JSP spielen dagegen mit neun respektive sechs Prozent nur eine untergeordnete Rolle.
Dies mag auch daran liegen, dass sich kleinere Projekte mit ASP oder PHP mit geringerem zeitlichen oder
finanziellen Aufwand realisieren lassen als mit dem kostenpflichtigen ColdFusion-Server oder den komplexen
JSP.
Zugriff auf die Inhalte
Dynamische Webseiten beziehen ihre Inhalte üblicherweise aus Datenbanken. Der Zugriff darauf gehört
demzufolge zu den wichtigsten Einsatzgebieten von Scriptsprachen. Die hierzu gewählten Wege sind bei den vier
Anbietern unterschiedlich ausgefallen, von der Syntax her ausser bei JSP aber ähnlich zu programmieren. Der
Zugriff auf eine Datenbank erfolgt bei ASP, ColdFusion und PHP über SQL-Befehle, während bei JSP die
serverseitigen Java-Applikationen diese Aufgabe übernehmen.
ColdFusion setzt für den Datenbankzugriff neben ODBC auch auf JDBC (Java Database Connecitivity) und
unterstützt dadurch alle Datenbanken, welche sich über die beiden Spezifikationen ansprechen lassen. Dazu
gehören sowohl die grossen Flaggschiffe wie Oracle oder IBMs DB2 als auch das kostenlose MySQL, das sich für
Webauftritte grosser Beliebtheit erfreut. ASP dagegen erlaubt den Zugriff auf alle Datenquellen, die ODBC (Open
Database Connectivity) unterstützen. Darunter fallen Microsofts eigene Datenbanken Access und der SQL Server,
aber auch Excel.
Eine äusserst breite Palette an Datenbanken lässt sich mit PHP nutzen. Die Scriptsprache bietet zum einen
Befehle für den direkten Zugriff auf Datenbankserver von MySQL bis zu Oracle 8. Zum anderen unterstützt PHP
den Zugriff via ODBC, so dass sich auch Datenbanken wie etwa Access einbinden lassen.
Handarbeit gefragt
Da der Programmcode von Scriptsprachen direkt in eine HTML-Seite geschrieben wird, eignet sich grundsätzlich
jeder Texteditor für das Erstellen dynamischer Webauftritte. Heutige professionelle HTML-Editoren wie GoLive
und DreamWeaver unterstützen die Programmierung von Scriptsprachen ebenfalls, indem sich entsprechende
Seiten damit bearbeiten lassen. Macromedia hat die ColdFusion-Scriptsprache seit längerem in DreamWeaver
integriert. Die früher hierzu benötigte UltraDev-Version wurde mit dem Erscheinen der MX-Ausgabe wieder zu
einer einzigen Version von DreamWeaver zusammengefasst. Diese erlaubt es, CFML-Scripts etwa für
Datenbankzugriffe ohne Programmierkenntnisse zu erstellen. Das beschleunigt die Entwicklung von
Webanwendungen und reduziert gleichzeitig die Fehlerquellen und damit den Zeitaufwand für die
Fehlerkorrektur.
Im Normalfall ist das Erstellen dynamischer Seiten aber mit viel Handarbeit verbunden. Entsprechende Editoren
können dabei zwar helfen, doch die automatische Programmierung von Webanwendungen ist mit den hier
vorgestellten Scriptsprachen immer noch Zukunftsmusik. Folglich werden Kenntnisse der entsprechenden
Programmiersprache verlangt. Da ASP, CFSL und PHP aber ein ähnliches Konzept und eine ähnliche Syntax
aufweisen, sollte immerhin der Wechsel von der einen zur anderen Technologie ohne den doch recht hohen
Initialaufwand vonstatten gehen können. Programmierer, die sich in der einen Sprache auskennen, dürften den
Umstieg auf eine andere ohne übermässigen Aufwand schaffen.
Der Zweck entscheidet
Obwohl sich diese vier Technologien konkurrenzieren und sich überschneidende Bereiche abdecken, kann man
die Stärken und Schwächen für die geeigneten Einsatzgebiete schnell erkennen.
Für kompaktere Firmenauftritte im Internet werden häufig ASP oder PHP eingesetzt, dies, weil beide
Technologien keine weiteren Lizenzgebühren verursachen und deshalb von Hosting-Anbietern ohne zusätzliche
Kosten angeboten werden können. Die Wahl der Technologie wird dabei normalerweise durch die Plattform
entschieden: Unter Linux wird PHP eingesetzt, unter Windows ASP. Letztere eignet sich vor allem in einem
Windows-dominierten Umfeld und wenn die Daten sowieso im Access- oder Excel-Format vorliegen. Aufgrund
der beschränkten Leistungsfähigkeit dieser Desktop-Applikationen ist bei grossen Datenmengen der Einsatz
eines SQL-Servers angebracht. Und hier kann die Konkurrenztechnologie PHP in Kombination mit MySQL seine
wohl grösste Stärke ausspielen. Da diese kostenlose Datenbank für viele Zugriffe optimiert ist, ist dieses
Gespann gut geeignet für verkehrsreiche Sites, welche viele Lesezugriffe auf die Datenbank verzeichnen, aber
die Kosten für Microsofts SQL-Server scheuen. Gegenüber ASP weist PHP zudem den Vorteil der
Plattform-Unabhängigkeit auf. Der Webdesigner kann den Code unter Mac OS X lokal austesten, der
Programmierer unter Windows die Scripts erstellen, und die Site wird auf einem Linux- oder Unix-Server
gehostet.
ColdFusion dagegen zeichnet sich im Gespann mit DreamWeaver als komfortable Lösung auf, um ohne grossen
manuellen Programmieraufwand dynamische Webseiten zu erstellen. Serverseitig läuft ColdFusion sowohl unter
Windows als auch unter Linux und einigen Unix-Varianten. Dank der Möglichkeit der Version für
Java-Application-Server, auf Java-Applikationen zuzugreifen, können ColdFusion-basierte Internetauftritte
zudem in entsprechende Unternehmensanwendungen integriert werden. Und mit ClusterCATS bietet Macromedia
darüber hinaus eine Clustering-Lösung an, mit welcher der ColdFusion-Server an gestiegene Anforderungen
angepasst werden kann. Diesen Eigenschaften stehen allerdings die Lizenzgebühren der Software gegenüber,
weshalb sich die Macromedia-Technologie auf dedizierten Servern und in komplexeren Webauftritten am
wohlsten fühlt.
Am oberen Ende der Skala steht schliesslich JSP. Diese Technologie ermöglicht die klarste Trennung zwischen
Design, Programmlogik und Inhalt. Da JSP eine eigentliche Schnittstelle zu Java-basierten Anwendungen bildet,
liegt deren Einsatz dort auf der Hand, wo bereits Unternehmensapplikationen auf Java-Basis existieren. Da für
die Entwicklung von JSP-basierten Webauftritten Java-Kenntnisse vonnöten sind, verlangt diese Technologie von
den Programmierern auch den höchsten Lernaufwand. Für die meisten Unternehmen dürfte die Wahl der
Scriptsprache folglich auf ASP oder PHP fallen, sofern nicht ohnehin eine Webdesign-Firma mit der Realisation
beauftragt wird und diese ihre bevorzugte Technologie einsetzt. Copyright by Swiss IT Media 2017 
Herunterladen