Fachbereichsarbeit

Informatik

Fortgeschrittene HTML-Designstrukturen

von

Wolfgang Spreicer

unter Betreuung von

Mag. Helmut Caba

1999

Inhalt

 

Die Geschichte des Internets

 

Der Anfang des Internets

Anfang der 60er Jahre machte sich eine der Denkfabriken des "Kalten Krieges", die "RAND Corporation" in den USA Gedanken über ein strategisches Problem: Wie sollten die US - Machtinhaber, - Behörden und - Militärs nach einem Nuklearkrieg untereinander die Kommunikation aufrecht erhalten?

Ein atomar verwüstetes Amerika würde ein Kommando- und Steuerungsnetzwerk benötigen, das alle Städte und Staaten, sowie alle militärischen Stützpunkte miteinander verbindet. Wie schwer auch die Verwüstungen (auch des Netzes selber) gewesen wären, die funktionsfähigen Teile sollten nach wie vor in der Lage sein, untereinander zu kommunizieren.

Wie aber sollte dieses Netzwerk selbst gesteuert werden? Jede zentrale Behörde oder jede zentrale technische Einheit würde naturgemäß das Risiko des Ausfalls in sich tragen, egal wie gut sie geschützt wäre. Sie wäre selbst wahrscheinlich ein bevorzugtes Ziel gegnerischer Angriffe geworden. Unter höchster militärischer Geheimhaltung begann die "RAND Corporation" - vermutlich im Jahre 1962 - damit, dieses Problem zu untersuchen. Die von Paul Baran (ein damaliger Mitarbeiter der RAND Corporation) erarbeiteten Lösungsvorschläge wurden erstmalig 1964 veröffentlicht. Das wichtigste daran waren zwei Punkte:

1. Das Netzwerk sollte keine zentrale Steuerung und damit auch keine zentrale Autorität erhalten.

2. Das Netzwerk sollte von Beginn an so ausgebildet werden, dass schon kleinste Komponenten komplett funktionsfähig wären.

 

Der Grundgedanke des Internets

Die Prinzipien waren einfach. Das Netzwerk selbst musste dafür Sorge tragen, dass es zuverlässig arbeitete. Alle Knotenpunkte des Netzes mussten daher denselben Status im Netz haben, jeder Knoten ausgestattet mit seiner eigenen Berechtigung, Nachrichten zu erzeugen, zu empfangen und zu übertragen. Die Nachrichten selbst sollten in einzelne Pakete unterteilt werden, wobei jedes Paket einzeln mit Absender und Adressat versehen werden sollte. Das hatte den Vorteil, dass bei Ausfall einzelner Pakete nur diese und nicht die gesamte Nachricht wiederholt werden musste. Jedes Paket wurde an einem Startknoten in das Netz eingebracht und an einem Zielknoten entgegengenommen. Jedes Paket sollte einem individuellen Weg durch das Netz folgen können.

Die genaue Route eines Pakets war also vollkommen unwichtig, wichtig war ausschließlich, dass das Paket am Zielort eintreffen würde. Jedes Paket wurde also, ähnlich eines Wassereimers in einer Menschenkette, von Knoten zu Knoten weitergereicht, immer in die ungefähre Richtung des Zieles, bis es am genauen Zielpunkt angekommen war. Auch wenn große Teile des Netzes ausgefallen wären, sollte dieses Prinzip nach wie vor funktionieren, solange der Empfänger nur überhaupt noch irgendwie Kontakt zum Netz hätte, da immer nur direkte Nachbarn miteinander kommunizierten. Dieses System erscheint zwar sehr ineffizient, da Kriterien, wie Laufzeiten der Pakete oder Dauer der gesamten Nachrichtenübermittlung nicht berücksichtigt wurden, aber es war und ist im höchsten Masse ausfallsicher.

 

Erste Schritte zur Entstehung des Internets

In den 60er Jahren wurde dieses Konzept ohne wirklichen Fortschritt zwischen RAND, MIT und UCLA herumgereicht, aber das erste kleine Testnetz, das wirklich auf diesen Grundlagen realisiert wurde, stand in Großbritannien. 1968 wurde es vom dortigen National Physical Laboratory in Betrieb genommen. Aber nur kurze Zeit später entschied das Pentagon, ein wesentlich größeres Projekt in den USA zu realisieren. Als Knoten sollten seltene und sehr teure Hochgeschwindigkeits - Supercomputer eingesetzt werden (oder was man damals dafür hielt).

Im Frühjahr 1969 wurde der erste dieser Computer in der kalifornischen Universität installiert. Im Dezember waren dann schon 4 Universitäten mit so einem Knotenrechner ausgestattet und über schnelle Datenleitungen miteinander verbunden. Die Advanced Research Projects Agency war federführend bei dem Aufbau und gleichzeitig Namensgeber des Netzes: das ARPA-Net war geboren. Mit Hilfe des ARPA-Netzes waren die Wissenschaftler in der Lage, Computerdaten und -programme auf fremden Rechnern über weite Entfernungen direkt zu nutzen und diese Rechner Ihren Wünschen entsprechend zu steuern. Dieses Netz entwickelte sich schnell weiter, so dass 1972 bereits 37 Knoten existierten und man stellte fest, dass es hervorragend funktionierte. Ebenfalls 1972 verschärfte das Pentagon die Zugangskontrollen zum Netz. Um dieses auch nach Außen zu demonstrieren, wurde es zusätzlich umbenannt. Es entstand das "DARPA-Net", wobei das "D" für "Defense" stand. Heute wird trotzdem auch für den Zeitraum nach 1972 oftmals vom ARPA-Net gesprochen.

 

Es zeigen sich die ersten Resultate

Bereits im zweiten Jahr hatte sich gezeigt, dass sich das ARPA-Net zu einer staatlich subventionierten elektronischen Post entwickelt hatte. Der hauptsächliche Datenverkehr entstand nicht durch das Fernbedienen von Computern, sondern durch den Austausch von Neuigkeiten und persönlichen Nachrichten. Die Forscher nutzten das ARPA-Net, um Projekte abzusprechen, um Erfahrungen auszutauschen und vielleicht auch, um den einen oder anderen Witz zu verbreiten. Die Leute hatten ihren persönlichen Netzzugang und ihre persönliche Adresse für ihre elektronische Post. Sie nutzten das Netz zwar nicht ausschließlich zu diesem Zweck, aber sie waren geradezu enthusiastisch über die ihnen dadurch entstandenen Möglichkeiten; wesentlich enthusiastischer jedenfalls, als über die Möglichkeit der Fernbedienbarkeit von Computern. So hatte man die ersten sogenannten "Mailing-Listen" entwickelt; eine Technik des Rundsendens im Netz, bei der dieselbe Nachricht an alle Abonnenten einer solchen Liste verschickt wurde. Das mussten nicht zwangsläufig beruflich bezogene Listen sein. Bezeichnenderweise entstand eine der ersten wirklich großen Mailinglisten im ARPA-Net als Zusammenschluss der SF-Fans im Netz und trug den Namen "SF-LOVERS". Die Netzadministratoren der einzelnen Knotenrechner verfolgten das Geschehen zwar eher skeptisch, konnten es letztendlich aber nicht verhindern.

 

"Das Internet", wie wir es heute kennen, entsteht

In den 70er Jahren wuchs das Netz beständig. Teils in Form des DARPA-Netzes und teilweise in Form des neuen "CSNET" (Computer Science Research Network), das von den US-Universitäten ab 1973 parallel aufgebaut wurde, da durch die restriktiven Zugangskontrollen der Militärs zum DARPA-Net die Möglichkeiten der Wissenschaftler stark eingeschränkt wurden. Es gab allerdings viele Verbindungen zwischen den beiden Netzen (Die Wissenschaftler nutzten einfach die damals enormen Übertragungskapazitäten des DARPA-Net mit!) . Die dezentrale Struktur des Netzes machte eine Erweiterung sehr einfach. Solange neu hinzukommende Maschinen nur die paketorientierte "Sprache" dieses neuen "anarchischen" Netzwerks beherrschten, war es gleichgültig, wem sie gehörten, welchen Inhalt sie hatten, oder wie ihr Name war.

Die ursprünglich entwickelte "Sprache", das Protokoll, mit dem sich zwei Nachbarknoten unterhalten, wurde NCP genannt, "Network Control Protocol". Doch bereits 1972 hatte sich die INTER-Network Working Group formiert, um auf der Grundlage von NCP ein gemeinsames Protokoll zu erstellen, dass die Datenübertragung zwischen unterschiedlichsten Hardwareplattformen und vor allem zwischen autonomen Netzen ermöglichen sollte. Es entstand ein befriedigenderer Standard, der bekannt wurde unter dem Namen: TCP/IP. TCP, oder "Transmission Control Protocol", beschreibt, wie Nachrichten in Pakete zerlegt werden und am Ziel wieder zur Originalnachricht zusammengesetzt werden können. IP, oder "Internet Protocol", wird benötigt, um die Pakete zu adressieren, damit sie über diverse Knoten oder auch Netzwerke mit verschiedensten Übertragungsstandards (also nicht nur DARPA's NCP, sondern auch andere, wie z.B.: Ethernet, X.25,...) ihren Weg (ihre Route) finden.

Ab 1977 wurde nur noch TCP/IP benutzt, um andere Netzwerke mit dem DARPA-Net und untereinander zu verbinden. Das DARPA-Net blieb bis 1983 unter strengster Pentagon - Kontrolle, dann wurde der militärische Bereich komplett aus dem Netz entfernt und als autonomes MILNET weitergeführt. Gleichzeitig wurde das ARPA-Net auch intern auf das TCP/IP - Protokoll umgestellt. Um das ARPA-Net herum wuchs eine immer größere Anzahl an neuen Netzmitgliedern (und natürlich auch Netzen) heran, die die ursprüngliche Bedeutung dieses Ur - Netzes mit der Zeit immer mehr relativierten.

 

Das Internet wächst rasch

Im Laufe der 70er und noch mehr im Laufe der 80er Jahre erhielten immer mehr unterschiedliche Gesellschaftsgruppen Zugang zu leistungsfähigen Computern. Die Netzgemeinde war nicht mehr auf Militärs, Regierung und Universitäten beschränkt. Es wurde schließlich immer einfacher, diese Computer an das ständig wachsende "Netz der Netze" anzuschließen. Durch die zunehmende Verbreitung von TCP/IP kamen immer mehr Netze an "das Internet" heran, indem Datenleitungen von bisher autonomen Netzen zu bereits im Internet integrierten Netzknoten geschaltet wurden, wodurch die darin enthaltenen Netzknoten ihrerseits wiederum zu Internet - Netzknoten wurden. Da die Software (also das Programm), die das Protokoll TCP/IP realisierte, "Public - Domain" war, also für jedermann gegen Zahlung von marginalen Beträgen zu erwerben war, und die physikalische Struktur des Netzes von Natur aus dezentral ist, war es schwierig, die Leute davon abzuhalten, sich an jeder beliebigen Stelle in das Netz "einzuklinken". Eigentlich wollte das auch niemand. So wuchs also ein vollkommen chaotischer Verbund von unterschiedlichsten lokalen Netzwerken aus der ganzen Welt zu etwas zusammen, das dann unter dem Namen "Internet" bekannt wurde.

 

Probleme des schnellen Wachstums

1984 begann die National Science Foundation, einen Nachfolger für das vollkommen überlastete ARPA-Net aufzubauen. Das NSF-Net hatte größere und schnellere Knotenrechner, mehr und schnellere Datenleitungen und wurde permanent aus- und umgebaut. So hatte man bereits 1986 ein (in den USA) flächendeckendes Netz aufgebaut, in dem die Netzknoten mit 56kbit/sec miteinander kommunizierten. Dieses Netz wurde bekannt als "das Internet - Backbone". Im Jahre 1990 wurde dann endgültig das Ende des ARPA-Net verkündet (Wobei das NSF-Net natürlich weitergeführt wurde). Andere Organisationen schlossen sich dem NSF-Net an, oder bauten eigene Netze auf, so z.B. die NASA, die amerikanische Gesundheitsbehörde, usw.

Die Masse der Netze und Knoten wurde schnell unüberschaubar und man versuchte, die Netze nach ihrer geographischen Zugehörigkeit mit Namen zu unterteilen, so steht z.B. das Kürzel "de" für Deutschland. Zusätzlich gründete man sechs Basisbereiche, die sog. "Domains": gov, mil, edu, com, org und net (solche Abkürzungen sind von Anfang an fester Bestandteil des TCP/IP Protokolls gewesen). Gov, mil und edu standen für die drei Pioniere des ARPA-Net: Government (Regierung), Military (Militär) und Education (Bildung/Universitäten). "Com" markierte den Bereich der Commercials, also der Wirtschaft, die explosionsartig und mit brutaler Gewalt das Netz expandierte. Die org - Domain blieb anderen Organisationen vorbehalten, die nicht auf Profitbasis arbeiteten. Mit "net" schließlich wurden alle Computer bezeichnet, die als "Gateways", also als Zugang zu anderen Netzen fungierten. Um die Verwendung weiter unterteilender Domain - Namen zu ermöglichen, wurden weltweit diverse "DNS-Server" aufgebaut, die die Zuordnung von Namen zu Netz-(IP-)Nummern ermöglichten.

 

Die Entwicklung geht weiter

Einen ungeheuren Wachstumsschub bekam das Internet durch die Entwicklung des "World Wide Web" in den Jahren 1989/1990. Durch eine abstrakte Seitenbeschreibung konnte man ein relativ einheitliches Erscheinungsbild der gleichen Seite auf unterschiedlichen Rechnern erreichen. Mit der Entwicklung und Verbreitung sog. "Browser-Software" zur Anzeige dieser sowohl Text als auch Grafik enthaltenden Seiten, war der Siegeszug des WWW nicht mehr aufzuhalten. Zusätzlich können diese Seiten "Hyperlinks" enthalten, die auf andere WWW-Seiten verweisen und diese durch Anklicken mit der Maus dem Benutzer direkt verfügbar machen.

Heutzutage geht man von mehreren hunderttausend Knotenrechnern im Netz aus und die Userzahl hat zweistellige Millionenbeträge erreicht. Schätzungen gehen z. Z. von 40 Millionen Usern aus. Jede Angabe muss dabei aber pure Schätzung bleiben, da auf Grund seiner dezentralen Struktur nirgendwo im Netz erfasst werden kann, welche Knoten wo in diesem gigantischen Netzwerk aufgebaut wurden und wieviele User dann auf ihnen arbeiten (Zumal sich diese Angaben vermutlich auch noch im Sekundentakt ändern!).

Die Wachstumsraten des Internet sind beeindruckend. 1991 z.B. wuchs das Netz um 20% MONATLICH. Von 1988 bis 1992 verdoppelte sich die Anzahl der Netzknoten jedes Jahr. Inzwischen hat das Internet lange den traditionellen Bereich der Hochschulen verlassen und ist auf immer breiterer Basis allgemein verfügbar.

 

Wer benützt das Internet?

Das Internet ist natürlich nach wie vor besonders beliebt bei Forschern und Computertechnikern, da es auf Grund seiner Geschichte diesen beiden Gruppen besonders viel Nutzen bringt. Wahrscheinlich ist das Netz mindestens unterstützend, wenn nicht gar ursächlich verantwortlich für die immer kürzer werdenden Innovationszyklen in Wissenschaft und Industrie, da neue Erkenntnisse, sobald sie im Internet veröffentlicht werden, praktisch sofort Jedem zu Verfügung stehen und somit oftmals Fehl- und Doppelentwicklungen verhindert werden können.

Faszinierend ist mit Sicherheit auch die absolute Freiheit im Netz. Das Internet ist ein Beispiel einer wirklich funktionierenden Anarchie. Es gibt keine Firma "Internet GmbH", es gibt keine Aktionäre und keine Zensoren. Trotz aller gegenteiliger Bemühungen ist das Internet nach wie vor frei von jeglicher staatlicher Reglementierung. Prinzipiell kann Jeder mit jedem Mitglied der Netzgemeinde beliebige Nachrichten austauschen, solange er sich nur an die Regeln der Protokolle TCP/IP hält. Diese Regeln sind allerdings vollkommen technikbasiert und berücksichtigen in keiner Weise soziale, ökonomische oder politische Belange. (Anfänglich gab es große Diskussionen im Netz darüber, ob Wirtschaftsunternehmen ihre Geschäfte überhaupt über das Internet abwickeln durften, oder ob man ihnen den Zugang verwehren sollte. Die Unternehmen beendeten diese Diskussion, indem sie ihre eigene Infrastruktur aufbauten) Das Internet ist eine Institution, die keiner Institutionalisierung unterliegt.

Zusätzlich ist es unmöglich, entfernungsabhängige Entgelte zu erheben, bedingt durch das Prinzip des Netzes, dass nur direkte Nachbarn miteinander kommunizieren und der Weg eines Datenpaketes nicht klar definiert ist. D.h., egal an welchem Punkt oder über welche Institution jemand an das Internet angeschlossen ist, kostet es ihn dasselbe Geld, eine Nachricht an IBM Deutschland zu schicken oder dieselbe Nachricht an die IBM-Zentrale in den USA zu senden. Jeder Anbieter ("Provider") von Internetzugängen kalkuliert immer nur seinen eigenen, lokalen Bereich und entwickelt daraus seine eigene Gebührenstruktur.

Trotz dieser Freiheiten verfolgt natürlich jede Organisation mit dem und im Internet ihre eigenen Interessen. Geschäftsleute wollen das Internet professioneller im ökonomischen Sinne betrieben sehen, staatliche Stellen wollen mehr Kontrolle ausüben, Forscher möchten gerne wieder zurück zum rein wissenschaftlichen Forschungsnetz, Militärs wollen noch mehr Kontrolle und Sicherheit im Netz, usw.

Diese ganzen sich teilweise widersprechenden Interessenlagen ergeben heute eine empfindliche Balance, so dass das Internet noch in seinem "anarchischen" Zustand verbleibt. Eine Zeitlang dominierte bereits das NFS - Net mit seinem riesigen High - Tech - Park die Szene, doch nachdem andere Institutionen ähnliche oder noch größere und noch schnellere Netze aufbauten, entstanden jede Menge "Backbones", so dass der Einfluss von NFS zurückging. Heute kann jeder mit relativ geringem Aufwand einen vollwertigen Internet-Knoten aufbauen. Den Rechner, der dazu benötigt wird, kann er dabei unter dem Arm von einem Ort zum anderen tragen. Mittlerweile gewinnen aber wirtschaftliche Interessen im Netz immer mehr die Oberhand, da immer mehr Unternehmen das Internet nicht nur als Kommunikationsplattform nutzen, sondern auch direkt mit dem Netz Geld verdienen wollen.

 

Die Dienste des Internets

Obwohl immer von "dem Internet" gesprochen wird, ist es auch in der möglichen Nutzungsweise in keinem Fall ein homogenes Ganzes. Die Dienste, die über das Internet genutzt werden können, sind ähnlich unterschiedlich, wie die geographische Struktur des Netzes. Hier einige Beispiele:

E-Mail: Die elektronische Post im Internet. Jeder hat im Internet eine eindeutige Mail-Adresse. Darüber kann er für ihn auf einem Netzknoten hinterlegte Post abholen, bzw. dort oder bei jedem anderen Netzknoten Post für andere abliefern. So ist es möglich, weltweit persönliche Nachrichten zu übermitteln, wobei die Zustellgeschwindigkeit nur von der Abfragehäufigkeit des Empfängers bestimmt wird. Dadurch ist sie in vielen Belangen der traditionellen Briefpost weit überlegen.

Mailingliste: Bedienen sich der E-Mail - Technik. Internetnutzer mit gleichen Interessen lassen sich in entsprechende Mailinglisten eintragen. E-Mails zu diesem Thema werden dann nur noch an eine Adresse gesendet, ein Rechner übernimmt dann die Verteilung der Nachricht an alle in der Liste eingetragenen Empfänger.

News: Auch bezeichnet als "Usenet". Auch hier wird eine Nachricht in Form einer E-Mail an eine zentrale Stelle gesandt, hier die "News - Group". Im Unterschied zu Mailinglisten, wo Interessenten eingetragen sind und dann zwangsläufig jede Nachricht der Liste übermittelt bekommen, kann hier jeder den Inhalt der News - Gruppe vor der Übermittlung sichten und nur ihm wirklich interessant erscheinende Nachrichten abrufen. So ist es in einer News -Group ausreichend, einfach nicht die Gruppe aufzusuchen (z.B. bei Urlaub, etc.) und der eigene Rechner wird nicht mit ungelesenen Nachrichten belastet. Bei Mailinglisten ist hier eine Nachricht an den entsprechenden Server nötig. Für die Zeit, in der man nicht Mitglied einer Mailingliste ist, bekommt man entsprechend auch keine Nachrichten, während News -Groups auch später noch eingesehen werden können.

File Transfer: Spezieller Dienst, dessen Protokoll geschwindigkeitsoptimiert arbeitet, um auch die Übertragung großer Dateien im Internet in annehmbarer Zeit zu ermöglichen.

Telnet: Einer der Dienste, für die das Konzept des Internet ursprünglich entwickelt wurde, ermöglicht das Fernbedienen von fremden Rechnern.

World Wide Web: Ein passiver Dienst auf grafischer Basis zur Informationsabfrage. Der besondere Reiz des Web liegt in seiner abstrakten Seitenbeschreibungssprache, die es ermöglicht, mit einfachen Befehlen Text, Grafik und sog. "Hyperlinks" auf einer Bildschirmseite zu integrieren. Mit Hyperlinks wird es dem Betrachter ermöglicht, per Knopfdruck zu einem anderen Rechner zu wechseln, der eventuell weitergehende Information zu dem interessierenden Thema bietet. Die Fortbewegung durch das gesamte Internet mittels dieser Hyperlinks wird als "surfen" bezeichnet.

Java: Eine rechnerunabhängige Programmiersprache als Erweiterung des WWW, die es ermöglichen soll, dass Grafiken animiert werden können (Filme und Sequenzen) und eine Kommunikation zwischen dem Seitenanbieter und dem User stattfinden kann (Wobei große Teile bereits funktionieren und im Einsatz auf zahlreichen Rechnern sind). Als Konkurrenz dazu wurde von Microsoft das Konzept ActiveX aus der Taufe gehoben, welches aber erhebliche Sicherheitslücken aufweist.

Darüber hinaus gibt es eine Fülle an weiteren denkbaren und teilweise auch praktizierten Anwendungen für die Internettechnik, die hier nicht angesprochen wurden. Nach meiner (naturgemäß vollkommen subjektiven) Meinung sind aber die wichtigsten erwähnt worden.

 

Die Zukunft des Internets

Nachdem die Pionierzeit in Deutschland (und Europa) vor allem durch Newcomer und relativ kleine Firmen bestimmt wurde, haben jetzt die großen Kommunikationsunternehmen das Internet entdeckt. Das Problem der kleineren Betriebe waren die hohen Leitungskosten zur Anbindung an andere Internet - Netzknoten. Da das "Kernnetz" sich zu dem Zeitpunkt hauptsächlich in den USA befand, musste jeder Provider, der einen qualitativ hochwertigen Anschluss an das Internet suchte, eine schnelle Datenleitung über den großen Teich legen lassen. So geschieht es zur Zeit immer noch häufig, dass Nachrichten "zur anderen Strassenseite" zweimal die Strecke Deutschland - Amerika zurücklegen müssen, da erst dort entsprechende Querverbindungen existieren. Die kleinen Provider konnten (oder wollten) die teuren Querleitungen nicht bezahlen.

Zur Zeit bauen alle großen Unternehmen mit Ambitionen im Internet ihre Infrastruktur mit gigantischem finanziellen Einsatz aus und bilden strategische Allianzen mit etablierten Unternehmen. Ob überhaupt jemand gegen die Konkurrenz eine Vormachtstellung erlangen kann und wer es sein würde, kann nicht vorhergesagt werden, da die Leitungskosten immer weiter absinken und letztendlich wohl nur die richtige Strategie und das finanzielle Polster zum Überwinden von Durststrecken entscheiden werden. Den User wird es so oder so freuen, da nun die dringend benötigten europäischen "Backbones" aufgebaut werden und durch den Konkurrenzkampf die Preise sicherlich weiter sinken.

Dabei ist das Internet momentan kurz vor seiner logischen Wachstumsgrenze. Das Internet-Protokoll definiert einen festen, also endlichen Adressbereich, in dem sich alle Mitglieder des Internet bewegen müssen. Dieser schien bei der Entwicklung von TCP/IP vollkommen überdimensioniert, doch die tatsächlich eingetretene Expansion des Netzes konnte wohl zur Entwicklungszeit niemand vorhersehen. Daher wurde ein Nachfolger geschaffen, der unter den Namen "Internet-Protokoll Next Generation" oder "Internet-Protokoll Version 6" bekannt wurde. Dieses neue Protokoll bietet u. a. einen riesigen Adressbereich (soweit eine solche Einschätzung nicht durch die Realität wieder eingeholt wird). Alle namhaften Hard- und Softwarehersteller sind inzwischen dabei, entsprechende Produkte bereitzustellen, so dass demnächst das Internet Zug um Zug auf "IP NG" umgestellt werden dürfte, wobei alte Protokollwelten zu diesem neuen Standard kompatibel bleiben sollen.

Zusätzlich gibt es derzeit zahlreiche Ansätze, die überwältigende, aber auch vollkommen chaotische Informationsflut für die Endkunden übersichtlicher zu gestalten. Wie von den Mailinglisten und Newsgroups her bekannt, kann der User sich bei den entsprechenden Providern für einen Themenschwerpunkt entscheiden, z.B. "Wassersport", "Astronomie", usw. Der Provider durchforstet das Netz dann nach interessanten aktuellen Seiten zu diesen Themen und stellt diese seinen Usern täglich zu. Ein Wenig funktioniert das Ganze wie ein reiner Nachrichtensender im Rundfunk, wobei nur Nachrichten zu interessierenden Themen übertragen werden. Natürlich sind diese Dienste meistens nur gegen ein entsprechendes zusätzliches Entgelt zu beziehen.

 

Sehr spannend ist auch die aktuelle Diskussion um das "Domain Name System" DNS. Nach Ablauf der Verträge zwischen den Betreibern der Root-Server und den US-Behörden tobt hinter den Kulissen z.Zt. ein Verhandlungsmarathon zwischen staatlichen Institutionen und allen namhaften Providern weltweit. Eine abschließende Regelung ist dabei noch nicht in Sicht.

 

HTML - Tags

Grundtags für HTML-Seiten

Hier finden Sie die Tags, die das Grundgerüst von HTML-Dokumenten bilden und die nicht explizit bei der Ausgabe erscheinen.

Die Tags, die sich in der Regel im Header verstecken, ermöglichen oft überraschende Effekt wie automatisches Reload gecachter Dokumente oder dynamische Dokumente. Eine weitere wichtige Funktion dieser "versteckten" Tags sind Informationen für Suchmaschinen zur Kategorisierung.

Der "Kopf" eines HTML-Dokumentes wird mit Erweiterungen wie etwa SCRIPT - Tag für in die HTML-Seite integrierte Script - Programme oder dem STYLE - Tag für Stylesheets immer wichtiger. Mit diesen Erweiterungen werde ich mich in einem Kurzkurs in der nächsten Ausbaustufe beschäftigen.

Tag-Überblick

BASE

Legt eine absolute Basis - URL fest.

HEAD

Kennzeichnet den Kopf eines Dokumentes

Anwendung bei der Repoint Homepage:

<head>

<meta http-equiv="Repoint"

content="Homepage; charset=iso-8859-1">

<title>LINKES FRAME</title>

<base target="rechts">

</head>

HTML

Definiert Anfang und Ende einer HTML-Seite.

ISINDEX

Kennzeichnet ein Dokument über einen Suchbegriff.

LINK

Stellt den Zusammenhang zwischen verschiedenen HTML-Dokumenten her.

META

Enthält "Meta - Informationen" über ein Dokument.

Anwendung bei der Repoint Homepage:

<meta http-equiv="Repoint" content="Homepage; charset=iso-8859-1">

NOSCRIPT

Alternativer Text für Browser, die keine Scripts interpretieren.

SCRIPT

Mit Java kamen auch die Scriptsprachen auf die HTML-Seiten: Interaktive Elemente einer Seite, die sich wie eine Programmoberfläche verhalten kann.

Anwendung bei der Repoint Homepage:

<script language="JavaScript">

...

</script>

STYLE

Tag für die Definition von Stylesheets..

TITLE

Bestimmt den Titel, unter dem das Dokument im Bookmark - Fenster erscheint.

Anwendung bei der Repoint Homepage:

<title>LINKES FRAME</title>

Navigator

Dynamische Web - Seiten

Führte die dynamischen Dokumente (Client - Pull) ein. Das Script - Tag ab Version 2.0 hat HTML-Seiten eine ganz neue Dimension eröffnet - auch wenn der Browser dabei manchmal "aussteigt".

Internet Explorer

Stylesheets in Wartestellung

Mit den unterstützten STYLE - Sheets gibt es ein neues Tag im HEAD - Teil. Leider werden die Stilanweisungen derzeit nur vom Microsoft Internet - Explorer unterstützt.

 

Inhalte strukturieren

Zeilenumbrüche, Linien und Überschriften bilden erste Strukturen in Texten.

In diesem Kapitel geht es darum, wie man die Texte, die vom Browser einfach von oben nach unten in das Fenster gefüllt werden, mit einfachen Mitteln unterteilt und strukturiert. Ohne diese Tags wäre der Inhalt von HTML-Seiten ein Textbrei, da Browser von vorneherein ENTER- und TAB - Zeichen nicht mitinterpretieren.

Anfänglich waren diese Tags ohne jegliche Attribute definiert. Inzwischen kann man aber mit entsprechenden Attributen schon die Ausrichtung von Absätzen bestimmen oder die Breite von Unterteilungslinien.

Die Grundtags werden aber übereinstimmend interpretiert und es gibt kaum irgendwelchen nennenswerten Unterschiede.

Tag - Überblick

BR

Einfacher Zeilenumbruch.

CENTER

Zentriert ganze Teile von HTML-Dokumenten inklusive Elemente wie Tabellen.

Anwendung bei der Repoint Homepage:

<p align="center">Datum <input type="text" size="8" name="Date"> </p>

HR

Zeichnet eine waagrechten Balken.

Hn

Die sechs verschiedenen Überschriftengrößen in HTML.

NOBR

Unterdrückt Zeilenumbruch am Fensterende.

P

P führt zu einen Zeilenumbruch mit zusätzlichem senkrechtem Leerraum.

PLAINTEXT

Darstellung von formatierten Text.

PRE

Interpretiert für einen Teil einer HTML-Seite neben den HTML-Tags auch ENTER- und

 

WBR

Erzwungener Zeilenumbruch bei NOBR.

XMP

Zeigt ganze Textteile in Schreibmaschinenschrift an und interpretiert den Inhalt als normalen Text.

 

Layouttags

500 Jahre Typographie wurden mit HTML über Bord geworfen, um ein schlankes Medium zu schaffen.

Vom typographischen Standpunkt gleicht das Web eine Wüste: Gerade einmal sechs Größen für Überschriften sah die HTML- Grunddefinition vor. Doch die Überschriften führten auch zu Zeilenumbrüchen. Innerhalb von Texten blieben da noch die Auszeichnungen Fett, Kursiv und die Schreibmaschinenschrift.

Netscape hat mit dem Navigator 1.1 und dem Tag FONT sieben Schriftgrößen definiert, die heute weitgehend von den Browsern interpretiert werden. Dazu kam noch Schriftfarbe und seit neuestem auch Schrifttyp.

Dazu kamen einige "proprietäre" Tags für "special effects" von Netscape und Microsoft. Die Tags MARQUEE oder BLINK werden aber entweder nur vom Navigator oder dem Internet Explorer interpretiert und sollten deshalb auch nicht verwendet werden.

Tag - Überblick

ADDRESS

Wird von Suchmaschinen für Adressinformationen ausgewertet.

B

Fettdruck bei Schriften

BASEFONT

Basisschriftgröße, mit der die relativen FONT - Größenangaben -1 oder "1 arbeiten.

BIG

Macht eine Schrift größer.

BLINK

Blinkender Text.

COMMENT

Kommentare innerhalb des HTML - Source - Codes, die nicht erscheinen sollen.

FONT

Definiert eine Schriftart in Größe, Farbe und seit neuestem auch Typ.

Anwendung bei der Repoint Homepage:

<font color="#0000FF" size="4" face="Comic Sans MS"><em>REMANCO </em></font>

I

Zeigt Text kursiv an.

MARQUEE

Laufschriften sind keine Domäne von Java - Fans - allerdings nur, wenn die Kunden den Microsoft Explorer verwenden.

Anwendung bei der Repoint Homepage:

<marquee behavior="alternate" scrollamount="10" scrolldelay="0">Repoint Homepage - Siezenheimer Straße 53, 5020 Salzburg</marquee>

S

Durchgestrichener Text

SMALL

Kleinere Schrift.

SUB

Subscript stellt Schrift tiefer.

SUP

Stellt Schrift höher

TT

Teletype sorgt für Schreibmaschinenschrift.

U

Unterstreicht Text.

Navigator

Nachlässig

Der Navigator Führte als erstes Farbe und Größen mit dem FONT - Tag ein und interpretiert in der Version 3.0 auch Microsoft face - Attribut für Schriften. Schmerzlich vermißt werden diese FONT - Auszeichnungen beim BASEFONT, gerade über Tabellenzellen hinweg. So bleibt nur eine FONT - Definition in jeder Zelle.

Internet Explorer

Typographischer Ehrgeiz

Führte den Schrifttyp ein. Daß es inzwischen mehr als einen Schrifttyp gibt, hat man dem Internet - Explorer zu verdanken. Netscape zog mit dem face - Attribut für FONT schnell nach.

Auch ansonsten zeigt Microsoft großes Interesse, die Web - Seiten mit Stil zu versehen: Einstellbare Schriftgrößen und erste Stylesheets zeigen Microsoft's typographischen Ehrgeiz.

 

Listen und Tabulatoren

Mit den Tags dieser Kategorie lassen sich Texte durch das Einrücken vom linken Fensterrand sowie Sonder- und Zählzeichen weiter strukturieren.

Eine Reihe von verschiedenen Tags dienen zur weiteren Unterteilung von Texten. Hierzu zählen beispielsweise die Listenelemente, nach denen ich diese Rubrik benannt habe. Sie werden von fast allen Browsern korrekt interpretiert, wenn es auch die einen oder anderen Unterschiede gibt.

Was allen in diesem Bereich definierten Elementen gemeinsam ist: Die besprochenen Tags ermöglichen eine Einrückung vom linken oder rechten Fensterrand.

Die wichtigsten und am häufigsten verwendeten Elemente sind die der geordneten und ungeordneten Liste. Ansonsten finden Sie hier eine Reihe von Tags, die wie beispielsweise MENU, schon auf der Abschußliste stehen.

Tag - Überblick

BLOCKQUOTE

Einrückung vom linken und rechten Fensterrand.

DD

Ist innerhalb von DL definiert und erzeugt Eintrag mit Einrückung.

DL

Definitionsliste mit Inhaltstags DT und DD.

DT

Definitionsausdruck innerhalb von DL.

LI

Element einer Listendefinition.

MULTICOL

Spaltensatz im Web? Netscape versucht es.

OL

Erzeugt mit LI eine numerierte Liste.

TAB

Mit HTML 3.0 wurden auch Tabulatoren definiert.

UL

UL erzeugt eine Liste mit Zeichen vor jeder LI - Zeile.

Positionierung leichtgemacht

Mit Tabellen können Sie Elemente wie Bilder und Texte relativ frei plazieren.

Tabellen sorgen für die größte gestalterische Freiheit. Von Netscape mit dem Navigator 1.1 eingeführt, wurden Sie schnell akzeptiert und waren "hauptschuldig" an dem beispiellosen Siegeszug von Netscape in der Browser-Welt.

Die Grundauszeichnungen werden inzwischen von allen namhaften Browsern interpretiert und dargestellt. Vor unliebsamen Überraschungen ist man aber selbst bei alteingeführten Konstruktionen wie Tabellen nicht sicher. Eine Konstruktion funktioniert auf dem einen Browser und auf dem anderen eben nicht. Selbst innerhalb der einzelnen Versionen gibt es teilweise erhebliche Unterschiede, die einem das Leben schwer machen. Da heißt es sich zu entscheiden: Sind die Konstruktionen so sinnvoll, daß es notwendig ist, auf einen Teil der Browser zu verzichten oder zu akzeptieren, daß das durchdachte Zusammenspiel der Elemente sich zu einem Gewurstel entwickelt.

Es gibt zwar noch immer "Puristen", die am liebsten Tabellen aus dem HTML-Seiten verbannen möchten, jedoch ist eine vernünftige Anordnung von Seitenelementen eben auch an feste Maße gebunden. Aus diesem Grund sind auch die Prozentangaben bei Tabellen mit Vorsicht zu genießen, und nicht nur, weil der Navigator damit Probleme hat.

Ein Argument für Tabellen: Bei der Lesbarkeit von Texten spielt die Zeichenanzahl pro Zeile eine wichtige Rolle. In Zeitschriften verwendet man den Spaltensatz mit 30 oder 40 Zeichen pro Zeile schließlich nicht zum Spaß.

Tag - Überblick

COL

Spezifiziert die Ausrichtung des Inhalts einer ganzen Spalte.

COLGROUP

Vertikale und horizontale Ausrichtung des Inhalts einer oder mehrerer Spalten.

TABLE

Das Tag, mit der jede Tabellendefinition anfängt, ist inzwischen mit einer Vielzahl von Attributen und Inhaltstags versehen.

TBODY

Beschreibt den Inhalt einer Tabelle, der in der bisherigen Tabellendefinition die Tabelle definierte.

TD

Table - Data definiert einzelne Tabellenzelle.

TFOOT

Beschreibt den Fuß einer Tabelle.

TH

Table - Header definiert einzelne Tabellenzelle.

THEAD

Definiert Kopf einer Tabelle

TR

TableRow bezeichnet den Anfang einer Tabellenzeile.

Navigator

Kein Mix von Prozent und Pixel - Angaben

Der Teufel steckt bei Netscape im Detail: So interpretiert Netscape beispielsweise keine gemischten Prozent- und Pixelangaben. In vielen Fällen wären solche Konstruktionen aber enorm hilfreich, um verschieden Auflösungen der Monitore zu berücksichtigen. Während der Explorer sie tadellos verarbeitet, gefällt sich Netscape in abenteuerlichen Anzeigen.

Internet Explorer

COLGROUP halbherzig

Den vollmundigen Aussagen der Browserhersteller wie HTML-3.2 konform usw. sollte man mit Vorsicht begegnen. Gerade der Microsoft Internet Explorer bekleckert sich nicht mit Ruhm, was die Einhaltung der angeblich unterstützten Tags anbetrifft. So nützliche Eigenschaften wie COLGROUP erweist sich beim Attribut valign nur als COL. Und das Tag TH weigert sich beim IE als widerspenstig, was die align - Attribute anbetrifft. Ebenfalls nicht klar ist die Unterstützung von THEAD, TBODY und TFOOT. Diese Tags sollten eigentlich einen nicht mitscrollenden Kopf- und Fußteil einer Tabelle erzeugen. Der Internet - Explorer gefällt sich inzwischen darin, alle denkbaren Elemente einer Tabelle farbig zu machen und sogar Hintergrundbilder für einzelne Zellen zu laden. Hier folgt Netscape zumindest bei der Hintergrundfarbe von Tabellen. Eine Errungenschaft, die ich gerne verwende.

Hypertext

Ein einziges Tag ist für die Hypertext - Eigenschaften zuständig - und vollkommen ausreichend.

A wie "Anchor" definiert die Web - Eigenschaften von HTML. Der eigentliche Grund für die Leistungsfähigkeit des Hypertextkonzepts von HTML liegt in den URLs, die mit ihrem einfachen und logischen Aufbau Millionen von Seiten auf hunderttausenden Rechnern ansprechen können.

Tag - Überblick

A

Definition von Sprungzielen für HTML-Teile und Setzen von Sprungmarken innerhalb von HTML-Seiten.

Navigator

Netscape führte die Frame - Technik Ende letzten Jahres mit der Version 2.0 des Navigators ein.

 

Bilderflut

Ein einfaches Tag machte aus grauen Online - Texten ein kunterbuntes Medium.

Bilder gehörten zu den ersten Multimediaelementen auf HTML-Seiten. Heute eine Selbstverständlichkeit, glich dies vor vier Jahren noch einer kleinen Revolution. Heute gibt es auf vielen Seiten außer Graphiken fast keinen Text mehr.

Für die Bildervielfalt zeichnet ein einziges Tag verantwortlich: IMG. Die einfache Anwendung ist auch ein Grund für den Erfolg von HTML.

Eine Wissenschaft für sich ist aber die "webgerechte" Bearbeitung von Bildern beim Herunterrechnen. Hierfür gibt es eine Reihe von speziellen Programmen und Tricks, die ich zu einem späteren Zeitpunkt hier behandeln möchte.

Tag - Überblick

AREA

Definiert innerhalb von MAP die anklickbaren Bereiche eines Bildes.

CAPTION

Bildunterschrift für FIG. Definition wie bei den Tabellen .

CREDIT

TAG für den Quellennachweis innerhalb von FIG.

FIG

Bindet Bilder mit vielen neuen Möglichkeiten ein.

IMG

Bindet externe Bilder ein.

Anwendung bei der Repoint Homepage:

<img src="zeiger3.gif" align="right" width="32" height="32">

MAP

Definiert die Koordinaten und Links für eine Clientside - Imagemap.

OVERLAY

Definiert innerhalb von FIG weitere Bilder, die über das Grundbild gelegt werden.

Navigator

Ungenaue Plazierung

Bei neben- oder untereinander plazierten Bildern hat jede Version des Navigators die unangenehmen Eigenschaft, daß ENTER - Zeichen unbarmherzig als Leerzeichen interpretiert wird. Dies führt dann oft zu sehr unübersichtlichen Quellcode.

Internet - Explorer

Mit align auf Kriegsfuß

Bei Inline - Images, die relativ zum Text definiert sind, zeigt der Explorer wenig Verständnis für die verschiedenen Werte - jedenfalls interpretiert er nur einen Teil davon und die anderen falsch. Wer also viel mit Inline - Images arbeitet und auf gleiches Aussehen von Navigator und Explorer achtet, der sollte nur die empfohlenen Werte verwenden.

Aus diesem Grund hat der Explorer beim IMG - Tag nicht den Bestwert erhalten.

 

Formulare

Mit Formularen kann der Anwender Daten zum Server schicken, die dann ein Programm verarbeitet.

Das Server - Protokoll hat ein einfaches Konzept für die Verarbeitung von Daten vom User eingebaut: Das CGI oder Common Gateway Interface. Doch dazu muß der User erst einmal Daten in die HTML-Seiten eingeben.

Die Dateneingabe in HTML-Seiten erfolgt über spezielle Eingabeelemente, aus denen Formulare gebaut werden. Ganze vier Tags gibt es für die für die Vielfalt an verschiedenen Elemente wie Select - Boxen, Radio - Buttons usw.

Als wahres Chamäleon erweist sich dabei das INPUT - Tag: Je nach Typ erscheint es in der Form eines Textfeldes, eines Radiobuttons oder eines Abschickknopfes. Da auch die "wirksamen" Attribute sich je nach Typen verändern, habe ich bei den Formularen eine Ausnahme zu dem bisherigen Schema gemacht: Ich habe die verschiedenen Typen einfach auf die Tag - Ebene geholt und dann die darauf funktionierenden Attribute besprochen.

So simpel die Erstellung von Formularen ist, so vielfältig sind die Möglichkeiten, dahinter Programme zu schalten. Die einzige Beschränkung: Das Programm muß auf dem Server laufen und Zugriff auf die cgi - Schnittstelle haben.

Tag - Überblick

FORM

Formularteil für Eingabefelder.

Anwendung bei der Repoint Homepage:

<form name="Datum">

...

</form>

OPTION

Auswahlwert von SELECT.

 

SELECT

Anfang und Ende einer Wertliste.

TEXTAREA

Textfelder mit mehreren Zeilen.

Frames

Seit dem Netscape Navigator 2 sind Frames auf der Web - Seite ziemlich populär. Dabei handelt es sich um Bildschirmrahmen, die sehr große Ähnlichkeit mit den Windows - Fenstern haben. Auch der Internet Explorer kann Frames darstellen. Teilweise finden sich bis zu sechs solcher Frames auf einer Seite, mit einem 14-Zoll-Monitor verliert der Surfer hier schnell den Überblick. Daher sollte man mit Frames sparsam umgehen.

Der Vorteil der Frames: Der Inhalt ist jeweils von den anderen Frames unabhängig. Für eine Web - Seite mit zwei Frames sind drei HTML Dateien, zwei Dateien für den Inhalt der beiden Frames und eine Datei, die die beiden Frames verknüpft. Diese wird "Meta" - Datei oder "Startdatei" genannt.

Beispiel

Hier der Quelltext der Meta - Datei der Repoint - Homepage:

<html>

<head>

<title>Web-Seite mit Frames</title>

</head>

<frameset cols="17%,*">

<frame name="links" src="links.htm" marginwidth="0"

marginheight="3" frameborder="Yes" scrolling="auto"

resizeable="no">

<frame name="rechts" src="rechts.htm" noresize

frameborder="Yes" scrolling="auto">

<noframes>

<body bgcolor="#FFFFFF">

<p>Ihr Browser unterstützt keine Frames! <br>

<br>

<b>Bitte downloaden sie sich </b><a

href="http://www.netscape.home.com"><b>Netscape</b></a><b>

oder höher aus dem Internet</b> <br>

</p>

</body>

</noframes>

</frameset>

</html>

Die Frames werden eingeleitet durch das Tag <frameset>. Hierüber wird die Anzahl und Größe der Frames festgelegt:

<frameset Cols="17%,83%">

Das Fenster wird in sogenannte Cols (= Columns, engl. für Spalte) aufgeteilt. Durch diese Zeile wird für das linke Frame 17% der Fenstergröße reserviert und für das rechte Frame 83%. Die Angabe der Framegröße in Prozent ist sehr praktisch, da die Internet - Surfer immer unterschiedliche Monitore benützen. Sowohl bei einem 14-Zoll-Monitor als auch bei einem 21-Zoll-Monitor haben die Frames immer die Größe von 17% bzw. 83%. Die alternative Darstellung der Größe in Pixel (z.B.: 150,650) hat den Nachteil, daß Surfer mit großen Bildschirmen auf der rechten Seite eine leeren Raum haben oder Surfer mit kleineren Monitoren nicht den gesamten Inhalt des rechten Frames sehen können.

Um drei Frames verwenden zu können, müssen lediglich eine dritte Größe und ein weiteres <frame> - Tag, um die Datei und den Namen festzulegen, hinzugefügt werden:

<frameset Cols="10%,10%,80%">

Eine schöne Abkürzung ist das Sternchen "*":

<frameset Cols="17%,*">

Das Sternchen bewirkt, dass dem dritten Frame der übrige Platz zugefügt wird, so viel das auch immer ist.

Um die Frames als Zeilen festzulegen, benutzt man das Attribut rows:

<frameset rows="17%,83%">

Nach dem <frameset> Kommando folgt der Befehl <frame>. Hierüber wird die HTML-Datei angegeben, die für das Fenster zuständig ist. Da in diesem Beispiel zwei Frames festgelegt wurden, gibt es zwei <frame>-Befehle:

 

<frame name="links" SRC="links.htm" marginwidth=0 marginheight="3" noresize frameborder="Yes" scrolling="auto">

<frame name="rechts" SRC="rechts.htm" noresize frameborder="Yes" scrolling="auto">

Betrachten wir nun die verschiedenen Attribute des <frame>-Befehls:

Durch das Attribut name wird für jedes Fenster ein Name festgelegt, in diesem Beispiel mit "links" und "rechts". Ein Name ist nicht zwingend erforderlich, erhöht aber die Übersichtlichkeit. Danach wird mit SRC="links.htm" und SRC="rechts.htm" der Inhalt der beiden Frames festgelegt. Die Dateien "links.htm" und "rechts.htm" werden beim Öffnen der Meta-Datei automatisch geladen und angezeigt.

Dieses Attribut bewirkt, dass bei Überschneidung von Frame- und Fenstergröße Laufleisten am Framerand angezeigt werden, mit denen man durch den Inhalt des Frames scrollen kann. Weiters kann dem Attribut noch die Werte "Yes" oder "No" zugeteilt werden. Diese beiden Möglichkeiten sind jedoch nicht empfehlenswert, da bei scrolling="Yes" immer eine Laufleiste angezeigt wird, auch wenn gar keine benötigt wird und bei scrolling="No" keine Laufleiste angezeigt wird, was zur Folge haben kann, dass der Surfer nicht die Möglichkeit hat, den ganzen Inhalt des Frames zu betrachten.

Dieser Befehl, der sich auf alle Fenster bezieht, bewirkt, dass der Surfer die Größe der Frames nicht verändern kann.

Gibt die Randbreite am linken und rechten Rand an.

Gibt die Randbreite am oberen und unteren Rand an.

Gibt eine Rahmenlinie zwischen den Frames an.

Damit ist die Meta-Datei eigentlich abgeschlossen. Der Inhalt der beiden Frames befindet sich in zwei seperaten Dateien, es sind herkömmliche Html-Dateien, in denen sie alle Befehle und Elemente einbauen können.

Anhand der Repoint Homepage kann man sehen, wie die Übersichtlichkeit einer Internetseite durch Frames gesteigert werden kann. Im linken Frame wird das gewünschte Thema angeklickt und im rechten Frame erscheint der Inhalt.

 

JavaScript

Bevor wir uns den praktischen Anwendungen von JavaScript zuwenden, noch einigen Daten und Fakten:

JavaScript erblickte Ende 1995, als der Netscape Navigator 2 veröffentlicht wurde, das Licht der Welt. Dies vollzog sich ungefähr parallel zur Veröffentlichung der Programmiersprache Java. JavaScript wurde von Netscape zunächst unter dem Code-Namen "mocha", dann unter dem Namen "Live-Script" entwickelt. Dabei hat man sich stark an der Programmiersprache Java von Sun orientiert. Nachdem Netscapes Entwicklung von Sun als "legitimer" Ableger von Java anerkannt wurde, hat man als endgültigen Namen JavaScript gewählt. JavaScript wurde damals in der Version 1.0 veröffentlicht und war fest in den Navigator eingebaut. Nur der Browser von Netscape konnte JavaScripts interpretieren bzw. ausführen. Als im Spätsommer 1996 der Navigator 3 erschien, war JavaScript ebenfalls eingebunden und in der etwas verbesserten Fassung 1.1 herausgekommen. Parallel erschien der Internet Explorer von Microsoft, der ebenfalls JavaScript verstand. Knapp ein Jahr später veröffentlichte Netscape den Communicator 4. JavaScript hatte sich inzwischen stark im Netz verbreitet. Sun und Netscape erweiterten JavaScript in erheblichen Maßen zur Version 1.2. Ähnlich wie Java ist JavaScript plattformunabhängig. Ein JavaScript läuft unter jedem Betriebssystem, auf dem der Netscape Communicator/Navigator in der aktuellen Version ( oder auch mit Einschränkungen der Internet Explorer 3/4) zur Verfügung steht: Win98, Win95, Win 3.x, OS/2, MacOS. Linux, IRIX, AIX und Solaris. Mit JavaScript sind mittlerweile Möglichkeiten gegeben, die sonst nur Programmiersprachen wie Java oder C++ bieten. JavaScript ist aber gegenüber Java eine wesentlich kompaktere Sprache. Es ist kein Compiler, Parser, Linker usw. wie bei anderen Programmiersprachen notwendig.

 

Java und JavaScript - Wo sind die Unterschiede?

Vom Namen her scheinen sich Java und JavaScript ähnlich zu sein. Sie sind es auch. JavaScript unterscheidet sich jedoch in einigen wesentlichen Punkten von Java:

  1. JavaScript wird anders als Java direkt in den HTML-Code (=> siehe Kapitel "HTML") geschrieben. Für Java ist es notwendig, das in einem Texteditor geschriebene Applet, mit dem JDK (= Java Development Kit) zu kompilieren. Das Applet liegt als Bytecode in einem sogenannten class - File vor.
  2. Für JavaScript ist es nicht notwendig, den Code zu kompilieren. Es werden keine seperaten Dateien wie bei Java (*.java und *.class) benötigt.
  3. Ein JavaScript läuft immer nur in einem Web - Browser ab. Dies ist ähnlich wie bei Java-Applets. Eigenständige Applikationen die auch mit Java möglich sind, sind derzeit mit JavaScript nicht möglich.
  4. JavaScript kann ganz einfach analysiert werden. Der JavaScript - Code steht direkt im HTML Code der Web - Seite. Er steht dort im Klartext, während ein Java-Applet oder eine Java - Applikation als class - Datei kompiliert wird, die man nicht analysieren kann Hat man dazu nicht den originalen Java - Quellcode, kann man sich die Tricks der Programmierer nicht abschauen.
  5. JavaScript ist in vielen Teilen einfacher konzipiert als Java. Beispielsweise werden Variablen pauschal über var definiert - unabhängig davon, ob in dieser Variable eine Zahl, ein Zeichen oder ein Wahrheitswert gespeichert wird. Ebenso sind die Funktionsdefinitionen einfacher als in Java. Dort werden keine komplizierten Klassen, Schnittstellen und Methoden erzeugt. Es gibt keine Unterschiede der Sichtbarkeit nach public, protected, privat und privat protected.

 

Was braucht man für JavaScript?

Im Prinzip wird keine Extra - Software für JavaScripts benötigt, man kann den JavaScript - Code direkt in eine HTML - Datei schreiben. Dies kann man mit einem normalen ASCII - Editor durchführen. Benutzen Sie einen ASCII - Editor, müssen Sie den Code mit der Hand eintippen. Dies erfordert erstens Zeit und zweitens Programmierverständnis. Aber bei JavaScript ist dies nicht so kompliziert - es ist noch einfacher als BASIC. Mit dem Programm "Visual JavaScript" von Netscape ist es Dank einer einfachen, grafischen Oberfläche möglich, ohne Programmierkenntnisse interessante Anwendungen zu erstellen.

Um ein JavaScript zu betrachten, wird ein Browser benötigt. Welchen Browser man wählt, ist mittlerweile schon zur Glaubensfrage geworden.

Hier eine Liste einiger Web - Browser inklusive Downloadadressen im WWW:

Netscape Communicator 4 http://home.netscape.com
Microsoft Internet Explorer 4.0 http://www.microsoft.de/internet/ie/download.html
Oracle PowerBrowser http://www.oracle.com
NetManage WebSurfer http://www.netmanage.com
NCSA Mosaic http://www.ncsa.uiuc.edu/Indices/WebTech/Software.html
StarOffice 4.0 - Demoversion http://www.stardivision.de

Eine Liste mit weiteren Browsern, Updates und Links finden Sie auf der Homepage der Web Developer´s Library unter:

http://www.stars.com/Vlib/Users/Browsers.html

 

Hardwareanforderungen für JavaScript

Mindestanforderung ist ein Pentium Prozessor mit 75 MHz, 16 MByte RAM und eine Festplatte mit etwa 1 GB Speicherkapazität. Neben dem Web - Browser werden Programme, mit denen sie die HTML-Seiten erstellen, benötigt. Diese Tools sehr übersichtlich, aber auch sehr speicherintensiv. Zusätzlich sind noch kleinere Programme notwendig, wie beispielsweise ein Grafikprogramm oder ein Soundprogramm. Die Software wird fast immer auf CD-Roms ausgeliefert, ein CD-ROM - Laufwerk ist unbedingt nötig. Diese Programme müssen oft gleichzeitig eingesetzt werden, auf einem 14-Zoll-Monitor wird der Platz schon eng. Für die Entwicklung von Web - Seiten ist ein 17-Zoll-Monitor ideal.

 

Die Sicherheitsaspekte von JavaScript

Von Anfang an galt: JavaScript kann nicht auf die Festplatte des Anwenders schreiben. In der im Netscape 2.00 enthaltenen Version war es allerdings noch möglich, mit JavaScript die Verzeichnisse auf der Festplatte zu lesen. Außerdem war es möglich, die History-Liste (also die Liste der bisher vom Anwender besuchten URL's) des Browsers auszulesen. Und schließlich war es in dieser ersten Version möglich, ohne Zutun des Anwenders Mail's - unter dem Namen des Anwenders - an beliebige Adressen zu verschicken. Mit Netscape 2.01 wurden diese drei Möglichkeiten beseitigt. Über ein gravierendes Sicherheitsloch sowohl in einigen Netscape- als auch MSIE-Versionen wird unter dem Namen Bell Labs Privacy Bug berichtet. Nachdem für diesen Bug Patches von Microsoft und Netscape vorliegen, geht es weiter mit dem Singapore Privacy Bug. Und dann war da noch der Santa Barbara Privacy Bug...

 

Die Unterschiede zwischen JavaScript und Jscript

Microsoft hat mit dem Internet Explorer 4 eine weitere Skriptsprache integriert, die mit JavaScript bedingt kompatibel ist. Microsoft nennt diese Sprache Jscript 3.0. Es gibt JavaScripts, die ohne Probleme im Internet Explorer 4 laufen, aber auch solche, die im Internet Explorer überhaupt nicht ausführbar sind. Microsoft möchte gerne seine Produkte und Sprachen als Standart im Internet sehen und kämpft deswegen vehement gegen bestehende Standards an. Microsoft bietet auf seiner Homepage ebenfalls detaillierte Informationen zu Jscript an, die nur im Internet Explorer 4 funktioniert:

http://www.microsoft.com/scripting

Dort befindet sich eine komplette Dokumentation und bei problematischen Skripten, die im IE und im Netscape Navigator fehlerfrei laufen sollen, können entsprechende Anpassungen vorgenommen werden.

 

Beispiel

Mit JavaScripts kann man auf einfache Art und Weise den Surfer zum Staunen bringen. Besonders schöne Effekte können in Verbindung mit Grafiken erzeugt werden.

In Abb.1 sehen wir den linken Frame unserer Repoint - Homepage. Die Grafiken "Startseite", "Firmeninfo", "Produkte", "Bestellung" und "Feedback" sind Hyperlinks. Die blauen Ellipsen werden rot, wenn der Surfer den Mauszeiger auf sie bewegt (Abb.2). Sehen wir uns den Programmcode des "Startseite" - Links an, dann besprechen wir ihn Schritt für Schritt:

<html>

<head> <title>LINKS SEITE</title></head>

<script language="JavaScript">

Link1=new Image();

Link1.src="links.3.jpg";

Link2=new Image ();

Link2.src="farben1.gif";

function wechsel1 ()

{

window.document.images[0].src=Link2.src;

}

function wechsel2 ()

{

window.document.images[0].src=Link1.src;

}

</script>

<body background="Blau_und_RosaE1D3.gif" bgcolor="#FFFFFF"

bgproperties="fixed">

<p align="left"><a href="rechts.htm" onmouseover="wechsel1()"

onmouseout="wechsel2()"><img src="links.3.jpg" align="right"

border="0" hspace="0" width="114" height="30"></a>

</body></html>

! Wichtig ! : Im HTML - Code muss eine Grafik über den <img> - Befehl eingebunden worden sein.

Der HTML - Code

Der grafische Link wird über die Codezeile

<p align="left"><a href="rechts.htm" onmouseover="wechsel1()" onmouseout="wechsel2()"><img src="links.3.jpg" align="right" border="0" hspace="0" width="114" height="30"></a>

erzeugt. Die blaue "Startseite" - Grafik heißt "links.3.jpg". Befindet sich die Maus auf der Grafik, wird durch den Eventhandler onmouseover die JavaScript - Funktion wechsel1() aufgerufen. Hierüber wird die blaue "Startseite" - Grafik (links.3.jpg) mit der roten (farben1.gif) vertauscht. Die Ellipse wird rot. Dann kommt der Eventhandler onmouseout zum Einsatz. Verlässt der Mauszeiger die Grafik, wird die JavaScript - Funktion wechsel2() aufgerufen. Es wird wieder die ursprüngliche Grafik (links.3.jpg) angezeigt. Mehr ist im HTML - Code nicht nötig.

 

Der JavaScript - Code

Nach dem <script> - Tag wird ein neues Objekt vom Typ Image() erzeugt. Image() ist das Objekt, das eine Grafik allgemein definiert. Dies ist unbedingt notwendig, um mit den Grafiken arbeiten zu können.

Link1=new Image();

Link1 ist der neue Objektname. Über new Image() wird das Objekt erzeugt. In der nächsten Zeile kann dem Objekt ein Name zugeordnet werden:

Link1.src="links.3.jpg";

src steht hier für source (engl., Quelle) und gibt den Dateinamen an, der in Anführungszeichen folgt. Genauso wird mit Link2 verfahren. Zuerst wird ein Objekt erzeugt und dann über src der Dateiname zugewiesen. Dies ist notwendig, damit der Browser später die Grafiken laden und anzeigen kann. Dann beginnt die erste JavaScript - Funktion wechsel1(). Sie wird aufgerufen, wenn sich die Maus auf der Grafik befindet. Die Ellipse ist dann blau. In dieser Funktion befindet sich nur ein Aufruf:

window.document.images[0].src=Link2.src;

Über window.document.images[0] wird die Grafik im HTML - Code genau identifiziert. window bezieht sich auf das aktuelle Fenster, document auf das darin enthaltene HMTL - Dokument und images auf die über <img> eingebundene Grafik. Wenn wir mehrere Grafiken hätten, müssten wir sie gezielt ansprechen können. Dazu dient die sogenannte Indexnummer, die sich in eckigen Klammern dahinter befindet (images[0]). In der JavaScript Zählung bekommt die erste Grafik die Ziffernnummer [0]. Über .src weisen wir eine andere Quelle zu, nämlich die, die in Link2.src gespeichert ist. Dies ist farben1.gif. Die Folge: die Grafik wird sofort gewechselt.

Es schließt sich die JavaScript - Funktion wechsel2() an. Diese Funktion wird aufgerufen, wenn sich der Mauszeiger von der Grafik weg bewegt. Es muss also wieder die ursprüngliche Grafik (links.3.jpg) dargestellt werden. Dazu dient die Zeile

window.document.images[0].src=Link1.src;

Hier wird die "alte" Quelle, die in Link1.src gespeichert ist, dem Bild zugewiesen und dargestellt (nämlich links.3.jpg).

 

Sagen sie es mit Stil: MARQUEES

Eine hervorragende Möglichkeit auf besonders Wichtiges hinzuweisen, sind Laufschriften, im Fachjargon "Marquees" genannt. Wenn sie einen Text (z.B.: News, Sonderangebote, etc.) in ein Marquee einbinden, wird dieser horizontal über den Bildschirm bewegt. Auch auf der Repoint - Homepage werden Marquees eingesetzt. Auf der 2.Seite der Kategorie "Firmeninfo" befinden sich ganz unten zwei Marquees, die sowohl die Adresse als auch Telefonnummer und E-Mail Adresse anzeigen. Um zu zeigen inwieweit sie in die Eigenschaften des Marquees eingreifen können, erzeugen wir eine einfache Web Seite mit einer Laufschrift.

Ø Öffnen sie einen beliebigen Texteditor und fügen sie die Grundtags für HTML - Seiten ein.

Ø Fügen sie folgende Zeile hinzu: <p><marquee>xxx</marquee></p>. Setzen sie an die mit "xxx" markierte Stelle den gewünschten Text. Der Text läuft nun von rechts nach links über den Bildschirm.

      1. "Umlaufen": Der Text wandert von einem Fensterrand zum anderen, fließt in den Fensterrand und taucht am Ausgangsrand wieder auf: <p><marquee>xxx</marquee></p> (ohne Erweiterung)
      2. "Einschieben": Gleich dem "Umlauf", nur verschwindet der Text, wenn das erste Zeichen des Textes den anderen Fensterrand erreicht: <p><marquee behavior="slide">xxx</marquee></p>
      3. "Oszillieren": Der Text "stößt" sich von den Fensterrändern ab: <p><marquee behavior="alternate">xxx</marquee></p>

des Marquees, um eine bestimmte Anzahl einzustellen, fügen sie

<p><marquee loop="x">xxx</marquee></p> hinzu. Der Buchstabe "x"

steht für die Zahl der Wiederholungen.

Anmerkungen: 1) Marquees werden von allen Versionen des Microsoft Internet Explorer,

außer Version 1.0, unterstützt. Einige andere Web - Browser unterstützen

Marquees nicht. Diese Browser zeigen den Text im Stillstand an.

2) Alternativ kann man auch mit Animated Gifs (Þ Siehe Kapitel "Animated

Gif") Bannertexte erstellen. Dies ist zwar umständlich und zeitaufwendig,

ist aber layouttechnisch nicht so eingeschränkt.

 

Beispiel

<marquee behavior="alternate" scrollamount="10" scrolldelay="0">Repoint Homepage - Siezenheimer Straße 53, 5020 Salzburg</marquee>

Animated Gif

 Gif

GIF ist eine Abkürzung für Graphics Interchange Format, ein von CompuServe erarbeitetes Bilddateiformat für praktisches Speichern und Anzeigen von Bildarchiven im Internet. Aufgrund seiner fast fotografischen Qualität und relativ kleiner Dateigröße ist GIF heutzutage eines der am weitesten verbreiteten Bilddateiformate im Internet. GIF ist seit seiner Einführung 1987 zwei Revisionen unterworfen, von denen die letzte die GIF89a-Spezifikation war.

GIF verwendet die Lempel - Ziv - Welch (LZW) Kompressionsmethode zum Speichern und Reduzieren einzelner oder mehrfacher Bilder innerhalb der Datei um bis zu 40% ihrer Originalgröße. Diese Bilder können bis zu 256 Farben enthalten, jedoch verlieren sie etwas von ihrer Originalqualität durch Kompression, die ein Bild um bis zu 40% seiner Originalgröße verkleinern kann. Obwohl GIF ein "verlustloses" Format ist, können Bilder, die aus anderen Dateiformaten importiert und zu GIF umgewandelt werden, etwas von ihrer Qualität im Übergang von Echtfarben zu 256 Farben verlieren. GIF-Dateien verfügen weiterhin über Transparenzattribute, so daß eine Farbe im Bild nicht angezeigt wird. Dies erlaubt Anwendern, klare Bildhintergründe zu erstellen, wodurch die Farben eines Webseitenhintergrundes durchscheinen. GIF unterstützt Bildverschachtelungen, wodurch der Anwender ein Bild während des Herunterladen "einblenden" kann.

Wenn mehrfache Bilder innerhalb einer GIF-Datei gespeichert werden, können sie in Sequenz angeschaut werden, ähnlich einer Diaschau oder einem kleinen animierten Film. Ihre Erscheinung wird durch in die Datei eingebaute Steuerungserweiterungen kontrolliert. Mit den entsprechenden Werkzeugen, wie z.B. Microsoft GIF - Animator, können Sie diese Kontrollfunktionen selbst einrichten.

Grundsätzliches zu Animationen

Animationen werden durch die Anzeige einer Reihe von überlappenden Bildern ("Cels") in schneller Folge erstellt. Das Bild einer jeden Cel unterscheidet sich nur leicht von denen vor und nach ihm. Wenn genug dieser Cels aneinandergereiht werden, schaffen ihre kleinen Unterschiede beim Abspielen die Illusion von Bewegung. In traditioneller Animation werden Cels von Hand gezeichnet und ausgemalt, obwohl in den letzten Jahren die Animationsindustrie sich von traditioneller Animation weg- und in Richtung computerassistierter Animation bewegt hat. Während die Konzepte bei der Erschaffung von Animationen im Prinzip identisch sind, unterscheiden sich die Methoden stark.

Das wichtigste definierende Element in allen Animationen, und allgemein in Filmen, ist die Anzahl der Cels, die zur Erschaffung einer Animation verwendet wird. Je mehr Cels eine einzelne Animation enthält, desto reibungsloser erscheinen die Bewegungen animierter Charaktere und Objekte. Je weniger Cels verwendet werden, desto weniger sanft erscheinen ihre Bewegungen. In traditionellen Animationen wird die Anzahl der Cels zur Länge der Animation (in Sekunden). Bei Computeranimationen trägt jedoch die Anzahl der Cels zur Gesamtgröße der Animationsdatei bei.

Beim Erstellen einer Animation am Computer muß ein goldener Mittelweg zwischen Animationsqualität und Dateigröße gefunden werden, die beide durch die Anzahl der Cels in der Animation beeinflußt werden. Die Definition des besten Kompromisses ist nie einfach, aber mit umsichtiger Planung und Voraussicht können Sie fesselnde Animationen erstellen, die nicht unvernünftig viel Speicherplatz einnehmen.

 

Wie eine GIF - Animation arbeitet

GIF - Animationen nutzten die ins GIF - Format eingebauten Fähigkeiten zum Speichern und Anzeigen von mehr als einer Bilddatei. Anders als bei konventionellem Film, wo die Geschwindigkeit der Animation durch die Geschwindigkeit des Films bestimmt wird, haben diese Bilder alle einen zugewiesenen Satz von Steuerelementen, die bestimmen, wie, wann und für wie lange das Bild auf dem Bildschirm angezeigt wird. Auch anders als bei konventionellem Film müssen die Bilder innerhalb einer animierten GIF nicht dieselbe Größe haben. Jede Bildlage, oder Cel, kann jede gewünschte Größe haben, und kann an jede gewünschte Stelle plaziert werden, egal, wo sich die anderen Cels in der Animation befinden.

Die von der GIF - Datei erzeugte Animation wird auf genau dieselbe Weise erstellt wie die im Film verwendete Methode: Bewegung wird durch schnelle Anzeige einer Folge ähnlicher Bilder erzeugt. Während die Methoden zur Erzeugung dieses Effekts sich bei der Filmherstellung und GIF - Animation stark unterscheiden, ist das Endergebnis dasselbe - unbewegliche Bilder erwachen vor Ihren Augen zum Leben.

 

Beispiel

Animated Gif´s sind das beste Mittel, Leben in ihre Homepage zu bringen. Animated Gif´s eignen sich hervorragend, um bestimmte Punkte besonders hervorzuheben, die der Besucher besonders beachten soll. Zum Erstellen von Animated Gif´s werden ein Zeichenprogramm und ein Gif Animator benötigt, man kann auch von einer der zahlreichen Internetseiten die verschiedensten Animation (meist gratis) herunterladen.

Mit Hilfe der oben vorgestellten Tools erstellen wir nun ein einfaches Beispiel: Eine Sonne die ihre Strahlen ausschickt und fröhlich lächelt.

1.Schritt: Öffnen sie ein Zeichenprogramm ihrer Wahl (als Beispiel wird hier "Paint"

von Microsoft verwendet) und einen Gif Animator (hier: Microsoft Gif

Animator).

2.Schritt: Bestimmen sie im Zeichenprogramm die Größe des Bildes.

3.Schritt: Zeichnen sie einen Kreis ("Paint": ) mit gelber Füllung.

4.Schritt: Markieren sie das Bild indem sie auf "Bearbeiten" + "Alles markieren"

klicken.

5.Schritt: Klicken sie auf "Bearbeiten" + "Kopieren" um das Bild in den

Zwischenspeicher zu laden.

6.Schritt: Wechseln sie zu ihrem Gif Animator und fügen sie das Bild aus dem

Zwischenspeicher ein indem sie auf "Bearbeiten" + "Einfügen" klicken (Im

Microsoft Gif Animator: ).

7.Schritt: Wechseln sie wieder zum Zeichenprogramm und fügen sie die

Sonnenstrahlen dazu und wiederholen sie die Schritte 4-6.

8.Schritt: Zeichnen sie noch den lächelnden Mund, vielleicht auch noch Augen, und

wiederholen sie wiederum die Schritte 4-6. Achtung: Achten sie im Gif

Animator auf die Reihenfolge der Bilder!

9.Schritt: Nun muss die Umschaltzeit der Bilder festgelegt werden. Dazu klicken sie

im Microsoft Gif Animator auf den Folder "Image" und stellen im Punkt

"Duration" die Dauer ein wie lange ein Bild gezeigt werden soll bis das

nächste geöffnet wird. Diese können sie für jedes Bild separat einstellen

oder, mit im Microsoft Gif Animator, alle Bilder markieren und dann

die Dauer einstellen, die jedem Bild zugewiesen werden soll.

10.Schritt: Nun kann noch die Anzahl der "Loops", das heißt wie oft die Animation

wiederholt werden soll, eingestellt werden. Dazu klicken sie im Microsoft

Gif Animator den Folder "Animation" an und klicken sie auf das "Looping"

Kontrollkästchen. Sie können entweder eine bestimmte Anzahl von Loops

einstellen oder auf "Repeat Forever" klicken, hiermit wird die Animation unendlich oft wiederholt.

11.Schritt: Wenn sie die Animation für späteren Gebrauch speichern wollen klicken sie

im Microsoft Gif Animator auf und speichern sie die Animation unter einem beliebigen Namen ab.

12.Schritt: Um die Animation in eine HTML Datei einzufügen, öffnen sie einen belieben

Texteditor. Fügen sie im "Body" folgende Zeile hinzu: <img src="*DerNameihrerAnimation*.gif">

Nun ist die Animation fertig und auf einer HTML Seite. Denken Sie jedoch immer daran, daß bei der Erstellung animierter GIF - Dateien das Ziel NICHT ist, sie so kompakt wie möglich zu gestalten, sondern die Erschaffung überzeugender Animationen für das Web. Bis zu der Zeit, wenn Datenübertragungsgeschwindigkeiten höher als heute sind und jedermann schnellen Zugang zum Internet hat, sollte die Dateigröße immer noch ein bestimmender Faktor bei der Erstellung Ihrer Animationen sein.

 

JAVA

Internet - Applets mit Java

Eine der wichtigsten Eigenschaften von Java ist die Rechnerunabhängigkeit. Der genormte Sprachstandart liefert auf jeder Rechnerplattform, für die ein Java - Compiler verfügbar ist, dasselbe Ergebnis. Dies wurde schon mehrmals mit verschiedenen Programmiersprachen versucht, jedoch scheint Java die erste praktikable Lösung, welche diesem hochgesteckten Ziel nahekommt. Da zur Zeit der EURO hoch im Trend ist, darf ein Umrechnungs - Applet auch auf der Repoint - Homepage nicht fehlen:

import java.applet.Applet;
import java.awt.*;

class euro extends Applet
{
final static double GRENZE_1 = 0;
final static double GRENZE_2 = 1000000;
final static double UMRECHNUNG = 13.7603;
static TextField teuro, tschilling;

public void init()
{
teuro = new TextField(10);
tschilling = new TextField(10);
tschilling.setEditable(false);
setLayout (new GridLayout(2,2,0,20));
setBackground(Color.blue);
setForeground(Color.yellow);
add(new Label ("Euro: "));
add(teuro);
add(new Label("Schilling: "));
add(tschilling);
}
public boolean action(Event evt, Object what)
{
double euro, schilling;
if (evt.target == teuro)
{
euro=Double.valueOf(teuro.getText()).doubleValue();
if (euro <= GRENZE_1)
schilling = 0;
else
schilling = UMRECHNUNG * (euro - GRENZE_1);
if (euro >= GRENZE_2)
schilling = schilling + (euro - GRENZE_2);

tschilling.setText(""+schilling);
}
return true;
}
}

Die Klassendefinition

Zuerst brauchen wir eine entsprechende Klasse, die für das Internet notwendige Methoden und Attribute zur Verfügung stellt. Wir verwenden die Klasse java.applet.Applet und die Klasse java.awt.*. Java - Programme, die im Internet laufen, werden als Applets bezeichnet, da sie in eine Klasse mit dem Namen Applet eingebettet sind. Die Klassen java.awt.* (der "*" steht für alle Subklassen der entsprechenden Klassen) werden benötigt, um Ein- und Ausgabeelemente zu verwalten, und werden somit dazugeladen. (awt steht für Abstract Window Toolkit.)

import java.applet.Applet;
import java.awt.*;

Direkt an die Klassendefinition angefügt ist das Schlüsselwort extends, welches angibt, daß unsere Klasse eine Erweiterung einer Applet - Klasse ist. Das ist unbedingt erforderlich für Programme, die auf einer Internet - Seite laufen sollen.

class euro extends Applet

Die Konstanten für unsere Euroumrechnung (untere Schillinganzahl GRENZE_1, obere Schillinganzahl GRENZE_2 und der Umrechnungsfaktor UMRECHNUNG) legen wir gleich nach der Klassendeklaration an.

final static double GRENZE_1 = 0;
final static double GRENZE_2 = 1000000;
final static double UMRECHNUNG = 13.7603;

Ein Applet besteht aus Methoden

Um auf die verschiedensten Gegebenheiten reagieren zu können, besteht ein Applet aus einer Anzahl von Methoden, die bei bestimmten Ereignissen (Eingabe eines neuen Textes oder Wertes in ein Textfeld) automatisch aufgerufen werden. Diese Ereignisse werden auch als Event bezeichnet. In unserem Euroumrechnungs - Applet benötigen wir die Methoden init() und action (Event e, Object arg). Durch init() wird das Applet initialisiert, d.h. die Textfelder deklariert und initialisiert. action (Parameter) überwacht das Szenario und wartet auf die Eingabe des Benutzers, um Schilling in Euro umrechnen zu können. Wir verwenden drei Textfelder für die Eingabe der Schilling - Summe und Ausgabe der Euro - Summe. Sie werden als Klassenvariable angelegt, d.h. sie gelten global im gesamten Applet.

static TextField teuro, tschilling;

Wir deklarieren die zwei Textfelder teuro und tschilling, die unsere Variablen aufnehmen können.

Die Methode init()

Die zwei Variablen vom Typ TextField müssen in der Methode init() initialisiert werden. Der zu verwendende Platz wird als Parameter bei der Initialisierung übergeben (in unserem Fall wählen wir die Länge 10).

teuro = new TextField(10);
tschilling = new TextField(10);

Im Schilling - Textfeld soll nur der Schillingbetrag eingegeben werden können, es muss also das Textfeld "teuro" "nicht - editierbar" gesetzt werden:

tschilling.setEditable(false);

Als nächsten Schritt müssen die Felder am Bildschirm angeordnet werden. Das ermöglicht GridLayout. Als Parameter wird die Anzahl der Zeilen (*) (jedes Textfeld soll in einer eigenen Zeile stehen), die Anzahl der Spalten (**) (in jeder Zeile steht die Beschriftung und das Textfeld) und schließlich der Abstand der Zeilen zueinander (***) und der Abstand der Spalten zueinander (****) (jeweils in Pixel) übergeben.

setLayout (new GridLayout(2*,2**,0***,20****));

Jetzt müssen noch die einzelnen Einträge dem Layout hinzugefügt werden. Die Reihenfolge ist dabei immer von links nach rechts, beginnend bei der obersten Zeile. Wir fügen immer abwechselnd das Beschriftungsfeld in das Grid eingebunden und dann das Textfeld selbst für jede Zeile hinzu:

add(new Label ("Euro: "));

add(teuro);

add(new Label("Schilling: "));

add(tschilling);

Mit diesem Schritt ist der Initialisierungsschritt der Methode init() abgeschlossen.

Das Abfangen von Benutzereingaben

Sobald eine Eingabe erfolgt ist (und mit RETURN bestätigt wurde) sollte die Berechnung durchgeführt werden. Wenn nun der Benutzer in das Textfeld einen neuen Wert einträgt, wird automatisch die Methode action aufgerufen. In unserem Repoint - Applet gibt es nur ein Textfeld, daß editiert werden kann, wir überprüfen also nur, ob das Ziel des Ereignisses (evt.target) wirklich das Textfeld teuro war.

if (evt.target == teuro)

{

}

Wenn also das Ereignis unser Textfeld teuro betrifft, kann der Wert eingelesen, in eine Zahl umgewandelt, die Berechnung durchgeführt und die Schillingsumme ausgegeben werden. Das Einlesen und Umwandeln wird durch folgende Anweisung durchgeführt:

euro = Double.valueOf(teuro.getText()).doubleValue();

Wir erhalten durch den Methodenaufruf teuro.getText() den String, der in das Textfeld eingegeben wurde. Wir wandeln diesen String in eine double - Zahl um. Wir erhalten die eingelesene, konvertierte Eurosumme, der in unsere Berechnung einfließt. Nun wird das Schilling Textfeld mit dem neuen Wert gefüllt. Mit ""+schilling wird die Zahl, die in der Variable schilling gespeichert ist, in einen String umgewandelt (Textfelder können nur Strings darstellen). Diesen "Ergebnisstring" müssen wir noch dem Schilling - Textfeld zuweisen.

tschilling.setText(""+schilling);

Die Methode action(); sollte mit dem Rückgabewert anzeigen, ob das Ergebnis in einer geeigneten Form abgearbeitet werden konnte. Wir geben in unserem Fall der Einfachheit wegen immer true zurück. Bei unsinnigen Eingaben (z.B.: Eingabe von Text) stürzt das Programm nicht ab. Der Benutzer bekommt keine Rückmeldung, daß seine Eingabe falsch war.

Zum Beenden eines Java - Applets muss lediglich das Explorer - Fenster geschlossen werden, es muss also keine interaktive Abfrage zum Beenden hinzugefügt werden.

Nun muss das gesamte Applet noch kompiliert und in eine Internet - Seite eingebunden werden.

Das Kompilieren von Java Applets

Das in einem Texteditor geschriebene ,und als *.java abgespeicherte, Applet, muss mit dem JDK (= Java Development Kit) kompilieren werden. Das Applet liegt als Bytecode in einem sogenannten class - File vor.

Das Einbinden von Java - Applets in eine Internet - Seite

Das Euro - Applet ist bei der Repoint Homepage folgendermaßen eingebunden:

<applet code="euro.class" align="baseline" width="120" height="70"></applet>