Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten
1 Serverseitige Webprogrammierung andre.maurer.name Dynamische Webseiten liefern im Gegensatz zu statischen Webseiten massgeschneiderte Dokumente für jede Anfrage und können externe Datenquellen miteinbeziehen 1. Webprogrammierung basiert auf dem Server-Client-Prinzip: Client Hardware: Ein Gerät im Netzwerk. Software: Ein Programm, das bestimmte Dienste vom Server nutzt (z.b. Browser). Server Hardware: Ein bestimmtes Gerät im Netzwerk. Software: Ein Programm, das bestimmte Dienste bereitstellt. Ein dedizierter Server hat in einem Netzwerk eine bestimmte Aufgabe (z.b. Netwerkserver, Dateiserver, Printserver, Applikationsserver, Webserver ). Hauptakteure: Apache (60.8% Marktanteil) Open Source frei erhältlich Schnell und robus Für Unix und Microsoft-Systeme Modulare Implementation (viele Zusatzmodule) Viele Möglichkeiten zur Konfiguration Grosser Entwickler-Community Kein GUI Microsoft IIS (28.7% Marktanteil) Kostenlos in verschiedenen MS-Produkten Konfiguration über ein GUI Starke Unterstützung von ASP und gute Integration von MS-Produkten Probleme mit der Stabilität und Sicherheit Zeus (2.2% Marktanteil) SunONE (1.4% Marktanteil) andere (6.9% Marktanteil) Client-Programme Browser dient als Interpreter Keine Benutzerinteraktion Entlastung des Servers Kompatibilität zu Browsern nicht gewährleistet Methoden: JavaScript, VBScript Server-Programme Skriptausführung auf dem Server Code bleibt dem Client verborgen Plattform- und Browserunabhängig Schutz des Source-Codes Hohe Serverbelastung bei vielen Zugriffen 1 Über ODBC (Open Database Connectivity): standardisierte Schnittstelle zwischen Anwendungen und Datenbanken. Übersetzt SQL-Befehle für das jeweilige DBMS. zf_aktuelle_themen_der_wi.doc Seite 2
Kriterium Tec Perl PHP ASP ColdFusion JSP Name Practical Extraction Report Language Personal Homepage Active Server Pages CFML = Cold Fusion Makrup Language Java Serverpages Entwickler Open Source Microsoft Macromedia Sun Art Skriptsprache Skriptsprache Laufzeitumgebung (verwendet aber Skriptsprachen) Markup Language Benötigt Compiler oder Interpreter Interpreter Interpreter Interpreter Interpreter Compiler Plattformlauffähigkeit 2 Windows Apache CGI 3 Linux/Unix Apache Apache- Modul od. SAPI 4 oder CGI Windows Apache CGI oder SAPI Linux Apache Apache- Modul Linux Apache CGI Allerdings auf Windows-Plattform optimiert. Linux Apache CGI Verwendet einen eigenen ColdFusion-Server oder WebSphere (IBM), Enhydra, Jakarta Apache/Tomcat Kommerziell / frei erhältlich Frei erhältlich Frei erhältlich Erwerb mit MS-Produkten Kommerziell Kommerziell Spezielle Designtechnik für Java Servlets Auf allen Plattformen mit virtueller JavaMachine. JSP wird von JM in ein Servlet umgewandelt welches abgearbeitet wird. Ähnliche Syntax wie C VB(Script), JavaScript oder Perl Zusätzliche Funktionen in Form von Pseudo-HTML-Befehlen Vorteile Kostenlos Für verschiedene Plattformen Code bleibt für Client verborgen Objektorientierte Programmierung ist möglich Erweiterbar mit C-Code Effizienter Interpreter schnell Viele fertige Skripte Nachteile Nicht explizit für Webanwendungen Oftmals umständliche und unübersichtliche Skripte erforderlich HTML-Code muss im Script generiert werden (Laie kann Kostenlos Für verschiedene Plattformen Code bleibt für Client verborgen Gut Strukturier- und Modulisierbar durch Einbindung von Dateien (über include und require) Einbettung in HTML möglich (durch <?php?>) CGI funktioniert auch bei PHP Eigens für Webentwicklung entwickelt Einfach zu erlernen Verfügt über grosse Community, umfangreiche Funktionsbilbiotheken Performance: da PHP für jeden Programmdurchlauf neu interpretiert werden muss Gute Integration in Microsoft- Produkte Einfache Webentwicklung durch Zusatzmodule HTML-Code kann in Skripts eingebunden werden Unterstützt verschiedene Syntaxen Leicht verständliche Syntax Für Windows-Plattform (IIS) optimiert Einfach erlern- und anwendbar Viel Funktionalität wird in den Applikations-Server ausgelagert (z.b. DBMS) Gute Integration von heterogenen Umgebungen Webbasierte Administration Gute Integration in die Produkte von Macromedia gute Entwicklungsumgebung Nicht frei erhältlich Teures Webhosting Java Serverseitiges Script mit Java- Affinität HTML Entwicklungsumgebung benutzbar Auch durch nicht Java- Programmierer benutzbar Modularität: Trennung der Datenverarbeitung gegenüber der Datendarstellung Wartung: Die Datenausgabe ändert im Vergleich zur Datenverarbeitung sehr viel häufiger lose Kopperlung Unterschiedliche unschöne Sprachkonstrukte (HTML / Java) Ohne saubere Strukturierung schnell unübersichtlich Nicht objektorientiert Notwendige Übersetzung beim 2 ISAPI = Internet Server Applications Programming: Schnittstelle zwischen Webserver und Interpreter (analog zu CGI aber bessere Performance da asp.dll nur einmal geladen werden muss, ISAPI verwendet den gleichen Speicherbereich wie der Webserver Schnittstelle kann den Server zum Absturz bringen), verwendet dynamsiche Objekt-Blibliothek 3 CGI = Common Gateway Interface: Schnittstelle zwischen Webserver und Interpreter. 4 SAPI = Server Applicvation Programming Interface: Schnittstelle zwischen Webserver und Interpreter bei Apache. Benötigt nur 1 Prozess. zf_aktuelle_themen_der_wi.doc Seite 1
keine Design-Änderungen machen) ersten Gebrauch Eventuell durch Webserver nicht unterstützt Mühsame Fehlersuche zf_aktuelle_themen_der_wi.doc Seite 2
zf_aktuelle_themen_der_wi.doc Seite 1