Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk von Günter Schoppe Inhalte 1. Einführung 2. Voraussetzungen für die Gestaltung dynamischer Webseiten 3. Datenbankanbindungen am Beispiel von MySQL 4. Beispiel eines Informationssystems mittels HTML, MySQL, PHP und Apache 5. Ein eigener Kommunikations- und Webserver 6. Wozu benötigt man Web Application Server? 7. Literatur Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) 1. Einführung Die Homepage der Johann-Heinrich-von-Thünen-Schule befindet sich in einem sehr guten Zustand und wird vom Webadmin ordentlich gepflegt. In Bezug auf die anstehenden Aufgaben, als Netzwerkknoten zu fungieren, müssen einige grundsätzliche Änderungen an der Organisation der Seiten vorgenommen werden. Der gesamte Internetauftritt ist statisch in HTML programmiert. Tageszeitlich aktuelle Inhalte sind nur sehr schwer einzustellen. Als fortschrittliche Lösung bieten sich hier dynamische Webseiten an. Dynamisch erzeugte Webseiten gehören heute zur Standardausstattung größerer Internetauftritte. Viele wählen eine Lösung mit in HTML eingebettetem Programmcode, oft PHP. 2. Voraussetzung für die Gestaltung dynamischer Webseiten HTML sollte man einigermaßen beherrschen, zum Nachlernen eignet sich SELFHTML1. Bei der Erstellung dynamischer Webseiten muss man bedenken, dass es Scriptsprachen gibt, die serverseitig oder clientseitig ausgeführt werden. Serverseitige Scriptsprachen erfordern keine weiteren Maßnahmen am Client. Dynamische Seiten werden auf dem Server montiert und der Inhalt als HTML an den Client gesendet. Die wohl wichtigste serverseitige Scriptsprache ist PHP2. Javascript 3 ermöglicht auch dynamische Seitengestaltung wird aber clientseitig ausgeführt und erfordert entsprechende Browser-Konfigurationen, auf die hier aber nicht eingegangen werden. Zur Erstellung dynamischer Webseiten mittels PHP, muss der Webserver „PHP“-fähig sein. Je nach Installation interpretiert diese PHPZusatzsoftware nur Dateien mit der Endung ".php", „php3“, php4“ oder 1 http://selfhtml.teamone.de/ http://www.php.net 3 http://wp.netscape.com/eng/mozilla/3.0/handbook/javascript/ 2 Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 2 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) aber auch Dateien mit der Endung ".html, .htm". PHP wird seit etwa 1994 entwickelt und erfreut sich stetig wachsender Beliebtheit. Ein besonderer Schwerpunkt liegt auf der Einbindung verschiedener Datenbanken. Die Sprache ist an C, Java und Perl angelehnt. PHP gibt dem WWW-Anwendungs-Entwickler einfach erlernbare und gleichzeitig mächtige Werkzeuge zur Erstellung von Web-Seiten dynamischen Inhalts an die Hand. PHP existiert sowohl für Linux/Unix als auch für die Windows{98/NT/XP}-Plattform, sehr beliebt ist die Integration von PHP als Modul in den Apache-Webserver4 des Weiteren ist die Ausführung via CGI möglich. PHP Befehle werden nach folgendem Schema in HTML eingebettet: Dazu gibt es 4 Möglichkeiten: <? ... ?> <?php ... ?> <script language="php"> ... </script> <% ... %> "..." steht für beliebige PHP Befehle. Eine sehr gute PHP Referenz findet man unter SELFPHP5 3. Datenbankanbindung am Beispiel von MySQL Eines der Haupteinsatzgebiete von PHP ist der Online-Zugriff auf Datenbanken. Was ist eine Datenbank? Vereinfacht gesagt: Eine Datenbank enthält Datensätze, die mit einer speziellen Sprache bearbeitet werden können. Zum Beispiel können bestimmte Datensätze ausgelesen werden, neue Datensätze hinzugefügt werden, Datensätze können aktualisiert oder gelöscht werden. 4 5 http://www.apache.org http://www.selfphp.com/ Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 3 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) Weit verbreitet sind sogenannte SQL-Datenbanken, d.h. Datenbanken, die mit der Sprache SQL (Abkürzung für Structured Query Language) bearbeitet werden können. PHP kann mit Datenbanken verschiedener Hersteller umgehen, besonders beliebt ist die Datenbank MySQL6. Vorteile von MySQL: relativ schnell und kostenlos 4. Beispiel eines Kommunikations- und Informationssystems mittels HTML, MySQL, PHP und Apache Seit 2000 betreibe ich einen Kommunikations- und Webserver an unserer Schule. Eine wichtige Anwendung auf diesem Server ist die interaktive Stundenplangestaltung und die Bereitstellung wichtiger Informationen für die Schüler, Lehrer und Betriebe. Bild 1: Startseite 6 http://www.mysql.com/ Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 4 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) Bild 2: Stundenplan Fachinformatiker Mittelstufe im Blockunterricht Bild 3: Aktuelle Informationen, können von jedem Netzwerkteilnehmer eingestellt werden Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 5 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) Bild 4: Eingabemaske für Neuigkeiten Bild 5: Termine, Auswahl Ausbildergespräche Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 6 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) 5. Ein eigener Kommunikations- und Webserver Bisher konnten Sie lesen, was alles für einen anspruchsvollen Webauftritt nötig ist. Der nächste Schritt ist der, einen geeigneten Provider zu finden, der dies alles ermöglicht. Zum Beispiel könnte das 1und1.com7 sein. Eine deutlich bessere Idee ist es, einen eigenen Server aufzusetzen. Dieser muss natürlich eine feste Verbindung zum Internet haben und in einer demilitarisierten Zone (DMZ) aufgestellt sein. Hat man keine feste IP-Adresse, so bieten sich zum Beispiel die Dienste von dyndns8 an. Bild 6: Linux Server Installation9 7 http://1und1.com/ http://www.dyndns.org/ 9 http://www.ers-hameln.de/gschoppe/Linux_Server/ 8 Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 7 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) 6. Wozu benötigt man Web Application Server? WWW-Applikationsserver beschleunigen die Entwicklung leistungsfähiger Web-Anwendungen und vereinfachen deren Betrieb. Aktuell, interaktiv und individuell sind die Anforderungen an den modernen Webauftritt. Web-Entwicklung ist Teamarbeit. Für eine saubere Aufteilung der Zuständigkeiten werden Inhalte, Layout und Funktionalität getrennt verwaltet. Die Redakteure haben keine Möglichkeit, das Layout nach eigenem Geschmack zu verändern. PHP bietet diese klare Trennung nicht, weil die Weblogik in die HTML-Seiten eingebettet wird. An dieser Stelle setzen Web-Applikationsserver an. Sie sitzen – auch als Middleware bezeichnet – in der Mitte zwischen der Anwendung, die einen Web-Dienst realisiert, und dem Webserver, der die Anfragen der Besucher entgegennimmt sowie der Datenbank, die die Komponenten der Website verwaltet. Der englische Name für diese 3-SchichtenArchitektur heißt „Three Tier-Architecture“. Clie nt Browser Webserver Applikationsserver Datenbank Inhalte Anwendung s-logik Weitere Inhalte Layout S e rve r Bild 7: 3-Schichten-Architektur Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 8 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) Ein freier Applikationsserver ist ZOPE10. Zope ist ein Framework für die Entwicklung von Web-Applikationen. Wenn Sie Zope herunterladen, erhalten Sie eine Menge Dinge: Zope besteht aus mehreren unterschiedlichen Komponenten, die zusammenarbeiten und Ihnen bei der Entwicklung von Web-Applikationen helfen. Dabei handelt es sich um folgende Bestandteile: • Webserver • Web Interface • Objektdatenbank • Relationale Integration • Scriptsprachenunterstützung Einige Java Web Applikationsserver sind zum Beispiel: • IBM Websphere11 • Enhydra 12 • JOnAS13 10 http://www.zope.org/ http://www-3.ibm.com/software/info1/websphere/ 12 http://www.enhydra.org/ 13 http://www.evidian.com/jonas/ 11 Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 9 Bildungsnetzwerke planen (IT-Unterstützung von Bildungsnetzwerke) 7. Literatur Jörg Krause: PHP 4 Grundlagen und Profiwissen – WebserverProgrammierung unter Windows und Linux. Hansa Verlag München (2000) Stefan Koch: JavaScript – Einführung, Programmierung und Referenz. Heidelberg, dpunkt Verlag (1999) Randy Jay Yarger, George Reese & Tim King: MySQL & mSQL. Köln, O’Reilly Verlag (1999) Hans Dicken, Gunther Hipper, Peter Müßig-Trapp: Datenbanken unter Linux. Bonn, MITP Verlag (2000) Michel Pelletier, Amos Latteier, ZOPE Developers Team: Das ZOPEBuch. München, Markt + Technik (2002) Jochen Lillich: Wozu Web Application Server, Schichtbetrieb. In: Linux Magazin 02/2001 Modul 2.4.1: ANUBA-Informationsmaterial (Autor: G. Schoppe) 25.09.02, Version 1.00 10