17.3 Weitere Technologien im Überblick 

Neben den in diesem Kapitel vorgestellten Technologien PHP und Ruby on Rails gibt es noch zahlreiche andere Sprachen und Schnittstellen für die Webserver-Programmierung. Hier noch zwei weitere im Schnellüberblick:
- CGI (Common Gateway Interface) ist die klassische Kommunikationsschnittstelle zwischen Webservern und externen Programmen. Der Standard gilt unverändert seit 1995. Er definiert im Wesentlichen folgende Vorgehensweise: Wenn eine Client-Anfrage eine Ressource anfordert, die auf ein CGI-Programm verweist, wird dieses vom Webserver als externer Prozess gestartet. Dabei kann der Server Daten aus HTML-Formularen an das Programm weiterreichen. Alles, was das Programm auf die Standardausgabe schreibt, nimmt der Server entgegen und sendet es dem Client als Antwort. Die beliebteste Programmiersprache für CGI-Skripte ist Perl, zumal es ein Zusatzmodul namens CGI.pm gibt, das die CGI-Programmierung durch praktische Funktionen erleichtert. Falls Sie allerdings Apache benutzen und Ihre Webanwendungen in Perl schreiben möchten, sind Sie nicht mehr auf CGI angewiesen. Stattdessen können Sie mod_perl verwenden; dieses Modul integriert den Perl-Interpreter direkt in den Webserver.
- Microsofts Technologie zur Webprogrammierung heißt ASP (Active Server Pages). Sie ist ein integraler Bestandteil des Microsoft Internet Information Servers. Ähnlich wie bei PHP können auch ASP-Codeblöcke direkt in ein HTML-Dokument hineingeschrieben werden; in diesem Fall zwischen die Markierungen <% und %>. Die klassischen Active Server Pages wurden ausschließlich in VBScript geschrieben, einer abgespeckten Variante von Visual Basic. Im Rahmen des Microsoft .NET-Frameworks wurde ASP zu ASP.NET weiterentwickelt. Deshalb können die Skripte nun in jeder Sprache geschrieben werden, welche die .NET Common Language Runtime (CLR) verarbeiten kann. Dies sind unter anderem die Sprachen C#, C++ und Visual Basic.
17.3.1 Content-Management, Weblogs & Co. 

Ein Grund für den Einsatz serverseitiger Programmierung – neben den hier behandelten Webanwendungen – sind wartungsfreundlichere Websites: Wenn Inhalte in einer durchdachten Datenbankstruktur gespeichert und mithilfe von Platzhaltern in den Rahmen eines Website-Designs eingefügt werden, gelingt die Aktualisierung – besonders auch von Inhalten, die auf vielen verschiedenen Seiten vorkommen – schneller und fehlerfreier. Falls noch einfache Editoren (oder Webformulare) für die reinen Inhalte hinzukommen, können Redakteure oder Autoren die Website aktualisieren und ergänzen, ohne sich um das Design oder die Programmierung kümmern zu müssen.
Dieses Verfahren wird als Content-Management bezeichnet. Es gibt zahllose Softwarelösungen für diese Aufgabe, die sogenannten Content-Management-Systeme (CMS). Sie reichen vom einfachen Anfänger-Tool bis zum umfangreichen Online-Redaktionssystem. In beiden Kategorien gibt es sowohl Open-Source- als auch kommerzielle Programme.
TYPO3
Eines der bekanntesten Content-Management-Systeme ist die Open Source-Lösung TYPO3. Das System ist in PHP implementiert, kann eine beliebige Datenbank einsetzen (am häufigsten wird wohl MySQL gewählt) und läuft sowohl unter Windows als auch unter beliebigen UNIX-Varianten. Ein Highlight ist die eingebaute Sprache TypoScript, über die Sie das System und die verwalteten Sites sehr flexibel an Ihre Bedürfnisse anpassen können.
Wie jedes CMS verfügt TYPO3 über verschiedene Arbeitsmodi und entsprechende Berechtigungen: Administratoren bearbeiten die Grundstruktur der Sites, während Designer, Entwickler und Redakteure unterschiedliche Freiheitsgrade besitzen, um bestimmte Teile der Site zu ändern oder zu ergänzen.
Sie können die Software unter http://www.typo3.org herunterladen. Es stehen verschiedene Pakete zur Auswahl: Wählen Sie beispielsweise das QuickStart package, um TYPO3 zusammen mit einer umfangreichen Tutorial-Site zu installieren – so lernen Sie interaktiv und in der Praxis den Umgang mit dem CMS. Das Testsite package enthält ebenfalls eine vorgefertigte Website, allerdings mit Features für Fortgeschrittene. Das Dummy package ist die richtige Wahl, wenn Sie mit einer echten Site loslegen möchten. Es enthält eine zum Bearbeiten vorkonfigurierte, aber völlig leere Website.
papaya CMS
Ein weiteres interessantes Open-Source-Content-Management-System ist papaya CMS (http://www.papaya-cms.com/). Es ist ebenfalls in PHP geschrieben und benötigt eine Datenbank (MySQL, PostgreSQL oder SQLite). Das Programm papaya verwendet für Seiten-Templates den W3C-Standard XSLT (siehe Kapitel 14, XML), sodass man zum Erstellen angepasster Seitentypen keine proprietäre Sprache erlernen muss wie etwa das in TYPO3 eingebaute TypoScript. Bezüglich seines Leistungsumfangs kann papaya es nicht ganz mit TYPO3 aufnehmen, aber inzwischen stehen doch zahlreiche Module zur Verfügung. Außerdem bekommen Sie eine neue Website aufgrund der geringeren Komplexität schneller an den Start. [Verzeihen Sie, wenn einige Bemerkungen zu papaya CMS hier etwas voreingenommen klingen. Ich arbeite hauptberuflich bei der papaya Software GmbH und habe an der neuen Version 5.0 mitgearbeitet. ]
Andere Open-Source-CMS sind zum Beispiel:
- Joomla! (PHP-basiert, http://www.joomla.org/)
- Drupal (PHP-basiert, http://drupal.org/)
- PostNuke (PHP-basiert, http://support.pn-cms.de/)
- Zope, ein auf Python basierender Web Application Server; Er enthält ein optionales CMS namens Plone (http://www.zope.de/).
17.3.2 Blogs und Wikis 

Der »kleine Bruder« eines CMS sind die weitverbreiteten Weblogs oder kurz Blogs. Es handelt sich um Internettagebücher, in denen der jeweils neueste Eintrag ganz oben auf der Startseite erscheint. Zudem lassen sich die Einträge auf beliebige Kategorien verteilen, sodass sie auf Wunsch entsprechend gefiltert dargestellt werden können. Viele Blogs besitzen auch kalendarische Archive und verschiedene Suchfunktionen.
Die einfachste Möglichkeit, ein Blog zu betreiben, ist der Beitritt zu einer freien oder kommerziellen Blogging-Community wie http://www.antville.org, http://blogg.de oder http://www.blogger.de. Dies hat zwei Vorteile: Der Server eines solchen Betreibers ist fertig zum Bloggen eingerichtet. Sobald Sie einen Account haben, können Sie loslegen. Außerdem generiert ein solches Blog-System automatisch sogenannte Newsfeeds, Zusammenfassungen der neuesten Schlagzeilen in XML-Formaten wie RSS oder Atom. Diese werden automatisch von Suchmaschinen und speziellen Blog-Sammlungen durchsucht. Falls Sie häufig interessante Inhalte veröffentlichen, könnte Ihr Blog durchaus populär werden. Inzwischen lesen (und zitieren) sogar Journalisten der Tagespresse manchmal Weblogs.
Blogging-Software
Viel flexibler ist natürlich der Betrieb von Blogging-Software auf dem eigenen Webserver beziehungsweise im eigenen Webspace. Es gibt unzählige Blogging-Systeme; sehr viele von ihnen sind Open Source. Wichtig ist, dass das von Ihnen gewählte System mit einer Datenbank und einer Programmiersprache zusammenarbeitet, die Ihr Webhoster unterstützt. Einige Beispiele seien hier genannt:
- Antville. Open Source, in Java geschrieben. Download unter http://www.antville.org.
- Slash. Die Engine, auf der Slashdot läuft – eine der bekanntesten IT-Communities und die »Mutter aller Weblogs«. Die Site und die Perl-basierte Software gibt es unter http://www.slashdot.org.
- MovableType basiert ebenfalls auf Perl. Ursprünglich eine kommerzielle, aber für private Anwender kostenlose Lösung; inzwischen ist das Kernsystem aber Open-Source-Software. Näheres unter http://www.movabletype.org.
- WordPress (http://wordpress-deutschland.org/) ist ein PHP-basiertes Open-Source-Blogging-System.
- Nucleus (http://www.nucleuscms.org) ist eigentlich ein ausgewachsenes CMS, aber für den Einsatz als Blogging-Software vorkonfiguriert. Es ist freie Software und wurde in PHP geschrieben.
Wikis
Ideal für die Zusammenarbeit vieler Autoren, die ihr Wissen zusammentragen möchten, sind Wikis. Diese Sites können sofort von jedem beliebigen Benutzer online bearbeitet werden. Das bekannteste Wiki ist die Online-Enzyklopädie Wikipedia. Sie finden ihre deutsche Sektion unter http://de.wikipedia.org.
Die Software der Wikipedia ist das auf PHP und MySQL basierende Open-Source-Tool MediaWiki. Sie können es unter http://www.mediawiki.org/ herunterladen und für eigene Wiki-Projekte einsetzen.




bestellen




