Grundlagen moderner Netzwerktechnologien im Überblick – Teil 93 Die Internet-Protokolle im Überblick – Erweiterungen der Grundkonzepte

Autor / Redakteur: Dr. Franz-Joachim Kauffels / Dipl.-Ing. (FH) Andreas Donner

Das Web hat eine enorme Entwicklung durchlaufen. Angespornt durch diesen riesigen Erfolg sind nunmehr Erweiterungen der Grundkonzepte auf den Weg gebracht worden, die das Leben mit dem Web noch schöner machen können. Die sicherlich spektakulärsten Weiterentwicklungen waren Java und XML.

Firma zum Thema

Das Common Gateway Interface CGI; Bild: Dr. Franz-Joachim Kauffels
Das Common Gateway Interface CGI; Bild: Dr. Franz-Joachim Kauffels
( Archiv: Vogel Business Media )

Schon recht bald stellte sich den Entwicklern die Frage, wie man denn externe Datenbestände z.B. aus Datenbanken automatisiert so aufarbeiten kann, dass sie mit einem Browser genutzt werden können. Die erste Entwicklung in dieser Richtung war das Common GatewayInterface CGI. CGI hat zwar funktioniert, war aber sehr langsam und eigentlich von Beginn an ein Flaschenhals.

Die Programmiersprache Java wurde 1995 von Sun Microsystems vorgestellt. Mit Java kann man kleine Anwendungsprogramme formulieren, die so genannten Java Applets, die von einem Web-Server auf einen Client geladen werden und dann dort ablaufen. Damit dies funktioniert, muss eigentlich nur der Browser Java unterstützen bzw. interpretieren können. Dies ist aber offensichtlich kein Problem, denn alle wichtigen Browser haben Java-Unterstützung realisiert.

Bildergalerie

Eine Hauptanwendung der ersten Stunde ist die Animation von Elementen einer Web-Seite. Auch das Abspielen von Tonsequenzen, wie einer Begrüßungshymne, wird von Java unterstützt. Man kann dies zwar als Spielerei abtun, aber in einer immer mehr grafikorientierten Welt sind solche Dinge offensichtlich wichtig.

Wesentlich war aber vor allem, dass nunmehr eine Programmierschnittstelle zur Verfügung stand, deren Funktionsumfang auch den Zugriff auf Daten in völlig anderen Formaten zugelassen hat. So konnte z.B. der CGI-Botleneck elegant umschifft werden.

Eine weitere Möglichkeit des Java-Einsatzes sind alle Formen der Interaktion, wie sie für Spiele, aber auch für Bestellungen und andere kommerzielle Anwendungen benötigt werden. Mit Java kann man z.B. auch sehr bequem anwendungsorientierte Verschlüsselung durchführen.

Durch Java wurden Erweiterungen in der Beschreibungssprache HTML notwendig, die zur Version 3.2 geführt haben. HTML 3.2 kann dynamische Objekte definieren, die z.B. der Ausführung von Java-Applets entsprechen. Aber auch eine Integration der Java-Konkurrenz ActiveX von Microsoft ist möglich.

ActiveX erweitert das OLE-Konzept für die Zusammenarbeit zwischen Dokumenten auf MS-Betriebssystemen und Anwendungssoftware auf die Web-Umgebung. Die Gestaltungsmöglichkeiten für Tabellen wurden wesentlich verbessert. Schließlich kann eine HTML-Seite jetzt auch mehrere Frames enthalten, in denen unterschiedliche Informationen abgelegt werden können. Jeder Frame hat dann seine eigene Scroll-Bar. Außerdem kann man so auch verschiedene Seiten gleichzeitig auf einen Bildschirm bringen, z.B. ein Inhaltsverzeichnis und die jeweils angewählte Seite, ohne dafür extra den Fenstermechanismus des Betriebssystems in Anspruch nehmen zu müssen.

All diese Entwicklungen haben zusammen genommen zu den ersten drei Generationen der Web-Technologie geführt.

Eine weitere Entwicklung im Internet betrifft die dreidimensionale Modellierung. Hierfür gibt es eine eigene Sprache: VRML (Virtual Reality Modelling Language), die letztlich auf Entwicklungen von Silicon Graphics basiert. In der praktischen Realisierung benötigen animierte dreidimensionale Darstellungen jedoch Bandbreiten, von denen die europäischen Internet-Benutzer noch eine Zeit lang träumen dürften. Möglich und sinnvoll sind 3D-Darstellungen jedoch oft im Zusammenhang mit internen Netzen.

Alle Erweiterungen wie Java und VRML lassen sich in einem nicht-bandbreitenbeschränkten Intranet wesentlich umfangreicher und komfortabler nutzen als im konventionellen Internet. Allerdings sollte man auch darauf achten, dass es nicht zu allzu vielen Spielereien kommt, die letztlich nur Geld kosten.

weiter mit: XML und Co.

XML und Co.

Das Internet und besonders die WWW-Technologie entwickeln sich rasant. Die mit den ursprünglichen Browsern entwickelte Darstellungssprache HTML hat eine Reihe von Einschränkungen, die vor dem Entwicklungshorizont verständlich sind. Immerhin wurde HTML Ende der Achtziger Jahre angedacht, mit den ersten einfachen Browsern verwendet und nur relativ zaghaft weiterentwickelt um die Kompatibilität nicht zu gefährden.

Ursprünglich war das Ziel, Inhalt und Darstellung zu trennen. In HTML werden Texte zunächst einmal in Form von ASCII-Zeichen geschrieben. Danach wird mittels eingeklammerter Steuerzeichen festgelegt, wie der Browser den Text darstellen soll. Der Browser interpretiert die Steuerzeichen, z.B. für fette oder kursive Darstellung, sowie für die Buchstabengröße und der Anwender sieht das Ergebnis dann so wie der Browser es interpretiert.

Dadurch bleiben die Dateien bei der Übertragung kompakt und der Rechenaufwand beim Benutzer gering. Im Laufe der Zeit hat man dann die Möglichkeiten hinzugefügt, Bilder, Graphiken, Töne usw. anzugliedern, aber dies geschieht eher in der logischen Qualität des Anhängens derartiger Dateien an E-Mails. Man spricht auch davon, dass der ASCII-Text durch die Steuerzeichen markiert oder ausgezeichnet wird. HTML gehört daher zu den so genannten Markup-Languages.

Neben dem rein Layout-orientierten Markup könnte man sich auch ein Markup überlegen, welches sich an Inhalten oder anderen logischen Elementen orientiert. Dieses sog. logische Markup ist dem Layout-orientierten Markup deutlich überlegen, weil man eine Bedeutung, Semantik, miterfassen und somit in ganz anderer Weise durch die Einbettung von Inhalten in Zusammenhänge z.B. Fehler vermeiden kann. So ist der Ersteller einer rein Layout-orientierten Seite der Funktion des von ihm nicht zu beeinflussenden Browsers auf der Seite des Anwenders völlig ausgeliefert. Mit logischem Markup kann er mehr beeinflussen, was der Browser nun eigentlich macht.

Man hat auch für HTML logische Tags entwickelt, so z.B.

... . Allerdings haben dann viele unterschiedliche Stellen versucht, weitere Tags zu definieren, was aber wegen der unterschiedlichen Sichtweisen nicht zum Erfolg führen konnte.

Die Weiterentwicklung des Webs

Das für die Weiterentwicklung des Webs zuständige Hauptgremium WWW Consortium (W3C) hat deshalb einen neuen Standard entwickelt, die sog. Extensible Markup Language, XML. Um dabei nicht wieder in eine Sackgasse zu geraten, ist XML nicht einfach eine weitere Auszeichnungssprache, sondern eine standardisierte Sprache zur Definition der Syntax von Auszeichnungssprachen. Also sozusagen eine Ober-Auszeichnungssprache, von der alle Auszeichnungssprachen abgeleitet werden können. Eine Auszeichnungssprache wird mit ihrer Grammatik festgelegt. Diese Grammatiken kann man in XML aufschreiben. Dies ist an sich nichts Neues, sondern wurde bereits mit der Standard Generalized Markup Language (SGML) schon 1986 als ISO-Standard definiert.

Was ist also der tiefere Sinn dieser zunächst sehr kompliziert anmutenden Konstruktion?

Wir erinnern uns dunkel an das OSI-Referenzmodell. Ein Dokument ist ein Objekt der Schicht 7 und erhält seine Darstellungsform in der Schicht sechs. Wir hatten ja gesehen, dass es zweckmäßig ist, für verschiedene Anwendungen wie E-Mail oder das Einloggen in fremde Rechner unterschiedliche Darstellungen zu verwenden. Denkt man jetzt zunächst an die Bürokommunikation, besteht ein Dokument im weitesten Sinne aus Inhalt, Struktur und Layout.

Bei HTML wird z.B. die Struktur mehr oder minder völlig übergangen, weil die einzige Möglichkeit der Strukturierung die einzelne Seite ist, die ihrerseits mit Hyperlinks auf andere Seiten zeigt. Eine Strukturierung, wie wir sie z.B. in einem Buch haben, in wohlgeordneten Kapiteln, Unterkapiteln und Absätzen ist in dieser Art in HTML nicht vorgesehen. Man kann sie zwar nachbilden, indem man die einzelnen Absätze über Links miteinander verknüpft, aber es ist eben nicht das Gleiche. Insbesondere kann die derart abgebildete Struktur durch kleinste Fehler, wie z.B. falsche Links, zerstört werden. Wenn man etwas weiter denkt, wird sich die Ausgabe von Dokumenten im Zusammenhang mit dem Internet nicht auf PCs mit normalen Bildschirmen beschränken. Der Run auf die Smartphones und iPads zeigt z.B. deutlich den Bedarf nach mobiler Kommunikation. Also besteht die Tendenz, ein Dokument auf unterschiedlichen Medien auszugeben. Dies darf nicht zum Informationsverlust führen, während sich das Aussehen auf den unterschiedlichen Medien durchaus ändern kann.

SGML

SGML basiert auf dem Konzept der Trennung des Informationsgehaltes eines Dokumentes von seinem Erscheinungsbild. Mit Hilfe von Marken (Tags) werden nicht nur Inhalte, sondern auch Strukturen beschrieben. Diese Marken werden in das Dokument eingebettet. Die Interpretation und die Verarbeitung der Strukturinformationen liegen bei dem Programm, welches das Dokument verarbeitet, also z.B. anzeigt. Dies ist in der PC-Welt allgemein üblich, man denke nur an den Bereich des Druckens.

Jede Marke markiert Anfang und Ende eines Elements. Das kennen wir ja eigentlich schon von HTML. HTML ist eine Sprache, die sozusagen durch SGML als SGML-Anwendung, definiert wurde. SGML selbst schreibt keine festen Elemente vor, sondern den Weg, wie man Elemente definiert und wie die definierten Elemente im Rahmen einer so genannten Dokumentenklasse zueinander stehen. Eine Menge von SGML-Elementen, die für einen bestimmten Anwendungszweck definiert werden, heißt SGML-Anwendung.

HTML ist eine solche SGML-Anwendung für die Zwecke der WWW-Seitenbeschreibung. Man kann sich aber jede Menge andere Anwendungen vorstellen, wie Vorlagen für Briefe, allgemeine Berichte, Aufsätze, usw. Jede SGML-Anwendung wird durch eine Dokument Typ Definition (DTD) beschrieben, die eine Grammatik dieser Anwendung formuliert. Wenn ein Dokument der DTD einer SGML-Anwendung entspricht, dann nennt man es auch Instanz dieser Anwendung.

Im Web existieren sehr unterschiedliche Angebote für einzelne Seiten, ganze Datenbanken, Informations-Warenhäuser, Dienstleistungen usw. Alle diese sind mit eigenen Beschreibungssprachen formuliert, die dann jeweils in HTML-Seiten umgesetzt werden. Diese Umsetzung ist aber auf die Dauer nicht haltbar, weil zum einen spezielle Qualitäten der anwendungsgebundenen Beschreibungssprachen verdeckt werden und zum anderen durch die Umsetzung unangenehme Fehler entstehen können. Hier ist eine neue Sprache fällig, die den Einschränkungen von HTML nicht unterliegen soll. SGML ist aber viel zu komplex und setzt in den interpretierenden Stationen eine hohe Rechenfähigkeit voraus.

Deshalb haben die Menschen außerhalb der Kerninformatik in den letzten Jahren auch so wenig von SGML gehört. Das können wir aber im Zuge der gewünschten Mobilität von Internet-Endgeräten auch nicht brauchen. Der XML-Standard des W3C ist eine Untermenge von SGML, welcher die komplexeren und seltener benutzten Elemente nicht umfasst und trotzdem flexibel genug für die Definition von Sprachen ist, die weit über das Leistungsspektrum von HTML hinausgehen. XML beschreibt eine Klasse von Datenobjekten und teilweise das Verhalten von Programmen, die mit diesen Objekten umgehen. Diese Objekte werden XML-Dokumente genannt.