% Diplomarbeit von Andreas Boesch
%
% Universitaet Hamburg
% Fachbereich Informatik
% Arbeitsbereich DBIS
%
% Kapitel: Einleitung und Motivation


\chapter{Einleitung und Motivation}
\label{Kap. Einleitung und Motivation}
Das Internet ist das gr"o"ste Computer-Netzwerk der Welt \cite{SBGK94}. War das Internet vor einigen Jahren noch nahezu ausschlie"slich im Bereich der Hochschulen verbreitet, dr"angen heute auch immer mehr Firmen auf einen Anschlu"s an einen der derzeit weltweit wachstumsst"arksten M"arkte. Die Internettechnologie wird aber nicht nur genutzt, um am weltweiten Internetverkehr teilzunehmen, sondern auch in lokalen Netzwerken von Unternehmen. Man spricht in diesem Zusammenhang von einem {\em Intranet} \cite{Bi96}. Dies dient einerseits dazu, unterschiedlichste Plattformen und Systeme auf einer einheitlichen Basis zu verbinden und Dienste wie die elektronische Post ({\email}) oder "offentliche Diskussionsgruppen ({\ng}) auch firmenintern zu nutzen, andererseits wird der optionale, sp"atere "Ubergang in das globale Internet sehr erleichtert, da die Intranet Technologie auf weit verbreiteten Standards (TCP/IP, Standardprotokolle f"ur {\email} und {\ng}) basiert. Der gr"o"ste Vorteil eines Intranet ist seine Flexibilit"at, da alle Komponenten "uber Standardschnittstellen verbunden sind, d.h. der Systemdesigner kann jede ben"otigte Teilfunktionalit"at am jeweiligen Bedarf orientiert ausw"ahlen \cite{Ko96}. 

Das {\web} ({\www}) ist wie z.B. {\email}, {\ftp} und {\ng} ein Dienst des Internet. Das {\www} erm"oglicht mit Hilfe des HTT Protokolls die "Uber\-tragung von Texten, Grafiken und Programmen zwischen Servern und Clients ({\VAB}~\ref{wwwDienst}, sowie Kapitel~\ref{Kap. wwwgrla}).

\begin{figure}[hbt]
\begin{center}
\leavevmode
\epsfxsize=13cm \epsfysize=7cm
\epsffile{Bilder/wwwgrla/wwwGlob.eps}
\end{center}
\caption{Das WWW als ein Dienst des Internet}
\label{wwwDienst}
\end{figure}

Die einfache Bedienbarkeit durch grafische Visualisierungswerkzeuge (engl. {\brow}) und Faktoren wie z.B. Plattformunabh"angigkeit, globale Verbreitung und Erreichbarkeit machen das WWW f"ur kommerzielle Anwendungen interessant, da es m"oglich ist, mit einem Maus\-klick Information, Waren und Dienstleistungen anzufordern bzw. zu bestellen. Im folgenden Abschnitt wird die Entwicklung des WWW in den letzten Jahren dargestellt und gezeigt, wie sich die Anforderungen an das WWW und der Begriff der "`Information im WWW"' ver"andert haben.  

\section{Die Entwicklung des WWW}
\label{entwicklungwww}
Die Anforderungen an das WWW haben sich im Laufe seiner Entwicklung ver"andert. W"ahrend das WWW am Anfang ein Ver"offentlichungs- und Verteilungswerkzeug f"ur Hypertextdokumente darstellte und Information lediglich vom Server zum Client jedoch nicht umgekehrt flo"s, bot sich mit der Entwicklung des einfach zu bedienenden grafischen WWW {\brow}s die Vision des globalen Marktplatzes, "uber den alle Arten von Dienstleistungen und G"utern verbreitet werden k"onnen ({\VAB}~\ref{wwwEntw} aus \cite{OH97}). Nach der Entwicklung sicherer "Ubertragungsprotokolle und elektronischer Abrechnungsverfahren wird diese Vision zunehmend Realit"at. 

Es stellte sich jedoch heraus, da"s die Basiskonzepte und -technologien des WWW, wie z.B. HTML, HTTP und CGI ({\VKA}~\ref{Kap. wwwgrla}), die in sie gesetzten neuen Erwartungen nicht erf"ullen k"onnen. HTML bietet im Vergleich zu professionellen Desktop Publishing Systemen nur eingeschr"ankte Pr"asentationsm"oglichkeiten, HTTP erlaubt als zustandsloses Protokoll keine aus mehreren aufeinander aufbauenden Teilschritten bestehenden Transaktionen, das CGI erfordert hohe Berechnungskapazit"aten auf dem ausf"uhrenden WWW Server.

Die Programmiersprache {\java} ({\VAS}~\ref{code}) erm"oglicht es, die Beschr"ankungen von HTML, HTTP und CGI zu umgehen, indem {\java} Anwendungen --- sogenannte {\em Applets} --- in HTML Seiten eingebunden werden und im {\brow} plattformunabh"angig ausgef"uhrt werden k"onnen. {\java} Applets k"onnen Verbindungen zu entfernten {\java} Anwendungen "uber ein eigens hierf"ur entwickeltes Protokoll --- die {\em Remote Method Invocation} ({\VAS}~\ref{rmi})  ---aufnehmen. Mit {\java} ist es erstmals im WWW m"oglich, unbekannten Programmcode ohne Sicherheitsrisiken auf dem Rechner des Client auszuf"uhren und die Umgebung des {\brow}s f"ur verteilte Anwendungen zu nutzen. 

F"ur die Nutzung des WWW als Basis f"ur verteilte heterogene Anwendungen, deren Komponenten in verschiedenen Programmiersprachen geschrieben sind, reicht {\java} allein jedoch nicht aus. Eine Vermittlerrolle zwischen den Komponenten verteilter Anwendungen "ubernehmen Dienste wie z.B. {\corba} oder {\dcom}, die die Zusammenarbeit heterogener Applikationsobjekte erlauben ({\VKA}~\ref{Kap. objektcom}). \footnote{Ein {\em Orblet} bezeichnet einen {\em Object Request Broker}, der in Form eines {\java} Applets zum Browser "ubertragen wird und dort die Kommunikation eines Applets mit einer entfernten Anwendung erm"oglicht.} 

Zu der Vision des {\em Object Web} geh"oren neben der Nutzung des WWW als Basis f"ur verteilte heterogene Anwendungen auch Komponententechnologien wie z.B. {\ax} oder {\java} {\beans}. {\ax} erm"oglicht die Einbindung beliebiger Objekte in sogenannte {\em Container}. So ist z.B. die Anwendung {\ms} {\word} ein Container, in den Komponenten wie z.B. ein Formeleditor oder eine Rechtschreib"uberpr"ufung eingebettet werden k"onnen. Ein anderes Beispiel f"ur die Verwendung von Containern ist die Einbettung einer {\ms} {\excel} Tabelle in ein {\ms} {\word} Dokument. So ein aus mehreren Komponenten zusammengesetztes Dokument wird als {\em compound document} bezeichnet. 

\begin{figure}[hbt]
\begin{center}
\leavevmode
\epsfxsize=13cm \epsfysize=8cm
\epsffile{Bilder/einleitung/wwwEntw.eps}
\end{center}
\caption{Die Entwicklung des WWW}
\label{wwwEntw}
\end{figure}

Der Begriff der "`Information im WWW"' hat sich im Laufe seiner Entwicklung ver"andert. Handelte es sich zu Anfang im Hypertext Web noch um statische Informationen, die f"ur jeden Benutzer identisch waren, erlaubten Techniken wie HTML Formulare, CGI Anwendungen und HTML Tabellen die dynamische f"ur jeden Client individuelle Erstellung von Information. So entwickelte sich das Hypertext Web zum interaktiven Web. 

Die Verteilung von Programmen in Form von Skriptcode, {\java} Applets und {\ax} Komponenten f"uhrt zu einer neuen Dimension von Information, die die Ausf"uhrung unbekannten Programmcodes auf dem Rechner des Client erm"oglicht. Dies ist wiederum die Grundlage f"ur die Nutzung des WWW als Basis f"ur verteilte Anwendungen und Komponententechnologien, die die Kommunikation und Verteilung heterogener Objekte in einem Object Web erlauben.

\section{Aufgabenstellung}
\label{problem}
Die Anforderungen an das WWW und die im WWW zur Verf"ugung stehenden Inhalte haben sich ge"andert. Trotzdem basieren heutige WWW Anwendungen noch auf Konzepten, die f"ur diese Art der Anwendung nicht vorgesehen sind, z.B. verteilte Datenbankanwendungen unter Benutzung von HTML, HTTP, CGI, Skripten und Datenbanksystemen. Die Benutzung dieser Technologien f"uhrt u.a. zu einer schlechten Wartbarkeit solcher Anwendungen, da ein Entwickler "uber Kenntnisse in allen verwendeten Technologien verf"ugen mu"s --- er ist also gleichzeitig f"ur Layout, Skriptprogrammierung, WWW Serveradministration, Datenbankadministration und Datenbankdesign zust"andig. Soll z.B. das Layout einer dynamisch erzeugten HTML Tabelle ge"andert werden, mu"s der Autor neben HTML Wissen "uber Kenntnisse der Programmiersprache des zugeh"origen CGI Skriptes verf"ugen.

Im ersten Teil der vorliegenden Arbeit wird untersucht, welche funktionalen Anforderungen von Informationsnutzern und Informationsautoren an verteilte Informationssysteme --- insbesondere im Kontext des WWW --- bestehen und wie diese sich auf die Anforderungen an die zugrundeliegende Architektur bzw. Technologie auswirken. Es wird dabei betrachtet, inwieweit Anforderungen (z.B. Konsistenzerhaltung, Redundanzfreiheit, Platt\-form\-un\-ab\-h"angigkeit, Skalierbarkeit), die f"ur die Softwareentwicklung (vgl. z.B. \cite{Matt93,M90,B82}) gelten, auf die Anforderungen an verteilte Informationssysteme "uber\-trag\-bar sind. In einem zweiten Schritt wird "uberpr"uft, inwiefern die derzeit vorhandenen Technologien im Kontext des {\www} den im ersten Teil der Arbeit konkretisierten Anforderungen gerecht werden, bzw. in welchen Bereichen Defizite von WWW Konzepten liegen. 

Im zweiten Teil der Arbeit werden ausgew"ahlte Anforderungen im Detail betrachtet und Verbesserungen bestehender WWW Konzepte z.B. in Form von Erweiterungen von Protokollen oder Formaten zur Informationsrepr"asentation erarbeitet bzw. vorgestellt.

Die Ziele der Arbeit sind also:
\begin{itemize}
\item Darstellung der Anforderungen von Informationsnutzern und Informationsautoren an die Erstellung, Speicherung, Wartung, Pr"asentation und Verteilung von Information in verteilten Informationssystemen;
\item Vorstellung und Bewertung derzeit im {\www} vorhandener Konzepte und Dienste zur Erstellung, Speicherung, Wartung, Pr"asentation und Verteilung von Information;
\item Exemplarische Betrachtung ausgew"ahlter Anforderungen an das WWW, sowie Erarbeitung, Darstellung und Vergleich geeigneter Konzepte und Technologien zu deren Erf"ullung. 
\end{itemize}


\section{Aufbau der Arbeit}
\label{sec. aufbau}
In dieser Arbeit wird keine allgemeine Einf"uhrung in das Internet gegeben, da sich mit dieser Thematik bereits andere Autoren ausf"uhrlich besch"aftigt haben (bspw. \cite{SBGK94}, \cite{K94} oder \cite{G95}). 

Die Arbeit gliedert sich in drei Abschnitte. Der erste Abschnitt behandelt Anforderungen an verteilte Informationssysteme und die Vorstellung und Bewertung grundlegender WWW Technologien.

\begin{itemize}
\item Im Kapitel~\ref{Kap. AnfInformation} werden allgemeine Anforderungen an die Erstellung, Speicherung, Wartung, Pr"asentation und Verteilung von Information als Pendant zu Programmen aus der Softwaretechnik erarbeitet. Dabei bilden funktionale Anforderungen von Informationsnutzern und Informationsautoren die Basis f"ur die architekturellen und technischen Anforderungen an verteilte Informationssysteme. Es wird hier der Fragestellung nachgegangen, inwiefern sich u.a. Konzepte wie Konsistenzerhaltung, Redundanzfreiheit, Wartbarkeit, Skalierbarkeit oder Plattformunabh"angigkeit aus der Softwaretechnik auf die Anforderungen an verteilte Informationssysteme "ubertragen lassen. 

\item In Kapitel~\ref{Kap. wwwgrla} werden die Grundlagen des WWW (u.a. HTTP, HTML, CGI, Skriptsprachen, {\java}) vorgestellt, die die Basis f"ur das Verst"andnis der nachfolgenden Kapitel bilden.

\item Die Bewertung grundlegender WWW Technologien erfolgt anhand der in Kapitel~\ref{Kap. AnfInformation} erarbeiteten Anforderungen in Kapitel~\ref{Kap. AnsatzBewert}. Au"serdem werden hier einige Konzepte der WWW Erweiterung {\hw} (ehemals {\hg}) sowie der WWW Datenbankentwicklungsumgebung {\netiva} vorgestellt.
\end {itemize}

Im zweiten Abschnitt werden exemplarisch verschiedene Konzepte und ihre technologischen Auspr"agungen untersucht, die zur Befriedigung der Anforderungen aus Kapitel~\ref{Kap. AnfInformation} dienen k"onnen.

\begin{itemize}
\item In Kapitel~\ref{Kap. versionierung} wird untersucht, welche Bedeutung das Management von Versionen von Ressourcen im Zusammenhang mit den in Kapitel~\ref{Kap. AnfInformation} erl"auterten Anforderungen wie Konsistenzerhaltung und Redundanzfreiheit f"ur das WWW hat.

\item Das Problem des Management von Konfigurationen im WWW ergibt sich aus der Versionierung einzelner WWW Ressourcen. In Kapitel~\ref{Kap. kontexte} werden die grunds"atzlichen Konzepte und technische Ans"atze zur Bereitstellung von Konfigurationen im WWW vorgestellt.

\item Kapitel~\ref{Kap. objektcom} untersucht die M"oglichkeiten zur Verwendung des WWW als Basis f"ur verteilte Anwendungen und stellt drei Kommunikationsmechanismen vor, die die durch HTTP, CGI und HTML bestehenden Einschr"ankungen f"ur verteilte Anwendungen im WWW "uberwinden. 
\end{itemize}

Der dritte Teil der Arbeit liefert einen Ausblick auf aktuelle technische Entwicklungen des WWW.

\begin{itemize}
\item Neuere (noch) nicht standardisierte Erweiterungen und Weiterentwicklungen wichtiger Technologien im Kontext des WWW werden in Kapitel~\ref{Kap. weiterentwicklungen} erl"autert. Unter anderem werden aktuelle Entwicklungen von HTML und {\java} beschrieben, die bereits einige der in Kapitel~\ref{Kap. AnfInformation} beschrieben Anforderungen erf"ullen.
\end{itemize}

Im abschlie"senden Kapitel~\ref{Kap. ZusAusb} werden die Ergebnisse der Arbeit zusammengefa"st, deren kommerzielle Relevanz erl"autert und ein Ausblick f"ur weitere Forschungsaktivit"aten gegeben. 
