<jsptutorial />

Abgrenzung zu anderen Technologien


JSPs sind nur eine von vielen Möglichkeiten, dynamischen Content für das Web (und darüber hinaus) zu generieren. Die Technologie konkurriert mit dem Einsatz von CGIs und vor allem den drei großen Konkurrenten Active Server Pages, PHP und ColdFusion. Wir können das Thema hier nur kurz anreißen - letztlich ist der Vergleich ohnehin subjektiv und würde sicher auf einer PHP- oder Microsoft-Seite ganz anders ausfallen. Wer das ganze gerne etwas ausführlicher hätte, der sei auf Norman Wehrles - leider nicht mehr ganz aktuelle - Diplomarbeit zum Thema verwiesen, in der dieser mehrere Skriptsprachen und JSPs/Servlets miteinander vergleicht (link).

Zum SeitenanfangZum Seitenanfang

CGI

Das World Wide Web in seiner ursprünglichen Form bestand ausschließlich aus statischem Inhalt. Zwar war dieser mit anderem statischen Inhalt verlinkt und konnte zudem graphische Elemente einbinden (beides wesentliche Voraussetzungen für den Erfolg des Webs und bspw. der große Vorteil gegenüber der ungefähr zur gleichen Zeit eingeführten Gopher-Technologie), doch zur Interaktion mit der Nutzerin und zu einer zielgerichteten bspw. personalisierten Präsentation von dynamisch aufbereiteten Daten war das Web ursprünglich nicht fähig. Schon früh wurden Methoden entwickelt, dieses Problem zu umgehen. Die erste Technologie war das Common Gateway Interface, das eine definierte Schnittstelle bereitstellte, über die Web-Server und externe Programme miteinander kommunizieren konnten. Vor allem in Verbindung mit der in der UNIX-Welt weit verbreiteten Sprache Perl wurde und wird auch heute noch CGI eingesetzt.
Der Nachteil dieser Technologie ist, dass für jede Anfrage ein eigener Prozess gestartet werden muss, was für stark beanspruchte Seiten schnell zu einem Engpass führen kann (wobei auch dafür längst Lösungen existieren). Zudem gestaltete sich die Ausgabe des HTML-Codes als extrem unübersichtlich, da er in Print-Statements untergebracht werden musste.
Des Problems der zahlreichen Prozesse nahm sich die Servlet-Technologie an, die im Anhang II: Servlets - Die Grundlagen in ihren Grundzügen behandelt werden wird. Die mühselige und wartungsunfreundliche Ausgabe des HTML-Codes wurde von ColdFusion (seinerzeit Allaire heute Macromedia) und Microsofts Active Server Pages angegangen.

Zum SeitenanfangZum Seitenanfang

Active Server Pages

Für große Web-Anwendungen wohl der bedeutsamste Konkurrent zu den JavaServer Pages und Servlets ist die Active Server Pages-Technologie aus dem Hause Microsoft. ASP 1.0 gab es zunächst als ein Add-on zum Internet Information Server (IIS) 3.0 im Jahr 1996. Mit dem IIS 4.0 und IIS 5.0 folgten dann jeweils die nächsten ASP-Versionen. Dabei wird beim IIS eingerichtet, dass Dateien mit der Endung ".asp" an die Skripting-Engine asp.dll weitergereicht werden.
Die ASP-Seiten bestehen dabei ähnlich wie CFML-, oder PHP-Seiten aus Abschnitten reinen HTMLs und zu interpretierenden Abschnitten, die die Logik der Seite enthalten. Als Skriptingsprache kommen JScript (Microsofts Javascript-Variante) und vor allem VBScript zum Einsatz. Soweit war ASP noch nichts Besonderes (außer, dass es wie bei Microsoft üblich mit dem IIS gebundelt wurde und somit verglichen mit Cold Fusion preisgünstig war). Was ASP für Microsoft-Entwickler attraktiv machte und macht, ist die Tatsache, dass COM+-Objekte eingebunden werden können und damit die große Zahl bereits entwickelter Komponenten nun auch für die Webentwicklung zur Verfügung stand. Damit ist auch eine Trennung zwischen Logik und Präsentation (theoretisch) gut möglich.
Mit dem .NET-Framework hat Microsoft das ASP-Modell grundlegend überarbeitet. Der zum Teil recht unübersichtliche ASP-Code soll v.a. durch WebForms-Objekte übersichtlicher und wartbarer werden. WebForms-Objekte stellen wiederverwendbare Elemente einer Webseite dar (bspw. Textboxen, AdRotator-Objekte, Suchmaschinen-Objekte etc.). Zu diesen Objekten gehört zumeist Ereignisbehandlungs-Code, der entweder in die Seite integriert wird, oder - was der gewünschten Trennung von Präsentation und Logik entgegen kommt - mittels der sogenannten CodeBehind-Methode von der Seite getrennt abgelegt wird. Mit ASP.NET ist Microsoft definitiv ein gewaltiger Fortschritt gegenüber der letzten ASP-Version gelungen. Als Programmiersprachen können alle vom .NET-Framework unterstützten Sprachen verwandt werden, von Microsoft besonders forciert werden VB.NET und C#. Ausführliche Infos zu ASP.NET und ein gutes Tutorial zu ASP.NET findet man auf den Microsoft-Seiten www.asp.net (link). Einen knappen Vergleich zwischen ASP und ASP.NET findet man auf den Seiten it-visions.de (link).
Chilisoft hat die ASP-Technologie auch auf anderen Plattformen ermöglicht. Ironischerweise gehört Chilisoft inzwischen zu SUN Microsystems (link). ASP.NET ist hingegen derzeit nur auf Microsoft-Plattformen, die bereits das .NET-Framework unterstützen, einsatzfähig. Es existieren allerdings zwei freie Projekte, Mono (link) und dotGNU (link), die das .NET-Framework auf UNIX und andere Plattformen portieren. Lt. Angaben seitens des Mono-Projekts selbst ist ASP.NET inzwischen lauffähig (link).

Zum SeitenanfangZum Seitenanfang

PHP

PHP ist ein OpenSource-Produkt und wird von einer großen Entwicklerinnen-Gemeinde entwickelt. Die PHP-Gemeinde hat sich dafür entschieden, im Zweifelsfall auf mächtigere Features zugunsten einer einfacheren Erlernbarkeit der Sprache zu verzichten. So gibt es bei PHP4 zum Beispiel Klassen, aber keinerlei Kapselung (die bald anstehende Version PHP5 will dies zwar verbessern, verfolgt aber weiterhin den Weg, dass Einfachheit den Vorrang vor Mächtigkeit hat). Diese schnelle Erlernbarkeit, die syntaktische Ähnlichkeit zur in der Web-Gemeinde weit verbreiteten Sprache Perl, die Einbettung dynamischer Elemente in den HTML-Code wie bei JSP und ASP und die kostenlose Verfügbarkeit sorgen für eine weite Verbreitung. Diese wird zudem durch die enge Verbindung mit Apache und der OpenSource-Datenbank MySQL noch verstärkt - die sogenannte LAMP-Kombination1. Es finden sich unzählige Anbieter von billigem Webspace, die auch PHP-Code erlauben. Für ASP und JSP hingegen findet man weitaus weniger Anbieter mit zudem durchweg höheren Preisen. Dennoch: PHP ist zumeist auf kleinere bis mittlere Projekte beschränkt, gerade weil einige mächtige Features bewusst ausgelassen wurden. Zu PHP findet man alle Informationen unter www.php.net (link).

Zum SeitenanfangZum Seitenanfang

ColdFusion

ColdFusion wurde 1995 von Allaire der Öffentlichkeit vorgestellt. Die zu ColdFusion gehörige Sprache ColdFusion Markup Language (CFML) bot schon früh die Möglichkeit, HTML-Code und Code für die Logik der Webanbindung miteinander zu vermischen. Dies war nicht immer übersichtlich, führte aber vergleichsweise schnell zu Ergebnissen, zumal mächtige Tags für die Einbindung von Datenbanken und diversen Internet-Protokollen (SMTP, POP, FTP) und später auch zur Generierung von Statistiken etc. zur Verfügung standen. Mit der Zeit kam die Erweiterbarkeit der Sprache hinzu. ColdFusion war sicher ein Pionier in seinen Anfangstagen und profitiert heute noch vor allem von seiner nach wie vor sehr guten Erlernbarkeit.
Bemerkenswert ist, dass Allaire seinerzeit die Firma "Live Software" aufgekauft hat, als diese den kompletten CFML-Sprachumfang mittels einer JSP-Taglibrary nachbildete. Macromedia wiederum hat Allaire vor einiger Zeit gekauf, bietet die Java-Technologien nun im Rahmen seiner MX-Serie an und ist ein starker Partner im J2EE-Umfeld. So ist der ColdFusion-Server vollständig J2EE-kompatibel und SUN-zertifiziert und Macromedia bietet zudem mit JRun (ursprünglich von Live Software bei Allaire mit eingebracht) einen weiteren Servlet-Container und J2EE-Server an.

Zum SeitenanfangZum Seitenanfang

Anmerkungen:

1) LAMP steht für Linux, Apache, MySQL und PHP. (zurück)


www.jsptutorial.org
© 2005, 2006, 2007