Bibliografischer Nachweis und Autorreferat
Bibliografischer Nachweis
Schulz, Rico
Agile Entwicklung von Web 2.0 Applikationen mit Ruby on Rails
Diplomarbeit, Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH), Fachbereich Medien, Studiengang Medientechnik, 2007
131 Seiten, 29 Bilder, 1 Tabelle, 75 Quellenangaben
Autorreferat
Die vorliegende Arbeit beschäftigt sich mit Web 2.0, Ruby on Rails und der agilen Softwareentwicklung. Es wird zunächst der Begriff „Web 2.0“ anhand dessen Prinzipien vorgestellt. Dabei werden die zentralen Kennzeichen des Web 2.0 herauskristallisiert und anschließend in kurzer ausformulierter Form dargelegt.
Desweiteren wird Ruby on Rails vorgestellt. Dieses Framework dient der Entwicklung von datenbank-basierten Webapplikationen. Es soll durch innovative Funktionalitäten die Webentwicklung effizienter gestalten. Im weiteren Verlauf wird geprüft, ob sich Ruby on Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte.
Desweiteren wird das Konzept der agilen Softwareentwicklung beschrieben. Es wird dabei in kurzer Form auf die traditionellen Vorgehensweisen der Softwareentwicklung eingegangen. Später wird das Agile Manifest und der populärste agile Vertreter „Extreme Programming“ ausführlich dargestellt. Dies soll vorbereitend für die abschließende Evaluation des Potentials von Ruby on Rails für die agile Softwareentwicklung wirken.
Inhaltsverzeichnis
Inhaltsverzeichnis
1 Einleitung 1
1.1 Motivation und Ziel der Arbeit 2
1.2 Aufbau der Arbeit 2
2 Begriffserklärungen und Definitionen 4
2.1 Web 2 0 4
2.2 Framework, Programmbibliothek 4
2.3 Objektorientierung 5
2.4 Agile Softwareentwicklung 6
2.5 Ruby on Rails 7
3 Web 2 0 8
3.1 Einleitung 8
3.2 O’Reillys Prinzipien des Web 2 0 9
3.2.1 Einleitung 9
3.2.2 Das Web als Plattform 10
3.2.3 Die Nutzung kollektiver Intelligenz 13
3.2.4 Die Daten als nächstes „Intel Inside“ 16
3.2.5 Abschaffung des Software-Lebenszyklus 17
3.2.6 Lightweight Programming Models (LPMs) 18
3.2.7 Software über die Grenzen einzelner Geräte hinaus 19
3.2.8 Benutzerführung (Rich User Experiences) 20
3.2.9 Zusammenfassung und Beschreibung der zentralen Kennzeichnung des Web
2.0 23
3.3 Die Gefahren des Web 2 0 24
3.3.1 Die Daten 24
3.3.2 Cyber-Stalking 25
3.3.3 Barrierefreiheit 25
3.3.4 Hackerangriffe 25
3.3.5 Andere Gefahren 26
4 Ruby on Rails 28
4.1 Einleitung 28
4.2 Die Prinzipien 29
4.2.1 Model-View Controller (MV)C 29
4.2.2 Konvention über Konfiguration 34
4.2.3 DRY (don’t repeat yourself) 36
4.3 Ordnerstruktur und Rails-Umgebungen 36
4.3.1 Ordnerstruktur 36
Inhaltsverzeichnis
4.3.2 Rails-Umgebungen 37
4.4 Rails erweitern 38
4.4.1 RubyGem 38
4.4.2 Rails-Plugins 39
4.5 Generatoren 39
4.5.1 Scaffold-Generator 39
4.5.2 Weitere Generatoren 40
4.6 Versions- und Migrationskontrollen 41
4.6.1 Migrationskontrolle 41
4.6.2 Versionskontrolle 42
4.7 Internationalisierung 42
4.8 Webservices 43
4.9 E-Mail 43
4.10 Tests 43
4.10.1 Test-Datenbank 44
4.10.2 Verzeichnisstruktur 44
4.10.3 Unit-Tests 44
4.10.4 Funktionale Tests 44
4.10.5 Integration-Tests 44
4.10.6 Test-Fixtures 45
4.10.7 Mocks 45
4.10.8 Brakepointing 45
4.11 Rails-Helper 45
4.11.1 HTML-Tag 46
4.11.2 Pagination 46
4.11.3 Formatierung 47
4.11.4 Debug, Benchmark, Cache 47
4.11.5 RIA 47
4.11.6 SQL-Helper 48
4.11.7 Validierung 48
4.11.8 Callback 49
4.12 Skalierbarkeit 50
4.13 Sicherheit 51
4.13.1 Barrierefreiheit 51
4.13.2 Hackerangriffe 52
4.14 Rails-Anwendungen in der Praxis 54
4.15 Rails und Web 2 0 54
4.15.1 Einleitung 54
4.15.2 Das Web als Plattform nutzen 55
Inhaltsverzeichnis
4.15.3 Die Nutzung kollektiver Intelligenz 55
4.15.4 Die Daten als nächstes „Intel Inside“ 56
4.15.5 Abschaffung des Software-Lebenszyklus 56
4.15.6 Lightweight Programming Models (LPM) 57
4.15.7 Software über die Grenzen einzelner Geräte hinaus 57
4.15.8 Benutzerführung (Rich User Experiences) 57
4.15.9 Zusammenfassung 58
5 Agile Softwareentwicklung 59
5.1 Begriffsklärung 59
5.1.1 Software-Entwicklung 59
5.1.2 System 59
5.1.3 Modell 60
5.1.4 Agil 60
5.1.5 Methode 60
5.2 Einleitung 60
5.3 Traditionelle Softwareentwicklung 61
5.3.1 Wasserfall-Modell 63
5.3.2 V-Modell 64
5.3.3 Zusammenfassung 65
5.4 Das agile Manifest 65
5.4.1 Einleitung 65
5.4.2 Werte 66
5.4.3 Prinzipien 67
5.4.4 Agile Praktiken 70
5.4.5 Agile Methodiken 71
5.5 Extreme Programming (XP) 73
5.5.1 Einleitung 73
5.5.2 Werte 74
5.5.3 Grundprinzipien 75
5.5.4 Rollen 76
5.5.5 Prozess 78
5.5.6 Praktiken 81
5.5.7 Anwendbarkeit 84
5.5.8 Zusammenfassung 85
6 Vorgehensweise und Methodik 86
6.1 Einleitung und Wahl der Evaluationsmethode 86
6.2 Vorbereitung der Evaluation 86
6.2.1 Einleitung 86
6.2.2 Leichtgewichtigkeit/Einfachheit 86
Inhaltsverzeichnis
6.2.3 Feedback 87
6.2.4 inkrementell/iterative Entwicklung 88
6.2.5 Auf Änderungen ausgelegter Softwareentwicklungsprozess 89
6.2.6 Eignung von Ruby on Rails für die agile Softwareentwicklung 90
6.3 Überlegungen zu Leistungsstandards 91
7 Durchführung und Präsentation der Ergebnisse 92
7.1 Einleitung 92
7.2 Dokumentation der Untersuchungsdurchführung und Präsentation der Ergebnisse
92
7.2.1 Leichtgewichtigkeit des Frameworks 92
7.2.2 Gute Lesbarkeit des Programmcodes 93
7.2.3 Bereitstellung von Funktionalitäten zur Erstellung leichtgewichtiger
Technologien 94
7.2.4 Bereitstellung von Funktionalitäten zur Erstellung leichtgewichtiger
Dokumentationen 94
7.2.5 Unabhängige Test-Umgebung für Programmtests 95
7.2.6 Automatisierte Unit-Tests 95
7.2.7 Bereitstellung von sonstigen Funktionalitäten zur zügigen Feedbackgewinnung
95
7.2.8 Bereitstellung von Funktionalitäten zur zügigen Prototyp-Entwicklung 96
7.2.9 Bereitstellung von Funktionalitäten zur inkrementell/iterativen
Softwareentwicklung 97
7.2.10 Objektorientierte Softwareentwicklung 98
7.2.11 Zentrale Konfigurationsmöglichkeiten des Frameworks 98
7.2.12 Bereitstellung von Funktionalitäten zur Erweiterbarkeit des Frameworks 99
7.2.13 Bereitstellung von Funktionalitäten zur einfachen Änderbarkeit von Software
99
7.2.14 Eignung für die agile Softwareentwicklung 100
8 Diskussion 101
8.1 Einleitung 101
8.2 Bewertung der Ergebnisse und Ableitung von Schlussfolgerungen 101
8.2.1 Leichtgewichtigkeit/Einfachheit 103
8.2.2 Feedback 103
8.2.3 Inkrementell/iterative Entwicklung 103
8.2.4 Auf Änderungen ausgelegter Softwareentwicklungsprozess 103
8.2.5 Eignung für die agile Softwareentwicklung 104
9 Zusammenfassung 105
10 Ausblick 106
Inhaltsverzeichnis
Glossar 108
Abbildungsverzeichnis 118
Literaturverzeichnis 120
Thesen zur Diplomarbeit
Einleitung 1
1 Einleitung
Seit den 60er Jahren, mit Beginn der immer stärker werdenden Nutzung von Computern, begannen auch Unternehmen die Vorteile dieser technischen Errungenschaft für sich zu entdecken. Im Laufe der Zeit stellten sie stetig wachsende und komplexere Anforderungen an die zu entwickelnde Software. Diese wachsenden Anforderungen brachten die Softwareentwicklungsbranche an ihre Grenzen, was sich durch viele gescheiterte Projekte äußerte. Es wurde zunehmend von einer Softwarekrise gesprochen. Mittels Adaptierung typischer Vorgehensweisen der traditionellen Ingenieursdisziplin wurde versucht, den ganzheitlichen Prozess der Softwareentwicklung strukturierbar und kalkulierbar zu machen und somit diese Krise zu beenden. Doch die letzen Jahre zeigten, dass ein Softwareentwicklungsprozess keinesfalls planbar und berechenbar wie beispielsweise ein Hausbau ist, sondern sich in ständiger Bewegung befindet. [Dogs & Klimmer 2005: 15-18] Diese Erkenntnisse versucht, die seit dem Jahr 2000 immer populärer werdende agile Softwareentwicklung zu berücksichtigen, welche eines von drei Themen dieser Arbeit ist.
Desweiteren wird das Thema „Web 2.0“ Bestandteil dieser Arbeit sein. In den letzten Jahren ist der Begriff „Web 2.0“ immer mehr zum Trendthema geworden. In den Medien wurde und wird, sowohl positiv als auch zunehmend kritisch, darüber berichtet. (siehe [Ristau 2006] [Lennartz 2006] [Braun & Weber 2006] [Puscher 2007]) Der Inhalt des Marketingbegriffs „Web 2.0“ entstand aus Beobachtungen der in den letzten Jahren neu entstandenen, erfolgreichen Internetunternehmen und der im Jahr 2000 stattgefundenen Internetkrise. Diese äußerte sich dadurch, dass die damals an den Börsen gelisteten Internetunternehmen ihren Börsenwert innerhalb von zwei Jahren auf ein Minimum reduzierten oder sogar Zahlungsunfähigkeit anmelden mussten. Ein Grund dafür waren die zu hoch gesteckten Erwartungen an diese Internetunternehmen. Dieses Ereignis des Wertverfalls wurde später mit dem
1 beschrieben. [o.A. o.J.: Lexikon Marketing-Ausdruck das „Platzen der Dotcom Blase“ Freenet: Definition Dotcom-Blase]
Ein weiteres Thema dieser Arbeit wird Ruby on Rails (kurz Rails) sein. Rails ist ein junges
2 Framework , welches innovative Neuerungen für die Entwicklung von datenbankbasierten
3 bereitstellen soll. Auch über Rails wurde in der letzten Zeit viel in den Internetanwendungen
1 Dotcom (eng. Punkt com) - Synonym für Unternehmen, die im Zusammenhang mit dem Internet
Dienstleitungen erbringen. / Blase - etwas Aufgeblähtes, ohne Substanz
2 Siehe Abschnitt 2.2 - Frameworks geben dem Entwickler ein Programmgerüst der zu entwickelnden
Software vor, um die Softwareentwicklung effizienter zu machen.
3 Anwendungen im Internet, welche ihre Daten in Datenbanksystemen verwalten.
Einleitung 2
Medien berichtet (siehe [Lenz 2007] [Broersma 2006] [Hinterndorfer 2006]). Es soll den Entwicklern einen „…neue[n] Ansatz für die Web-Entwicklung“ [Hinterndorfer 2006] bieten.
1.1 Motivation und Ziel der Arbeit
Die agile Softwareentwicklung soll, durch ihre andere Sichtweise auf den ganzheitlichen Prozess der Softwareentwicklung, helfen, die Krise in dieser Branche zu beenden. Web 2.0 beschreibt eine veränderte Sichtweise auf das Internet und soll damit neue Ansatzpunkte für die Nutzung des Internets geben. Ruby on Rails soll, als Werkzeug zur Erstellung von Webapplikationen, eine andere Herangehensweise für die Entwicklung dieser aufzeigen.
Die Motivation dieser Arbeit besteht darin, all diese Themen miteinander zu verbinden. Der bis heute teils unverstandene Begriff „Web 2.0“ wird näher beleuchtet und dessen zentrale Kennzeichen herauskristallisiert. Anschließend wird Ruby on Rails näher vorgestellt, um darauf folgend aufzuzeigen, ob sich Ruby on Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte. Der Vorgang der agilen Softwareentwicklung soll näher betrachtet und abschließend das Potential von Ruby on Rails für die agile Softwareentwicklung evaluiert werden.
4 und Thomas gehen in ihrem Buch „Agile Webentwicklung mit Rails“ in Heinemeier Hansson
dem Abschnitt „Rails ist agil“ auf nur eineinhalb Seiten auf die Agilität von Rails ein. Sie schreiben, dass „Agilität […] [ein] Bestandteil der Struktur von Rails“ [Thomas & Heinemeier Hansson 2006: 3] ist und „Statt ständig zu versuchen, einen Zusammenhang zwischen den Rails-Prozessen und den agilen Grundsätzen herzustellen, haben wir uns entschieden, das Framework für sich selbst sprechen zu lassen“ [Thomas & Heinemeier Hansson 2006: 4]. Diese Vorgehensweise kann für ein Lehrbuch über Ruby on Rails durchaus praktikabel sein, aber die sehr kurze Abhandlung von Agilität stellt eine weitere Motivation für diese Arbeit dar, wissenschaftlich zu prüfen, ob sich Rails wirklich für die agile Softwareentwicklung eignet.
1.2 Aufbau der Arbeit
Zum Grundverständnis des Themas der Arbeit werden in dem Kapitel „Begriffserklärung und Bedeutung“ essentielle Kenntnisse vermittelt.
4 Webentwickler beim Web 2.0 Unternehmen „37signals“ und Erfinder von Ruby on Rails
Einleitung 3
Im dritten Kapitel wird beschrieben, was sich hinter dem Begriff „Web 2.0“ verbirgt. Darüber hinaus werden die zentralen Kennzeichen von Web 2.0 in knapper, ausformulierter Form fixiert und anschließend auf die Gefahren von Web 2.0 hingewiesen.
In dem Kapitel über Ruby on Rails wird dieses Entwicklungsframework präzise dargestellt. Warum erfreut sich gerade Ruby on Rails in den letzten Monaten immer wachsender Beliebtheit bei Entwicklern von Webapplikationen? Welche Prinzipien vertritt Ruby on Rails und welche Funktionalitäten bietet es? Im späteren Verlauf dieses Kapitels soll geklärt werden, ob sich Ruby on Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte.
Im darauf folgenden Kapitel wird das Konzept der agilen Softwareentwicklung beschrieben und die Unterschiede zur traditionellen Softwareentwicklung aufgezeigt. Anschließend wird
5 näher betrachtet und der populärste agile Vertreter „Extreme Programdas „Agile Manifest“ ming“ ausführlich vorgestellt.
Die Vorgehensweise und verwendete Methodik für die Evaluation werden im Kapitel sechs dargelegt. Es werden Hypothesen aufgestellt und Wertekriterien für die im anschließenden Kapitel durchzuführende Messung des Potentials von Ruby on Rails für die agile Softwareentwicklung herausgearbeitet.
Im Kapitel „Durchführung und Präsentation der Ergebnisse“ wird die Evaluation durchgeführt, dokumentiert und die Ergebnisse präsentiert. Diese Ergebnisse werden im Kapitel acht vor dem Hintergrund der aufgestellten Hypothesen diskutiert, bewertet und daraus Schlussfolgerungen abgeleitet.
Abschließend sollen die Ergebnisse dieser Arbeit zusammengefasst und vor dem Hinter-grund, ob sich Ruby on Rails für die agile Entwicklung von Web 2.0 Applikationen eignen könnte, zusammengeführt werden.
5 Erklärung von 17 Befürwortern der agilen Softwareentwicklung über Gemeinsamkeiten
Begriffsklärung und Definitionen 4
2 Begriffsklärung und Definitionen
Dieses Kapitel soll Grundkenntnisse vermitteln, welche zu einem besseren Verständnis des Diplom-Themas beitragen.
2.1 Web 2.0
An dieser Stelle soll der Begriff Web 2.0 kurz umrissen werden. Eine nähere Beschreibung von „Web 2.0“ liefert das Kapitel drei.
Tim O’Reilly, Eigentümer des gleichnamigen Computerbuchverlages, prägte mit seinem Artikel „What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software“ (eng. Was ist Web 2.0: Designvorlagen und Geschäftsmodelle für eine neue Software-Generation) am 30.09.2005 den Marketingbegriff „Web 2.0”. Er umschreibt mit dem Begriff „Web 2.0“ eine veränderte Sichtweise auf das Medium Internet. Das Internet wird zum „Mitmach-Web“ und zu einer „Service-Plattform“.
In seiner Definition von Web 2.0 nennt O’Reilly sieben Prinzipien von Web 2.0 und gibt Empfehlungen für erfolgreiche Internetunternehmen (siehe Kapitel 3). Als Reaktion auf seinen Artikel entstanden viele Web 2.0 Anwendungen und das Thema Web 2.0 gewann an Popularität.
2.2 Framework, Programmbibliothek
Frameworks und Bibliotheken verfolgen ein gemeinsames Ziel. Sie sollen die Produktivität während der Softwareentwicklung fördern. Dies wird erreicht, indem wiederkehrende Funktionalitäten gebündelt und dem Softwareentwickler zur Verfügung gestellt werden. [Crane, Pascarello & James 2006: 132]
Programmbibliothek
In Programmbibliotheken werden Programmteile gebündelt, welche „…durch gemeinsame Eigenschaften miteinander verbunden sind.“ [Kucera 2002: 867]. Bibliotheken sind nicht eigenständig lauffähig. Sie sind Hilfsmodule, die dem Programm zur Verfügung gestellt wer- den. [Claus & Schwill 2001: 506]
Begriffsklärung und Definitionen 5
Framework
Frameworks geben dem Entwickler ein Programmgerüst für den nicht anwendungs-
6 Teilder Software vor. So kann sich der Programmierer auf die Entwicklung der spezifischen
anwendungsspezifischen Teile der Software konzentrieren. Frameworks sind in der Regel nicht ohne den anwendungsspezifischen Teil der Software lauffähig. [Gumm & Sommer 2006: 817]
2.3 Objektorientierung
Der Begriff Objektorientierung wird in den Kapiteln vier bis acht benötigt und soll daher an dieser Stelle näher beleuchtet werden.
Bei der objektorientierten Programmierung (kurz OOP) werden „…reale Objekte der Welt in entsprechenden Datenobjekten…“ [Penon 2007, Einführung] dargestellt. Die Ziele der OOP sind dabei Probleme zu vereinfachen und einen zuverlässigen, wiederverwendbaren und erweiterbaren Programmcode zu erzeugen. [Penon 2007, Einführung] Bei der OOP werden speicherbare Größen als Objekte aufgefasst. „Gleichartige Objekte […] können zu Klassen zusammengefasst werden.“ [Gumm & Sommer 2006: 809]. Die Merkmale bzw. Eigenschaften dieser Klassen werden in der Softwaretechnik Attribute und Operationen (Methoden) genannt. Ein Objekt kann Teile von anderen Objekten enthalten. Bei der OOP wird dieser Sachverhalt durch Vererbung umgesetzt. Dabei erbt das Objekt mit den zusätzlichen Eigenschaften, die Eigenschaften des Elternobjektes. [Gumm & Sommer 2006: 809 ff]
In der Abbildung 2.1 wird das Prinzip der Vererbung an einem Beispiel dargestellt. Der Mitarbeiter stellt die Elternklasse dar und der Angestellte und Arbeiter erbt Eigenschaften vom Mitarbeiter. Dabei werden die im Programmcode explizit programmierten Eigenschaften schwarz und vererbte Eigenschaften grau dargestellt.
6 betreffen Teile der Software, welche nicht der eigentlichen Problemlösung dienen, zu welcher die
Software entwickelt wird, sondern die Voraussetzungen dafür schaffen.
Begriffsklärung und Definitionen 6
Weitere Prinzipien der OOP sind:
• Abstraktion: „Abstraktion bezeichnet den Prozess, die für eine Darstellung
• Kapselung: „In Verbindung mit dem Prinzip der Abstraktion führt das
• Modularisierung: „Diese soll den Programmierer dabei unterstützen, die
7 und der Operanten, die auf den Daten Repräsentation der Daten
2.4 Agile Softwareentwicklung
Die agile Softwareentwicklung beschreibt eine veränderte Sichtweise auf den ganzheitlichen Prozess der Softwareentwicklung. Sie wird nicht als planbar im Sinne der traditionellen
7 Daten repräsentieren Informationen durch Bits. Bits sind Nullen und Einsen und die kleinste
Speichergröße für Daten.
Begriffsklärung und Definitionen 7
Ingenieurswissenschaften angesehen, sondern als „…ein kooperatives Erfinder- und Kommunikationsspiel…“ [Cockburn 2003: 51] verstanden. Nicht mehr Prozesse, sondern Individuen und Interaktionen rücken in den Mittelpunkt des ganzheitlichen Softwareentwicklungsprozesses. Viele Werte, Prinzipien und Praktiken der agilen Softwareentwicklung sind auf Änderungen während des Entwicklungszeitraumes ausgerichtet.
2.5 Ruby on Rails
Ruby on Rails (kurz Rails) ist ein Framework zur Entwicklung von datenbankbasierten Webanwendungen. Rails wird auch als Entwicklungsframework bezeichnet, da es zu Entwicklung von Applikationen konzipiert ist. Rails verfolgt dabei die Prinzipien „MVC (Model View Controller)“, „Konvention über Konfiguration“ und „DRY (Don’t repeat yourself)“. Das konsequente Umsetzen dieser Prinzipien in Rails und das zur Verfügung stellen von zusätzlichen Funktionalitäten sollen ein effizientes Entwickeln von datenbankbasierten Webanwendungen ermöglichen. Des Weiteren bietet Rails Funktionalitäten, welche die Entwicklung von Web 2.0 Anwendungen erleichtern sollen.
Web 2.0 8
3 Web 2.0
3.1 Einleitung
Seit eineinhalb Jahren ist der Begriff „Web 2.0“ immer mehr zum Trendthema geworden. In
8 den Medien, besonders im Internet, wird ausgiebig über dieses Thema diskutiert . Es ent- 9 stehen stetig neue Websites und Dienste, die dem Web 2.0 zu zuordnen sind.
Eine Website bezeichnet einen Auftritt im Internet, inklusive seiner Hierarchien, wie den
10 [Kucera 2002: 1775]. Ein einzelnen Seiten und den internen und externen Hyperlinks
Dienst beschreibt eine Dienstleistung. In der Informationstechnologie (kurz IT) beschreibt der Begriff „Dienst“ das zur Verfügung stellen von Dienstleitungen eines Anbieters für einen Nutzer. Gemäß Client-Server-Modell wird hierbei die anbietende Seite als Server und die nutzende Seite als Client definiert. Beispiele für Dienste im Internet sind das Bereitstellen von Suchfunktionen, das Verwalten elektronischer Briefkästen oder das Erteilen von Auskünften. [Claus & Schwill 2002: 187]
Doch was ist Web 2.0 und was sind Web 2.0 Anwendungen?
Im Oktober 2004 fand erstmals eine durch O’Reilly Media (dem gleichnamigen Computerbuchverlag) organisierte Konferenz für Webentwickler statt. Diese sollte mit einem einschlägigen Marketingbegriff benannt werden. Man einigte sich auf die Bezeichnung „Web 2.0“. [Scholl & Neff o.J.]
Mit der ersten Web 2.0 Konferenz im Jahre 2004 entstand auch eine „…Debatte um den Wesenskern…“ [Scholl & Neff o.J.] von Web 2.0. Tim O’Reilly, Eigentümer von O’Reilly Media, versuchte deshalb am 30.09.2005 in seinem Artikel „What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software“ [O’Reilly 2005] den Begriff Web 2.0 zu definieren. Doch auch O’Reillys Definition beseitigte bis heute nicht alle Unklarheiten. [Lennartz 2006] O’Reilly Media, welche sich die Bezeichnung „Web 2.0“
8 Über 583 Millionen Google Suchergebnisse zum Begriff „Web 2.0“
URL: http://www.google.de/search?hl=de&q=web+2.0&btnG=Google-Suche&meta= Abgerufen am: 16.01.2007
9 Zusammenstellung von Web 2.0 Anwendungen (zur Zeit 902 Anwendungen)
URL: http://www.web2null.de/ Abgerufen am 06.03.2006
10 sind referenzielle Verknüpfungen von Inhalten im Internet. (siehe Unterabschnitt 3.2.3)
Web 2.0 9
rechtlich schützen ließ, popularisiert den Begriff „Web 2.0“ bis heute in seinen Publikationen und seiner Web 2.0 Konferenzreihe. [Gumm & Sommer: 660]
Im Folgenden dieses Kapitels soll erklärt werden, was O’Reilly unter Web 2.0 versteht. Es sollen die zentralen Kennzeichen des Web 2.0 herauskristallisiert werden. Hierfür wird hauptsächlich O’Reillys Artikel „What is Web 2.0“ [O’Reilly 2005] als Quelle herangezogen, da sie sich als richtungweisend erwies (siehe Kapitel 1).
3.2 O’Reillys Prinzipien des Web 2.0
3.2.1 Einleitung
O’Reilly sah im „Platzen der Dotcom Blase“ (siehe Kapitel 1) eine Marktbereinigung, aus welcher Internetunternehmen mit wirklichen Innovationen als Sieger hervorgingen. In einer Marktbereinigung sieht er den Grundstein für „…eine aufstrebende Technologie…“ [O’Reilly 2005, Einleitung], um wirtschaftlich zu werden. Des Weiteren beobachtete er, dass seit dem Jahr 2001 vermehrt erfolgreiche Websites von Internetunternehmen mit „…interessante[n] neue[n] Anwendungsmöglichkeiten…“ [O’Reilly 2005, Einleitung] entstanden. In seinem Artikel „What is Web 2.0“ schließt O’Reilly von den Erfolgsfaktoren dieser Internetunternehmen auf seine Prinzipien von Web 2.0.
O’Reilly nennt sieben Prinzipien von Web 2.0:
• Das Web als Plattform
• Die Nutzung kollektiver Intelligenz
• Die Daten als nächstes „Intel Inside“
• Abschaffung des Software-Lebenszyklus
• Lightweight Programming Models (LPMs)
• Software über die Grenzen einzelner Geräte hinaus
• Benutzerführung (Rich User Experiences)
Er erklärt Web 2.0 anhand von Beispielen und leitet davon Kernkompetenzen für Internetunternehmen ab, welche auf diesem Sektor erfolgreich sein wollen. Er schreibt dazu: „Aber bedenken Sie dabei, dass hervorragende Leistungen in einem dieser Bereiche aufschlussreicher sein können als wenige kleine Schritte in allen sieben“ [O’Reilly 2005, Kernkom- petenzen von Internetunternehmen im Web 2.0].
Web 2.0 10
Er fasst folgende Kernkompetenzen eines erfolgreichen Web 2.0 Unternehmens zusammen [O’Reilly 2005, Kernkompetenzen von Internetunternehmen im Web 2.0]:
• „Dienste, keine Paketsoftware, mit kosteneffizienter Skalierbarkeit
• Kontrolle über einzigartige, schwer nachzubildende Datenquellen, deren Wert pro-portional zur Nutzungshäufigkeit steigt
• Vertrauen in Anwender als Mitentwickler
• Nutzung kollektiver Intelligenz
• Erreichen des „Long Tail“ mittels Bildung von Communities etc.
• Erstellung von Software über die Grenzen einzelner Geräte hinaus
• Leichtgewichtige User Interfaces, Entwicklungs- und Geschäftsmodelle“
Die Eigenschaften der oben genannten Prinzipien von Web 2.0 sollen nachfolgend auf Grundlage von O’Reillys Artikel erläutert werden. Die inhaltliche Bedeutung der erwähnten Kernkompetenzen eines erfolgreichen Web 2.0 Unternehmens werden dabei ihre volle Klarheit entwickeln. Weiterhin sollen die zentralen Kennzeichen von Web 2.0 herausgearbeitet werden. Diese werden zur besseren Sichtbarkeit unterstrichen dargestellt.
3.2.2 Das Web als Plattform
O’Reilly schreibt, dass ein Web 2.0 Unternehmen das Internet als eine Plattform nutzt [O’Reilly 2005, Das Web als Plattform]. Eine Plattform beschreibt in der Informationstechnologie die Umgebung, inklusive Betriebssystem und Hardware, auf welcher Software läuft. [Claus & Schwill 2001: 494].
Anhand seiner Mindmap über Web 2.0 will O’Reilly verdeutlichen, was er mit dem Prinzip „Das Web als Plattform“ kommunizieren will.
Web 2.0 11
Im Mittelpunkt der Abbildung erscheint „The Web as Platform“ als Strategie für „… eine Ansammlung von Prinzipien und Praktiken…“ [O’Reilly 2005, Das Web als Plattform], welche das Web 2.0 symbolisieren. O’Reilly sagt, dass eine Web 2.0 Anwendung ein „…größeres Verständnis für das Wesen dieser Plattform…“ [O’Reilly 2005, Das Web als Plattform] aufbringen muss.
In O’Reillys „Mindmap über Web 2.0“ findet sich folgendes wieder:
• In Teilen seine „Prinzipien über Web 2.0“
• seine „Kernkompetenzen eines erfolgreichen Web 2.0 Unternehmens“
• weitere Stichworte, wie z.B. „Trust your user“, „Granular Addressability of content“
• Beispiele von Web 2.0 Anwendungen
Im weiteren Verlauf des Kapitels über „Web 2.0“ werden die Aspekte der in der Mindmap erwähnten Prinzipien und Praktiken verdeutlicht.
„The Long Tail“ ist ein Beispiel O’Reillys, für die Strategie „das Web als Plattform“ zu nutzen. Der Marketingbegriff “The Long Tail” beschreibt, den Erfolg von der Summe vieler Nischen- produkte (Produkte mit wenig potentiellen Käufern) gegenüber wenigen Massenprodukten
Web 2.0 12
(Produkte mit vielen potentiellen Käufern) im Internet, durch Ausnutzung der Vorteile des Internets. Ein Produkt bezeichnet hier eine Ware oder Dienstleistung.
Abb. 3.2 „The Long Tail“ (Signalisiert durch den hellgrauen Bereich) [Aderson 2005]
In der Grafik zeigt der Übergang vom dunkelgrauen in den hellgrauen Bereich den Übergang vom Massenprodukt zum Nischenprodukt. Der hellgraue Bereich zeigt den Erfolg einer großen Anzahl von Nischenprodukten, welcher im Vergleich zu dem dunkelgrauen Bereich (stellt den Erfolg weniger Massenprodukte dar) in etwa gleichwertig ist. Aufgrund der Tatsachen, dass ein Anbieter im Internet zu geringen Kosten (z.B. Speicherkosten auf Servern sind geringer als Lagerkosten eines Produktes in einem Geschäft) sehr viele Nischenprodukte anbieten und durch die Globalität des Internets sehr viele Menschen erreichen kann, wird er laut der „Long Tail“ Theorie mit der Summe seiner Nischenprodukte Erfolg haben. [Anderson 2005]
O’Reilly nennt als Beispiel der Nutzung des „Long Tail“ Googles Werbeservice AdSense (google.com/adsence). Mit AdSense können kontextabhängige Werbeinhalte in Textform in jede Website eingebunden werden (auch kleine Websites mit wenigen Besuchern können von diesem Dienst Gebrauch machen). Goggle nutzt also „…die kollektive Macht vieler kleiner Seiten, die den Hauptbestandteil des Webs bilden.“ [O’Reilly 2005, Das Web als Plattform].
O’Reilly beschreibt am Beispiel der Suchmaschine Google (google.de) weitere Aspekte des Prinzips „Das Web als Plattform“. Google ist eine „…native Web-Anwendung, die niemals verpackt und verkauft, sondern als Service angeboten…“ [O’Reilly 2005, Das Web als
11 Plattform] wird. Für Googles Software gibt es keine Releases , denn sie wird kontinuierlich
verbessert. Googles Software wird auf Servern ausgeführt, ist kostengünstig skalierbar und
11 Herausgeben von neuen Software-Versionen, z.B. Microsoft Word Versionen 9, 10, 11
Web 2.0 13
wird niemals ausgeliefert. Sie muss nicht auf andere Plattformen, z.B. Windows XP, MacOs oder Linux, portiert werden und für ihre Nutzung benötigt man nur einen standardkonformen
12 Browser . Google benötigt für seinen Service eine große Kompetenz im Bereich des Datenbankmanagements. O’Reilly fasst folgendes über Google zusammen: „…Google [agiert] im Raum zwischen Browser, Suchmaschine und Zielserver als Vermittler zwischen dem User und der Online-Welt“ [O’Reilly 2005, Das Web als Plattform].
O’Reilly schreibt „…der Wert der Software verhält sich proportional zu[m] Ausmaß und [der] Dynamik der Daten“ [O’Reilly 2005, Das Web als Plattform]. Er nennt noch einen weiteres Schlüsselprinzip des Web 2.0: „Ein Dienst wird umso besser, je mehr Leute ihn nutzen“ [O’Reilly 2005, Das Web als Plattform].
O’Reilly scheint mit seinem Prinzip „Das Web als Plattform“ kommunizieren zu wollen, dass ein erfolgreiches Internetunternehmen ein neues Verständnis für das Internet entwickelt hat. Dieses neue Verständnis nennt er Web 2.0.
Frank Ristau schreibt dazu: „Reine Software-Programme auf dem heimischen PC werden also durch Web 2.0 in Frage gestellt, das Internet selbst wird zur Anwendung“ [Ristau 2005]. Schroll und Neff formulieren es so: „Das Web wird zur Service-Plattform“ [Schroll & Neff o.J.].
3.2.3 Die Nutzung kollektiver Intelligenz
O’Reilly bezeichnet dieses Prinzip des Web 2.0 als „das zentrale Prinzip“ [O’Reilly 2005: Die Nutzung der kollektiven Intelligenz] und als einen essentiellen Teil des Web 2.0. [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz]
Kollektive Intelligenz bedeutet folgendes: „…Kommunikation innerhalb einer sozialen Gemeinschaft schafft intelligente Verhaltensweisen des ‚Superorganismus’, d.h. aller Individuen.“ [Wikipedia 2006: Kollektive Intelligenz].
Hyperlinks sind referenzielle Verknüpfungen und „…realisieren Verweise zwischen Einheiten, die in irgendeiner Beziehung zueinander stehen“ [Claus & Schwill 2001: 291]. Das World Wide Web enthält als charakteristisches Merkmal Hyperlinks, welche Webseiten und andere Dokumente miteinander verbinden (siehe Abbildung 3.3). O’Reilly schreibt dass „…Hyperlinks […] die Grundlage des Web…“ [O’Reilly 2005: Die Nutzung der kollektiven
12 Browser (siehe Glossar) der die Standards des W3C (siehe Glossar) einhält
Web 2.0 14
Intelligenz] bilden und vergleicht Hyperlinks mit den Synapsen eines „globalen Gehirns“ [O’Reilly 2005: Die Nutzung der kollektiven Intelligenz]. Global deswegen, weil sich das Internet weltweit erstreckt.
Abb. 3.3 modellhafter Ausschnitt des World Wide Web [Gumm & Sommer 2006: 629]
Die Abbildung 3.3 zeigt einen modellhaften Ausschnitt des World Wide Web. Dabei symbolisieren die Pfeile die Hyperlinks.
Um die „kollektive Intelligenz“ des „globalen Gehirns“ des Internets nutzen zu können, muss man sich die „Linkstruktur des WWW“ [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz], die Hyperlinks, zu nutze machen. In seinem Abschnitt über die „Nutzung der kollektiven Intelligenz“ beschreibt O’Reilly an mehreren Beispielen, wie Web 2.0 Anwendungen diesen Aspekt umsetzen.
Beispielsweise wurde der Yahoo Katalog (de.dir.yahoo.com) durch seine Hyperlinksammlung erfolgreich. Diese Sammlung war „…eine Aggregation der besten Ideen von abertausenden Web-Nutzern.“ [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz]. Eine Technik, welche auf Hyperlinks basiert, ist RSS (Really Simple Syndication, eng: wirklich einfache Verbreitung). „RSS erlaubt es, eine Seite nicht nur zu verlinken, sondern sie zu abbonieren und bei jeder Änderung informiert zu werden“ [O’Reilly 2005, Die Nutzung der
Web 2.0 15
kollektiven Intelligenz]. RSS ist ein mächtigen Hyperlink, der in beide Richtungen kommunizieren kann [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz].
O’Reilly nennt als weiteres Beispiel das „Taggen“ von Inhalten. „Taggen erlaubt vielseitige, häufig überlappende Assoziierung, die der Arbeitsweise des Gehirns viel näher kommt als sture Kategorisierung“ [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz]. Flickr (flickr.com) und YouTube (youtube.com) beispielsweise lassen sich Inhalte durch ihre Nutzer anhand von Tags (eng. Kennzeichen, Bezeichnungsschild) beschreiben. So könnte das Bild einer roten Rose mit folgenden Tags belegt werden: Rose, Liebe, rot, schön, Nahaufnahme, Makro, Blume.
O’Reilly schreibt, dass „…die kollektive Intelligenz als eine Art Filter…“ [O’Reilly 2005, Die Nutzung der kollektiven Intelligenz] angesehen werden kann. Wikipedia (de.wikipedia.org), die freie Online-Enzyklopädie, nutzt diese Art der Filterung, um „‚mit genügend wachsamen Augen […] alle Bugs sichtbar…’“ zu machen [O’Reilly 2005, Die Nutzung der kollektiven
13 nennt diesen Aspekt "die Weisheit der Masse" [O’Reilly Intelligenz]. James Suriowecki
2005, Die Nutzung der kollektiven Intelligenz]. Durch die Möglichkeit, dass jeder Nutzer Wikipedia-Beiträge schreiben und bearbeiten kann, zeigt Wikipedia außerdem ein großes Vertrauen in den Anwender als Mitentwickler von Inhalten. Dieses Prinzip machen sich auch andere Web 2.0 Anwendungen, wie z.B. Flickr oder YouTube, zu nutze, auf welchen Nutzer Inhalte, in Form von Bildern oder Videos, für andere Nutzer schaffen. O’Reilly nennt diesen Aspekt von Web 2.0 in seiner Mindmap „Trust your User“.
Schroll und Neff schreiben dazu: „das Web wird zum Mitmach-Web“ und das Internet wird „…zunehmend zum Aktiv- und Kreativraum - statt passivem Medienkonsum zählt das Einbringen von Können und Wissen“ [Schroll & Neff o.J.]. Beteiligt sich der User an einem Service, trägt er mit Teilen seines Wissens zur Verbesserung des Services bei. Es kann also gesagt werden: die Gesamtheit des Wissens der User ist die „Weisheit der Masse“ und dieses Wissen ist durch Hyperlinks miteinander verbunden. RSS und Tags stellen Technologien dar, mit denen auf dieses Wissen zugegriffen werden kann.
13 US-amerikanischer Journalist, bekannt geworden durch sein Buch „Die Weisheit der Vielen“ aus
dem Jahr 2005
Web 2.0 16
3.2.4 Die Daten als nächstes „Intel Inside“
Warum nennt O’Reilly die Daten einer Web 2.0 Anwendung das „nächste Intel Inside“?
Intel (ein US-amerikanischer Halbleiterhersteller) begann 1991 mit einer neuen Marketingkampagne. Auf Verpackungen, Prospekten und Computergehäusen wurde der Werbeslogan „Intel Inside“ publiziert. Damit wollte Intel darauf hinweisen, dass „…im Innern des betreffenden PCs ein original Intel Prozessor die eigentliche Arbeit des Computing verrichtete“ [o.A. o.J.: Die Intel Geschichte: Der Weg zum Markenartikel]. Die „Intel Inside“ Kampagne war erfolgreich. Intel machte damit „…auf seine verborgenen High-Tech-Produkte aufmerksam“ [o.A. o.J.: Die Intel Geschichte: Der Weg zum Markenartikel], seine Prozessoren, und etablierte „Intel Inside“ selbst als Markennamen.
NavTeq (navteq.com), ein Anbieter digitalen Kartenmaterials (Landkarten), imitierte Intels Kampagne, indem Endgeräte, wie Navigationsgeräte, mit dem Aufdruck „NavTeq Onboard“ ausgeliefert wurden. [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]
O’Reilly schreibt dazu, „…dass die Kontrolle über die Daten selbst, den Geschäftsvorteil bildet…“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“] und sieht „…Datenbankmanagement als eine Kernkompetenz des Web 2.0“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]. Doch er fügt hinzu, dass eine Web 2.0 Anwendung die Kontrolle über eine „…spezialisierte Datenbank…“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“] haben muss, welche nur schwer durch Mitbewerber kopierbar sein darf.
Er führt als Beispiel das Online-Versandhaus Amazon (amazon.de) auf. Amazon entnimmt sein Angebot, wie seine Mitbewerber auch, aus einer zentralen Produktdatenbank. Im Gegensatz zur Konkurrenz baut Amazon diese aber unaufhörlich mit zusätzlichen Informationen, wie z.B. Produktbewertungen durch Kunden, Coverbildern, eigenen Identifikationsnummern, aus und macht seine Datenbestände auf diesem Weg einzigartig. [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]
O’Reilly nennt noch weitere Wege für Internetunternehmen sich eine „spezialisierte Datenbank“ aufzubauen. Es führt als Beispiel „Mashup-Anwendungen“ auf. Eine Mashup-Anwendung bedient sich über ein API (application programming interface) eines Webservices der Daten bereits bestehender Web 2.0 Anwendungen und beleuchtet diese unter einem bestimmten Aspekt neu [Braun & Weber 2006, S.93].
Einen Mashup-Wettbewerb der Fachzeitschrift c’t im Jahr 2006 gewann beispielsweise ein Dienst namens Musikportl (musicportl.com). Dieser Dienst sammelt verschiedene Informa-
Web 2.0 17
tionen über Musiker bzw. Musikgruppen aus Fremddatenbanken (z.B. Videos von YouTube, Artikel von Wikipedia, Musik von LastFm, Bilder von Flickr, Produkte von Amazon). [Braun, Kiefer & Kopp 2006, S.103]. Eine Liste verfügbarer Webservices mit API und existierender Mashups ist unter www.programmableweb.com zu finden. Zurzeit (Stand: 15.01.2007) sind dort bereits 358 Webservices mit API und 1457 Mashups gelistet, welche auf diese Webservices aufbauen.
Andererseits ist es möglich, wie es beispielsweise MySpace (myspace.com) getan hat, sich eine eigene spezialisierte Datenbank basierend auf den Informationen seiner Community aufzubauen. Doch dies ist ein langwieriger Weg. Die User müssen animiert werden, sich mit Inhalten an dem Portal zu beteiligen. Um dies zu erreichen, sollten die Funktionalitäten des Portals den Bedürfnissen der Community angepasst werden. [Lennartz 2006]
3.2.5 Abschaffung des Software-Lebenszyklus
Eine Unterscheidungscharakteristik zwischen Web 2.0 Applikationen und typischen Desktop-Applikationen, wie z.B. Microsoft Word, besteht im Software-Lebenszyklus.
Während beispielsweise Microsoft in gewissen Abständen neue Versionen seiner Softwareprodukte veröffentlicht und damit nutzwillige User der Software zum Kauf der neusten Version nötigt, verbleiben viele Web 2.0 Anwendungen im „ewigen BETA-Status“ [O’Reilly 2005, Abschaffung des Software-Lebenszyklus]. Eine im BETA-Status befindliche Software kennzeichnet eine vorläufige Version der Software, „…die ziemlich genau dem geplanten Produkt entspricht…“ [Kucera 2002: 121], an welcher aber noch Tests durchgeführt werden müssen. [Kucera 2002: 121]
Web 2.0 Anwendungen werden oftmals - meist unbemerkt von deren Nutzern - aktualisiert, verbessert und weiterentwickelt. Viele Web 2.0 Firmen bedienen sich dazu der Echtzeitbeobachtung der Nutzer, um entscheiden zu können, welche der neuen Funktionen von den Nutzern angenommen werden und so in dem Dienst verbleiben dürfen und welche wieder deaktiviert werden sollten. [O’Reilly 2005, Abschaffung des Software-Lebenszyklus] „Ein Entwickler eines großen Onlinedienstes sagte dazu: ‚Wir veröffentlichen zwei oder drei neue Features pro Tag auf bestimmten Teilen der Seite. Wenn die Leute sie nicht nutzen, nehmen wir die wieder heraus. Und wenn die Leute sie mögen, weiten wir sie auf die gesamte Seite aus.’“ [O’Reilly 2005, Abschaffung des Software-Lebenszyklus] „Carl Henderson, ein Hauptentwickler von Flickr, enthüllte, dass neue Versionen manchmal innerhalb von einer halben Stunde veröffentlicht werden.“ [O’Reilly 2005, Abschaffung des Software-Lebens- zyklus]
Web 2.0 18
Die genannten Aspekte zur Abschaffung des Software-Lebenszyklus unterstreichen ein weiteres Prinzip O’Reillys. Web 2.0 Anwendungen werden kontinuierlich weiterentwickelt. Kunden müssen sich nicht die neuste Version kaufen, sondern ihnen steht die aktuellste Software-Version immer im Internet zu Verfügung.
3.2.6 Lightweight Programming Models (LPMs)
Ein weiteres Prinzip von Web 2.0 besteht in der Bereitstellung und Nutzung von möglichst einfach gehaltenen Lightweight Programming Models. O’Reilly beschreibt LPM folgendermaßen [O’Reilly 2005, Lightweight Programming Models]:
• „Unterstütze LPMs (Lightweight Programming Models), die lose gekoppelte Systeme ermöglichen“ - Es sollte versucht werden, LPMs möglichst bruchstückhaft in den Dienst einzubinden. So wird eine individuellere Verwendbarkeit erreicht.
• „Kooperiere ohne zu koordinieren“ - Bei einfachen Webservices geht es nicht darum zu kontrollieren, was am Ende mit den bereitgestellten Daten passiert. Es geht darum, die Daten bereitzustellen.
• „Gestalte mit Blick auf ‚Hackability’ und ‚Remixability’“ - Systeme wie das Web, AJAX und RSS haben eines gemeinsam: Die Barrieren zur Wiederverwendung sind extrem gering. Einfache Systeme lassen sich oft dafür verwenden, woran der Entwickler gar nicht gedacht hat und sind somit zukunftssicherer und individueller nutzbar.
O’Reilly beschreibt anhand von Webservices was er unter LPM versteht. Ein Webservice
14 (application programming interface) kann Fremdapplikationen seine Dienste über ein API
bereitstellen. Über das API können so die Fremdapplikationen mit dem Dienst kommuni- 15 zieren. Während vor einigen Jahren für diese Art der Kommunikation meist auf SOAP (Simple Object Access Protocol) zurückgegriffen wurde, setzten sich in den letzten Jahren
16 bei der Mehrzahl von Webservices andere Techniken durch, wie z.B. XML-RPC
17 (Representational State (Extensible Markup Language Remote Procedure Call) oder REST
14 Bestandteil (Schnittstelle) eines Softwaresystems zur Bereitstellung und Kommunikation von Informationen zur Anbindung von fremden Anwendungen
15 komplexes Protokoll zum Datenaustausch zwischen Systemen unter Nutzung von XML
16 schlanke Definition eines entfernten Aufrufs von Methoden in einem Netzwerksystem und Darstellung der Daten mittels XML
17 Definition der zustandslosen Nutzung des http-Protokolls zur Manipulation von Daten des Servers und Kommunikation von Daten zwischen Client und Server unter Nutzung der http-Methoden get, post, put und delete.
Web 2.0 19
Transfer). SOAP erfüllt nicht den leichtgewichtigen Ansatz, den O’Reilly beschreibt. SOAP funktioniert nur unter einer „…strengen Einhaltung von Formalien…“ [O’Reilly 2005, Lightweight Programming Models] und verursacht einen immens größeren Daten-Overhead (Mehraufwand an Daten im Verhältnis zum eigentlichen Informationsgehalt) als die anderen Ansätze. [O’Reilly 2005, Lightweight Programming Models] REST beschreibt die Nutzung des http unter Einhaltung bestimmter Konvention bei der Client-Server-Kommunikation. Dabei wird die Nutzung der http-Methoden GET zum Abfragen einer Ressource, POST zum Ändern einer Ressource, PUT zum Hinzufügen einer Ressource und DELETE zum Löschen einer Ressource vorgeschrieben. [Bayer 2002]
Amazons Webservice, welcher sowohl als SOAP als auch REST Variante zur Verfügung steht, wird beispielsweise durch 95% der Nutzer über REST genutzt. Nur wenige, hochwertige B2B (Business to Business)-Verbindungen greifen dabei auf SOAP zurück [O’Reilly 2005, Lightweight Programming Models]. Auch Google gab im Dezember 2006 bekannt, dass in Zukunft keine neuen Nutzer für seine SOAP-API mehr akzeptiert werden. Der Dienst wird zwar nicht eingestellt, jedoch will sich Google in Zukunft auf seine XML-RPC API konzentrieren [Braun 2006].
Auch das im Unterabschnitt 3.2.2 angesprochene RSS verdankt seinen Siegeszug im Web nicht nur seiner Mächtigkeit (ein in zwei Richtungen kommunizierender Hyperlink), sondern auch seinem einfach gehaltenen Design [O’Reilly 2005, Lightweight Programming Models].
3.2.7 Software über die Grenzen einzelner Geräte hinaus
Jede Webanwendung ist schon aufgrund der Tatsache, dass sie im Internet bereitsteht, geräteunabhängiger als beispielsweise eine Desktop-Applikation für Windowsrechner. Jeder User benötigt für die Nutzung einer Webanwendung, unabhängig vom installierten Betriebssystem des Rechners oder sonstigem Gerät, nur einen standardkonformen Browser. [O’Reilly 2005, Software über die Grenzen einzelner Geräte hinaus]
Tim O’Reilly verdeutlicht aber, dass auch Dienste, die nicht als Internetunternehmen in Erscheinung treten, zum Web 2.0 gezählt werden können. Diese Dienste setzen das Web äußerst wirksam, „…als unsichtbaren, integrierten Bestandteil ihrer Infrastruktur…“ ein [O’Reilly 2005, Software über die Grenzen einzelner Geräte hinaus]. Als Beispiel nennt O’Reilly Apples iTunes (apple.com/de/itunes). ITunes ist sowohl ein gewaltiges datenbankbasiertes Webportal, auf welchem Musik und Videos zum Download angeboten werden, als auch ein Softwareprogramm, mit welchem die iTunes Inhalte verwaltet werden können. Musik, Videos und Podcasts sind nicht nur auf dem eigenen Computer, sondern auch auf
Web 2.0 20
dem mobilen iPod oder mithilfe von Apple TV auf dem Fernsehgerät anhör- oder anschaubar. Ein Podcast ist ein Video- oder Musikdienst, welcher in mehren Folgen angeboten wird. Podcast nutzt RSS und bietet seinen Usern auf diesem Wege eine Art Abonnement der Podcast-Folgen an. Apple verfolgt seinen Weg weiter, denn auch das neuste Gerät (das iPhone) wird iTunes-kompatibel sein [Donath 2007].
3.2.8 Benutzerführung (Rich User Experiences)
Einen technischen Aspekt von Web 2.0 beschreibt O’Reilly mit seinem Prinzip „Benutzerführung“. Er hebt dabei AJAX (Asynchronous JavaScript and XML) hervor.
Mit AJAX wird dem Nutzer der gleiche Komfort geboten, den auch typische Desktop-Anwendung bereitstellen. O’Reilly erwartet als Resultat des Einsatzes von AJAX in den nächsten Jahren viele neue Webanwendungen, welche entweder nur Desktop-Anwendungen kopieren oder völlig neu erdacht sind. [O’Reilly 2005, Benutzerführung]
18 schneller als klassische Webanwendungen, denn AJAX-Anwendungen arbeiten kumuliert
es werden „…nur die geänderten Bestandteile einer Seite vom Server übertragen […], nicht gleich die komplette Seite“ [Puscher 2007: 160]. Die Abbildung 3.4 verdeutlicht dieses anhand eines Vergleiches des kumulierten Datenverkehrs einer klassischen Webanwendung ohne AJAX und einer Webanwendung mit AJAX.
Abb. 3.4 kumulierter Datenverkehr während der Nutzung einer klassischen Webanwendung ohne AJAX-Unterstützung (helle Linie) und einer Webanwendung mit AJAX-Unterstützung (dunkle Linie) [Crane, Pascarello & James 2006: 45]
18 Gesammelt; im Gesamten betrachtet
Web 2.0 21
Jesse James Garrett schreibt folgendes über AJAX: „‚Ajax ist keine einzelne Technologie. Ajax beinhaltet mehrere Technologien, jede mit ihrer ganz besonderen Daseinsberechtigung, die auf neue und mächtige Art und Weise miteinander verbunden wurden. Im Einzelnen handelt es sich um:
• Standardgerechte Präsentation mit XHTML und CSS
• Dynamisches Anzeigen und Interaktivität mittels Document Object Model (DOM)
• Datenaustausch und -manipulation mit XML und XSLT
• Asynchrone Datenabfrage unter Verwendung von XMLHttpRequest und schließlich JavaScript, das all dies zusammenfügt.’“ [O’Reilly 2005, Benutzerführung]
Abb. 3.5 Modell einer AJAX-Kommunikation [Crane, Pascarello & James 2006: 59]
In der Abbildung 3.5 ist ein Modell einer AJAX-Kommunikation abgebildet. Der Webbrowser auf dem Endgerät des Nutzers wird hier durch den dunkleren Kasten symbolisiert. Gemäß Client-Server-Modell zeigt der obere Kasten die Clientseite und der untere die Serverseite. Führt der Nutzer nun eine Aktion, beispielsweise durch einen Mausklick, aus, wird die Aktion mittels JavaScript registriert. Dann werden die Informationen mit Hilfe von JavaScript in
Quote paper:
Dipl.-Ing.(FH) Rico Schulz, 2007, Agile Entwicklung von Web 2.0 Applikationen mit Ruby on Rails, Munich, GRIN Publishing GmbH
This text can be quoted and accessed from this url:
Embed
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Presentations, Models, Tutorials, Instructions
Elaboration, 35 Pages
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Presentations, Models, Tutorials, Instructions
Elaboration, 15 Pages
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Presentations, Models, Tutorials, Instructions
Elaboration, 20 Pages
Erstellen einer schriftlichen Hausarbeit
Presentations, Models, Tutorials, Instructions
Termpaper, 14 Pages
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Presentations, Models, Tutorials, Instructions
Script, 46 Pages
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Presentations, Models, Tutorials, Instructions
Elaboration, 39 Pages
Rico Schulz has published the text Agile Entwicklung von Web 2.0 Applikationen mit Ruby on Rails
Rico Schulz has uploaded a new text
Ruby on Rails 3.1 Expertenwissen
Eine praxisorientierte Einführ...
Stefan Sprenger, Kieran Hayes
Ruby on Rails Enterprise Application Development: Plan, Program, Exten...
Elliot Smith, Rob Nichols
0 comments