Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites


Diplomarbeit, 2004

375 Seiten, Note: 1


Leseprobe


FACHHOCHSCHULE KÖLN
University of Applied Sciences Cologne
F
AKULTÄT FÜR
W
IRTSCHAFTSWISSENSCHAFTEN
Faculty of Economics and Business Administration
Diplomarbeit
(Drei - Monats - Arbeit)
zur Erlangung
des Diplomgrades
Diplom-Kauffrau (FH)
im Studiengang Betriebswirtschaftslehre
der Fachhochschule Köln
,,Aufbau eines Anwendungssystems zur
Erstellung Dynamischer Websites"
vorgelegt am:
19. Februar 2004
von cand. rer. pol.:
Natalia Fahrenbruch

II
Danksagung
Diese Gelegenheit möchte ich wahrnehmen, um mich bei allen Personen zu
bedanken, die mich bei der Erstellung dieser Diplomarbeit unterstützt haben.
An erster Stelle danke ich meinen lieben Eltern, die mir während des gesamten
Studiums geholfen haben. Für ihr enormes Engagement möchte ich ihnen hiermit
ganz herzlich danken.
Ein großer Dank gilt meinen wissenschaftlichen Betreuern Herrn Prof. Dr. Otto K.
Amon und Herrn Prof. Dr.-Ing. Werner Müller, die mir mit konzeptionellen
Anregungen und fachlichen Ratschlägen jederzeit zur Seite standen.
Besonders möchte ich mich auch bei meinem Freund Nico Laudor bedanken, der
mich bei der Verwirklichung tatkräftig und moralisch unterstützt hat. Für seinen
unermüdlichen Einsatz gebührt ihm ein großes Dankeschön.
Natalia Fahrenbruch

III
Inhaltsverzeichnis
Danksagung ... II
Inhaltsverzeichnis ... III
Abkürzungsverzeichnis ...VIII
Abbildungsverzeichnis ...XIII
Tabellen- und Symbolenverzeichnis ...XVIII
1
Grundlagen ... 1
1.1
Problemstellung und Zielsetzung ... 1
1.2
Aufbau der Arbeit... 3
1.3 Begrifflichkeiten... 3
1.3.1
World Wide Web (WWW) ... 4
1.3.2 Website... 6
1.3.3
Dynamische vs. Statische Webseiten... 7
1.3.3.1 Statische
Webseiten... 7
1.3.3.2 Dynamische
Webseiten ... 8
1.3.3.3 Anwendungsbeispiele... 12
1.3.4 Software ... 14
1.3.4.1
Typologisierung von Software ... 17
1.3.4.2 Aufwendungen ... 23
1.3.4.3 Sicherheit... 24
1.3.5 Open-Source-Software... 26
1.3.5.1
Open Source - Lizenzmodelle ... 27
1.3.5.2
Stärken und Schwächen von Open-Source-Software... 30
1.3.5.3 Einsatzbereiche/Ausgewählte
Open-Source-Projekte... 33
1.3.6 Erstellung ... 36
2
Konfigurierung des Anwendungssystems ... 38
2.1
Betriebssystem (Windows und Linux) ... 39
2.1.1
Öffentlicher Server (Praxiseinsatz) ... 39
2.1.2 Testserver
(Erstellungsumgebung)... 40

IV
2.2 Webserver
(Apache)... 42
2.2.1
Entwicklung des Apache... 42
2.2.2 Lizenzbestimmungen ... 44
2.2.3
Funktionsweise des Apache ... 44
2.2.4
Leistungsmerkmale des Apache... 49
2.2.5
Stärken und Schwächen des Apache... 51
2.3 Webservererweiterung
(PHP) ... 54
2.3.1
Webseitenerzeugung mittels CGI-Skript und Servererweiterung... 54
2.3.2
Entwicklung von PHP ... 56
2.3.3 Lizenzbestimmungen ... 58
2.3.4
Funktionsweise von PHP ... 58
2.3.5
Leistungsmerkmale des PHP ... 61
2.3.6 Stärken
von
PHP ... 61
2.4 Datenbankserver
(MySQL) ... 64
2.4.1
Aufbau eines Datenbanksystems... 64
2.4.2 Relationales
Datenmodell ... 66
2.4.3
Entwicklung von MySQL ... 68
2.4.4 Lizenzbestimmungen ... 69
2.4.5
Funktionsweise von MySQL ... 70
2.4.6
Stärken und Schwächen von MySQL ... 72
2.4.7
Komponenten der MySQL-Distribution ... 75
2.4.8 Benutzeroberflächen
für
MySQL... 76
2.4.8.1 mysql
(MySQL-Monitor)... 76
2.4.8.2 WinMySQLadmin... 77
2.4.8.3
MySQL Control Center (MySQLCC)... 77
2.4.8.4 phpMyAdmin ... 78
2.5 Hilfsmittel
zur
Webseitenerstellung... 81
2.5.1 HTML-Editoren ... 81
2.5.1.1 WYSIWYG-Editoren ... 82
2.5.1.2 HTML-Texteditoren... 87
2.5.2 Web-Browser ... 90
2.5.3 Grafikprogramme... 92
2.5.4 Sonstige
Tools... 97

V
3
Architektur des Anwendungssystems... 98
3.1
Integration von OSS in das Betriebssystem Win2000 Pro... 100
3.2
Kompatibilität der OSS-Elemente... 100
4
Zusammenstellung des Anwendungssystems... 102
4.1 Systemvoraussetzungen ... 102
4.2
Implementierung des Apache Webservers ... 103
4.2.1 Vorbereitung ... 103
4.2.1.1
Voraussetzung für den Betrieb des Webservers... 103
4.2.1.2
Binäry vs. Sourcecode... 104
4.2.1.3
Beschaffung der Software ... 104
4.2.2 Installation
des
Apache ... 106
4.2.3 Funktionstest ... 112
4.2.4
Starten, Stoppen und Neustarten des Webservers... 115
4.2.5
Konfiguration des Servers... 118
4.2.5.1 Authentifizierung ... 134
4.2.5.2 Apache-Konfiguration
testen ... 136
4.3
Implementierung von PHP Modul ... 137
4.3.1
Beschaffung der Software ... 137
4.3.2 Installation
von
PHP ... 137
4.3.3 Funktionstest ... 140
4.3.4
Konfiguration von PHP... 142
4.4
Implementierung von MySQL-Datenbankserver... 149
4.4.1
Beschaffung der Software ... 149
4.4.2 Installation
von
MySQL... 150
4.4.3 Administration
mit
WinMySQLadmin ... 153
4.4.4
Starten und Stoppen des MySQL-Servers/ Einrichtung als Dienst 156
4.4.5 Funktionstest ... 159
4.4.6
Konfiguration des MySQL-Servers ... 160
4.4.7 Administration
mit
phpMyAdmin ... 162
4.4.7.1
Beschaffung der Software und Installation ... 162
4.4.7.2 Funktionstest ... 165
4.4.7.3
Konfiguration von phpMyAdmin... 166
4.4.7.4 Benutzerverwaltung ... 167

VI
5
Fallstudie ... 171
5.1 Struktur
der
Website... 172
5.2 Seitenlayout ... 173
5.2.1
Trennung von Layout und Inhalt... 173
5.2.2 Die
Hauptnavigation ... 181
5.3 Seiteninhalte ... 185
5.3.1
Formulare: Interaktivität der Website ... 185
5.3.1.1 Formularelemente... 186
5.3.1.2
HTML-Formulare erstellen/Formularelemente einfügen... 188
5.3.1.3
Parameterübergabe mit POST und GET ... 190
5.3.1.4
Formularauswertung mit PHP... 192
5.3.2 Sessionmanagement ... 199
5.3.2.1
Sessions mit URI... 199
5.3.2.2
Sessions mit versteckten Feldern ... 199
5.3.2.3
Nutzung von Cookies ... 200
5.3.2.4 Textdateien
und
Datenbanken... 200
5.3.3
Mailen mit PHP: Kontaktformulare ... 201
5.3.4
Arbeit mit Dateien: Besucherzähler ... 209
5.3.5
Cookies: Besucher wiedererkennen ... 213
5.3.5.1
Cookies setzen mit PHP ... 214
5.3.5.2 Persönliche
Begrüßung ... 215
5.3.5.3 Web-Umfrage... 217
5.3.6 Datenbankgestütztes
News-System ... 223
5.3.6.1
Datenbank und Tabelle anlegen ... 223
5.3.6.2
Speicherung von Binärdateien ... 225
5.3.6.3
Tabellendaten einfügen, anzeigen und ändern ... 226
5.3.6.4
Die ,,öffentliche" Newsseite... 228
5.3.6.5
Administration des News-Systems... 242
5.3.7
Weitere praktische Anwendungen ... 254
5.4 Sicherheitskopien
erstellen... 261
6
Nutzwertanalyse ... 263

VII
7
Literaturverzeichnis... 268
7.1 Fachbücher
und
Printmedien... 268
7.2 Elektronische
Medien... 271
Glossar ... 275
Inhaltsverzeichnis zum Anhang (auf der CD)
Anhang A: URI (Uniform Resource Identifier)
Anhang B: HTTP (Hypertext Transfer Protocol)
Anhang C: HTML (Hypertext Markup Language)
Anhang D: Statuscodes
Anhang E: Die ,,Open Source Definition"
Anhang F: Beispielkonfiguration httpd.conf
Anhang G: Beispielkonfiguration php.ini
Anhang H: PHP-Editoren
Anhang I: PHP-Profianwendungen
Anhang J: PHP-Funktionen
Anhang K: Grafik-Tools
Anhang L: E-Mail-Korrespondenz

VIII
Abkürzungsverzeichnis
Abb. ... Abbildung
abgk. ... abgekürzt
Abk. ... Abkürzung
allg. ... allgemein(e)
ANSI ... American National Standards Institut
API ... Application Programming Interface
APR ... Apache Portable Runtime
ASCII ... American Standard Code for Information Interchange
ASF ... Apache Software Foundation
ASP ... Active Server Pages
BS ... Betriebssystem
BSD ... Berkeley Software Distribution
BSI ... Bundesamt für Sicherheit in der Informationstechnik
bspw. ... beispielsweise
bzw. ... beziehungsweise
CD ... Compact Disc
CERN ... Conseil Européen pour la Recherche Nucléaire
CFML ... ColdFusion Murkup Language
CGI ... Common Gateway Interface
CPU ... Central Processing Unit
CSS ... Cascading Style Sheets
CVS ... Comma Separated Value
Daemon ... Disk and Execution Monitor
DB ... Database, Datenbank
DBMS ... Datenbankverwaltungssystem
d.h. ... das heißt
DHCP ... Dynamic Host Configuration Protocol
DHTML ... Dynamic HTML
DLL ... Dynamic Link Library
DNS ... Domain Name System

IX
DOS ... Disc Operating System
DSO ... Dynamic Shared Objects
dt. ... Deutsch(e)
DTD ... Document Type Definition
DWMX ... Dreamweaver MX
EDV ... Elektronische Datenverarbeitung
E-Mail ... Electronic Mail
ERP ... Enterprise Resource Planning
FAQ ... Frequently Asked Questions
FH ... Fachhochschule Köln
FSF ... Free Software Foundation
FTP ... File Transfer Protocol
f. ... für
engl. ... Englisch(e)
evtl. ... eventuell(e)
EULA ... End User License Agreement
f ... folgende [Seite]
ff ... fort folgende [Seiten]
FSF ... Free Software Foundation
FTP ... File Transfer Protocol
GB ... Giga Byte
GIF ... Graphics Interchange Format
GIMP ... GNU Image Manipulation Programm
GmbH ... Gesellschaft mit beschränkter Haftung
GNU ... GNU is not UNIX
GPL ... General Public License
ggf. ... gegebenfalls
GUI ... Graphical User Interface
htdocs ... hypertext documents
HTML ... Hypertext Markup Language
HTTP ... Hypertext Transfer Protocol
HTTPd ... Hypertext Transfer Protocol daemon
HTTPS ... Hypertext Transfer Protocol over SSL
IBM ... International Business Machines

X
i.d.R. ... in der Regel
i.e.S. ... im engeren Sinne
IETF ... Internet Engineering Task Force
i.H.v. ... in Höhe von
IIS ... Internet Information Server
Internet ... International Network
inkl. ... inklusive
IP ... Internet Protocol
IRC ... Internet Relay Chat
ISP ... Internet Service Provider
IT ... Information Technology
i.V.m. ... in Verbindung mit
i.w.S. ... im weiteren Sinne
JPEG ... Joint Photographic Experts Group
JSP ... Java Server Pages
Kap. ... Kapitel
KB ... Kilo Byte
LAMP ... Linux-Apache-MySQL-PHP (-Konfiguration)
LGPL ... Lesser General Public License
LZW-Verfahren ... Lempel-Ziv-Welch-Verfahren
Mac OS ... Macintosh Operating System
max. ... maximal
MB ... Mega Byte
MDI ... Multiple Document Interface
MHz ... Mega Herz
MIME ... Multipurpose Internet Mail Extensions
m. ... mit
MPM ... Multi Processing Modules
MS ... Microsoft
MSI ... Microsoft-Installer
mSQL ... Mini SQL
MXP ... Macromedia Extension Package
MySQLCC ... MySQL Control Center
NCSA ... National Center for Supercomputing Applications

XI
NIC ... Network Information Centers
NNTP ... Newsgroup Service Transfer Protocol
NPL ... Netscape Public License
NT ... New Technology
NWA ... Nutzwertanalyse
ODBC ... Open Database Connectivity
OS ... Operating System
OSS ... Open Source Software
o.V. ... ohne Verfasser
PC ... Personal Computer
RDBMS ... Relationales DBMS
RDF ... Resource Description Framework
Perl ... Practical Extraction and Report Language
PHP ... Personal Homepage bzw. PHP Hypertext Preprocessor
PHP/FI ... Personal Homepage/Form Interpreter
PNG ... Portable Network Graphics
POSIX ... Portable Operating System Interface for UniX
PWS ... Personal Web Server
RFC ... Requests for Comments
s. ... siehe!
s.a. ... siehe auch
SAPI ... Server Application Programming Interface
S. ... Seite
SGML ... Standard Generalized Markup Language
sog. ... sogenannte
SMTP ... Simple Mail Transfer Protocol
SQL ... Structured Query Language
SSI ... Server Side Includes
SSL ... Security Socket Layer
Stand n.f. ... Stand nicht feststellbar
Tab. ... Tabelle
TCO ... Total Cost of Operations
TCP ... Transmission Control Protocol
TCP/IP ... Transmission Control Protocol/Internet Protocol

XII
u. ... und
u.a. ... unter anderem(n)
u.ä. ... und ähnliche(s)
Übsg. ... Übersetzung
UNIX ... Uniplexed Information and Computing System
u./o. ... und/oder
URC ... Uniform Resource Characteristics
URI ... Iniform Ressource Identifier
URL ... Uniform Ressource Locator
URN ... Uniform Resource Name
US ... United States
usw. ... und so weiter
u.U. ... unter Umständen
VBScript ... Visual Basic Script
Vgl. ... Vergleiche!
Vgl.a. ... Vergleiche auch
vs. ... versus
W3C ... World Wide Web Consortium
WAMP ... Windows-Apache-MySQL-PHP (-Konfiguration)
WS ... Workstation
WWW ... World Wide Web
WYSIWYG ... What You See Is What You Get
XML ... eXtensible Markup Language
z.B. ... zum Beispiel
z.T. ... zum Teil
ZEND ... Zeev Suraski Andi Gutmann

XIII
Abbildungsverzeichnis
Abb. 1: Gliederungsschema für Begrifflichkeiten... 3
Abb. 2: Kommunikationsschema für statische Webseiten ... 7
Abb. 3: Kommunikationsschema für dynamische Webseiten ... 9
Abb. 4: Beispiel für eine statische Webseite ... 12
Abb. 5: Beispiel für eine Dynamische Website ... 13
Abb. 6: Klassifizierung von Software ... 15
Abb. 7: Beispiele für Anwendungssoftware ... 16
Abb. 8: Die aktuellen Software-Kategorien ... 17
Abb. 9: Die wesentlichen Kriterien der aktuellen Software-Kategorien... 22
Abb. 10: Lebenszyklus der Software ... 23
Abb. 11: Vor- und Nachteile von Open-Source-Software ... 32
Abb. 12: Erstellungsphasen ... 36
Abb. 13: Marktdurchdringung der Webserver (August 1995- Mai 2003) ... 43
Abb. 14: Das "Powered by Apache"-Logo ... 44
Abb. 15: Interaktion von APR und Betriebssystem aus Sicht eines Entwicklers . 46
Abb. 16: Funktionsweise des durch mpm_winnt implementierten
Laufzeitverhaltens ... 48
Abb. 17: Webseitenerzeugung mittels CGI-Skript ... 55
Abb. 18: Verbreitung von PHP ... 57
Abb. 19: Das offizielle "PHP"-Logo ... 58
Abb. 20: Entstehung einer dynamischen Webseite mit PHP... 60
Abb. 21: Aufbau eines Datenbanksystems ... 65
Abb. 22: Darstellung der Tabelle "autor" ... 66
Abb. 23: Beispiel eines Relationenmodells ... 67
Abb. 24: Das offizielle "MySQL"-Logo ... 68
Abb. 25: Datenbank-Client-Server-Architektur ... 71
Abb. 26: Multithreading ... 71
Abb. 27: Komponenten des Softwarepaketes MySQL ... 75
Abb. 28: Das offizielle "phpMyAdmin"-Logo ... 78
Abb. 29: phpMyAdmin-Startseite ... 79

XIV
Abb. 30: phpMyAdmin-Datenbankansicht... 80
Abb. 31: phpMyAdmin-Tabellenansicht ... 80
Abb. 32: Syntax-Highlightings für verschiedene Sprachen ... 89
Abb. 33: Das "Weaverslave"-Logo ... 89
Abb. 34: "The Gimp"-Logo... 93
Abb. 35: Architektur des Anwendungssystems... 99
Abb. 36: Marktdurchdringug des PHP Moduls ... 101
Abb. 37: Erfolgreicher Kontakt zu dem lokalen Rechner mit Ping-Befehl... 103
Abb. 38: Die Fehlermeldung des Windows-Installers... 105
Abb. 39: Start der Apache 2-Installation ... 106
Abb. 40: Grundlegende Servereinstellungen... 107
Abb. 41: Feature-Auswahl bei der benutzerdefinierten Installation... 108
Abb. 42: Änderung des Apache-Installationsverzeichnisses... 110
Abb. 43: Apache-Icon im System-Tray... 110
Abb. 44: Verzeichnisbaum der Apache-Installation ... 111
Abb. 45: Startseite nach erfolgreicher Apache-Installation... 113
Abb. 46: Die Einstellungen für den Einsatz des Internet Explorer 5.5 ... 113
Abb. 47: access.log ... 114
Abb. 48: Überprüfung der Log-Dateien ... 114
Abb. 49: Allgemeine Optionen der Dienst-Steuerung... 115
Abb. 50: So wird der Apache Monotor gestartet... 116
Abb. 51: Apache-Icon mit möglichen Aktionen zur Schnellsteuerung... 116
Abb. 52: Zentrale Steuerung des Apache-Monitors ... 117
Abb. 53: Der Apache Service Monitor ... 117
Abb. 54: Steuerung des Apache Servers über das Konsolenfenster... 118
Abb. 55: Laufzeitverhalten des Servers nach Einschalten der KeepAlive-
Funktionalität ... 124
Abb. 56: Dynamisches Verzeichnislisting bei fehlender Indexdatei... 130
Abb. 57: Fehlermeldung bei fehlender Indexes-Angabe... 131
Abb. 58: Eingabemaske zum Einloggen im Administrationsbereich... 135
Abb. 59: Eintrag im Startmenü zum Testen der httpd.conf... 136
Abb. 60: Überprüfung der Syntax ... 136
Abb. 61: Basisverzeichnis der PHP-Installation... 138

XV
Abb. 62: Ausgabe des "phptest"-Skripts im Browserfenster nach erfolgreicher
Installation ... 140
Abb. 63: phpinfo()-Statusbericht ... 141
Abb. 64: Start der MySQL-Installation ... 150
Abb. 65: Hinweis bei Änderung des Installationsverzeichnisses ... 151
Abb. 66: Auswahl der Komponenten bei der benutzerdefinierten Installation ... 151
Abb. 67: Verzeichnisstruktur der MySQL-Installation ... 152
Abb. 68: Eingabemaske beim ersten Start von WinMySQLadmin... 153
Abb. 69: WinMySQLadmin als Ampel-Icon im System-Tray... 153
Abb. 70: Benutzeroberfläche von WinMySQLadmin ... 154
Abb. 71: WIN NT-Menüeinträge im WinMySQLadmin-Icon... 155
Abb. 72: So wird WinMySQLadmin gestartet ... 155
Abb. 73: Sicherheitsabfrage zum Herunterfahren des MySQL-Servers ... 156
Abb. 74: MySQL-Service starten/MySQL-Server als Dienst einrichten ... 156
Abb. 75: MySQL als Windows-Dienst (de)installieren, starten und stoppen ... 157
Abb. 76: Steuerung des MySQL-Dienstes über Windows-Dienst-Manager... 158
Abb. 77: MySQL-Server als Standalone-Programm starten ... 158
Abb. 78: Test der MySQL-Installation... 159
Abb. 79: my.ini-Datei in WinMySQLadmin editieren... 160
Abb. 80: Ein Ausschnitt aus der Datei config.inc.php ... 163
Abb. 81: Die Startseite von phpMyAdmin nach erfolgreicher Installation... 165
Abb. 82: Anonymen Benutzer entfernen ... 168
Abb. 83: Neuen Benutzer in MySQL anlegen... 169
Abb. 84: Der neue Benutzer mit eingeschränkten Rechten in der Tabelle "user"170
Abb. 85: Die Ordnerstruktur der Website kinder Überraschung Eis... 172
Abb. 86: Das Rohlayout in der Entwurfsansicht von Macromedia DWMX... 174
Abb. 87: Eine einfache Tabelle mit zwei Zeilen und vier Zellen (Spalten) ... 175
Abb. 88: Ein Ausschnitt des zerlegten Layouts in der Code- u. Entwurfsansicht175
Abb. 89: Das Layout in zerlegter Form ... 177
Abb. 90: Zwischenstand: Layoutvorlage mit korrigierten Links in header.inc... 180
Abb. 91: Die Hauptnavigation in der Datei footer.inc im Quelltext ... 181
Abb. 92: Ein Rollover-Bild mittels DWMX erzeugen ... 182
Abb. 93: Die Menüleiste Ü-Eis ist aktiviert ... 184
Abb. 94: Die Registerkarte "Formulare" ... 186

XVI
Abb. 95: Der Eigenschaften-Inspektor in der Ansicht "Formulare"... 188
Abb. 96: Das Demonstrationsformular m. den wichtigsten Formularelementen 189
Abb. 97: Parameterübergabe mit GET ... 190
Abb. 98: Fehlermeldung bei Reload einer durch POST übergebenen Seite... 191
Abb. 99: Auswertung der Eingaben des Demonstrationsformulars ... 192
Abb. 100: Das Kontakt-Formular ... 202
Abb. 101: Rückmeldung bei freigelassenen Eingabefeldern... 204
Abb. 102: Ein unvollständig ausgefüllter Formular ... 204
Abb. 103: Sendebestätigung mit einem Dankeswort... 208
Abb. 104: Die automatisch generierte E-Mail aus dem Kontakt-Formular in
Outlook Express ... 208
Abb. 105: Der grafische Counter... 213
Abb. 106: Die "Willkommen"-Seite mit dem Formular zur Abfrage des
Benutzernamens... 215
Abb. 107: Persönliche Begrüßung mit Cookie realisiert ... 216
Abb. 108: Das Umfrage-Formular: Verhindern von Mehrfachabstimmung ... 217
Abb. 109: Umfrageergebnisse: Grafische Auswertung ... 220
Abb. 110: Ein Popup-Fenster mit den Umfrageergebnissen ... 222
Abb. 111: Neue Datenbank anlegen ... 223
Abb. 112: Neue Tabelle anlegen ... 223
Abb. 113: Die Definition der Tabellenfelder inkl. der Zuordnungswerte ... 224
Abb. 114: Einen Datensatz mit phpMyAdmin einfügen ... 226
Abb. 115: Aktuelle Zeitangaben mit der SQL-Funktion now() ermitteln ... 226
Abb. 116: Die news-Tabelle mit Beispieldatensätzen in der Datenansicht... 227
Abb. 117: Die News-Seite mit einem datenbankgestützten News-System ... 230
Abb. 118: Eine Meldung m. "langem" Text u. dem Verweis auf die Detailseite 233
Abb. 119: Newsseite m. der Möglichkeit, ZURÜCK und WEITER zu blättern. 236
Abb. 120: Ein HTML-Dokument (m. mehreren Grafiken) dynamisch anzeigen 238
Abb. 121: Grafikdateien dynamisch anzeigen... 239
Abb. 122: Sprungmenü zum Navigieren zwischen übrigen Detailseiten ... 240
Abb. 123: Die Begrüßungsseite im Administrationsbereich ... 242
Abb. 124: Schematische Darstellung der Abläufe im Administrationsbereich des
News-Systems ... 243
Abb. 125: Das Skript news_list.php in Aktion ... 244

XVII
Abb. 126: Das Formular zum Aufnehmen neuer Meldungen ... 245
Abb. 127: Das Formular zum Bearbeiten vorhandener Meldungen... 250
Abb. 128: Die Startseite der Rubrik "POESIEALBUM" ... 254
Abb. 129: Formular zum Eintrag ins Gästebuch ... 255
Abb. 130: Ein Popup-Fenster mit der Anleitung zum Dateiupload ... 255
Abb. 131: Gästebuch-Einträge, mit der Möglichkeit, ZURÜCK und WEITER zu
blättern ... 256
Abb. 132: Rückmeldung auf die fehlenden Formular-Eingaben... 257
Abb. 133: Die automatisch generierte E-Mail in Outlook Express ... 257
Abb. 134: Das Gewinnspiel-Formular... 258
Abb. 135: Die automatisch generierte E-Mail aus dem Gewinnspiel-Formular in
Outlook Express ... 259
Abb. 136: Farbwahl individuell: Der Besucher wählt seine Farbe selbst! ... 260
Abb. 137: Administration des Gästebuchs ... 260
Abb. 138: Eine Sicherheitskopie der Datenbank "eis" erstellen... 262

XVIII
Tabellen- und Symbolenverzeichnis
Tab. 1: Übersicht der verschiedenen Lizenzmodelle ... 27
Tab. 2: Lizenzgebühren für MySQL-Server... 70
Tab. 3: WYSIWYG-Editoren im Überblick... 84
Tab. 4: Übersicht der gängigsten Webbrowser... 92
Tab. 5: Aktuelle Preise der proprietären Bildbearbeitungsprogramme ... 93
Tab. 6: Marktdurchdringung der Apache-Module ... 100
Tab. 7: Beschreibung der Apache-Distribution ... 112
Tab. 8: "Globale Umgebung" ... 126
Tab. 9: "Hauptserver-Konfiguration" ... 133
Tab. 10: Allgemeine Parameter der php.ini... 146
Tab. 11: Modulspezifische Parameter der php.ini ... 148
Tab. 12: Die wichtigsten ausführbaren Programme in MySQL ... 152
Tab. 13: Die wichtigsten Einstellungen der my.ini ... 161
Tab. 14: Die wichtigsten Einstellungen der Datei config.inc.php... 166
Tab. 15: Zugriffsrechte des Benutzers von MySQL ... 170
Tab. 16: Beschreibung der Formularelemente ... 187
Tab. 17: Nutzwertanalyse ... 267
© ... Copyright(-Vermerk)
... ,,siehe", Verweis auf einen anderen Eintrag oder Glossar

1
1 Grundlagen
1.1 Problemstellung und Zielsetzung
Die Erstellung, Einrichtung, und Betreuung von Websites war in der Vergangen-
heit nur mit Spezialwissen zu bewältigen und dementsprechend teuer auf dem
Markt zu haben. Zum einen wurden hohe Beträge für den Kauf spezieller
Software aufgewendet und zum anderen mussten Spezialisten engagiert werden,
die die Installation, Administration und Pflege übernahmen. Diesen Aufwand
konnten und wollten sich viele Betreiber von Websites nicht leisten. Zudem waren
die Unternehmen bei der Gestaltung und Aktualisierung der Webinhalte von
Fachkräften in der Weise abhängig, dass sie auf die Verfügbarkeit dieser
angewiesen waren.
In der jüngeren Vergangenheit sind mit dem Aufkommen der Open Source-
Gemeinde die notwendigen Softwareprodukte (von denen einige im Verlauf
dieser Diplomarbeit vorgestellt werden) zu günstigen Preisen, wenn nicht sogar
umsonst (inklusive ausführlicher Installations- und Softwareanleitungen) im
Internet zu beziehen. Außerdem finden sich dort die Grundzüge der Open Source-
Bestimmungen (Lizenzen), auf dessen Grundlage diese Programme entwickelt,
vertrieben und genutzt werden können.
Des Weiteren gibt es zahlreiche Literatur zu dem Themengebiet ,,Open Source
Software" (deren hochrangigsten Vertreter sind: Linux, Apache, PHP, MySQL)
wie das Literaturverzeichnis am Ende dieser Diplomarbeit dokumentiert.
Nicht zuletzt hat das Internet (mit seinen Diensten: www, ftp, mailto, usenet
news) dafür gesorgt, dass aus Ideen und anfänglichen Programmcodes ausge-
wachsene und meist ,,brauchbare" Software entstanden ist. Eine Folge war, dass
sich kommerzielle Anbieter mit einer neuen Preispolitik im Markt positionieren
mussten. Zusätzlich ermöglicht sie jedem, der Interesse an der Erstellung von
Websites hat, dies kostengünstig (abgesehen von dem Downloadaufwand der
Software, die meist mehrere MB groß ist) mit ,,fast" professionellen Hilfsmitteln
zu erstellen.

2
Mit der Entwicklung neuer Technologien zur einfachen Gestaltung und Anbin-
dung an Datenbanken von Websites ist es mehr und mehr möglich die Wartung
des Webauftritts in die eigenen Hände zu nehmen. Die Bestrebung von Website-
Betreibern, dynamische Inhalte anzubieten, scheitert oft an dem damit verbun-
denen Aufwand. Die Verwendung von Open Source Software bietet jedoch ein
angemessenes Preis-Leistungsverhältnis. ,,Eines der signifikanten Vorteile bei der
Nutzung von Open Source Software ist das Fehlen jeglicher Anschaffungskosten.
Insbesondere der Mittelstand, der durchschnittlich 20 bis 80 EDV-Arbeitsplätze
samt der notwendigen Infrastruktur unterhalten muss, profitiert von der lizenz-
kostenfreien Alternative. Je EDV-Arbeitsplatz können jährlich im Durchschnitt
1.000 bis 2.500 Euro alleine an Update- und Lizenzgebühren gespart werden.
Durch die Einführung von Open Source Software lassen sich weiterhin die Kosten
für Anschaffungen und Inbetriebnahme um mehr als 50% verringern."
1
Die Erstellung einer Webpräsenz kann in vielen Fällen direkt im Anschluss an die
Registrierung der gewünschten Internetadresse erfolgen. Vor der Veröffentlichung
sollte jedoch das mit den Open Source Software-Elementen (Apache, PHP und
MySQL) zusammengestellte System auf einer internen Anwendungsumgebung
getestet werden.
Die Internet Service Provider haben sich auf die entsprechenden Technologien
eingestellt und bieten verschiedene Konfigurationsmöglichkeiten an. Unter ande-
rem kann darunter auch die Verwendung von PHP-Skripten auf den Webservern
der Internet Service Provider erlaubt sein.
Ziel dieser Diplomarbeit ist es, den Aufbau eines Anwendungssystems zu be-
schreiben, dass die Erstellung von dynamischen Websites unterstützt. Dabei wird
darauf geachtet, dass es sich ausschließlich um Open Source Software-Elemente
handelt, die frei im Internet zugänglich und kostenlos erhältlich sind.
1
http://www.riccaut.de/produkte/oss, 26.06.2003

3
1.2 Aufbau der Arbeit
Zu Beginn der Arbeit werden die Problemstellung und die Zielsetzung definiert
sowie relevante Begrifflichkeiten erläutert.
Daraufhin folgt eine Vorstellung der in dieser Arbeit verwendeten Open-Source-
Software. Außerdem werden im zweiten Kapitel Hilfsmittel zur Webseiten-
erstellung beschrieben.
Das dritte Kapitel beschäftigt sich mit der Darstellung der Beziehungen unter den
Open-Source-Software-Elementen.
Im vierten Kapitel wird auf die Implementierung der Software und insbesondere
auf die Installation und Konfiguration der Programme eingegangen.
Im fünften Kapitel wird die Funktionalität des Anwendungssystems im Rahmen
einer Fallstudie für ein fiktives ,,kinder Überraschung Eis" getestet.
Das sechste Kapitel beinhaltet die abschließende Bewertung des Systems und die
Darstellung der Ergebnisse in einer Nutzwertanalyse.
1.3 Begrifflichkeiten
Die Begriffe werden nach folgendem Schema in den Untergliederungspunkten
definiert (s. Abb. 1):
Abb. 1: Gliederungsschema für Begrifflichkeiten

4
1.3.1 World Wide Web (WWW)
Im allgemeinen Sprachgebrauch werden die Begriffe WWW und Internet fälsch-
licherweise synonym verwendet. ,,Als Internet wird die Einheit aller Personen,
Firmen, Organisationen verstanden, die sich unter Einhaltung bestimmter Stan-
dards und Normen zusammenschließen. Das können auf der einen Seite Informa-
tionsanbieter (die Server) sein, auf der anderen Seite gehören auch alle Informa-
tionsnutzer (die Surfer [bzw. Clients]) dazu."
2
Das Internet trägt den Beinahmen
,,Netz der Netze", ,,das weltweit andere Netze verbindet und mittels verschiedener
Protokolle eine Reihe von Anwendungsdiensten, vor allem das
World Wide Web
[...], zur Verfügung stellt."
3
Die anwendungsnahen Dienste im Internet basieren auf standardisierten Proto-
kollen, die zwischen Client und Server verwendet werden. Im Wesentlichen
handelt es sich dabei um
x
World Wide Web: Hypertext Transfer Protocol (
HTTP, S. 283),
x
File Transfer: File Transfer Protocol (
FTP, S. 282),
x
E-Mail: Simple Mail Transfer Protocol (
SMTP, S. 288),
x
Usenet News: Network News Transfer Protocol (NNTP) und
x
Terminal Emulation: Telnet Protocol (Telnet).
Das Standardisierungsgremium IETF (Internet Engineering Task Force) steuert
und überwacht die Weiterentwicklung der im Internet verwendeten Protokolle.
Entwurf und Veröffentlichung der Standards erfolgt in Form von RFC
4
im
Internet.
Viele der Kernprotokolle sind seit der Frühzeit des Internets weitgehend unver-
ändert im Einsatz (z.B. Telnet seit 1972, FTP seit 1973, SMTP seit 1982). Die
Aufmerksamkeit, die das Internet in den letzten Jahren in der Öffentlichkeit und
in der Wirtschaft erfahren hat, ist in erster Linie auf das World Wide Web
zurückzuführen.
5
2
Krause, J.: PHP 4, 2003, S. 41
3
Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 89
4
Die Abk. RFC steht für Requests for Comments und bezeichnet Dokumente, die Vorschläge
für Standards, Technologien oder Vorgehensweisen innerhalb des Internets enthalten.
5
Vgl. Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 113

5
Der Begriff World Wide Web (auch als WWW, W3 oder kurz Web bezeichnet)
wurde 1989 von Tim Berners-Lee geprägt. Das ursprüngliche Ziel war die Ver-
knüpfung der auf verschiedenen Computersystemen vorhandenen Informationen
6
(vor allem wissenschaftliche Texte) zu einem großen Informationssystem. Da-
durch sollten die Informationsflüsse zwischen den Mitarbeitern verbessert und
beschleunigt werden. Berners Lee entwickelte und kombinierte als Basis des Web
drei einfache Protokolle/Spezifikationen
7
:
x
Für die Adressierung einer Ressource
8
: URI (Uniform Resource Identifier)
x
Für die Übertragung einer Ressource: HTTP (Hypertext Transfer Protocol)
x
Für die Darstellung einer Ressource: HTML (Hypertext Markup Language)
Die erste Version der Web-Spezifikation wurde 1991 vom CERN (Abk. für:
Conseil Européen pour la Recherche Nucléaire, europäisches Forschungszentrum
für Teilchenphysik,
http://www.cern.ch
) freigegeben.
9
Die Weiterentwicklung und Standardisierung des Web wird vom
World Wide Web
Consortium (
W3C,
http://www.w3.org, S.
290) koordiniert. Dieses unabhängige
Gremium wird von Industrie und Wissenschaft getragen und von vielen Staaten
unterstützt.
10
Das zentrale Element des Web ist das multimediale Dokument (
Webseite, S. 6),
das verschiedene Medien wie Texte, Bilder, Audio- und Videodaten integriert und
mit weiteren Dokumenten auch anderer Rechner im Internet über Querverweise
(
Links) verknüpft (Hypertext-Prinzip). Die Eingangsseite zu einem mehrere Seiten
umfassenden Informationsangebot wird als
Homepage bezeichnet.
Das Web basiert auf dem
Client-Server-Modell. Die grafische Aufbereitung von
Webseiten erfolgt auf der Client-Seite vorwiegend in sog.
Webbrowsern (S. 90),
die das Blättern und Navigieren durch verknüpfte Dokumente ermöglichen.
6
Information, S. 283. Umfassende Hinweise zu Grundbegriffen gibt die Norm DIN 44300
(
Grundbegriffe der Informationsverarbeitung)
7
Vgl. TEIA: Apache, 2001, Abschnitt 1.1, http://www.teia.de, 24.05.2003
8
Ressource, S. 287
9
Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 1192
10
Vgl. Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 113

6
Eine Webseite wird auf Anfrage des Webbrowsers von einem
Webserver geliefert.
Die Kommunikation zwischen Webbrowser und Webserver wird durch das
HTTP
geregelt. (Weitere Informationen zu HTTP: siehe Anhang B).
Jede Webseite und jede andere Ressource wird über eine eindeutige Adresse in
Form der
URL definiert, bspw.
http://www.wi.fh-koeln.de/bwl/orga/
(Weitere Informationen zu URL: siehe Anhang A).
Die Seitenbeschreibungssprache
HTML ist der Standard für die Darstellung der
Informationen einer Webseite. Mit Hilfe vordefinierter Markierungen (Tags)
können die Inhalte einer Webseite (Texte, Bilder usw.) angeordnet und formatiert
werden. (Weitere Informationen zu HTML: siehe Anhang C).
1.3.2 Website
Unter einer Website (auch Webpräsenz, -auftritt oder einfach Site genannt) wird
ein virtueller Ort im Web verstanden, an dem ein oder mehrere zusammen-
gehörige HTML-Dokumente, sog. (Web-)Seiten zu finden sind, die durch eine
einheitliche Navigation zusammengefasst und durch Hyperlinks miteinander
vernetzt werden. Diesem Ort wird durch die URL eine eindeutige Adresse im
Netz zugewiesen, die ihn von allen anderen Sites unterscheidbar macht und den
gezielten Zugriff erlaubt.
11
Außer der URL-Adresse sind keine weiteren Infor-
mationen notwendig, um auf die damit bezeichnete Ressource im Netz zugreifen
zu können.
12
Die Homepage
13
(die ,,Startseite" eines Webauftritts) dient als Eingangsseite in
ein solches Netz. Sie stellt die gesamte Website in einen thematischen Kontext
und ermöglicht die Navigation durch dessen Teilinhalte. Von ihr aus wird der
Besucher durch die Website interaktiv geführt. Dadurch wird die Homepage zum
zentralen Orientierungspunkt einer Website und trägt wesentlich dazu bei, diese
als eigenständige Einheit im Web zu identifizieren.
11
Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Web-Site.html, 11.04.2003
12
Vgl. TEIA: Apache, 2001, Abschnitt 1.4.2, http://www.teia.de, 24.05.2003
13
Wird im allgemeinen Sprachgebrauch fälschlicherweise oft synonym mit Website verwendet.

7
1.3.3 Dynamische vs. Statische Webseiten
1.3.3.1 Statische Webseiten
Am einfachsten werden Informationen im Web in Form von statischen Webseiten
zur Verfügung gestellt. Ihr Zweck ist die Darstellung von Informationen auf der
Basis eines Hypertextsystems: Die in statischen Webseiten enthaltenen Informa-
tionen werden mittels HTML-Tags formatiert und als fertige Datei auf der
Festplatte des Servers abgelegt. Wird die zu dieser Datei passende URL aufgeru-
fen, liest der Webserver die zugehörige Datei von seiner Festplatte und stellt sie
dem Webbrowser ohne Änderungen zur Verfügung (s. Abb. 2).
Abb. 2: Kommunikationsschema für statische Webseiten
14
Statische Webseiten werden per Hand erstellt, gespeichert und sind damit fest-
gelegt. Die Informationen, die dem Besucher bei statischen Webseiten übermittelt
werden, sind fest in den HTML-Dateien verankert. ,,Eine Trennung von Format
und Inhalt ist nicht vorgesehen. Wie bei einem gedruckten Buch wird die Seite
immer so angezeigt, wie sie erstellt wurde. Vorteil gegenüber einem Buch sind die
Verweise auf verwandte Artikel durch Hyperlinks."
15
Nachteil der statischen
Webseiten ist, dass jede Änderung des dargestellten Inhalts manuell bzw. über
entsprechende Tools in eine HTML-Seite eingefügt werden muss, was bei häufi-
gen Änderungen mit einem hohen Aufwand verbunden ist.
14
Vgl. Saamer, S.: Portale, 2000, S. 21
15
Saamer, S.: Portale, 2000, S. 21

8
Für kleinere Websites mit einer überschaubaren Zahl an HTML-Dokumenten und
seltener Aktualisierung ist das statische Verfahren ausreichend. Sobald die Zahl
der Seiten wächst und die Site möglichst täglich aktualisiert werden soll, sind
andere Techniken notwendig, Dynamische Verfahren, bei denen der Inhalt der
Webseite, nicht die Webseite selbst ausgetauscht wird.
1.3.3.2 Dynamische Webseiten
Im Unterschied zu statischen Webseiten, die in unveränderter, für alle Benutzer
gleicher Form zum Abruf bereitstehen, werden dynamische Webseiten erst dann
erzeugt, wenn der Benutzer sie anfordert. Mit dynamisch sind die Inhalte der
Webseite gemeint, die sich nach aktuellen Erfordernissen (wie Benutzereingaben)
ändern. Diese Inhalte können aus verschiedenen externen Informationsquellen
(z.B. Datenbanken) stammen. ,,Der Begriff Dynamische Webseiten bezeichnet
nicht Webseiten mit Multimedia-Effekten, sondern solche Seiten, die ­ im Gegen-
satz zu statischen Webseiten ­ erst auf Anfrage eines Besuchers hin, quasi ,zur
Laufzeit`, aus einem Datenpool erstellt werden. Der Server bezieht Inhalte dyna-
mischer Seiten (die sogenannte ,dynamische Inhalte` oder ,Dynamic Content`) aus
einer Datenquelle wie bspw. eine MySQL-Datenbank oder eine XML
[
]
16
-Datei."
17
Im Gegensatz zu statischen Webseiten enthalten dynamische Webseiten neben
dem HTML-Code weitere Programmieranweisungen, die auf dem Webserver
ausgeführt werden und die zurückgesendete HTML-Seite erst generieren. Die
Webseite kann so individuell und zeitnah auf unterschiedliche Ereignisse, bspw.
Formulareingaben, reagieren (s. Abb. 3).
16
XML steht für eXtensible Markup Language.
17
Martins, F. P. u.a.: Dynamic Content in: Internet Intern: PC Praxis-Intern, 2/03 Mai-Juli, S. 50

9
Abb. 3: Kommunikationsschema für dynamische Webseiten
18
Dynamische Webseiten müssen nicht zwangsläufig von einer Datenbank unter-
stützt werden.
19
Kontaktformulare, Counter und einfache Gästebücher lassen sich
bspw. ohne Datenbank erstellen. Dagegen benötigen z.B. Adressbücher, News-
und Katalogsysteme i.d.R. eine Datenbank. ,,Heute [erlangt] die Integration von
Informationssystemen in Webprojekte und der Zugriff auf Informationsressourcen
in einer verteilten Umgebung eine wachsende Bedeutung. Umfragen in Webagen-
turen zeigen, dass heute mehr als 80 % aller Webapplikationen direkt oder
indirekt mit der Webanbindung von Datenbanksystemen zu tun haben."
20
,,Allen
Systemen ist gemeinsam, dass Webinhalte nicht mehr statisch, sondern dynamisch
erzeugt werden. Zur Verwaltung der Webinhalte werden in der Regel Daten-
banken benutzt. Besonders viele Systeme setzen dabei auf kostengünstige Open-
Source-Komponenten wie das Datenbanksystem MySQL, den Webserver Apache
und die Scriptsprache für serverbasierte Anwendungen PHP."
21
18
Vgl. Saamer, S.: Portale, 2000, S. 23
19
Vgl. Krause, J.: PHP 4, 2003, S. 34
20
Däßler, R.: MySQL, 2003, S. 35
21
Siehe FN 20

10
Vorteile dynamischer Websites
Zusammenfassend lassen sich die folgenden Vorteile dynamischer Websites
nennen
22
:
x
Trennung von Layout und Inhalt
Da dynamische Webseiten aus
verschiedenen Informationsquellen erzeugt
werden, ist eine Trennung von Layout (design) und dem Inhalt dynamischer
Webseiten (dynamic content) möglich. (Die ,,Rohinformationen" sind meist
strukturiert in Form von Datenbanken hinterlegt und werden z.B. mit HTML-
Templates
23
kombiniert, um im Webbrowser darstellbare Seiten zu erhalten.)
Der Pflegeaufwand statischer Webseiten ist hoch, z.B. wenn eine Site-weite
Layoutänderung durchgeführt werden soll. Bei dynamischen Sites werden in
diesem Fall nur HTML-Templates oder eine allgemeine Layout-Vorschrift
(Document Type Definition, DTD
24
) geändert, und alle hiernach erzeugten
Seiten verwenden diese Änderung automatisch wieder.
x
Zeitnahe Erstellung der dargestellten Informationen (Aktualität)
Weil die Seiten dynamischer Websites in kurzen Abständen oder zeitnah, d.h.
,,im Augenblick des Abrufes"
25
erzeugt werden, stellen Sie den
aktuellen
Informationsstand dar.
x
Interaktivität
Die zeitnahe Erzeugung der Seiten ermöglicht es, auf Nutzereingaben
reagieren zu können. Dies ist für den Erfolg einer Website entscheidend, denn
,,dynamisch erstellte Webseiten machen erst Sinn, wenn der Nutzer damit
interagieren kann."
26
22
Vgl. Lillich, J.: Dynamische Websites, http://www.unix-ag.uni-kl.de/..., 11.04.2003
23
Templates, S. 289
(Weitere Informationen zur Arbeit mit Templates: McCarty B.: PHP 4, 2002, S. 427ff)
24
Definitionsdatei (
.css
-Datei, Cascading Style Sheets).
25
Krause, J.: PHP 4, 2003, S. 33
26
Krause, J.: PHP 4, 2003, S. 333

11
Client- und serverseitige Verarbeitung dynamischer Websites
Das Standardformat des Web ist HTML. Diese Seitenbeschreibungssprache wur-
de für die Präsentation von statischen Inhalten konzipiert. Die ursprünglich einzi-
gen dynamischen Elemente waren Hyperlinks, mit denen sich andere statische
Seiten und Grafiken aufrufen ließen. HTML ist nicht in der Lage, dynamische
Inhalte (also Inhalte, die von Aktionen des Nutzers abhängig sind) anzuzeigen und
zu verarbeiten. Um dieser Beschränkung abzuhelfen, sind Erweiterungen ent-
wickelt worden, mit denen sich HTML-Seiten um interaktive Funktionen ergän-
zen lassen. ,,Alle HTML-Erweiterungen sind dazu gedacht, Daten und Benut-
zereingaben zu verarbeiten."
27
Da eine Web-Anwendung eine Client/Server-Anwendung ist, lassen sich die
aktuellen Technologien nach dem Ort der Verarbeitung unterscheiden:
x
Die Verarbeitung erfolgt auf dem Client, also im Webbrowser des Nutzers.
JavaScript und VBScript funktionieren nach diesem Prinzip.
x
Die Verarbeitung erfolgt auf dem Server. Dieses Verfahren wird u.a. von CGI
(Common Gateway Interface, bspw. Perl), JSP (Java Server Pages), ASP
(Active Server Pages) und PHP (PHP Hypertext Preprocessor) verwendet.
Diese Unterscheidung hat Konsequenzen: Die Verarbeitung auf dem Client setzt
voraus, dass alle Ressourcen auf dem Client verfügbar sind. Da client-basierte
Skriptsprachen keine Funktionen besitzen, um auf das Dateisystem oder auf eine
Datenbank zuzugreifen, muss dies mit server-seitigen Skripten geschehen. Server-
basierte Erweiterungen sind i.d.R. leistungsfähiger, weil sie auf alle Ressourcen
zugreifen können, die sich auf dem Server befinden. Dies ermöglicht erst die
Durchführung häufig vorkommender Vorgänge wie z.B. die Suche nach bestimm-
ten Daten, die Auswahl spezifischer Informationen oder die Übermittlung von
Daten an den Server.
27
o.V.: S. 15, http://www.czernohous.de/php/php-skript.pdf, 11.04.2003

12
1.3.3.3 Anwendungsbeispiele
... für Statische Webseiten
Statische Seiten sind typisch für Webauftritte mit
Plakatcharakter, bei denen
keine direkte Rückkopplung zum Anbieter (Server) vorgesehen ist und deren
Inhalte selten oder nicht aktualisiert werden (s. Abb. 4).
Abb. 4: Beispiel für eine statische Webseite
28
Private Homepages, Hilfesysteme oder Online-Dokumentationen basieren oft auf
statischen Webseiten.
28
http://multimedia.zawiw.uni-ulm.de/~webdemo/webkurs/static-de.html, 10.06.2003

13
... für Dynamische Webseiten
Folgende Abbildung zeigt eine Website, die deutlich sichtbar mit dynamisch
generierten Inhalten arbeitet.
Abb. 5: Beispiel für eine Dynamische Website
29
Ein Beispiel: Der Benutzer erfasst den Namen eines Autors in einem Formular.
Der Webbrowser sendet diese Daten an den Webserver, der nach den verfügbaren
Buchtiteln dieses Autors in einer Datenbank sucht. Das Suchergebnis wird zu
einer HTML-Seite automatisch zusammengestellt und zum Client gesendet.
Oder hat sich z.B. der Benutzer durch einen Login-Mechanismus identifiziert,
werden ihm wichtige Informationen hervorgehoben, das Seitenlayout entspricht
seinen optischen Vorlieben.
29
Warp-Speed.de: http://warpspeed.4thdimension.de, 10.06.2003

14
1.3.4 Software
Eine kennzeichnende Eigenschaft von Rechnern ist, dass sie programmierbar sind.
Dies bedeutet, dass dem Rechner mitgeteilt werden muss, welche Arbeitsschritte
er verrichten soll. Die Summe der Arbeitsschritte zur Verrichtung einer Aufgabe
wird als
Programm bezeichnet.
30
Software ist ,,der Sammelbegriff für (Computer-)Programme".
31
Der Begriff
Software bezeichnet alles, ,,was auf einem Computer ausgeführt wird, sowohl das
fertige, nur auf einer Architektur ausführbare Programm (Binary) als auch den
vom Programmierer geschriebenen, menschenlesbaren Programmtext (Source)."
32
,,Software ist strikt betrachtet nicht mit Daten identisch, da Daten keine Instruk-
tionen enthalten und auf dem Rechner nicht ausgeführt, sondern verarbeitet
werden."
33
Software wird in drei Klassen eingeteilt: Systemsoftware (Systemprogramme),
Entwicklungssoftware (Entwicklungsprogramme) und Anwendungssoftware
(Anwendungsprogramme) (s. Abb. 6).
,,Die
Systemsoftware stellt die grundlegenden Dienste für andere Programme zur
Verfügung, insbesondere den Zugriff auf eine konkrete Rechnerplattform. Die
zentralen Dienste der Systemsoftware werden zusammenfassend auch als
Betriebssystem bezeichnet."
34
Das Betriebssystem (S. 39) ist das Bindeglied zwischen der Hard- und Software,
so dass durch Treiberprogramme die Hardware erst angesprochen werden kann
und der Anwender über andere Software (z.B. Anwendungsprogramme) in Inter-
aktion mit dem Rechner treten kann. Dabei ,,steuert und überwacht [das Betriebs-
system] die Ausführung von Anwendungsprogrammen auf der Maschinenkonfi-
guration (der Rechnerhardware)."
35
30
Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 150
31
Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 150
32
o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
33
Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Software.html, 10.04.2003
34
Siehe FN 31
35
Siehe FN 31

15
Abb. 6: Klassifizierung von Software
36
,,Die
Entwicklungssoftware setzt auf dem Betriebssystem auf und ermöglicht die
Programmierung [..] beliebiger Programme."
37
Die Entwicklungssoftware besteht
aus den in der Abb. 6 genannten Komponenten. Hierbei wird häufig zwischen
einer Entwicklungs- und einer Laufzeitumgebung unterschieden, wobei letztere
nur für die Ausführung der entwickelten Software notwendig ist.
38
Ein wichtiger Teil einer Entwicklungsumgebung ist die zugehörige Programmier-
sprache. ,,Programme werden in einer
Programmiersprache entwickelt und
enthalten detaillierte Anweisungen an den Rechner, wie eine bestimmte Problem-
stellung zu lösen ist. Die Summe aller Programmiersprachenanweisungen inner-
halb eines Programms wird als [..]
Quellprogramm ([..] auch Quellcode oder
Quelltext, engl.: source code) bezeichnet. Es kann mittels
Compiler und/oder
Interpreter [...] auf einem Rechner in den Maschinencode übersetzt und ausge-
führt werden."
39
Mit Hilfe der Entwicklungssoftware werden sowohl System- und
Anwendungs- als auch die Entwicklungssoftware selbst erstellt.
36
Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 151
Vgl.a. Hansen, H. R.: Wirtschaftsinformatik, 1992, S. 355
37
Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 151
38
Siehe FN 36
39
Siehe FN 37

16
Die
Anwendungssoftware (Anwendungsprogramme, Anwendungen, Applikatio-
nen, engl.: application programm, user programm) wird zur Lösung der fachlichen
Probleme der Anwender eingesetzt.
40
Dazu gehören die in der Abb. 6 genannten
Programme. Voraussetzung für den Einsatz der Anwendungen ist die System-
software.
Bei Anwendungssoftware wird zwischen Standard- und Individualsoftware unter-
schieden (s. Abb. 7).
Abb. 7: Beispiele für Anwendungssoftware
41
Als
Standardsoftware ,,(Standardprogramme, engl.: packaged software) werden
fertige Programme bezeichnet, die auf Allgemeingültigkeit und mehrfache Nut-
zung hin ausgelegt sind."
42
Individualsoftware (Individualprogramme, engl.: custom software) umfasst hin-
gegen Programme, ,,die entsprechend der Bedürfnisse eines einzelnen Anwenders
entwickelt und nur von diesem eingesetzt"
43
werden.
40
Siehe FN 36
41
Vgl. Keil, P.: Open Source, S. 7, http://www.it-vergabe.de/..., 8.06.2003
42
Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 152
43
Keil, P.: Open Source, S. 6, http://www.it-vergabe.de/..., 8.06.2003

17
1.3.4.1 Typologisierung von Software
Die aktuelle Software unterteilt sich in zwei Bereiche. So gibt es zum einen
Software, deren Quelltext nicht offengelegt, d.h. für den Anwender nicht einseh-
bar ist (Closed Source), z.B. Adobe Photoshop und zum anderen Open-Source-
Software wie
The GIMP (GNU Image Manipulation Programm, S. 93), deren
Programmtext allgemein zugänglich ist. Die folgende Darstellung gibt einen
Überblick über die (in diese zwei Bereiche eingeteilten) Software-Kategorien, die
im weiteren Verlauf der Arbeit näher beleuchtet werden.
Abb. 8: Die aktuellen Software-Kategorien
44
44
Vgl. das Diagramm von Chao-Kuei: Categories, http://www.fsf.org/..., 10.04.2003;
Vgl.a. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/..., 10.04.2003
Vgl.a. Keil, P.: Open Source, S. 3, http://www.it-vergabe.de/..., 8.06.2003

18
Closed Source
Das charakteristische an dieser Software ist, dass der Quellcode nicht zugänglich
ist. Das heißt, der Programmcode wird vor der Herausgabe kompiliert und so zu
einem lauffähigen Programm übersetzt (
Binary). Damit soll ein Einblick Dritter in
den Quellcode erschwert werden, um Algorithmen und Datenstrukturen geheim
zu halten.
45
Im Folgenden wird auf die Software-Kategorien eingegangen, deren
Quellcode nicht öffentlich ist.
Der Begriff ,,Closed-Source-Software" hat sich nicht durchgesetzt. Stattdessen
werden, je nach Kontext die Begriffe ,,proprietäre" Software (
S. 286) und
,,kommerzielle" Software verwendet.
46
Der Begriff Proprietary Software ist doppeldeutig
47
. Zum einen ist darunter eine
herstellerspezifische Software zu verstehen. Zum anderen wird damit Copyright-
(urheberrechtlich-) geschützte Software bezeichnet.
Herstellerspezifisch ist die Software, die nur von einem Unternehmen entwickelt
und nicht auf einer öffentlichen Plattform spezifiziert wird.
48
Außerdem harmo-
niert diese Software aus technischer Sicht nicht mit anderen Softwarestandards
und ist damit nicht portabel, d.h. auf andere Systeme übertragbar.
Copyright-geschützt ist die Software, die ohne ausdrückliche Genehmigung weder
kopiert noch weitergegeben werden darf.
Proprietäre Software ist i.d.R.
kommerzielle Software. ,,Kommerzielle Software ist
Software, die [...] entwickelt wird, [... um durch deren] Benutzung [... Gewinn zu
erzielen]. ,Kommerziell` und ,proprietär` [.. bedeutet also] nicht das selbe! Die
meiste kommerzielle Software ist proprietär, aber es gibt auch kommerzielle freie
Software [z.B. Einsatz von MySQL mit einer kommerziellen Lizenz, S. 69] und es
gibt nichtkommerzielle unfreie Software [z.B. Public Domain Software, S. 21]."
49
Im Sinne der Free Software Foundation (FSF) ist ,,kommerzielle" Software jedoch
ein Gegenbegriff zu Open-Source-Software (S. 26)
50
.
45
Vgl. W
IKIPEDI
A: Enzyklopädie, http://de.wikipedia.org/wiki/Closed_Source, 15.06.2003
46
Vgl. BMWi, Open, 2001, S. 47f, http://www.bmwi-softwarepaket.de/..., 4.07.2003
47
Vgl. http://coforum.de/index.php4?Propriet%E4re_Software, 10.04.2003
48
Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/proprietaer.html, 10.04.2003
49
http://www.gnu.org/philosophy/categories.de.html, 10.04.2003
50
Siehe FN 46 (Näheres unter: http://www.gnu.org/philosophy/categories.de.html, 10.04.2003)

19
Aus Vereinfachungsgründen werden die beiden Begriffe ,,reine proprietäre"
Software und ,,kommerzielle" Software im Folgenden synonym verwendet.
Shareware (auch Demo- oder Testversion) ist urheberrechtlich geschützte Soft-
ware und funktioniert grundsätzlich nach dem ,,Try and Buy" Prinzip. Das heißt,
der Autor stellt die Testversion kostenlos für einen begrenzten Zeitraum zur
Verfügung (oft sind das 30 Tage). In dieser Zeit kann das Programm beliebig oft
kopiert und weitergegeben werden, ist aber häufig in seinem Leistungsumfang
eingeschränkt. Entspricht die Software den Erwartungen, muss zur dauerhaften
Nutzung eine Registrierungsgebühr entrichtet werden. (Diese liegt i.d.R. weit
unterhalb des Preises kommerzieller Software). Daraufhin wird vom Entwickler
entweder die Vollversion des Programms oder der Geheimcode, der die Funk-
tionalitäten der Vollversion aktiviert, zur Verfügung gestellt.
51
Als Freeware werden frei verfügbare (kostenlose) Programme bezeichnet, die
urheberrechtlich geschützt sind. Jeder darf sie kopieren und weitergeben. Im
Gegensatz zur Shareware verfügen diese Programme über ihren vollen Leistungs-
umfang. Eine Veränderung und Weiterentwicklung des Programms ist jedoch
nicht möglich, da es (wie bei den oben aufgeführten Programmen) keinen Zugriff
auf den Quellcode gibt.
52
Diese Software wird z.T. aus unterschiedlichen Motiven
von den Autoren verschenkt. ,,Oft glauben die Autoren selbst nicht an den kom-
merziellen Erfolg Ihrer Software, oder die Freeware ist Teil einer umfassenden
Marketingstrategie für kommerzielle Programme."
53
Als Beispiel für diese Strate-
gie lässt sich NuSphere PHPEd
TM
(PHP-Editor) anführen, der als ursprüngliche
Freeware heute ab $299.00
54
erworben werden kann.
Den Begriffen Freeware, Open Source- oder Free Software ist gemeinsam, dass
für das Kopieren, Verwenden und Weitergeben der Software
keine Lizenzgebühr
anfällt.
51
Vgl. Oebbeke, A.: Glossar, http://www.glossar.de/glossar/z_shareware.htm, 10.04.2003
52
Vgl. Kurz, A.: Net-Lexikon, http://www.net-lexikon.de/Freeware.html, 10.04.2003
53
Oebbeke, A.: Glossar, http://www.glossar.de/glossar/z_shareware.htm, 10.04.2003
54
Vgl. http://www.php-snippet.de/artikel/editoren.php#kommerziell, 24.04.2003

20
Open Source
Ein weiteres Charakteristikum von Open Source- oder
55
Free Software ist, dass
der
Source-Code frei zugänglich ist. ,,Frei" wurde durch die Bezeichnung ,,open"
ersetzt, um zu erreichen, dass damit nicht mehr ,,umsonst", sondern ,,offen"
assoziiert wird.
56
Dies impliziert, dass eine Veränderung und Weiterentwicklung
der Programme durch die Nutzerschaft je nach ihren Bedürfnissen möglich ist.
Dies steht im Gegensatz zu den oben aufgeführten Softwarekategorien, deren
Weiterentwicklung nur einer exklusiven Gruppe vorbehalten bleibt. Die Freiheit
der Software wird durch spezielle Lizenzen ermöglicht. (s. Kap. 1.3.5.1, S. 27)
Mit Open Source wurde somit ein Begriff etabliert, ,,der die Entwickler und
Verfechter freier Software [von] der Notwendigkeit enthebt, ständig sowohl
zwischen kostenloser [..] und freier Software als auch zwischen den verschie-
denen Lizenzen freier Software differenzieren zu müssen."
57
Bei den folgenden Softwaretypen ist der Quellcode zugänglich.
Copylefted Software
Copylefted Software ist Software, die rechtlich davor geschützt ist, dass Entwick-
ler, die diese Software weiterentwickeln oder in seine Programme einbinden, ein
Copyright auf das neue Programm erheben können. Das bedeutet, dass die neue
Software wiederum den Copyleft-Bedingungen unterstellt werden muss.
Mit einer Lizenz, die die Eigenschaft ,,Copyleft" hat, wird versucht, die Idee des
Urheberrechts in ihr Gegenteil zu verkehren, um jedem Benutzer seine Freiheit zu
garantieren: ,,Copyleft ­ All rights reversed".
58
(Vgl. Abb. 9 und Tab. 1)
Die Standardlizenz für Copylefted Software ist die
GNU
59
General Public License
(S. 28).
55
Die Begriffe Open Source und Free Software werden im Folgenden synonym verwendet.
56
Vgl. o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
57
o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003
58
Vgl. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/..., 10.04.2003
59
GNU ist ein rekursives Akronym und steht für ,,GNU is not Unix".

21
Non - Copylefted Software
Nicht unter Copyleft stehende Freie Software ist mit der Erlaubnis des Autors
verbunden, sie weiterzuverbreiten, zu verändern und zusätzliche Restriktionen
hinzuzufügen.
60
Das heißt, der Entwickler kann die neue Software
x
weiterhin als Free Software zu Verfügung stellen oder
x
ohne ausdrückliche Erlaubnis zu proprietärer Software machen und kommer-
ziell vertreiben.
61
Die meisten Lizenzen für Open Source sind non-copylefted. Die bekanntesten
Lizenzen dieser Softwarekategorie sind:
Berkley Software Distribution License
(BSD License, S. 29),
Netscape Public License (NPL, S. 29), GNU Lesser GPL
(S. 29),
license of Apache (S. 44).
Public Domain Software
Public Domain ist eine Spezialform von Non-Copylefted Software.
62
Bei Public Domain Software handelt es sich um ,,Programme, die (über Netze
oder per Datenträger) kostenlos abgegeben werden können und beliebig genutzt
und kopiert werden dürfen."
63
Public Domain Software ist nicht urheberrechtlich geschützt, stellt also keine
Lizenz im Sinne des Open Source dar. (Auch Programme, deren Urheberrechte
verfallen sind, gehören in diese Kategorie). Das bedeutet im Wesentlichen, dass
der Autor auf jeglichen Einfluss auf sein Werk verzichtet und
jeder Anwender mit
der Software nach seinen Bedürfnissen verfahren kann.
64
60
Vgl. http://www.gnu.org/philosophy/categories.de.html, 10.04.2003
61
Vgl. Walch, D.: Open Source, http://wwwai.wu-wien.ac.at/..., 10.04.2003
62
Siehe FN 60
63
Stahlknecht, P. u.a.: Wirtschaftsinformatik, 2002, S. 302
64
Vgl. o.V.: kurz, http://www.oreilly.de/german/freebooks/os_tb/toc.html, 10.04.2003

22
Folgende Übersicht fasst die wesentlichen Kriterien der oben erläuterten Soft-
warekategorien zusammen.
Abb. 9: Die wesentlichen Kriterien der aktuellen Software-Kategorien
Wie aus der obigen Grafik ersichtlich, stehen sich zwei grundsätzlich verschie-
dene Konzepte gegenüber. Zum einen die (reine) proprietäre Software, bei der die
Rechte des Anwenders auf ein Minimum beschränkt sind. Und zum anderen
Open-Source-Software, bei der es eine Reihe verschiedener Lizenzen gibt, die
dem Benutzer jeweils unterschiedliche Freiheitsgrade im Umgang mit der Soft-
ware und bezüglich ihrer Weiterverbreitung gewähren.
65
(s.a. Tab. 1, S. 27)
In der Literatur und im Internet werden Vor- und Nachteile von Open-Source- und
proprietärer Software diskutiert, wobei wirtschaftliche und sicherheitstechnische
Aspekte im Vordergrund stehen.
66
Im Folgenden werden diese beiden Aspekte
näher beleuchtet.
65
Vgl. Hansen, H. R. u.a.: Wirtschaftsinformatik, 2001, S. 160
66
Vgl. W
IKIPEDI
A: Enzyklopädie, http://de.wikipedia.org/wiki/Closed_Source, 15.06.2003
Ende der Leseprobe aus 375 Seiten

Details

Titel
Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites
Hochschule
Technische Hochschule Köln, ehem. Fachhochschule Köln
Note
1
Autor
Jahr
2004
Seiten
375
Katalognummer
V186178
ISBN (eBook)
9783656999287
ISBN (Buch)
9783867469128
Dateigröße
59344 KB
Sprache
Deutsch
Schlagworte
aufbau, anwendungssystems, erstellung, dynamischer, websites
Arbeit zitieren
Diplomkauffrau (FH) Natalia Fahrenbruch (Autor:in), 2004, Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites, München, GRIN Verlag, https://www.grin.com/document/186178

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Aufbau eines Anwendungssystems zur Erstellung Dynamischer Websites



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden