3 Technologien und Verhaltensweisen

Mit Bezugnahme auf die oben erläuterten Prinzipien wird im folgenden Abschnitt kurz auf die genannten Technologien und Verhaltensweisen eingegangen, die im Zusammenhang mit Web 2.0 genannt werden oder Verwendung finden. Wie bereits erwähnt, ist es keine neue Technologie, die für den plötzlichen Erfolg des Webs verantwortlich ist, denn die meisten der verwendeten Techniken sind schon seit längerer Zeit bekannt. Vielmehr ist es ihr gleichzeitiges Auftreten in Verbindung mit der jetzt verfügbaren Bandbreite des Internet. Dazu kommen Wikis, Blogs und „Soziale Netzwerke“, die ihren Anteil am Web 2.0 haben.

3.1 Ajax

Ajax leistet einen der wichtigsten Beiträge für das Web 2.0. Mancher behauptet gar, Ajax sei Web 2.0. Es bietet aber eher interessante Möglichkeiten, um eine neue Browseroberfläche zu schaffen, worauf im folgenden Abschnitt eingegangen wird. Ajax ist ein Akronym für „asynchrone Javascript and XML“. Durch diese Kombination können Seiteninhalte verändert oder neu angefordert werden, ohne die Seite neu laden zu müssen. Dadurch ist es möglich, eine desktopähnliche Oberfläche in den Browser zu implementieren.

3.1.1 Geschichte

Die Technologien, die sich hinter Ajax verbergen, gibt es in ähnlicher Form schon seit 1998. Hier ist vor allem an die von Microsoft entwickelte Remote-Scripting[24]-Komponente zu denken, die es ermöglichte, clientseitig eine HTTP-Anfrage abzuschicken. Diese Technik wurde im Microsoft Exchange Server integriert und fand später (1999) auch im Internet Explorer 4.0 Verwendung. Die Bezeichnung „Ajax“ prägte Jesse James Garrett[25] mit seinem im Februar veröffentlichten Artikel, in dem er die Bezeichnung „Ajax“ in Verbindung mit dem XMLHTTP-Request vorstellte. Warum aber wurde diese Technik trotz ihrer erstmaligen Implementierung durch Microsoft 1999 erst mehrere Jahre später effektiv genutzt? Hier ist zum einen an die fehlende Einbindung in andere Browser zu denken – da das XMLHTTP-Request-Objekt war eine Microsoft-Implementierung – zum anderen an die gravierenden Sicherheitsmängel, die dazu führten, dass nicht nur Dateien oder Inhalte vom Server geladen wurden, sondern auch die Möglichkeit bestand, lokale Daten des Benutzers auszulesen und zu verändern. Zudem fand DHTML[26] bis 2001 nur für kleine Animationen Verwendung und wurde wegen fehlender Leistungsfähigkeit und mangelnder Einheitlichkeit in den vorherrschenden Browsern durch Flash abgelöst. Javascript stürzte häufig ab und war wegen langsamer Hardware auch nicht zu komplizierten Anwendungen fähig. Da jetzt diese Probleme unter anderem durch den W3C Standard, schnellere Geräte und die Implementierung von Javascript in einer Sandbox behoben sind, wird die Verwendung dieser Technologie wieder interessant und wird wohl auch für die Webentwicklung in der Zukunft ein interessanter Baustein sein [14].

3.1.2 Vorteile

Der Vorteil von Ajax ist, dass Seiten, auf denen Veränderungen stattfinden, nicht in einem neuen Browserfenster geladen werden müssen. Somit kann eine desktopähnliche Oberfläche geschaffen werden, auf der Veränderungen sofort sichtbar sind und die Bearbeitung somit schneller vonstatten geht. Darüber hinaus wird teilweise die Serverlast verringert, da nicht immer die komplette Seite neu übertragen werden muss. Dieses kann aber nicht für alle Anwendungen verallgemeinert werden, denn durch Ajax werden die Webseiten weitaus komplexer und umfangreicher und verursachen damit gleichzeitig mehr Serverlast. Ein weiterer Vorteil ist die Unterstützung von mobilen Endgeräten, auf denen aufgrund von Speichermangel nicht alle Programme und Daten installiert werden können. Mit Ajax wird einfach ein Word- oder Photoshopdokument im Browser geladen und es kann damit gearbeitet werden. Darüber besteht in Ajax nicht die Notwendigkeit, Plugins zu installieren, weil alle Komponenten bereits vorhanden sind.

3.1.3 Nachteile

Ajax ist nur verwendbar wenn auch Javascript im Browser aktiviert bzw. implementiert ist. Gleichzeitig ist eine Ajaxanwendung in ihrer Programmierung und Wartung deutlich aufwendiger als normale Webseiten und somit auf wenige Anwendungen beschränkt. Bei dynamischer Änderung des Layouts besteht auch die Gefahr, dass die Trennung von Struktur (XHTML) und Design (CSS) nicht mehr gegeben ist. Ein weiterer negativer Punkt ist, dass Zurück- und Vorwärtsbuttons in einer Standard Ajax-Anwendung nicht funktionieren, da diese auf Änderungen in der URL beruhen. Diese Funktionen können zusätzlich implementiert werden, dies ist aber gegenwärtig noch eine sehr komplizierte Prozedur. Die Webseiten können nur in ihrem Ausgangszustand als Lesezeichen im Browser hinterlegt werden, was dazu führt, dass Folgeseiten schlechter wieder zu finden sind. Ebenso ist Ajax nicht mit dem Grundsatz der Barrierefreiheit im Netz zu vereinbaren, da dieser verlangt, dass Seiten auch ohne Javascript zu bedienen sein müssen. Suchmaschinen können sich nur auf den statischen Inhalt der Seiten beziehen und nicht auf die mit Ajax erstellten dynamischen Seitenteile. Dies kann auch nur mit zusätzlichem Programmieraufwand überwunden werden. Drei Möglichkeiten können hier unterschieden werden:

Lightweight Indexing: Die Indizierung erfolg ausschließlich über Meta-Tags und/oder Überschriften, es werden keine Änderungen im Programmcode vorgenommen.

Extra Link Strategy: Für die Indizierung werden unsichtbare Links auf der Webseite eingebaut, denen die Suchroboter folgen können.

Secondary Site Strategy: Es wird eine vom Inhalt her identische Seite mit auf den Webserver gelegt, welche die Suchroboter indizieren können. Dieser Ansatz kann auch für das Problem der barrierefreien Webseiten als Lösungsansatz dienen.

Die Serverlast wird dabei nicht in jedem Fall verringert, weil bei komplexen Services immer wieder Anfragen auf der Suche nach Änderungen an den Server geschickt werden. Die Latenzzeiten[27] sind je nach Geschwindigkeit der Internetverbindung und Serverlast unterschiedlich und der User muss mit Statusanzeigen über den Zustand der Applikation informiert werden [14].

3.1.4 Aufbau von Ajax

Wie der Name Ajax (Asynchrones Javascript and XML) schon erkennen lässt, benötigt es zwingend Javascript. Es wird für den asynchronen Zugriff auf Objekte des Dokumentenbaumes, kurz DOM (Document Object Model), verwendet. Das heißt, es können zur Laufzeit neue Elemente hinzugefügt oder verändert werden. Für diesen Vorgang muss, wie erwähnt, die Seite nicht noch einmal neu geladen werden. Im Prinzip besteht es aus einer Client- und einer Serverkomponente (Abbildung 7). Im Client ist die Ajax-Engine für die Verarbeitung und die Anzeige zuständig. Des Weiteren bezieht sie bei Bedarf neue Daten vom Server und fügt diese asynchron auf Basis des Dokumentenbaumes in die Seite ein (vgl. 3.1.5). Auf dem Server ist die eigentliche Programm-Logik implementiert, die auf die Anfrage der Client-Anwendung reagiert und neue Daten und Elemente an diese zurückgibt. Aufgrund der Sicherheitseinstellungen der Browser ist aber ein XSS[28] nicht vorgesehen. Daraus resultierend muss der Webserver auch Daten von anderen Servern einbinden, um diese dem Client zur Verfügung zu stellen. Dadurch soll verhindert werden, dass sich jemand in die Ajax-Verbindung einklinkt und seine eigenen Daten an den Client sendet [21] [24] [14].



Abbildung 7: Client- Serververbindung einer Ajax Anwendung [19]


3.1.5 DOM

DOM (Document Object Model) ist nach dem W3C Standard ein plattformunabhängiger Zugriff auf Elemente eines XHTML-Dokumentenbaums. Mit dem DOM ist der erste Grundstein der Ajax-Programmierung gelegt, denn dadurch ist es möglich, Elemente aus dem Dokumentenbaum der Seite auszulesen und dynamisch zu verändern, ohne dass diese neu geladen werden müssen. Als Basis für diese Schnittstelle dient Javascript als Standard, aber natürlich finden auch andere Scriptsprachen bei der Veränderung von Objekten aus dem Dokumentenbaum Anwendung.

Funktionsweise:

Um die Funktionsweise zu erläutern, ist hier ein kurzes Beispiel für einen Dokumentenbaum aus dem DOM- Inspektor des Firefox (Abbildung 8) dargelegt, es stammt von der Google Startseite. Dieses kann in Firefox unter dem Menüpunkt „DOM“ nachvollzogen werden. Man erkennt, wie die einzelnen Elemente eine sogenannte Mutter/Kind Beziehung miteinander eingehen und in einer Baumstruktur aufgebaut sind [21] [24].



Abbildung 8: Aufbau DOM Struktur


Zum näheren Verständnis soll zunächst erläutern werden, was der Unterschied zwischen den einzelnen Knoten in der Baumstruktur ist.

- Der Mutterknoten stellt die gesamte Baumstruktur dar. - Ein Dokumentfragmentknoten stellt einen Teil der Baumstruktur dar. - Ein Elementknoten entspricht einem Element in HTML oder XML. - Ein Attributknoten entspricht einem Attribut in HTML oder XML. - Ein Textknoten stellt den textuellen Inhalt eines Elements oder Attributs dar.

Verarbeitung eines DOM-Objektes: Im ersten Schritt wird ein bestehendes Dokument durch das Programm eingelesen und ein Dokument-Objekt erzeugt. Anhand dieses Objekts kann mittels der Methoden der API auf die Inhalte, Struktur und Darstellung zugegriffen werden. Insbesondere erlaubt das DOM die Navigation zwischen den einzelnen Knoten eines Dokuments, das Erzeugen, Verschieben und Löschen von Knoten sowie das Auslesen, Ändern und Löschen von Textinhalten. Am Ende der Verarbeitung kann aus dem Dokument-Objekt durch so genannte „Serialisierung“ ein neues XML- oder HTML-Dokument generiert werden, wie in Abbildung 9 verdeutlicht wird. Dabei ist HTML der Mutterknoten, Head und Body sind Kindknoten, die ebenfalls wieder Kindknoten besitzen können [21] [24].



Abbildung 9: Suche im DOM


Somit kann man die gesamte Webseite (Dokumentenbaum) durchlaufen und alle Knoten (Elemente) dargestellen bzw. erreicht werden. Diese können nun verändert und neu eingefügt werden [14].

3.1.6 XMLHttp Request Objekt

Ein XMLHTTP-Request-Objekt ist eine Schnittstelle zum Übertragen von Daten über das HTTP- Protokoll. Eine Anfrage kann z.B. als normaler String oder XML zurückgegeben werden. Somit ist es einer der wichtigsten Eckpfeiler der Ajax-Kommunikation. Erst mit diesem Objekt ist es möglich, Daten von einem Webserver zum Client zu schicken, ohne die Seite neu laden zu müssen. In der Vergangenheit wurden auch IFrames[29] dazu genutzt, Daten asynchron vom Server zu laden. Diese haben sich aber als nicht so leistungsfähig erwiesen und dem XMLHTTP-Request das Feld überlassen. Bei der Implementierung ist zwischen den Browsern wie Mozilla, Explorer, Safari etc. mit einer Objekterkennung[30] zu unterscheiden [21].

3.2 JSON (Java Script Object Notation)

JSON ist eine Technik zum Austausch von Informationen zwischen Anwendungen jeglicher Art. Es gibt Implementierungen für C, C++, Java, JavaScript, PHP, Python, Ruby und Smalltalk. JSON wird wie XML zum Datenaustausch verwendet und hat einige Vorteile: Zum einen produziert JSON durch seine kompakte Kodierung weniger Datenoverhead. Zum anderen hat er bei der Ajaxprogrammierung den Vorteil, dass ein zu übertragenes Objekt, z.B. aus einer Datenbank, nicht in eine String verpackt werden muss, um es in Javascript wieder zu zerhacken und die einzelnen Elemente des Objektes aufzuteilen und zuzuordnen. Mit JSON muss das Objekt zwar auch in eine Zeichenkette verpackt werden, kann aber mit einfachen Funktionen für Javascript in ein Objekt zurückverwandelt werden. Somit können auch ganze Arrays mit Objekten übertragen und verarbeitet werden. Diese Art der Übertragung findet häufig in Bereichen Verwendung, bei denen auf Geschwindigkeit und Datenvolumen Wert gelegt wird [30].

3.3 RSS/Atom

3.3.1 RSS

RSS (Abkürzungfür Rich Site Summary[31]) ist ein XML-basiertes Dateiformat zum Auslesen und Übertragen von Inhalten (content) einer Webseite. Der Inhalt wird durch so genannte Aggregatoren gesammelt und dem User aufbereitet wieder zur Verfügung gestellt. Die Art der Aufbereitung ist vom Benutzer konfigurierbar, so dass er sich die gewünschten Inhalte selbst zusammenstellen kann. Das hat den Vorteil, dass nicht jede Webseite einzeln besucht werden muss, um nachzusehen, ob es dort etwas Neues gibt. Mit RSS bedarf es keiner Unterscheidung zwischen Bild- oder Layoutinformationen und Inhalt, weil beides via RSS in einem standardisierten Format vorliegt. Dadurch eignet RSS sich auch für die maschinelle Weiterverarbeitung, denn es ermöglicht beispielsweise die automatische Einbindung von Texten einer Webseite in eine andere Webseite. Entwickelt wurde dieses System ursprünglich für Portalseiten, bei denen sich User von diversen Quellen wie Blogs oder Nachrichtenseiten eine persönliche Infoseite zusammenstellen konnten. Es gibt von RSS verschiedene Formate mit unterschiedlichen Eigenschaften, die mit der Zeit entwickelt wurden. Der Vorreiter war das 1997 von Dave Winer[32] entwickelte ScriptingNews2XML- Format, welches für sein Radio-Userland[33] entwickelt wurde [29].

RSS selbst kam in der Version 0.9 (zwei Wochen später 0.91), von myNetscape.com[34] entwickelt, auf den Markt und war lange Zeit das gebräuchlichste Anwendungsformat.

Parallel wurde das RSS 1.0 Format entwickelt, welches mit einer offiziellen DTD[35] und RDF (vgl. 3.5.1) ausgeliefert wurde. Damit sollte RSS um die Möglichkeiten des Semantic Webs erweitert werden. Dieses war aber so komplex, dass es selten zur Anwendung kam. Mit der sich entwickelnden Idee, Audio- und Videoinhalte im Netz zu verbreiten, wurde von Dave Winer 2002 RSS 2.0 vorgestellt. Dies beinhaltete in den Enclosures[36] alle Formen binärer Dateien, so dass auch Audio- und Videoinhalte transportiert werden konnten. Dieses Rechte an diesem Format wurden von Dave Winer der Harvard University übertragen, wodurch eine freie Verfügbarkeit in der Zukunft sichergestellt wird [18].

—-  This is the caption

Mit diesem Zeichen wird auf verschieden Webseiten auf die Möglichkeit aufmerksam gemacht, einen RSS Feed (meist RSS 2.0) zu abonnieren. Dieser wird einem automatisch zugesendet und in einem Feed-Reader dargestellt oder in die eigene Webseite eingebunden.



3.3.2 Atom

Die Spezifikationen von RSS 2.0 sind an einigen Stellen teilweise nicht ganz eindeutig. Aus diesem Grunde entwickelte eine Gruppe um Mark Pilgrim[37] eine eigene Syndizierungsspezifikation namens „Atom“. Atom ist ein Weblog-Publishing Format, das nicht unbedingt als Nachfolger für RSS zu sehen ist, sondern vielmehr versucht, alle unterschiedlichen RSS- Formate zu verknüpfen und neue Elemente mit einzupflegen. In Atom wurden Inhalt tragende Elemente eingefügt, wodurch genau festgelegt werden kann, um welchen Art von Inhalt es sich handelt . Atom ist als Publishing- und Archivierungsformat entwickelt worden und legt die Informationen im XML-Format[18] ab.

3.3.3 Geotagging

Geotagging ist eine spezielle Art des Taggings und wird an dieser Stelle zusätzlich erwähnt, weil es für die Testanwendung relevant ist. GeoTagging oder Geocoding (Georeferenzierung) ist ein Vorgang, mit dem Medien wie Bilder, Filme, Blogs oder andere Informationen mit Koordinaten versehen werden können. Die Koordinaten werden als Metadaten zur betreffenden Information abgelegt. So erweitert man die Metadaten um eine geografische Komponente und kann die Information realen Punkten auf der Erde zuordnen. Diese Informationen werden z.B. in einem Weblog, Wiki oder anderweitig eingetragen, um so eine bessere Verbindung zur Information herstellen zu können. Mit GeoRSS wiederum ist es möglich, Geodaten als RSS-Feed zu übertragen und auszuwerten (Abbildung 10).



Abbildung 10: Schockwellenreiter.de [49]


3.4 Folksonomy und Ontology

Im Zusammenhang mit Web 2.0 werden häufig die Begriffe Ontology und Folksonomy kontrovers diskutiert. Grund hierfür ist die Frage, wie Informationen im Internet oder in Anwendungen mit Metadaten versehen werden, seien es nun Blogeinträge, Fotos, Videos oder PDF-Dateien. Im Wesentlichen geht es hier aber um eine Standpunktfrage, denn beide Technologien haben ihre Vor- und Nachteile, wie die folgenden Definitionen verdeutlichen sollen.

3.4.1 Ontology

Als Ontologie wird ein Zweig der Philosophie bezeichnet, der bereits in der griechischen Antike diskutiert wurde: Die Frage nach dem Sein. Philosophen wie Platon teilten die Dinge der Welt in Hierarchien ein und versuchten diese zu definieren oder zu beschreiben. Schon hier findet sich also der Grundsatz „alles Existierende in ein vordefiniertes Muster (Liste) einzuteilen und die Wahrheit über Realität zu erforschen“. In der Informatik geht es im Vergleich zum philosophischen Ansatz um Datenbankmodellierung oder künstliche Intelligenz, bei der eine Liste von Definitionen für einen bestimmten Anwendungsfall entwickelt wird [9]. In diesem Zusammenhang wird auch häufig die Definition „ein formales Modell eines Wissensraumes“ angewendet [12]. Dabei wird ein Netz von Hierarchien mit logischen Beziehungen untereinander festgelegt. Diese Beziehungen sind speziell von einer Arbeitsgruppe oder Ähnlichem zugewiesen. Vergleichend dazu wird bei der Taxonomy[38] eine monohierarchische Klassifizierung verwendet. Diese Informationen (Ontology), die mit einer logischen Beziehung verknüpft sind, werden als semantisch erzeugt definiert. Für die Ontologie gibt es verschiedene Komponenten. Die Wichtigste für Webanwendungen ist die Annotation[39] von Webseiten durch OWL[40] oder seinen Vorgänger RDF[41]. Dadurch soll die Qualität von Informationen im Netz und die Zusammenarbeit zwischen Mensch und Maschine so verbessert werden, dass es zu einer verbesserten Automatisierung bei der Verarbeitung von Daten bzw. Webinhalten kommt [10].

Semantic Web:

Diese Erweiterung der Datenbeschreibung wird auch als „Semantic Web“ bezeichnet. Es ist eine Erweiterung des eigentlichen Webs. Dabei wird einer Information eine eindeutige Bedeutung zugeordnet. Der Dublin Core[42] ist z.B. eine dieser Gemeinschaften, die RDF-Schema-Metadatenmodelle für die Beschreibung von Informationen entwerfen. Aber es geht nicht nur um die Zuordnung, sondern vielmehr um die Interpretation von Informationen. Wenn heutzutage ein Text im Internet gesucht wird, werden bestimmte Textstellen ausgewertet und angezeigt. Die Interpretation der Daten und die Sortierung nach Relevantem kann von Computern nur bedingt übernommen werden, dazu ist immer noch ein Mensch notwendig. Im Semantischen Web allerdings werden diese Daten von den Maschinen interpretiert, verarbeitet und transformiert. Es geht sogar soweit, dass die Computer auf den Daten operieren und diese wieder auf sinnvolle Art und Weise zusammensetzen [15]. Diese Komplexität setzt, wie schon erwähnt, eine Expertenkommission voraus, die in zeitaufwendiger Arbeit das Vokabular für die Maschinen festlegt. Diese Vorgehensweise hat bis zum heutigen Tage aber zu keinem effektiven Ergebnis geführt, da man sich bis heute auf kein einheitliches Vokabular bei der Bezeichnung von Daten einigen konnte. Aus diesem Grunde hat sich in letzter Zeit auch eher der alternative Ansatz des Web 2.0 durchgesetzt , der als Folksonomy bezeichnet wird [13] [31].

3.4.2 Folksonomy

Gemeinschaftliches Indexieren (Free Tagging) ist eine Form des Bezeichnens von Blogeinträgen, Fotos, Videos, Artikeln oder Ähnlichem durch zahlreiche Nutzer und wird mit Folksonomy bezeichnet. Der Begriff setzt sich aus dem engl. Wort „folk“ (Leute) und „taxonomy“ (sprachwissenschaftliche Klassifikation von Gegenständen) zusammen und wird auf Thomas Vander Wal[43] zurückgeführt. Anwendung fand er zum ersten Mal bei del.ici.ous im Jahre 2003. Die Art der Indexierung unterliegt keinen Kontrollen und keinen Regeln, es wird davon ausgegangen, dass die User sich selbst Tags wählen, die dem Inhalt entsprechen. Im Zusammenhang mit anderen Tags von anderen Usern ergeben sie ein Schlagwortsystem, welches sich optimal für die Suche des Inhalts eignet. Diese Zusammenfassung von Tags wird auch als Folksonomy bezeichnet. Als Vorteil ist klar die breite Masse an Benutzern zu nennen, die sich mit den Inhalten beschäftigen. Dadurch entsteht ein größerer Überblick und Zusammenhänge werden ersichtlich, die dem einzelnen Benutzer vielleicht verborgen geblieben wären. Die Benutzer erziehen sich dabei selbst untereinander und verwenden die Tags, die populär und sinnvoll sind – aus dem einfachen Grunde, dass ihre getaggten Inhalte von vielen Usern gefunden und gelesen werden sollen. Zusätzlich wird der Inhalt von anderen Usern weitergetaggt, was dazu führt, dass der Inhalt noch besser bezeichnet und gefunden werden kann [9].

Vergleich von Ontology und Folksonomy:

Beide Konzepte haben ihre Vor- und Nachteile, wie in Abbildung 11 zu sehen ist. Der entscheidende Punkt ist aber, dass Folksonomy billiger, schneller und einfacher zu realisieren ist. Dafür weist die Ontology eine sehr hohe Präzision auf. Diese ist zwar teuer, aber die einzige Möglichkeit, um verlässliche Verbindlichkeiten zu schaffen, wie sie durch Folksonomy nur schwer realisierbar sind, da man sich immer auf die Meinung der breiten Masse verlassen muss.



Abbildung 11: Vergleich Folksonomy und Ontology [9]


Diese hohe Präzision wird aber zurzeit noch nicht von den Anwendern gefordert und wird daher erst in späteren komplexeren Implementierungen Anwendung finden (vergleichend Ajax OS, Web 3.0), so dass zurzeit Folksonomy das Mittel der Wahl ist. Hierfür spricht auch der sogenannte „Desire Lines[44]“ Ansatz, der besagt, dass von den Usern bereitgestelltes Vokabular immer die derzeitige Terminologie und Wortwahl der Benutzer reflektiert und somit einen aktuellen Stand ihrer Bedürfnisse darstellt. Bei der Ontology müssten diese Aktualisierungen und Erweiterungen immer durch eine Expertenkommission festgelegt und hinzugefügt werden. Dieser Prozess ist zeit- und geldaufwendig und wird in der Aktualität immer der Folksonomy nachstehen. Auf Dauer wird man dennoch eine semantische Implementierung bei der Beschreibung von Webinhalten brauchen, da man sich bei komplexen Anwendungen nicht immer auf das Urteil von anderen Usern verlassen kann [9][13].

3.5 Weblog/Wiki/Social Software

3.5.1 Weblogs

Weblog ist ein Newsletter, der es möglich macht, zu jeder Zeit über verschiedene Themen Artikel zu veröffentlichen, die von allen Usern gewertet (Kommentare) oder in ihre eigenen Weblogs übernommen werden können. Sie entstanden als ursprüngliche Linksammlungen, die Ausflüge in das Internet aufzeichnen sollten. Daraus entstand das erste Publikationsmedium im Internet, mit dem es ähnlich einem CMS einfach und schnell möglich ist, Informationen datumsspezifisch, also wie eine Tageszeitung, zu veröffentlichen. Weblogs haben entsprechend häufig ein klassisches dreispaltiges Layout, wobei der Mittelteil für die regelmäßigen Informationen und die beiden Außenspalten für Archiv und Werbung Verwendung finden. Für die starke Verbreitung von Weblogs tragen Techniken wie RSS, Ping und Trackbackping zusätzlich bei (vgl.3.10-3.11). Man muss Weblog nicht nur als Tagebuch oder Newsletter verwenden. Im MPIWG wird z.B. der von Jörg Kantel angepasste Manila[45]-Weblog für das Support Ticketsystem bzw. die EDV Verwaltung (Abbildung 13) genutzt [7].



Abbildung 12: Blog für die Arbeitsaufteilung in der EDV des MPIWG


3.5.1.1 Ping

Ping wurde entwickelt, um Informationen, die auf einer Seite eines Weblogs neu vorhanden sind, dem restlichen Internet bekannt zu machen. Ein Weblog z.B. setzt einen Ping ab, wenn etwas Neues auf einer Webseite eingestellt ist. In diesem Moment können Spider die Seite direkt anlaufen und die neuen Informationen im RSS/ATOM Format aufsammeln und über Community- Server verteilen. Dadurch wird eine Begrenzung von Spideraktivität im Netz erreicht, weil diese nicht ständig alle Webseiten anlaufen müssen, um neue Informationen zu suchen.

3.5.1.2 Trackbackping

Trackbackping setzt einen Ping an den Eigentümer eines Eintrages ab, wenn dieser Content auf einem anderen Weblog kommentiert wurde, um so dem Eigentümer der Information mitzuteilen, was mit seiner Information im Netz passiert und wer sie wie kommentiert.

3.5.2 Wikis

Ein Wiki, auch WikiWiki und WikiWeb genannt, ist eine im World Wide Web verfügbare Seitensammlung, die von den Benutzern nicht nur gelesen, sondern auch online geändert werden kann. Wikis ähneln damit Content-Management-Systemen. Der Name stammt von wikiwiki, dem Hawaiianischen Wort für „schnell“. Wie bei Hypertexten üblich, sind die einzelnen Seiten und Artikel eines Wikis durch Querverweise (Links) miteinander verbunden. Dazu gibt es in der Regel eine Bearbeitungsfunktion, die ein Eingabefenster öffnet, in dem der Text des Artikels bearbeitet werden kann [16]. Wikis werden als eine Art Lexikon verwendet und bei den unterschiedlichsten Anwendungen eingesetzt, meist als Projekt-Wiki für die Koordination und den Austausch getrennt arbeitender Projektgruppen oder für die Bereitstellung und Aufbereitung von erarbeitetem Wissen (Abbildung 12). Es gibt zurzeit eine Vielzahl von angebotenen Wiki-Engines. Die Komplexeste ist wohl mit Abstand die Mediawiki-Implementierung des Wikipedia-Projektes. Diese bietet von allen die meisten Anwendungsmöglichkeiten und lässt sich auch ohne Probleme zu einem Cluster erweitern. Dazu bringt sie allerdings hohe Systemanforderungen und eine schwierige Installation mit sich. Aus diesem Grunde kann für einfachere Anforderungen, wie projektbezogene Wikis, das etwas simpler gehaltene Dokuwiki oder Twiki verwendet werden. Bei der Implementierung eines Wikis sollte auf die Interwikifähigkeit geachtet werden, das eine Vernetzung von Wikis bzw. Artikeln untereinander ermöglicht wird [17] [7].



Abbildung 13: Dokuwiki


3.5.3 Social Software/ Social Network/ Community-Server

Unter „Social Software“ versteht man Plattformen oder Anwendungen, die das Kommunikationsverhalten ihrer Nutzer verändern sollen. Dabei gehen sie weit über die eigentliche Funktion von Communityservern für die Updatesuche und Bereitstellung von Weblog-Inhalten hinaus. Gute Beispiele dafür sind Xing[46] oder mySpace[47], aber auch Flickr[48] oder Youtube[49].

3.6 Mashup und Services

Ein Mashup ist eine Webanwendung, die auf sinnvolle Weise Daten aus verschiedenen Quellen miteinander verbindet, um somit einen neuen Webservice zu schaffen. Meist werden diese Verknüpfungen über offenen Schnittstellen (API[50]) realisiert. Diese Informationen aus den verschiedenen Übertragungsarten werden dann meist mit Scriptsprachen oder Ajax in die Webseite eingebunden. Dadurch können mit wenigen Schritten komplette Anwendungen im Netz fertig gestellt werden, unter dem Leitsatz: „Wenn alles Greifbare entwickelt und erfolgreich benutzt wird, kann durch Kombination von vorhandenem ein neuer Mehrwert erreicht werden“. Die am meisten verwendeten Protokolle werden im Folgenden besprochen.

3.6.1 XML- RPC

Diese Methode wurde von Dave Winer entwickelt. Die Abkürzung steht für „Extensible Markup Language Remote Procedure Call“. Für den Transport wird auf HTTP und für die Darstellung der übertragenen Daten auf XML zurückgegriffen. XML-RPC kann als Vorgänger von SOAP betrachten werden, ist aber wesentlich schlanker und weitaus einfacher in der Implementierung [34] [32].

3.6.2 SOAP (Simple Object Application Protocol)

Diese Übertragungsmethode ist eher für große komplizierte Enterprise-Anwendungen entwickelt worden. Es ist ein XML basiertes RPC-Protokoll, welches meist in Verbindung mit der Webservice Description Language[51] auftritt. Diese erwartet auf eine Nachricht im Gegensatz zu XML-RPC keine direkte Antwort [50].

3.6.3 Rest (Representational State Transfer)

Bei diesem Protokoll werden die Anfragen per Get, Put, Post und Delete verschickt. Die Antworten sind meistens XML oder reiner Text bzw. wie bei JSON ein Javascript Objekt. Der Unterschied zu SOAP ist, dass Informationen über die URL angefordert und per XML oder in einem anderen gewünschten Format zurückgegeben werden.

3.6.4 JSON

JSON ist eine weitere Möglichkeit Daten in einem Mashup zu übertragen und anzuzeigen. Für die genaue Erläuterung sei auf den Punkt 3.2 verwiesen. Zurzeit sind die meisten Mashups aus Googlemaps, YouTube oder Flickr zusammengesetzt (Abbildung 14) [7].




Abbildung 14: Google Maps Mashup Beispiele


technologie_und_verhaltensweisen.txt · Last modified: 2007/12/04 11:56 (external edit)
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0