…
Übungsfragewn Dieter Weinmann Wirtschaftsinformatik
April 11, 2007 · Kommentar schreiben
Aufgabe 10:
Definiere verteiltes System, verteilte Anwendung und Middleware
Definition Verteiltes System:
- Ein verteiltes System ist ein System
o In dem sich Hardware und Softwarekomponenten auf vernetzten Computern befinden und
o Nur über den Austausch von Nachrichten kommunizieren und ihre Aktionen koordinieren
Beispiel: das Internet, „The glue“ sind die Protokolle IP, TCP, UDP
Def.: Middleware
- wird von einer verteilten Anwendung als Zugriffsschnittstelle zum verteilten System genutzt
- Ziel: verbergen der Verteilungsaspekte der Anwendung
- Unterscheidung: Kommunikations und Anwendungsorientierte Middleware
o Bzw data management, platform und communication..
- Ziel: Verbergen der Verteilung = Transparenz
o Ortstransparenz
o Zugriffstransparenz
o Nebenläufigkeitstransparenz
o Fehlertransparenz
o Replikationstransparenz (Replikation von HW oder SW bleibt verborgen)
o Vollständige Transparenz ist nicht immer Sinn voll. Bsp. Fehlermeldungen beim Drucker? WO?
Def.: verteilte Anwendung:
- eine Verteilte Anwendung ist eine Anwendung,
o die ein verteiltes System zur Lösung eines Anwendungsproblems nutzt und
o aus verschiedenen Komponenten besteht, die mit den Komponenten des verteilten Systems sowie mit den Anwendern kommunizieren
o Bsp.: Flugbuchung, Internetshops
o ftp telnet usw..
Aufgabe 11:
Beschreiben sie, anhand eines Beispiels, wann sich der Einsatz einer Middleware lohnt, bzw. wann direkte Netzwerkprogrammierung angezeigt ist
-
Aufgabe 12:
Beispiel für Fälle, in denen Transparenz keinen Sinn macht
- zum Beispiel beim Netzwerkdrucker, da wäre es sehr sinnvoll, wenn jemand weiß, wo sich die ressource befindet oder, wenn ein Fehler auftritt, wie der Drucker angesteuert wird.
Aufgabe 13:
Die Verteilung von Anwendungen wirft viele Probleme auf. Begründen Sie anhand von Beispielen, warum es dennoch sinnvoll sein kann, eine Anwendung verteilt zu realisieren
Wesentlicher Grund: gemeinsame Nutzung der Ressource
- Hardwareressourcen (Netzwerkdrucker, Scanner)
- Gemeinsame Nutzung von Daten und Informationen – Datenbank, WWW, Fileserver Informationsaustausch
- Gemeinsame nutzung von Funktionalität
o Zentralisierung der Funktionalität, Fehlervermeidung, wieder verwertung
Aufgabe 14:
Begründen Sie, warum 2 tier Architektur nicht für Internetanwendungen geeignet ist.
Engl: Stufe, Reihe. Achtung: nicht Schicht, schicht ist ein LAYER
- kennzeichnet einen unabhängigen Prozessraum innerhalb einer verteilten Anwendung
- n tier legt fest, wie viel unterschiedliche Stufen, also Client, Server Prozessräume es in einer verteilten Anwendung gibt.
- Prozessraum kann, muss aber keinem pysikalischen Rechner entsprechen – heute nicht mehr weil, Blades, Cluster und grid usw.
- Typische Aufgabenstellung in einem Inforamtionssystem sind:
o Präsentation
o Anwendungslogik
o Datenhaltung
- bei einer 2 tier Architektur gibt es nur 2 Schichten, das waren frühere Mainframes/Großrechner, wo auf dem Client nur die Präsentation der Daten möglich war.
- D.h. es wäre eine Direktverbindung zum nächsten Computer nötig, was aber beim Internet nicht der fall ist, da hier viele Rechner vernetzt sind und auch weitere Rechner den Middletier zur Übertragung bilden.
- 2 Tier wird noch bei Datenbanken eingesetzt, schwer wartbar, schwer skalierbar, update Problem – wenn dann kompletter Rechner
Aufgabe 15:
Sie erhalten eine hochverfügbare Internetplattform zur Versteigerung von DVDs. Erläutern sie kurz, welche Architekturmodelle bzw. Verteilungsmodelle sie einsetzen würden. Skizze!!
- Client= im Browser findet die Präsentation statt.
- Anwendungslogik und Datenhaltung beim Plattforminhaber. Dazwischen Kommunikationsmiddleware: INTERNET
- Bei der Plattform wird eine verteilte Architektur benötigt um die Hochlast und die dauernden Anfragen verarbeiten zu können…
- Wichtig: Lastverteilung
- 1. Eingangsrechner alleine nur zur Verwaltung der Seitenaufrufe
- 2. verteilt über verschiedenste Verfahren die Lasten auf die Rechner die die Anfragen bearbeitet.
- Hier: zb. jede Auktion auf einem bestimmten Rechner, vereinfacht Datenhaltung von Session Cookies, /Jave beans usw und wegen der dauernden Preisänderung. also viele Webserver, die die anfragen verarbeiten.
- Für die Datenhaltung muss man im Hintergrund ein Grid aufbauen, dass die ganzen Datenbanken mit den Infos enthält die bei bedarf an den Webserver geliefert werden, wie Kundendaten, Auktionsdaten, Abrechnungsvorgänge,
- Dabei sollten systemkritische Prozesse, wie Abrechnung mit hoher Sicherheit und Kundendaten, die sich selten ändern auf unterschiedlichen Rechner mit unterschiedlichen Sicherheitsstufen gehalten werden, um Wartung zu vereinfachen
- Außerdem sollten die Seiten dezentral gespiegelt werden, wie z.b. bei ebay – Länderspezifische Websites um DoS Attacken zu vermeiden, oder Flash Crows am ende einer Auktion
Ultra thin client: nur Browser
Fat client: teile der Anwendung liegen auf Client –J2EE usw.
Aufgabe 16:
Middleware kann sowohl im EAI Bereich, als auch für verteilte Anwendungen eingesetzt werden. Erläutern sei, welche Eigenschaften Middleware jeweils unterstützen sollte.
EAI= Enterprise Application Integration
Integration vollständiger Anwendungen entlang der Wertschöpfungskette eines Geschäftsprozesses oder in einem Unternehmen
Ziel: Integration einfacher Anwendungen.
Middleware eignet sich zwar auch, erb nicht so gut zur Anwendungsintegration:
Unterschied SAP XI und Net Weaver
Middleware sollte auf jeden Fall die Interaktion der Anwendungen und die Kommunikation der Anwender vereinfachen
Für EAI wird eine hohe Anforderung an Skalierbarkeit und Sicherheit gestellt
Aufgaben zu Webservices
1.) Welchen neuen Aspekt unterstützen WebServices im Vergleich zu anderen Web Technologien?
- Ermöglichen web basierende RPC
- 4th generation von webAnwendungen Browser über XMl zu webserver, der ruft dann noch von APP Server und DB Sachen ab.
- Neuer Aspekt: Kommunikation zwischen den Diensten aufgrund von Standards, dadurch durchmischen von Anwendungen, Interoperabilität, besseres Customizing an die Bedürfnisse des Nutzers.
- Verbindet die Dienste verschiedenster Anbieter innerhalb eines Geschäftsprozesses
2.) Was versteht man unter einem wohlgeformten XML Dokument? Wann kann ein XML Dokument als gültig angesehen werden?
- Daten werden mit der Endung .xml abgelegt
- XML sind wohlgeformt, wenn sie allen Regeln genügen (Syntax)
o Bedeutet nicht, dass diese auch sinnvoll sind
- Damit ein Dokument ein gültiges Doc ist, muss die Struktur interpretierbar sein
- 2 Spezifikationen von XML Semantik:
o DTD Date Type Definition, Spezifikationen für den Austausch von Dokumenten
o XML Schema: Nachfolger der DTD, XMl basiert
XML= auzeichnungssprache
- sprache zur Beschreibung von Elementen in einem XMl Dokument
- bietet Reihe von Basusdatentyen und komplexer Ausdruckstypen
- Datentypdefinitionen werden mit .xsd beschrieben
- Notation ist wieder xml
- Xml file enthält link auf die schema interpretation und kann so interpretiert werden.
- Jeder Namespace mit eindeutiger URI = universal Ressource Identifier
- W3c definiert das
Bietet die Möglichkeit, komplexe Datenstrukturen innerhalb eines Dokuments darzustellen
Zwischen Systemen und Plattformen austauschbar
3.) Idee hinter den WS ist es, einem Anwender einen komplexen Dienst durch die transparente Zusammenarbeit mehrer Teildienste zur Verfügung zu stellen. Nennen sie mögliche Geschäftsmodelle für WS in der Zukunft
- Automatisierung, so dass die Maschinen untereinander kommunizieren können
- Ws sollen hauptsächlich im B2B Bereich eingesetzt werden und durch ihre Standardisierung Integration von verschiedensten Heterogenen Dienste bewerkstelligen, Ws sind nicht Middleware, es fehlt was auf der Vermittlungsschicht
- Darüber hinaus sind unzählige Szenarios möglich, wo ein WS genutzt werden kann Z.B. Local Based Services, wo Mobiltelefone in Funkzellen automatisch dienste zur Verfügung gestellt bekommen, ie wo gibt es in Wien das Wiener Schnitzel
-
4.) Nennen sie einige Vorteile der WebService Technologien gegenüber JAVA RMI. Wo sehen sie die wichtigsten konzeptionellen Unterschiede der beiden Technologien?
JAVA RMi (Remote Method Invocation)
- Java basierte Implementierung des RMI Kommunikationsmodells
- Integraler Bestandteil der JAVA Plattformen
- Client und Serverobjekte immer in JAVA
- Datentransformation: Objektserialisierung
- Intergrierter Namensdienst: JAVA Registry
- Verwendet das Sicherheitsmodell der J2EE trusted, untrusted
Vorteile von WS gegenüber JAVA RMI
- übergreifende Standardisierung
- kein Java Runtime engine nötig – müsste auf allen Rechnern verfügbar sein, um die Befehle interpretieren zu können
- Bei Java müssen Teile der Anwendung zum Client geladen werden, WS rein über nachrichten und Dienstaufrufe
- Nur für reine JAVA Lösungen – Connectors z.B: zu SAP SOA sau teuer, und da wären noch haufenweise andere Sachen nötig, NetWeaver usw.…
- Parsen z.b. der Google Suche in die eigene Anwendung geht über WS ganz einfach, über JAVA nicht möglich, da müssten erst Prozesse definiert werden usw..
- Jeder Browser liest xml
Aber: JAVA RPC
JAVA Apis for xml based RPC (JAX RPC) sind der Standard einer Schnittstelle für JAVA Anwendungen auf WS
- erweitert SOAP um eine Java Schnittstelle
-
Gruppenarbeit WS:
- Anwendungsszenarien, Vorteile der Technologie, wieso noch so selten..
- Vorteile und Nachteile
- Vorteile:
o Webservices sind eine Middleware für das Internet, durch http einfach übertragbar, keine Firewallrpobleme
o Offene, flexible Architektur durch http, XML…
o Einfache zu implementieren
o Offene Standards
o Kostengünstig
Mit JAX RPC Java Platform für WS, mit ASP.net von MS
Grundlage bilden die drei Standards WDSL, UDDI, SOAP
Fehlende Standards erschweren den Einsatz
Nachteile:
- Fehlende Standards zu Sicherheit, Prozess- und Transaktionsverwaltung erschweren den Einsatz.
- Performance: Durch XML, gestiegene Dateigrößen und Parsen entsteht ein großes Datenaufkommen
- Noch keine Standards zu kostenpflichtigen Web Services (Bezahlmodelle)
Nachrichtenorientierte Middleware
1.) Begründen sie, wann die Übertragung einer Nachricht durch nachr. Orient. Middleware transaktional ist, also die 4 Eigenschaften einer Transaktion erfüllt. Welche Rolle spielen hierbei persistente Warteschlangen
- 4 eigenschaften einer Transaktion? ACID atomity, consistency, isolation durability
Asynchroner Transport von Daten zwischen 2 Prozessen
Daten werden innerhalb von Nachrichten übertragen
Reueset Reply Modell, Message Passing, Publish, Subscribe Modell
MOM= Message oriented Middleware zur Warteschlangenverwaltung, Unterstütz alles mögliche an Message zeug: Verbindungsmanagement, Warteschlangenverwaltung usw
- Persistente Warteschlangen
o Eine wesentliche Quality of Service Eigenschaft ist die garantierte Auslieferung der Nachricht
o Problem: Empfänger kann ausfallen, Netzwerk kann unterbrochen sein
o PERSITENTES Zwischenspeichern in DB
o Wenn der Empfänger bereit ist wird zugestellt
o Sagt also nichts über den Zeitpunkt aus
- Warteschlangeverwalter: Queue Manager
2.) Beschreiben sie Programmiermodelle, die mit nach.orient. Middleware umgesetzt werden können!
- asynchrone Kommunikation! Message Queuing
Klasse der nachrichtenorientierten Middleware fallen alle Middleware-Technologien, die auf dem nachrichtenorientierten Modell aufsetzen. Typisches Kennzeichen nachrichtenorientierter Middleware ist die Unterstützung komplexer Warteschlangensysteme.
Der aktuell wichtigste Standard für nachrichtenorientierte Middleware ist der Java Message Service (JMS). Bekanntes Beispiel und in gewisser Weise Quasi-Standard für eine nachrichtenorientierte Middleware ist WebSphereMQ von IBM, auch unter dem Namen MQSeries bekannt.
-
Nachrichtenorientierte Middleware bzw. Message Oriented Middleware (MOM) bezeichnet Middleware, die auf der asynchronen Kommunikation, also der Übertragung von Nachrichten (Messages) beruht. Das Format für die Nachrichten ist nicht festgelegt, in der Praxis hat sich jedoch XML als beliebtes Format etabliert.
MOM unterstützt drei verschiedene Kommunikationsprotokolle
Message Passing (Direkte Kommunikation zwischen Applikationen)
Message Queueing (Indirekte Kommunikation über eine Nachrichtenqueue)
Publish & Subscribe (Erzeuger (Publisher) stellt Konsument (Subscriber) Messages zur Verfügung)
Vorteile
asynchrone Kommunikation
Server/Dienst muss nicht sofort verfügbar sein
Message-Warteschlangen
meist schnellere Ausführung als Funktionsaufruf-basierte Programme
lose Kopplung von Server/Clients
mehr Toleranz für Änderungen der bestehenden Funktionen
verbesserte Verfügbarkeit der Systeme
parallele Verarbeitung von Nachrichten möglich
Nachteile
Komplexität beim Programmieren
Hoher Aufwand
Ausfall der MOM legt alle angeschlossenen Systeme lahm
Designen, Testen, Debuggen und Entwicklung der Bauteile sind für Synchron-Programmierer ungewohnt
Message Oriented Middleware mit XML [Bearbeiten]
Der Einsatz von XML als Sprachbasis für die Nachrichten bei Message Oriented Middleware ist in der Praxis weit verbreitet. Aufgrund des vergleichsweise selbsterklärenden und im Gegensatz zu Nachrichten im Binärformat leicht menschenlesbaren Formats ist es beim Einsatz von XML relativ einfach, auch die Kommunikation zwischen Middleware-Systemen zu ermöglichen, wenn sie unterschiedliche Sprachen verwenden, solange die Sprachen XML-basiert sind. Um die Kommunikation zu ermöglichen, kann ein XSLT-Prozessor als Übersetzer zwischengeschaltet werden, der mit Hilfe eines Transformations-Stylesheets Nachrichten von der XML-basierten Sprache des Quellsystems in die Sprache des Zielsystems übersetzt. Als Protokoll wird häufig SOAP eingesetzt.
3.) Überlegen sie sich für jedes der genannten nachrichtenorientierte Programmiermodell ein Anwendungsszenarien in der Praxis. Begründung.
RPC
JAVA RMI
MOM
- Publish subscribe – Newsletter im Internet
- Message Passing
o Point to Point
o Broadcsting =videodienst jeden tag um 8=tagesschau verlinkung einblenden oder so
o Request Reply Modell = eingebettete fragen und antworten in diensten zb. Akzetieren der Geschäftsbedinungen (da es hier eher im technik geht, die ohne menschliches klicken funktioniert…anderes beispiel)
Middleware: Kommunikations- und Anwendungs- Middleware
1.) Webanwendungen arbeiten häufig mit Sitzungen. Eine Sitzung bleibt über mehrere Seitenwechsel vorhanden. Diskutieren sie, zu welchen Problemen bei der Sitzungsverwaltung die Verwendung des back Buttons im Browser führen kann.
- Verwendung des Back Buttons –
o Führt ohne Clientseitigen Cache zum datenverlust zb auf der Eingabemaske vorher
Lösung Session Cookie oder Java Beans
2.) Erläutern sie den Unterschied zwischen horizontaler und vertikaler Transaktionen.
Verteilte Transaktionen:
- bei dezentrierten Anwendungen werden die Daten aus der Anwendung im Cache der Middleware gespeichert
- Ein Transaktionsdienst hat die Aufgabe, dass die Daten im Cache mit den Daten der DB konsitent sind
- Mittel der Wahl ist Tier übergreifende Verwaltung
- Wird auf middle tier ausgeführt
Horizontale Transaktionen:
- Erweiterung der Vertikal verteilten Transaktionen
- Mehrere Ressourcen müssen integriert werden. DBen oder so
-
Cross industry app müssen vertical integriert werden.also gleiches programm in unterschiedlichen branchen
Zb 2 lagerprogramme geichen den bestand ab oder so
Horizontal:
Abgleich von 2 unterschiedlichen programmen. Vertriebler braucht verbingund von google earth mit vw verkäufen in heidelberg über BI Modul als WS Dienst oder so
Dann braucht er anwendungsorientierte Middlware, die die unterschiedlichen abgleiche von programmen vornimmt und erstmal versteht und übersetzt, das ine kommunikation möglich ist
Anwendungsorientierte Middleware erweitert die Kommunikation um
- Laufzeitumgebung zb. .net oder J2EE
- Dienste zb GPS einbetten
- Komponentenmodell: was von welchem programm wird benötigt?
Middlewaretechnologien:
- ORB – object request broker zb.b CORBA
- Application Server
- Middleware Platform – J2EE
3.) Beschreiben sie das Modell der Open Group zur Verwaltung verteilter Transaktionen.
Erläutern sie, warum eine einfache Transaktionsverwaltung bei verteilten Systemen nicht mehr ausreicht. Wo können Probleme auftreten?
- Es gibt ein heute allgemein anerkanntes Modell für die Verwaltung von verteilten Transaktionen
- Das Modell wurde von der Open Group entwickelt offener Standard
- Das Modell beschreibt die Rolle der beteiligten Komponenten
o Die Anwendung
o Der Transaktionsverwalter
o Die Ressourcenverwalter
o Begin/Commit/rollback
Ablauf:
- Anwendung BEGIN
- Transaktion ist nun aktiv
- Jeder Ressourcenverwalter teilt über JOIN mit, dass er an der Transaktion beteiligt ist
- Anwendung will mit COMMIT das ende der Transaktion
- Transaktionsverwalter fordert die Ressourcenverwalter auf, die Änderungen festzuschreiben (2 Phasen Commit)
4.) Optimistisches Sperren erlaubt eine feine Abstimmung der Isolierung von Transaktionen durch so genannte Sperrmodi. Diskutieren sie, welche so genannten Sperrmodi denkbar sind.
5.) Welche Phänomene können bei unzureichender Isolierung paralleler Transaktionen gegeneinander auftreten? Wie wirken sie sich aus?
- Probleme der Ressourcentrennung z.B. bei WebServices
6.) Erläutern sie den Zusammenhang zwischen Nebenläufigkeit, threats und Transaktionen
- Nebenläufigkeit:
o Bezeichnet die isolierte parallele Bearbeitung von Aufrufen
o Wird möglich durch Prozesse und Threats
o
7.) Versicherungsanwendung, 20 Sachbearbeiter, jeder arbeitet im Schnitt 6 Stunden täglich mit der Anwendung. Es werden 10 Stunden Verfügbarkeit gefordert. Ausfälle darf es nicht geben. Mit welcher Strategie würde sie diese Anforderung erfüllen. Begründung.
- Cluster erfüllt diese Bedingungen
- Load Balancing Cluster
o Alles arbeitet parallel
o Zur Lastverteilung
- Fail over Cluster: zus Ausfallsicherheit
Systemarchitekt entscheidet, ob Cluster notwendug oder nicht, hier JA
Blade Cluster zur schnellen erweiterbarkeit
On demand service auf keinen fall
8.) Komponentenmodelle erleichtern die Entwicklung verteilter Anwendungen erheblich. Dennoch sind die Meinungen über ihren Nutzen geteilt. Pro u Kontra Argumente finden!
Kategorien: SOA · dr dieter weinmann · sommer 2006 · verteilte systeme · web 2.0
Verteilte Systeme Wirtschaftsinformatik Weinmann SS 2006 Teil 1
April 11, 2007 · Kommentar schreiben
Wirthschaftsinformatik III : Computergestützte Planungsverfahren und Applikationssysteme
IS- Entwicklung:
- Geschäftsprozessmodellierung
- Requirements Engineering
- Systementwurf
- Implementierung
- Test
- Change Management
IS- Phasen:
- Konzeption
- Umsetzung
- Einführung
Software:
- Softwarearten:
o Systemsoftware
o Entwicklungssoftware
o Anwendungssoftware: Standard- und Individualsoftware
o Anwendungssoftware, Entwicklungssoftware, Systemsoftware
o Siehe Hansen, 2001, Wirtschaftsinformatik S. 151f
- Softwarekomponenten
o Definition
o Kategorien
Infrastrukturkomponenten
Anwendungskomponenten
Branchenkomponenten
o Vorteile
- Open Source Software
o Definition
o Vorteil
o Beispiele
- Client Server Architektur
o 3 Arten
o Definition:
Unter der Client-Server-Architektur ( engl.: client-server architecture) versteht man eine kooperative Form der Informationsverarbeitung, bei der sich ergänzende Softwarekomponenten auf unterschiedliche Rechner aufgeteilt werden. Die verschiedenen Rechner sind über ein Rechnemetz verbunden. In einem solchen Netzwerk bieten einige Softwarekomponenten Dienste an (eng.: server), die von anderen Komponenten (engl.: clients) bei Bedarf in Anspruch genommen werden.
o von H. R: Hansen, G. Neumann im Buch Wirtschaftinformatik I (1978) im Text Planung, Entwicklung und Betrieb von Informationssystemen
3 Arten:
1. Client: Repäsentations/Oberfläche, Anwendungsfunktionen, Dezentrale Datenhaltung Server: Zentrale Datenhaltung
2. Client: Repräsentation/Oberfläche, Anwendungsfunktionen Server: Datenhaltung
3. Client: rerpäsentation/Oberfläche Server: Anwendungsfunktionen, Datenhaltung
Verteilung der Schichten:
o Single Tired
o Two Tired
o Three Tired
o N-Tired
Verteilte Softwarekomponenten:
- Motivation
- Arten der Kommunikation
o Synchrone Kommunikation
o Asynchrone Kommunikation
- Middleware Techniken
o RPC (Remote Procedure Call)
o COBRA (Common Object Request Broker Architecture)
Das tier (engl. Schicht, Stufe)
- Das Tier kennzeichnet einen unabhängigen Prozessraum innerhalb einer verteilten Anwendung
- Die tier dient als Grundlage für n-tier Architekturen
- N.tier Architekturen sind eine Erweiterung /Verfeinerung des Client Server Architekturmodells
- Eine n tier Architektur legt fest, wie viele unterschiedliche Client Server Prozessräume es innerhalb einer Verteilten Anwendung gibt
- Das n gibt an, wie viele Prozessräume beteiligt sind
- Ein Prozessraum kann, muss jedoch nicht (!), einem physikalischen Rechner entwprechen (Nicht bei Grid, Pervasive usw…)
- Die Verwendung von n-tier Architekturen macht vor allem für Informationssysteme Sinn:
o Verteilung der Software zur Reduktion der Komplexität
o Interaktive Mensch Machine Schnittstelle
o Dezentriertes Vorgehen
- Das Tier Modell:
o Typischen Aufgabenstellungen in einem Informationssystem:
Präsentation – Schnittstelle zum Anwender
Anwendungslogik – Bearbeitung der Anfragen
Datenhaltung – Speicherung der Daten in einer Datenbank
o Im Tier Modell wird jede dieser Aufgaben der Anwendungskomponente einer einzelnen Tiers zugeordnet
- Die Art der Zuordnung macht den entscheidenten Unterschied der verschiedenen n- Tier Architekturen
- Welche n-Tier Architekturen gibt es?
o 2 Tier
o 3 Tier
o 4 und mehr Tier Architekturen
- 2 Tier Architektur
o Das Modell unterstützt 2 Tier: Client und Server
Zuordnung von Aufgaben zu Tiers:
• Präsentation – Client Tier
• Anwendungslogik – Client Tier und/oder Server Tier
• Datenhaltung – Server Tier
o Die Verteilung der Anwendungslogik auf Client und Server Tier kann variieren
- erstes und ältestes Verteilungsmodell
- Wird häufig im Zusammenhang mit stored Procedures und 4gl eingesetzt:
o 4gl = fourth language generation
Unterstützt direkt Sprachelemente zum zugriff auf die Datenbank
Stored Procedures sind vordefinierte SQL Statements, die in der Datenbank abgelegt und zur Laufzeit aufgerufen werden
- Vorteile:
o Einfach und schnell umzusetzen
o Performant
- Probleme:
o Schwer wartbar
o Schwer skalierbar
o Software Update Problem
3 Tier Architekturen
- Das Modell unterstützt 3 Tiers:
o Client – Tier
o Middle – Tier
o Server – Tier
- Zurodnung von Aufgaben zu Tiers:
o Präsentation Client Tier
o Anwendungslogik Middle Tier
o Datenhaltung Server Tier
- Ist das Standardverteilungsmodell für einfache Webanwendungen:
o Client Tier = Browser zur Anzeige
o Middle Tier = Webserver mit Servlets/ASP/Anwendung
o Server – Tier
4- Tier und mehr Tier Architekturen
- Unterschied zur 3-Tier Architekturen: Die anwendungslogik auf der Middle Tier wird auf mehrere Tiers verteilt
- Motivation:
o Minimierung der Komplexitiät (Divide and Conquer)
o Besserer Schutz einzelner Anwendungsteile
o Verwendung mehrerer Anwendungsprozesse (Webserver, Application Server)
o Viele verteilte Informationssysteme liegen auf 4 Tier und mehr Tier Architekturen verteilt vor
- Eine typische 4 Tier Web-Anwednung
o Webclients Firewall – SMZ/Webserver Firewall – Webserver (Tier 2), Anwendungsserver (Tier 3)– Datenbankserver (Tier 4)
Ultra-Thin Client /Thin – Client / Fat-Client Architekturen
- Thin – und Fat Client Architekturen sind Verfeinerungsmodelle für die Zuordnung der Anwendungslogik
o Ultra Thin Client Architekturen: Die Präsentation auf der Client Tier beschränkt sich auf reine Anzeige von Dialogen
o Präsentationskomponente ist ein Browser
o Thin – Client- Architekturen: Die Präsentation auf der Client- Tier beschränkt sich auf Anzeige von Dialogen und die Aufbereitung der Daten zur Anzeige
o Fat-Client Architekturen: Teile der Anwendungslogik liegen zusammen mit der Präsentation auf der Client Tier
- Ultra Thin Client Architekturen sind ausschließlich bei 3 und mehr Tier Architekturen möglich
- Thin und Fat LCient Architekturen sind bei allen n-Tier Architekturen möglich
- In der Regel sind 2 tier Architekturen FAT Client Architekturen
Was ist EAI?
- EAI = Enterprise Application Intergration
- Konglomerat an Konzepten und Technologien, die in ihrer Gesamtheit die Integration vollständiger Anwendungen unterstützen
- Ziel: Integration einfacher Anwendungen zu komplexen neuen Anwendungen (Anwendungsintegration)
Abgrenzung zu Middleware und verteilten Anwendungen
- Kommunikation zwischen vollständigen Anwendungen, nicht innerhlab einer verteilten Anwendung
- Kopplungsgrad der Anwendungen eher gering (bei Middleware und verteilten Systemen eher hoch)
- Unterschiedliche Technologien wahrscheinlich (bei Middleware und verteilten Systemen eher weniger)
- Middlewaretechnologien eignen sich auch zur Anwendungsintegration, sie decken jedoch bei weitem nicht alle Anforderungen ab.
- Hierzu sind spezielle EAI Werkzeuge sowie Konzepte notwendig
- EAI ist nicht Thema der Vorlesung, wird jedoch immer wieder eine Rolle am Rande spielen
Weiterführende Literatur empfohlen für Verteiluingen, Client Server, EAI
Übungsaufgaben
Vorlesungsagenda:
- Grundlagen kommunikationsorientierter Middleware
o Programmiermodelle
Remote Procedure Call
Remote Methood Invocation
Nachrichtenorientierte Middleware
o Middleware Technologien
SUN RP
Java RMI
Web services
Nachtichtenorientierte Middleware
Grundlagen anwendungsorientierter Middleware
Ein Rückblick: Webanwendungen der 1. Generation:
Html Seiten
- Am Webserver liegen statische html Seiten
- werden über http in den Browser geladden
- ca. Mitte/Ende der 80er Jahre
- Mensch – Maschine Kommunikation
Webanwendungen der 2.Generation: dynamische HTML Seiten, CGI, Servlets
- Webseiten werden dynamisch (abhängig von Anfrageergebnissen) aufgebaut. Zugriff auf Daten ist möglich
Beispiele für Technologien:
- CGI (Common Gateway Interface); Prozessbasierende Bearbeitung von http Requests über Skripten (Perl, C)
- Servlets/JSP; threadbasierte Bearbeitung von http-Requests (nur Java)
- Mensch –Maschine Kommunikation
Webanwendungen der 3.Generation: Einführung von 4-und mehr Tier Architekturen
- Erweiterung der dynamischen Webseiten um Funktionalität im Anwendungsserver
- Anwendungsserver sind Laufzeitumgebungen auf der Middle Tier
- Der Webserver leitet die Aufrufe an den Anwendungsserver weiter
o Bearbeitet die Request
o Schickt Ergebnisse an den Webserver zurück
o Ergebnisse werden in http Response verpackt und an den Browser zurückgeschickt
- Vorteile: Skalierbarkeit
- Mensch Maschine Kommunikation
Webanwendungen der 4.Generation: Web Services
o Anwendungen(auf Webservern) kommunizieren unabhängig vom Anwender
o Vision Automatisierung
Anwendungen suchen sich automatisch Dienste im Web, die sie zur Bearbeitung einer Anfrage benötigen.
Die Kommunikation bleibt transparent
Maschine Maschine Kommunikation
Browser- webserver –xml/Web – Webserver – AS – DB
Was sind Web Services?
- Ermöglichen webbasierte RPCs
- Sind einer der Hypes der letzten Jahre
- Sind eine sehr junge Technologie (kamen ca. 2000 auf im Zusammenhang mit MS .net)
- Sind nichtsdestotrotz eine vielversprechende Technologie der Zukunft
- Die Weiterentwicklung der Standards rund um Web Services wird Hauptsächlich vom W3C vorangetrieben
Ein visionäres Beispiel …
Clientanwendung – Internet – ReiseService
HotelService (Webservices)
Flugbuchungsservice (Webservice)
Autobuchungsservice (Webservice)
Die Basiskomponenten von WebServices
- XML (extended MarkupLanguage): Erweiterbares Textformat für den Austuasch von strukturierten Daten
- SOAP (Simple Object Access Protocol): Realisiert Entfernten Prozedurabruf (RPC), Transportiert XML Nachrichten beispielsweise über http
- WSDL: web Service Description Language: XML Notation zur Beschribung von web Services
- UDDI: Universal Description, Discovery and Intergration: Verzeichnisdiesnt zur Veröffentlichung von WebServices
XML:
- Bietet die Möglichkeit komplexe Datenstrukturen innerhalb eines Dokuments darzustellen
- Die Darstellung erfolgt als Text mit Angabe des verwendeten Zeichensatzes (z.B. UTF-8)
- Ist beliebig zwischen Systemen und Plattformen austauschbar
- Breite Industrieunterstützung. Viele Werkzeuge arbeiten mit XML
- Viele Open Source Werkzeuge zum Lesen und zur Manipulation von XML Dateien stehen zur vErfügung
Struktur eines XMl Dokuments
]>
Sehr geehrte/r &Kunde;,
Hier steht irgendetwas. Verlieren Sie keine Zeit, liebe/r &Kunde;!
Im Kopf stehen die Version der vewendeten XML Spezifikation und der benutze Zeichensatz
Danach folgt der Datenbereich. Er enthält Daten in strukturierter Form
S.2 der Vorlesung Webservices
Kategorien: SOA · client server · dr dieter weinmann · sommer 2006 · verteilte systeme · web 2.0 · wirtschaftsinformatik · xml
Verteilte Systeme Wirtschaftsinformatik Weinmann SS 2006
April 11, 2007 · Kommentar schreiben
Peer to Peer Systeme
P2P- Kommunikationssystem bei dem jedem
Verteilte Systeme:
Def:
- Unter einem verteilten System versteht man ein zusammenhängendes Rechnersystem, dass aus einer Menge unabhängiger kooperierender Rechner besteht, die über ein Netzwerk verbunden sind.
- aus Sicht des Anwenders erscheint das verteilte System als ein gemeinsames System.
- Serverprogramme, Klientprogramme, die Dienste in Anspruch nehmen.
Transparenz
-wichtige Forderung!, meint eher unsichtbar
- Orts Transparenz
- Fehlertransparenz
- Zeitransparenz
Schnittstellenbeschreibungssprache
- syntaktisch vollständig
- implementierungsneutral
- interoperabel
Interoperabilität und Portabilität
- zb. Java, das leicht portiert werden kann
- JavaVM
Skalierbarkeit:
- die Leitungsfähigkeit eines Systems kann bei höheren Anforderungen schrittweise erweitert werden.
- Erhöhung der Arbeitsteiligkeit
- Replikation
- Asynchronität
- verteilte Systeme sind Verwaltungsintensiver, da sie über viele Teilsysteme bestehen
Robustheit
- partielles Versagen
- vollständiges Versagen
- Fehlertoleranz
Kommunikation zwischen verteilten Systemen:
- Adressierung
- Blockierung
o Synchroner oder asynchroner Datenverkehr
- Puffering
- Kommunikationsmuster
o Mitteilung
- Mitteilungs- oder auftragsorientierte Kommunikation
Fehlersemantik
Architektur von verteilten Systemen:
- Schichten und Stufen –> layer und tier
- 1-4 tier architecture
- Mit Präsentationsschicht, Anwendungsschicht, Datenschicht
- Ab 3 tier, Middleware
- 4 tier mit Klient: Webbrowser Präsentationsschicht: Webserver , html Filter, middleware: Anwendungsschicht Datenschicht
Schichten zur Reduktion der Komplexität
Stufen bezeichnen verteilte Komponenten, müssen über einen Kommunikationsdienst verbunden sein, wenn sie auf verteilten Rechnern liegen
1 Stufe: Großrechner
2 Stufen: Client Server
- client Server, kann geteilte oder serverbasierende Anwendungslogik haben
3 Stufen: wohl am weitesten verbreitet
- passiver Server mit zentraler Datenhaltung
Datenbankserver – Webserver – Klientprogramm
N tier architecture:
- Erweiterung durch spezialisierte Server z.B. für workfolw Kooperation, oder Web service Integration
Middleware:
Def.:
- Middleware bildet die kommunikationstechnische Infrastruktur zur Entwicklung verteilter Anwendungen und ermöglicht dem Entwickler dadurch Konzentration auf die Umsetzung der Anwendungslogik.
- Entsprechend werden allgemeine Softwarekomponenten, die von konkreten Realisierungen von Kommunikationsprotokollen abstrahieren und auf die Erleichterung der Interaktion zwischen verteilten Systemen abzielen, als Middleware bezeichnet..
- Kommunikation über Sockets (Kommunikationspunkte)
- Entfernte Datenaufrufe: RPC – Remote Procedure Call
o Def.: Über ein RPC kann ein Klientprogramm eine Funktion vom Serverprogramm aufrufen, das unter Umständen auf einem anderen Rechner installiert ist.
o Oft synchroner entfernter Dienstaufruf
o Z.B.: RPC Socket TCP, UDP IP
o Hier dann z.B. ist die RPC Bibliothek die Middleware die sich um die Kommunikation kümmert – Verbindungsaufbau, Rücksendung des Ergebnisses- wie die Post halt.
- Marhsalling: Zusammenstellung von Daten in einem bestimmten Format bevor diese in einem Netzwerk an potenziell heterogene Systeme versendet werden.
- Serialisierung
Formen von Middleware:
Middleware ist komplexe Softwareinfrastruktur zur verteilten Verarbeitung
- Schnittstellendefinition
- Übersetzung der Schnittstellensprache
- Programmbibliotheken für RPC
- Transaktionsorientierte Middleware
- Älteste Form: Transaktionsmonitore
o Commit, rollback
o Stored procedures
o Transaktionsmonitor zur Realisierung der Tranksaktionssicherheit
- Objektorientierte Middleware
o Aufruf von Methoden von entfernten Objekten
o COBRA
o Sind fast alle Middlewaresysteme
- Meldungorientierte Middleware
o Asynchrone Prozeduraufrufe, das sogenannte MESSAGE-Queuing-Systeme
Aufrufe kommen in Warteschlange
o Abk.: MOM
o Wichtig: IBM Webspehre MQ series
o Message Broker sind noch wichtig: Transformation und Filterung von Daten
SOA
Def.: ist eine Form einer verteilten Informationsarchitektur, deren Fokus auf der Ankündigung, dem Auffinden, und dem dynamischen aufrufen von hoch stehenden, anwendungsnahen und in sich abgeschlossenen Diensten liegt.
SOA kann rein technisch den RPC komplett übernehmen, aber bei Middleware ist Funktionsaufruf effizienter
Verzeichnisdienst: sog. Broker
DCE : Distributed Computing Environment
- Zwischenschicht zwischen Betriebssystem, Netzwerkdienst und einer verteilten Anwendung
COBRA = Common Object Broker Request
Def.: Standard zur Entwicklung objektorientierter Anwendungen in verteilten und heterogenen Systemen
Wichtigste Bestandteile: ORB-Object request Broker, stellt die Kommunikationsinfrastruktur zwischen verteilten Systemen bereit, eine Schnittstellenbeschreibungssprache mit Programmiersprachenanbindungen, eine Sammlung von Basisdiensten und Anwendungskomponenten
- dazu gehören beidseitige Sicherheitsdienste, Namensdienste, Persistenzdienste oder Tranksaktionsdienste
- unterschiedliche spezifikationen für vertical industries und horizontalen Anwendungsbereich( vertikal: einzelhandel, horizontal: Benutzerschnittstelle für Workflowmanagement)
- Klientobjekt Methodenaufruf Serverobjekt
- Proxy = stellvertreter, bevollmächtigter
- Kommunikationsmuster: synchroner Dienstaufruf, Einwegdienstaufruf, aufgeschobener Dienstaufruf
Web Services:
junge Technologie, die eigens für SOA auf Basis der Internet Architektur entwickelt wurde
Def.:
- unter Web Service versteht man lose gekoppelte, verteilte Dienste, die über Internet basierte Protokolle und XML Nachrichten in einer SOA veröffentlicht, lokalisiert und aufgerufen werden können.
- 3 Kernstandards: SOAP, WSDL, UDDI (und halt XML)
- Sollen ähnliche Kostensenkung im B2B Bereich bringen wie der web Browser im B2C Bereich gebracht hat
- Nach außen Blackbox Funktionalität
- Dynamisches Binden ohne Mehraufwand
- Web Services basieren auf Nachrichten die auf Basis von XML Dokumenten zwischen Client und Server ausgetauscht werden.
- Format der Nachricht wird durch SOAP festgelegt
- WSDL definiert auf einheitliche Art den Web Service
- Die Beschreibungen werden über den Verzeichnisdienst UDDI veröffentlicht
- BPEL 4 WS = Business Process Execution Language for Web Services
o Damit können komplexe Abfolgen von WS als Geschäftsprozesse abgebildet werden
- auf Basis der Standards kann eine SOA realisiert werden
Übersicht:
Prozess und Kompositionsschicht BPEL 4WS, BPML…
Veröffentlichungsschicht UDDI
Beschreibungsschicht WSDL
Meldungsschicht SOAP
Übertragungsschicht http, smtp…
Schichtenmodell für web Services
Dienstanbieter
veröffentlichung von der Dienstbeschreibung
beim UDDI Verzeichnisdienst
Dienstnachfrager
sucht beim UDDI
bekommt WSDL Beschreibung
Dienstaufruf über SOAP beim Dienstanbieter
SOAP:
Def.:
- ist ein Protokoll zum Austausch von strukturierter Information zwischen Softwarekomponenten in verteilten Systemen
- SOAP Spezifikation definiert ein XML Nachrichtenformat für zustandslose Einwegkommunikation.
- Eine SOAP Nachricht ist ein XML Dokument, das von der SOAP Spezifikation vorgegebenen Struktur entspricht
Übertragung über 3 SOAP Knoten: Sender, Empfänger, Intermediär
WSDL:
- eine Schicht höher als SOAP.
- Beschreibt, welche Web S angeboten werden, bildet somit ein Metadatenformat für SOAP
Def.:
- ist eine XML basierende Scriptsprache, zur Beschreibung von WS.
- Diese Beschreibung definiert unter anderem, welche Funktionen von den beschriebenen Web Services bereitgestellt werden und wie ein Klientenprogramm möglichst automatisiert auf die WebS zugreifen kann
-beschreibt ex post die WS textlich und formal
- zur Lokalisierung z.B.
WSDL Beschreibung:
WS, darin eine Protokollanbindung, daran dockt der SOAP Endpunkt an – Verbindung über http oder so – verbindet die SOAP Nachrichten dann
WSDL Schema umfasst:
1. Definition von dienstspezifischen Argumenttypen
2. Definition von Nachrichtentypen
3. Schnittstellenbeschreibung
4. Protokollbindung
5. Dienstbeschreibung
WS werden also mit WSDL in ihren Funktionen definiert und in ihrer Nutzung dokumentiert
UDDI Dienstverzeichnis
- definiert einen Verzeichnisdienst für Web Services. Definiert ein Datenmodell für die Beschreibung von Web Services und deren Anbietern
dient zum Auffinden von WS von unterschiedlichen Anbietern für bestimmte Problem oder Aufgabenbereiche
die Beschreibungen im UDDI sind eigentlich auch im WSDL enthalten, aber jetzt zusätzlich auch, wer die WS überhaupt anbietet
wie Telefonbuch, gelbe Seiten oder so
- UDDI ist somit eine konkrete Realisierung eines Verzeichnisdienstes in einer SOA
- ZIEL: Kategoriesierung der Information, genaue Identifizierung mit den Geschäftspartner, den Anbietern der Services
- Firmennummer: DUNS
- , GLN, oer EAN (alles nur bei übergriefender Nutzung)
UDDI selbst ist ein WebServices, der für suchen und finden der WS verantwortlich ist
- unterstützun ovn umfangreichen Sicherheitseinstellungen
- eierbestlungsbeispiel
o nummer im UDDI. Bäcker sucht eierlieferant anhand einer nummer u kann eierbestellformular in den eigenen BP implementieren, bei vielen anbietern kann bäcker direkt im formular den blligsten auswählen (ja ja )
Geschäftsprozessmodellierung mit BPEL 4WS
- Web Service Orchestration
- BPM Initiative BPML OASIS industriekonsortium
Zusammenfasssung:
- durch lose gekoppelte Web services erhofft sich die Wirtschaft eine Reihe von Vorteilen gegenüber den eng gekoppelten Middleware Systemen
o einfache und unaufwändige Implementierung von Informationssystemen
o Die Bereitstellung von Internetbasierten Diensten für Dritte
ASP= Application service Provision
Achtung bei MS heißt Asp Active Server Pages
o Interoperabilität
o Just in Time
o Kapselung und Abstraktion
o IT Herstellerunterstützung: weite Verbreitung von XML Standards
Gegenüberstellung von Middlewaresystemen wie COBRA, DCE und WebServices
- RP = Remote Programming. Dadurch ist es möglich nicht nur Programmteile sondern ganze Programme zum client zu ladn und dort auszuführen
- Mobiler Code braucht also eine Laufzeitumgebung JAVA!!!
- Auch Softwareagent genannt
EAI = Enterprise Application Integration
Def.:
- unter einer branchenübergreifenden Anwendungsintegration versteht man die Integration von heterogenen, autonomen Anwendungssystemen, die entweder innerhalb eines Betriebs, oder zwischen Betrieben stattfinden
- Die Anwendungsintegration wird durch lose Kopplung von Anwendungssystemen wesentlich vereinfacht
- Wird vor allem beim ERP gebraucht!!!
o Da sonst nur standardmäßige Teillösungen
- getrennt entwickelte systeme zu einem ganzen zusammenführen
- Automatisierung von funktionsübergreifenden Geschäftsprozessen
- Betriebsübergreifende Informationssysteme entang der Wertschöpfungskette
- bei Nutzung von verschiedenen Standardprodukten verschiedener Hersteller entstehen Integrationsprobleme der Teilsysteme
Unterscheidung von mehreren prinzipiellen Integrationsarten:
- Persistenzschicht
- Anwendungsschicht
- Präsentationsschicht
1. Persistenzschicht
- Def.: Integration von Anwendungen über (zwischen-)gespeicherte Daten
- (AI on persistence layer)
- Weiterhin wird unterschieden:
o Informationsaustausch über Dateien
Wird bei EDI eingesetzt
o Informationsaustausch über heterogene Datenbanken
Heterogenes MultiDB system
Es bestehen lokale Schemata
Sollen in globales Schema integriert werden
Heterogenität in:
• Der Plattform
• Ebene von Syntax und Struktur
• Auf semantischer Ebene
Benutzerschnittstelle gemeinsames globales Schema _ Mediator lokales schema 1, 2 oder 3 (alles DBen)
2. Anwendungsschicht
Def.: es werden in den beteiligten Applikationen Schnittstellen geschaffen, damit die laufenden Anwendungen direkt miteinander kommunizieren können.–> dies erfolgt odt durch MIDDLEWARE!!!
- nachrichtenbasierte Integration
o Austausch von Nachrichten zwischen den Applikationen
o Weiterentwicklugn von persistenzschicht
o Middleware wickelt jetzt alles ab
- RPC basierende funktionale Integration
o Stellen Anwendungen Funktionen wecheslseitig zur Verfügung
Oft auch integration der WS, da im betrieb sicherheit zweitranig
Integration auf Präsentationsschicht
3. Präsentationsschicht
Def.:
- es werden die bestehenden Benutzerschnittstellen eines Anwendungssystems genutzt, um automatisiert mit weiteren Anwendungssystemen Daten auszutauschen. Diese Integrationsform eignet sich auch für Programme, die nur in ausführbarer Form (als BLACK Box) vorliegen
- Screen Scraping
- Web Scraping
XML:
Def.:
- eine Auszeichnungssprache ist eine Sprache, die Regeln zur Auszeichnung von Textelementen bereitstellt. Beliebigen Textelementen können auf deklarative Weise eigenschaften zugewiesen werden, wodurch deren Bedeutung ausgedrückt werden kann (Semantik).
- Die Txtelemente werden durch eine Startmarkierung eingeleitet, die die Art der enthaltenen Daten bestimmt, und von einer Endmarkierung abgeschlossen
- XML:
o Ist eine Metasprache für die Definition von anwendungsspezifischen Auszeichnungssprachen.
o Mittels XMl können somit Markup Sprachen für beliebige anwendungen maßgeschneidert werden, die anwendungsspezifische Datenstrukturen beschreiben.
o Mittels XML können Dokumenttypen definiert werden, die eine Klasse von XML Docs. In ihrem aufbau und ihrem Inhalt
o XML Docs sind auchohn e anwendungsspezifische Werkzeuge für den Menschen intuitiv verständlich und sind zudem relativ einfach maschinll weiterverarbeitet
Eigenschaften: wohlgeformtes XML
- entsprechen den syntaktischen rEgeln von XML
- DTD
- XMl Namensräume
- Transformation von XML Dokumenten: XSLT
o Style sheet transforamtion
o Grafische Aufbereitung: RDF, Metadaten
Kategorien: client server · verteilte systeme · web 2.0 · xml
Web 2.0 & SOA SS2006 Wirtschaftsinformatik
April 11, 2007 · 1 Kommentar
Wirtschaftsinformatik SS 2006
Ruprecht-Karls-Universität zu Heidelberg
Seminar:
Ausgewählte Themen der Wirtschaftsinformatik
Bearbeiter: Michael Altendorf
Inhaltsverzeichnis
1 Einleitung
2 Grundlagen von Web 2.0
2.1 Definitionen von Web 2.0
2.2 Semantisches Web
2.3 AJAX
3 Front-End: Anwendungsbereiche von Web 2.0
3.1 Interaktive Landkarten
3.2 Suchmaschinen
3.3 Open Source
3.4 Social Software
3.5 Internet 2.0 Anwendungen
4 Back-End: Plattformen und Architekturen
4.1 Middleware & Infrastruktur
4.2 Web Services
4.3 Service Oriented Architecture
5 Geschäftsmodelle und Marktstrategien
6 Schlussbetrachtung und Ausblick
Abbildungsverzeichnis
Literaturverzeichnis
Abkürzungsverzeichnis
1 Einleitung
„…In der Zukunft wird es geben: 1. zahllose Anstalten, in welche man sich zeitweilig begiebt, um seine Seele in Cur zu nehmen; hier wird der Zorn bekämpft, dort die Wollust usw.; 2. zahllose Mittel gegen die Langeweile; zu jeder Zeit wird man Vorleser hören können und dergleichen; 3. Feste, in welchen viele einzelne Erfindungen zum Gesamtzweck des Festes vereinigt sind, denn die, welche ein Fest feiern, müssen am Feste mit erfunden haben; 4. es werden sich Einzelne und ganze Gruppen geloben, niemals gerichtliche Hülfe in Anspruch zu nehmen.“ [1]
Nietzsche, in einem Fragment 1880, über die Zukunft des Internet reflektiert hat, stellt sich auch in der Gegenwart die Frage, wie die zukünftige Entwicklung des, 1969 vom US-Militär entwickelten Arpanet verläuft.[2]
Netzwerke bilden die Grundlage der globalen Informationsgesellschaft und eröffnen seit Erfindung des
Nachdem schon World Wide Web durch Tim Bernard Lees nicht nur dem Militär oder der universitären Elite Zugang unbegrenzter Information, sondern auch dem Durchschnittsbürger und nicht zuletzt den Unternehmen.[3]
Wie auch in der ersten Boomphase am Ende der neunziger Jahre, wird nun nach einer vierjährigen Konsolidierungsphase ein neuer Versuch gestartet mit hohem Einsatz von Risikokapital den neuen Anwendungen und Diensten zur Kapitalisierung zu verhelfen. Nach dem Vorbild von Amazon oder eBay, die sich auch nach Platzen der .com Blase 2001 noch als rentable Unternehmen erwiesen haben.[4]
Hierbei lassen sich verschiedene Technologietrends unterscheiden, die unter dem Schlagwort „Web 2.0“ in den Medien diskutiert werden. In wieweit dies schon mit dem von Tim . B. Lee geforderten „Semantic Web“ übereinstimmt muss geprüft werden.[5]
Vorreiter der neuen Technologie waren Google mit Google Earth, Yahoo mit dem Kauf des Fotoalbums Flickr, die Enzyklopädie Wikipedia oder die Social Networking Community MySpace. [6] [7] Anhand von Architekturen und Applikationen, in denen die neuen Technologien eingesetzt werden, werden die Trends kategorisiert und die Unterscheidungsmerkmale ausgearbeitet.
Dadurch ergeben sich Veränderungen für die etablierten Softwareanbieter, da die Interoperabilität ihre Programme mit Web Services ihre abgeschlossenen Laufzeitumgebungen aufweichen und modularere Architekturen die Integration und Kombination fremder Dienste in die bestehenden Systeme ermöglicht.
Die progressive Marktentwicklung und Konvergenz von Unternehmenssoftware mit Internettechnologien erfordert eine Analyse der Strategien und Geschäftsmodelle der Software und Serviceanbieter hinsichtlich ihrer Positionierung und Reaktionsmöglichkeiten auf den Trend.
Abschliessend soll eine Bewertung der schönen neuen Möglichkeiten und den Gefahren der technischen Entwicklung erfolgen.
2 Grundlagen von Web 2.0
2.1 Definitionen von Web 2.0
Der Begriff „Web 2.0“ entstand ursprünglich auf einer Internet Konferenz des O’Reilly Verlages im Jahr 2004. Er wurde als reines Schlagwort ohne genaue Begriffs-definition für eine Sammlung neuer Technologien und sozialer Entwicklungen im Netz verwendet.[8] Die Medien griffen den Begriff schnell auf und machten ihn zum Synonym für eine zweite Welle von Internetanwendungen. Unter diesen Begriff fallen vor allem eine Reihe neuer Technologien wie Asynchronous Javascript and Extended Markup Language (AJAX), Atlas[9], Bit Torrent (ein Protokoll zu dezentralen Datenübertragung) und RSS-Feeds (Really Simple Syndication) verwendet.[10]
Der Begriff steht zusätzlich für verschiedenste neue Kommunikationsmöglichkeiten, wie beispielsweise Blogs, Wikis, Instant Messenger, welche unter dem Begriff „Social Software“ zusammengefasst werden. Es wird eine virtuelle Identität im Netz erschaffen und eine Lebensweise, in dem soziale Interaktion auch virtuell stattfindet und der Nutzer nicht mehr als asoziales Wesen gilt.
Übergreifend kann bei den neuen Webdiensten von Services sprechen, in deren Hintergrund die verschiedenen neuen Technologien zum Einsatz kommen, wie AJAX am Front End, also der Schnittstelle zum Anwender und zum Beispiel J2EE oder .net Plattformen am Back End, and der Schnittstelle zur Datenbank.
Eine allgemeine Definition des Begriffs gibt es bisher nicht, jedoch werden einige Definitionen, von in diesem Zusammenhang bekannten Persönlichkeiten, kontrovers diskutiert. Aufgrund dessen wird im Folgenden eine Definition aus dem Weblog von Tim O’Reilly aus dem Dezember 2005 gebraucht:
“Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an „architecture of participation,“ and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.”[11]
Dies ist keine allgemein gültige Definition, jedoch viel beachtete, die aber primär nur die Trends im Bereich der privaten Nutzung abdeckt. Die Plattformstrategie wird aber auch von Unternehmenssoftwareanbietern verfolgt.[12]
Bevor eine Konkretisierung des Begriffs stattfindet , was denn nun genau zu dem Begriff gehört, muss zunächst eine Abgrenzung gegenüber dem Semantischen Web erfolgen, welches WWW Gründer T.B. Lee im Jahre 2001 in einem Artikel des Scientific American skizziert hat, da beide Begriffe oft gleichgesetzt werden, aber inhaltlich verschieden sind.
2.2 Semantisches Web
Das semantische Web ist eine Vision des früheren CERN Wissenschaftlers und WWW Erfinders Tim Bernard Lee, dass die nächste Stufe des World Wide Web, respektive des Internets, bilden soll.[13]
Unter dem Namen semantisches Web versteht man die Wortbedeutung im Web. Also die Bedeutung von Daten bzw. der Information. Dies hat zu Folge, dass nicht der Endanwender eine Interpretation des Inhalts vornimmt, sondern der Computer selbst die Bedeutungszusammenhänge erkennt und dadurch strukturelle Vorarbeit leistet. [14]
Nicht nur der reine Abgleich des Suchwortes mit der Datenbank, sondern auch die Weiterverarbeitung wird durch die Vergabe von Metadaten vom Rechner übernommen.[15]
Hierbei kommt das RDF-Format (Resource Description Framework) zum Einsatz, welches die Maschinenlesbarkeit ermöglichen soll. Dieses weist den Informationen Bedeutungen in Form von Tripeln zu: Subjekt, Prädikat und Objekt. Aufgrund dessen ist es dem Rechner möglich logische Zusammenhänge zu verstehen und zu konstruieren und somit im Bereich Analytics und Content Management neue Möglichkeiten der Datenstrukturierung und -Verwaltung zu eröffnen.[16]
Eine Vorstufe des semantischen Web stellt beim Web 2.0 der „Tag“, ein Etikett bzw. einfach ein Wort, dass Bildern oder Texten bzw. im Moment meistens Weblogs zugeordnet wird. Dadurch können den Dateien Metatags, also Bedeutungen, zugeordnet und somit die Suche verbessert werden.[17]
Daraus folgt, dass die Ideen des semantischen Webs beim Web 2.0 schon zum Einsatz kommen. Problem hierbei ist, dass noch keine klare Strukturierung besonders in Hinsicht auf das drei geteilte RDF zu erkennen ist. „Tags“ zum Beispiel bei Flickr oder der Weblogsuchmaschine Technorati können absolut willkürlich vergeben werden und unterlaufen dadurch die von Lee geforderte Strukturierung der Daten und sind somit nur begrenzt vom Rechner verarbeitbar.[18]
Eine weitere Komponente des semantischen Webs, die Ontologie, wird nur bedingt vom sogenannten Web 2.0 erfüllt. Hierbei handelt es sich um einen Objekttypus, der die Beziehung zwischen zwei anderen Objekten definiert.[19] Beim Web 2.0 erfolgt das „Tagging“ jedoch willkürlich und dadurch ergeben sich unlogische Verbindungen.
Klare Definitionen und Standards machen ein semantisches Web interoperabel und auch unabhängig voneinander entwickelte Programme können miteinander interagieren, ohne dass eine neue Kommunikationsschnittstelle oder ein individuelles Graphical User Interface (GUI) nötig ist. Die Kommunikation der Programme untereinander wird durch Middleware Application Server übernommen.[20] Diese stellen die Kommunikationsmöglichkeiten im Businesssoftwarebereich zur Verfügung, die auch von Lee für das Internet gefordert wurden, definieren aber keine übergreifenden Standards, sondern bieten zunächst prinzipiell der Kommunikation zwischen verschiedenen Plattformarchitekturen und Laufzeitumgebungen. Hier wären die Architekturen NetWeaver (SAP), .net (Microsoft) und J2EE (SUN) zu nennen. Dabei spielen offen zugängliche Application Programming Interface (API), die integrierte Schnittstelle für Hypertext Markup Language (Html) und Extended Markup Language (XML) zur Integration von Web Services eine große Rolle, was den Kreis zurück zur Interoperabilität von Anwendungen schließt.[21]
Insgesamt kann das Web 2.0 nicht als neues Web sondern nur als ein weiterer Zwischenschritt hin zum semantischen Web gesehen werden.
Die Sprache XML, die einen großen Teil der so genannten Web 2.0 Technologien umfasst, bildet auch die Basis für die eingesetzten Technologien des semantischen Webs.
Auch Unternehmen setzen verstärkt auf XML Tags, um Informationen mit Metadaten zu kennzeichnen um das Ziel der maschinenverständlichen Information zu erreichen.[22]
Wie in Abbildung 1 (Technologie-Lebenszyklusmodell nach Gartner) zu sehen, ist die Verwendung von XML in der Form, wie sie die Definition des semantischen Webs verlangt, noch 5-10 Jahre vom Durchbruch entfernt. Bis zur übergreifenden Nutzung in Unternehmen soll es zwar nur 2-5 Jahre dauern, die technische Entwicklung in dieser Richtung ist jedoch noch in Anfängen.
Im Folgenden werden die Web 2.0 Technologien vorgestellt, die von den Anbietern, die schon in diesem Bereich Dienste anbieten, genutzt werden.
2.3 AJAX
Zunächst wird auf eine Ansammlung von Technologien eingegangen, die den Grundstein für den zweiten Internetboom gelegt haben: AJAX.[23]
Den ersten medienwirksamen Auslöser für das Bekanntwerden von AJAX gab die Satellitenkarte Google Earth, die die Daten direkt von Internetservern auf den Desktop PC oder den PDA lädt. Bei einer Änderung der Internetseite wird hierbei nicht die ganze Seite nachgeladen, sondern nur das sich ändernde Fragment auf der Seite.[24] Dadurch entsteht der Eindruck, als würde man direkt auf seinem Desktop arbeiten.
Der Begriff AJAX vereint die verschiedenste Internettechnologien wie Extensible Hypertext Markup Language (XHtml), Cascading Style Sheets (CSS), Distributed Component Object Model (DCOM) und Javascript. XHtml beschreibt die Daten und Objekte, CSS ist für die Formatierung zuständig, DCOM für die Kommunikation über das Internet und Javascript für die Reaktion der Seite auf die Handlung des Benutzers. [25]
Wie in Abbildung 2 zu sehen ist, ändert sich für den User zunächst nichts, im Prinzip funktioniert nach wie vor alles nach dem Anfrage – Antwort Prinzip. Jedoch sind alle skalierbaren Felder in Javascript Frames eingebettet, sodass nur diese bei Anfrage neu geladen werden und nicht die komplette Seite. Dadurch wird dem Nutzer die Nutzung in quasi Echtzeit erst auf der Anwendungsschicht vorgetäuscht, im Hintergrund lädt die Seite aber kontinuierlich nach.
Technologisch wird eine solche Seitenprogrammierung erst durch Breitbandkabel- und DSL-Zugänge ermöglicht, da sonst die Datenübertragung zu langsam wäre.
Aber auch Macromedia Flash Anwendungen können als Web 2.0 angesehen werden, welches diese Interaktivität schon seit einiger Zeit bietet, aber keine Änderungen direkt auf der Internetseite durch den Benutzer ermöglicht.
Das Java Script Remote Scripting (JSRS), das für die Serveranfragen, die aus der Handlung des Anwenders resultieren, verantwortlich ist, ist eines der Schlüsselelemente der AJAX Technologiefamilie.[26] Erst durch die Echtzeitreaktion der Oberfläche ist ein Vergleich mit einer desktopbasierenden Software möglich, der das Szenario vom der Überflüssigkeit von Desktopsoftware gestattet, welches Google zum Hauptkonkurrenten von Microsoft macht,[27]
Jedoch ist schon bei der Performance von Standardsoftware wie MS Word mit dem von Google gekauften Onlinedienst Writely ein Vergleich hinfällig, da hierfür weder die Netzkapazität ausreicht, noch die Notwendigkeit besteht, Rechenleistung des Servers zur Anwendung zu benötigen.[28] Mit serverseitigen Versionen können die Applikationen jedoch in Browsern oder auf mobilen Endgeräten genutzt werden. Dies ist jedoch erst bei einer ausreichenden Netzabdeckung mit Technologien wie Wireless Local Area Network (WLan), Worldwide Interoperability for Microwave Access (WiMax) oder Universal Mobile Telecommunications System (UMTS) sinnvoll, um auf die Daten und Dienste auch allezeit zugreifen zu können.[29]
Am Ende entscheidet jedoch die Benutzerfreundlichkeit und -Verständlichkeit, denn umso animierter und interaktiver die Applikation desto langsamer wird die serverbasierende Anwendung.[30] Umso mehr Applikationen mit der Technologie Arbeiten desto höher wird auch die Netzauslastung und die Antworten in Echtzeit verzögern sich. In Abbildung 3 ist ein Vergleich der Web 1.0 und Web 2.0 Technologien und deren Möglichkeiten sichtbar.
3 Front-End: Anwendungsbereiche von Web 2.0
Im folgenden Kapitel werden die größten Technologietrends, die mit dem Begriff „Web 2.0“ in Verbindung stehen anhand von innovativen Webanwendungen erläutert und kategorisiert.
3.1 Interaktive Landkarten
Die Veröffentlichung von Google Earth 2005 gab den Auslöser für die öffentliche Wahrnehmung der AJAX.[31] Dabei wurde eine Client-Server Architektur verwendet und dem Nutzer war es möglich Satellitenbilder auf dem heimischen PC in Echtzeit vom Server zu laden, wenn er seine geographische Position mit dem Mauszeiger auf der Karte ändert. Der Service ist entweder browserbasierend nutzbar, oder mit einer eigenen Installation auf dem Desktop PC, die darüber hinaus noch weitere Funktionalität wie das Anzeigen von Hotels oder 3D-Objektmodellierung bietet.[32]
Durch die zunächst kostenlose Verbreitung des Programms wurde sehr schnell ein hoher Bekannheitsgrad erreicht und durch offene Application Programming Interfaces (API) wurde Entwicklern die Möglichkeit gegeben Verknüpfungen mit eigenen Diensten zu entwickeln; die so genannten „Mashups“, Mischungen von Diensten und Services.[33] Die bekannteste Seite, die dies beispielsweise für Kleinanzeigen nutzt ist www.craigslist.com, vorzugsweise in den USA, da für Europa noch nicht die volle Funktionalität der Landkarten zur Verfügung steht.[34] Dabei handelt es sich um die Verknüpfung von geostationären Informationen mit Ereignissen oder allgemein Informationen. Außerdem können über das API, die Information, die mit den GPS Daten verbunden sind noch einer Bewertung unterzogen werden kann, ähnlich den Amazon Rezensionen, oder einfach Kommentare oder Links, die den Sehenswürdigkeiten oder Hotels zugeordnet werden. Alltägliche Funktionen wie Routenplanung sind standardmäßig integriert und es können ebenfalls RFID Tags oder GPS Daten über APIs entwickelt und zugeordnet werden.
Die gleiche Funktionalität bieten auch von den Konkurrenzprodukten von Microsoft (www.local.live.com) oder Yahoo (http://maps.yahoo.com/), Der Microsoft „Bird Imagery“ beispielsweise ist noch weitaus hochauflösender als die Satellitenkarten von Google[35].
Des Weiteren können die auf AJAX oder Macromedia Flash Technologien nicht nur für geostationäre Daten benutzt, sondern auch zur grafischen Aufbereitung von Information, Nachrichten oder Suchergebnissen.
3.2 Suchmaschinen
Internetsuchmaschinen werden heute vom Marktführer Google und von Yahoo! dominiert, wie in Abbildung 4 zu sehen ist. Jedoch gibt es eine Reihe von speziellen Suchmaschinen der nächsten Generation der Datenanalyse.[36] Somit wird es möglich konzeptionell zu suchen und nicht mehr nach einzelnen Begriffen. Als Beispiel kann das Suchkonzept von Autonomy genannt werden. Dies findet vor allem bei Geheimdiensten und Unternehmen Anwendung, um Strukturen und anstatt Sprachen beispielsweise von E-Mails oder bei der Volltextsuche zu analysieren.[37]
Eine weitere Innovation ist die Aufbereitung der Ergebnisse. Durch „(Information) Mapping“ werden die Ergebnisse in Form einer interaktiven AJAX oder Flash basierenden Karten angezeigt, und durch die Metainformationen der Seite werden Zusammenhänge zwischen den Suchergebnissen aufgezeigt.[38] Die Meta-suchmaschine Kartoo zeigt die neuen Fähigkeiten der Datenaufbereitung durch Mapping. Die Innovation dabei ist, dass die Suchmaschine die Information mit Metatags anzeigt und daraus eine Landkarte erstellt. Daher werden Beziehungen zwischen Internetseiten und deren Metadaten verdeutlicht.
Dies kann genauso zur Datenanalyse verwendet werden und wird beispielsweise von CNET.com genutzt um Nachrichten aufzubereiten und Übersichten zu schaffen, die weit über die traditionelle Liste hinausgehen.[39]
Durch das so genannte Tagging, das Etikettieren von Informationen durch Metadaten, werden neue Themenverwandtschaften deutlich und eine Vorfilterung ist möglich, ob durch den Rechner, was in Richtung des semantischen Webs ginge, oder durch persönliche Empfehlungen, wie es durch die Seite de.licio.us bekannt wurde.[40] Da das Web 2.0 vor allem auch vom Zutun der privaten Nutzer lebt, verdeutlicht dies eine Abgrenzung zu Web Services und Service oriented Architecture, die in Kapitel 4 vorgestellt werden.
3.3 Open Source
Im Front End Bereich wird weniger auf das Open Source Geschäftsmodell, sondern vielmehr auf die Idee des offenen Quellcode eingegangen, der von allen verwertbar ist. Dadurch entstehen gemeinsame Projekte und Gemeinschaften. Der vernachlässigte Sicherheitsaspekt im Privatbereich von Open Source wird hier durch soziale Kontrollmechanismen und Gruppenangehörigkeiten ausgeübt. Dadurch entsteht im Internet die von Nietzsche (Kapitel 1) vorausgesehene judikative Gewalt nicht durch Gesetze, sondern mittels Kontrolle durch die sozialen Gruppierungen. Diese entsteht durch die Prämisse, nur durch kollaborative Zusammenarbeit zu hohem technologischem Fortschritt zu gelangen und somit die Idee des offenen Quellcodes zu verbreiten.[41] Am Besten verdeutlicht dies die Online Enzyklopädie Wikipedia.[42]
Nicht nur auf Informations-, sondern auch auf Applikationsebene lassen sich nun AJAX basierende Open Source Anwendungen nutzen. Die Internetseite www.ning.com des Netscape Gründers Marc Andreesen bietet ein Web Service Portal für Open Source AJAX Anwendungen jeglicher Art, die per „Drag & Drop“ in eigene Applikationen oder Web-Seiten eingebaut werden können, was durch die XML Standardisierung ermöglicht wird. Durch das sogenannte „Codesharing“ wird auf kreative Art neuer Inhalt und neue Anwendungen durch soziale Netzwerke geschaffen.[43] Einen ähnlichen Ansatz, in Form einer eigenen Entwicklungsumgebung bietet Ruby on Rails (“never repeat yourself“).[44] Dabei wird der Ansatz des offenen Quellcodes erweitert um den Wunsch einfacher Web Applikationsprogrammierung.[45]
Hierbei wird deutlich in wieweit die Open Source Idee mit einer sozialen Gemeinschaft im Netz zusammenhängt. Mitglieder des Chaos Computer Club formulierten dies in einem Webcast als kollaboratives System, dass umso stärker wird, je mehr Andwender beteiligt sind und umso mehr Daten vorhanden sind.[46] Daraus folgt der Begriff der Social Software. [47]
3.4 Social Software
Im Jahr 2003 wurde der Begriff zum ersten Mal von Stowe Boyd definiert und dabei wurden die drei folgenden Kategorien festgelegt:[48]
1.) Unterstützung von Dialog-Interaktion zwischen Individuen und Gruppen
2.) Unterstützung sozialer Reaktionen oder Rückmeldungen
3.) Unterstützung durch soziale Netzwerke
Zur ersten Kategorie zählen Wikis, Chats und Weblogs, an denen mehrere Personen teilnehmen und ein intellektueller Austausch stattfindet. Dieser reicht von Unterhaltungen in Chats über zufällige, punktuelle Kommunikation in Wikis bis zum gegenseitigen kommentieren und diskutieren von Statements und Projekten. Man könnte es als den Nachfolger der Newsgroups betrachten.
Zur zweiten Kategorie gehört vor allem die soziale Reputation, die Bewertung von Inhalten durch den Anwender oder Leser bis hin zu kardinaler Messbarkeit der Inhalte. Diese Bewertungen werden meistens von Mitgliedern einer Website, sogenannten Communities gegeben. Die größten Online-Communities sind die Mitglieder der Online Auktionsplattform eBay, der „Networking“ Seite MySpace oder der Online B2C Handelsplattform Amazon.[49]
Bei eBay können Verkäufer bewertet werden und es kann in einem anonymen Kauf-/Verkaufsvorgang ein Vertrauensverhältnis aufgebaut werden um das Vertrauen durch soziale Kontrolle zu verbessern. Bei Amazon können die Produkte an sich bewertet und kommentiert werden und Kaufempfehlungen gegeben werden. Somit kann die virtuelle Körperschaft zu digitaler Reputation gelangen, die sich dann auf den Erfolg oder die Bekanntheit der Firma oder des Autors auch real auswirken kann.[50]
Die dritte Kategorie, die sozialen Netze, beschreibt den Aufbau virtueller sozialer Kontakte, die sich auch im realen Leben auszahlen sollen. Dabei kann man zwischen Seiten für Geschäftskontakte wie zum Beispiel OpenBC oder Seiten für private Kontakte unterscheiden, wie beispielsweise Meetup. Im letzten Jahr wurde die Online Community Myspace durch den Verkauf an Rupert Murdoch für 649 Millionen US$ weltbekannt.[51]
Statt der Klassifizierung des Inhaltes durch den Autor gibt es eine öffentliche Bewertung durch Kommentare und kollaboratives Zusammenarbeit, die sogenannte „Folksonomy“ (Zusammengesetzt aus Folk und Taxonomy).[52]
Das „Tagging“ kommt auch bei Social Software zum Einsatz. Bei den Weblogs werden Tags für die Zuordnung zu Themengebieten genutzt. Diese Metadaten können so durch Suchmaschinen wie Technorati oder die Suche der Bilderseite flickr gefunden werden.[53] Die Neuerung ist, dass durch die Metadaten der Bedeutung des Inhalts eine umfassendere Rolle zukommt und somit die soziale Komponente in einer Empfehlungsliste von Produkten, Artikeln oder auch ganz allgemein von Webseiten beeinflusst.
Diese Ansammlung von Empfehlungen anhand von Tags ist eine Veröffentlichung von Lesezeichen in Form einer Schlagwortsammlung. Diese Sammlungen werden zum Beispiel bei de.lico.us veröffentlicht und bieten somit Ausgangspunkt zur Recherche im Netz.
Dabei sollen nach der Definition des W3 Komitees die Vorgaben von Friend-of-a-friend (FOAF) erfüllt werden. Ein Format zur Schaffung maschinenlesbaren Daten der Beziehungen von Personen und Web-Seiten zueinander.[54]
Eine Statistik des Internet Marktforschungsunternehmen Alexa zeigt in Abbildung 5 die enormen Wachstumsraten von Social Software. Hierbei wird deutlich, dass die Seiten mit indirekter oder direkter Mensch-zu-Mensch Kommunikation und mehr kreativen Möglichkeiten erfolgreicher sind, wie reine Sammlungen von Links oder Anwendungen. Die von Nietzsche vorhergesehene Bekämpfung der langen Weile wird zum Anziehungspunkt soziomonetärer Investitionsentscheidungen. Welche Anwendungen einen langfristigen ROI erzielen bleibt abzuwarten.
3.5 Internet 2.0 Anwendungen
Als Internet 2.0 Anwendungen werden Anwendungen bezeichnet, die sich nicht direkt auf das WWW beziehen, sondern vielmehr auf den Transport der Daten, also auf die 4. Schicht der ISO/OSI Referenzmodells.[55]
Die Datenübertragunstechnik die von Bit Torrent genutzt wird weist die Web 2.0 Charakteristiken auf und wird von einer großen Gruppe, vorzugsweise zur Verbreitung von illegalen Daten, verwendet.
Die langsame Übertragung von Daten über das Internet ist ein strukturelles Problem, das das Internet seit seiner Gründung begleitet, was jedoch mittlerweile durch DSL und Glasfaserkabel größtenteils behoben wurde. Die Übertragung von großen Datenmengen an viele Rechner, ist jedoch auch 2006 noch ein Problem.
Als Web 1.0 Lösung wird die Akamai Strategie der verteilten Zwischenspeicherung („distributed Computing“) in zentralen Netzknotenpunkten um Engpässe zu umgehen.[56] Dies dient der Verbreiterung der Backbone.[57]
Die Arbeitsweise von Bit Torrent dagegen beginnt dagegen auf der Endnutzerseite. Dezentralisierung statt Zentralisierung. Auf den ersten Blick äußerst unklar, wie so hohe Geschwindigkeiten erreicht werden. Auf den zweiten Blick wird klar, dass umso begehrter die Daten sind, desto mehr Leute sie auch auf dem Rechner besitzen wollen und somit durch kollaboratives Vorgehen erst die Masse die schnelle Verbreitung ermöglicht, wenn jeder wieder ein Stück liefert.
Zu Beginn ist die Übertragung sehr langsam. Doch schon nach einige Stunden nach der Veröffentlichung der Datei erreicht die Übertragung die maximale Bandbreite. Diese Geschwindigkeiten waren bis vor kurzem nur durch exklusive Verbinungen von Netzwerken möglich und waren fast ausschließlich Client-Server basierend.
Dies ist auch der Ausgangspunkt und Ursprung im Bereich Unternehmenssoftware. Da hier schon immer hohe Rechen- und Übertragungskapazitäten gebraucht wurden.
4 Back-End: Plattformen und Architekturen
Das Web 2.0 wird momentan primär auf der Komsumerebene sichtbar. Im Folgenden wir die Struktur hinter der Oberfläche und die Architekturen die auch für Businesskunden genutzt werden können beleuchtet.
Nachdem nun die Anwender Seite (Front End) und die B2C und C2C Anwendungen betrachtet wurden geht es im folgenden Kapitel um die Architekturen und Unternehmensapplikationen, die im Hinblick auf die Entwicklung des zukünftigen Softwaremarktes eine bedeutende Rolle spielen.
Es ist voraussehbar, dass mit der zunehmenden Digitalisierung, die Masse der Daten enorm ansteigt. Dadurch spielen eine strukturierte Datenhaltung und High End Suchalgorithmen eine beutende Rolle. Außerdem sind hohe Rechenleistung und hohe Speicherkapazität Voraussetzung für Effizienzsteigerungen durch den Softwareeinsatz im Unternehmen. Die ursprüngliche Architektur mit Mainframes wurde in den 80er Jahren standardmäßig durch das Client-Server System abgelöst, um die Präsentationsschicht auf den Client zu verlegen um somit dezentral auf die Daten zugreifen zu können.[58] Die nächste Stufe stellt dann eine Middlewareplattformarchitektur da, auf die im Folgenden beschrieben wird.
Die Verknüpfung von Standardsoftware wie Enterprise Ressource Planning, Customer Relationship Mangement, Supply Chain Management, Business Intelligence mit den neuen Technologien und die Integration in die neue modulare Struktur von Service orientierte Architektur (SOA) durch Middleware und Plattformarchitektur wird dadurch entscheidend für den Erfolg der Technologien.
Im Bereich der Standardsoftware sind Unternehmen ausgestattet, jedoch laufen die Systeme teils eigenständig und nicht integriert in Geschäftsprozesse. Dies ist einerseits durch Komplexität der Anwendungen und andererseits durch anbieterseitige (absichtliche) Nichtstandardisierung der Software und deren Schnittstellen zu begründen.
4.1 Middleware & Infrastruktur
Daraus folgt die Notwendigkeit einer Integrationsplattform als Schnittstelle für den Datenaustausch der verschiedenen Businessanwendungen, sie so genannte Middleware. Dabei gilt es nach Gartner drei grundsätzliche Arten von Middleware zu unterscheiden:[59]
Datenmanagement-Middleware
Kommunikations-Middleware
Plattform-Middlware
Nach der Definition des Gartner IT Glossars ist Middleware der „glue“ (Klebstoff), der die Verbindung zwischen den Plattformen, Datenbanken und Desktopapplikationen schafft und eine Sprachübersetzung der Programme bietet, so dass Kommunikation zwischen den Anwendungen möglich ist.[60]
Auf Abbildung 6 ist eine Übersicht von Gartner der verschiedenen Bestandteile von Middleware zu sehen. Daran wird deutlich, dass es Middleware nicht als einzelnes Programm definiert werden kann. Vielmehr ist es ein Überbegriff. Dahinter stehen Übersetzungsprogramme, die eine Kommunikation verschiedener Programmier- sprachen und Applikationen miteinander ermöglichen.
Die Marktteilnehmer nutzen alle eigene Interpretationen des Begriffs Middleware.[61] Daraus haben die Analysten von IDC folgende Charakteristiken abgeleitet, da man zu keiner einheitlichen Definition gefunden hat:[62]
1.) “Involve only runtime activity as a minimum characteristic (i.e., middleware does not include development tools).
2.) Ideally, run unattended and not involve any administrative activity; developers or business analysts are involved only when the software is first deployed or as processes change; middleware especially does not involve the actual organizational end users of the technology (i.e., middleware does not include collaborative applications).
3.) Middleware is actually in the middle of two or more other technology entities and is not one of the entities (i.e., relational database management software is not middleware).”
Damit wird Middleware, wenn man den Terminus des Entity Relationship Models (ERM) verwendet, wie IDC, nicht zu einer Applikation, also einem Entity, sondern zur Beziehung zwischen den Entities. Wobei beim ERM die Beziehungen durch das Prädikat des Satzes angegeben werden.[63] Dadurch könnte man schlussfolgern: Verbinde Anwendung A mit Anwendung B. Welche Eigenschaften welche Anwendung hat sollte dann nicht relevant sein und es sollte damit keine Administration nötig sein, um eine Verbindung herzustellen.
Um dem Endanwender diese einfache Handhabung zu gewährleisten werden enorme Anstrengungen auf Seiten der Softwarehersteller unternommen die Standardsoftwarekomponenten zu integrieren und individuelle Anwendungs-kombinationen zu ermöglichen. [64] Dabei wird anbieterseitig auch bei Middleware vom „Application Server“ oder der „Application Server Plattform“ gesprochen. [65] In einer SOA hostet, nach Gartner, ein Applikations-Server die Applikationsdienste und Services und übernimmt die Rolle des Technologieträgers.[66]
Daraus folgt, dass die SOA in den Mittelpunkt der Softwareentwicklung rückt, in der individuelle kalibrierbare Dienste in Anspruch genommen und kombiniert werden können. Diese Dienste sollen von überall aus zugänglich sein (Rolle der Middleware) und die größte Verbreitung und Standardisierung bietet das Internet. Dadurch wurde die Kombination des Web Service, das auf XML Standards basiert.[67] Dies sind Schnittstellen, die zur Kommunikation beispielsweise zwischen Webserver und Datenbank oder der Anwendungen und Dienste untereinander genutzt werden, aber allgemein auch zur Kommunikation zwischen zwei oder mehr Anwendungen[68]. Beispiele hierfür wären der Websphere Application Server von IBM, Oracle Fusion oder SAP NetWeaver.[69]
4.2 Web Services
Von einem Web Service spricht man, wenn man eine Anwendung oder einen Geschäftsprozess durch Service Provider oder Softwarefirma ausgeführt beziehungsweise durch die Software automatisiert wird. Das ist noch nicht das eigentlich neue an der Anwendung des Web Service. Die technische Neuerung dabei ist, dass der Service Web basierend ist. Dies erhöht die Ablaufgeschwindigkeit von Geschäftsprozessen und die Kompatibilität enorm und führt zu einer Verbesserung der Economies of Scale und zu globalen übergreifenden Standards wie XML[70] Ein Application Server oder eine Applikations-Server Plattform ist dabei für die Interoperabilität zuständig.[71]
Somit ist es für den Anwender nicht mehr von Bedeutung, wer oder wie die Operation koordiniert und durchgeführt, sondern nur noch das eine Verarbeitung stattfindet. Diese Plattformneutralität ist für den Anwender also von größter Bedeutung und alle großen Softwareunternehmen wollen an dieser Entwicklung partizipieren.[72]
Deswegen wurde der Standard SOAP (Simple Text Access Protocol) entwickelt, welcher die plattformübergreifende Kompatibilität von XML Dokumenten ermöglicht.
Die Web Service Description Language (WDSL) beschreibt die Handlungsabläufe und Parameter der Web Services und standardisiert die Beschreibung und ermöglicht systemübergreifende Kommunikation.[73]
Das Universal Description, Discovery and Integration Protocol (UDDI) gibt eine Struktur vor, in der die Firmen ihre Daten anordnen sollen und wie diese registriert werden, wodurch eine freie Kombination von Services erreicht werden soll, die alle oben genannten Standards unterstützen sollen.[74]
Nach den Analysten von IDC sind Web Services Architekturen ein Verteiltes [75]
“…computing model using a standardized approach to dynamic component connectivity and interoperability using specific open connectivity standards including IP and select XML-based standards such as Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL).”
Web Services sind nach Tracy Gardner von IBM, die den Begriff geprägt hat: [76]
“Web services are interoperable building blocks for constructing applications”[77]
Dabei kann man die Vorgehensweise in drei einfache Operationen zusammenfassen: „Publish, find, bind“[78]
Diese Architektur der Software die den Prinzipien folge leistet wird als Service Oriented Architecture bezeichnet, worauf in Kapitel 4.3 näher eingegangen wird.
Web Service Plattform sind nach der Definition von Gartner Host für Web Services. Das bedeutet, es ist die Laufzeitumgebung für die Services und Applikationen, also der Ort, wo diese benutzt werden. Gartner unterteilt Web Service Plattformen in vier Kategorien:[79]
Web Services Provider Plattform
Web Services Konsumer Plattform
Web Services Produktions-Plattform
Web Services Management Plattform
Die Provider Plattform stellt den Web Service zur Verfügung, bildet also die Laufzeitumgebung, die Konsumer Plattform hostet die grafische Benutzeroberfläche.[80]
Die Produktions-Plattform stellt eine Entwicklungsumgebung bereit die sieben Prozessschritte beinhaltet: Design, Modellierung, Erstellung, Zusammenfassung, Prozessdefinition, Automatisierung und Veränderlichkeit.
Die Automatisierung verbindet auch die Laufzeitumgebung für die darunter liegenden Architekturen wie Enterprise Java Beans Komponenten von Sun oder .net von Microsoft mit den ausführenden Schichten.
Die Management Plattform ist für die Koordination der Services nötig. Jedoch können die Systeme ohne Automatisierung nicht plattformübergreifend kommunizieren. Somit ist beispielsweise einem MS .net System nicht möglich SUN Enterprise Java Beans basierende Dienste zu verwalten.[81]
Wie in Abbildung 7, einer 4 Felder BCG-Matrix zu sehen ist, spielen bei Web Service Plattformen die Software und Service Anbieter IBM, Microsoft, SAP und Oracle die dominierende Rolle. Auf die Strategie großer Softwareanbieter wird in Kapitel 5 detaillierter eingegangen.
Die Anbieter wissen, dass eine übergreifende Standardisierung zu einem „Survival of the fittest Service“ führen würde und werben zwar mit XML Standards, diese lassen sich jedoch nicht wahllos kombinieren. Eine plattformübergreifende Kommunikation und Datenaustausch ist durch Middleware bzw. so genannte „Connectors“ möglich.[82] Anbieterkonform soll jedoch die modulare Struktur von SOA die Anpassungsprobleme lösen.
4.3 Service Oriented Architecture
SOA ist im Allgemeinen eine Sammlung von Diensten auf die über ein Netzwerk zugegriffen werden kann. Diese Dienste können auch miteinander kommunizieren. Es können entweder einzelne Dienste einfachen Datenaustausch koordinieren, oder aber auch viele Dienste Aktivitäten untereinander managen.[83]
Das Marktforschungsunternehmen IDC unterstreicht bei der Serviceorientierung noch die schnelle Reaktionsfähigkeit auf Kundenbedürfnisse, die durch die standardisierte Kommunikation zwischen den Diensten erreicht werden kann.[84]
Die Analysten von Gartner differenzieren SOA noch stärker in vier Bereiche:[85]
· Ursprüngliche Softwareanwendungen die neu formatiert wurden, um SOAP zu unterstützen
· Komplett neue SOA Anwendungen
· Zusammengesetzte SOA Geschäftsprozessanwendungen, die alte Anwendungen miteinander verschmelzen
· Modulare Programmsammlungen
SOA kann also in Echtzeit Geschäftsprozesse ausführen und dies auch webbasierend durch die Einhaltung der Standards SOAP und WDSL. Dadurch wird es möglich die Dienste sonst autonomer Systeme in den Geschäftsablauf zu integrieren und individuell die Dienste zu mischen.
Die Abbildung 8 zeigt, wie die AJAX-Technologien in Service Orientierter Architektur durch das mischen von verschiedensten Modulen dem Nutzer am Ende einfach als einheitliche Oberfläche im Browser präsentiert wird. Damit soll SOA eine Plattformunabhängigkeit erreichen und der Nutzer sollte an keinerlei Vorgaben gebunden sondern kann direkt auf der Präsentationsschicht, dem Browser, die Dienste nutzen. Die Anbieterunabhängige und -übergreifende Kombination ist jedoch nicht ohne weiteres möglich.
Abbildung 9 veranschaulicht den Zusammenhang zwischen SOA und Web 2.0 und gleichzeitig ist es die Strategie, die Microsoft seiner Softwarearchitektur im Bereich Unternehmenssoftware zugrunde legt. [86] Dabei wird deutlich, dass der Schnittpunkt von Web 2.0 und SOA im Bereich der Web Services liegt, wobei Web 2.0 die Consumer Trends und SOA die Businesstrends verfolgt.
Diese Überschneidung von SOA und Web 2.0 wird schon länger diskutiert und dabei können zwei Aspekte unterschieden werden:[87]
1.) SOA hat zentrale Steuerungsinstanzen der Prozesse und Services, bei Web 2.0 liegt gerade ein Hauptmerkmal in der Dezentralisierung
2.) Die soziale Komponente fehlt bei SOA, da es sich an Businesskunden richtet – bei Web 2.0 steht dagegen die Gemeinschaft im Vordergrund
Dabei wird deutlich, dass die Geschäftsmodelle der Anbieter unterschiedlich sind und nicht von der Strategie für Web 2.0 Technologien gesprochen werden kann. Der folgende Abschnitt gibt einen Überblick über die unterschiedlichen Strategien der Service und Softwareanbieter.
5 Geschäftsmodelle und Marktstrategien
Im Businesssoftwarebereich sieht IDC für das Jahr 2006 eine hohe Anzahl von Mergers & Acquisition in den Segmenten Infrastruktur, Information, Applikationen, Kommunikation und im Bereich Services.[88]
Im Bereich der SOA im speziellen sieht IDC für das Jahr 2006 voraus, dass vorkonfigurierte Lösungen, Serviceapplikationen als Softwarepakete abgeliefert werden. [89]
Dadurch wird deutlich, dass die Marktteilnehmer vorwiegend die großen Software- und Infrastrukturanbieter sich gerade neu positionieren. Das On Demand -, oder auch Software as a Service genannten Geschäftsmodell wird immer attraktiver für die Anbieter. Außerdem werden die Softwarevermittlung (Software Brokering) und das Consulting weiter an Bedeutung gewinnen. [90]
Die Strategie der großen Softwareanbieter, kleine Internetstartups und auf Web Services orientierte Firmen aufzukaufen wird sich fortsetzen.[91]
Daraus läßt sich Schlussfolgern, dass alle großen Marktteilnehmer strategische Übernahmen tätigen werden, um an den kommenden netzbasierenden Trends zu partizipieren.
Die Service Strategie der Softwareanbieter scheint vernüftig, da immer mehr individuelle Lösungen gesucht werden, die keine Prozessanpassungen mehr benötigen und fast alle Großkunden die Standardkomponenten schon einsetzen und dadurch sich nur noch durch Spezialisierung Marktanteile hinzugewonnen werden können.
Eine klare Voraussage der strategischen Positionierung einzelner Teilnehmer kann ist zum gegenwärtigen Zeitpunkt nicht möglich. Für die Softwareanbieter ist jedoch klar, dass eine neue Kurz-, Mittel- und Langfristige Planung nach eine zurückhaltenden Phase in den Jahren 2001-2004 und eine Konsolidierung nötig ist, um auf die neuen Technologien zu reagieren und nicht neuen Anbietern den Erfolg zu überlassen.[92]
Ein voraussagbarer Trend ist jedoch die Integration von Mobile Middleware, Integration Middleware in die vorhandene Architekturen.[93]
Für reine Web 2.0 Startups bieten sich weniger Möglichkeiten der Umsatzgenerierung als für große Software- und Serviceanbieter. Kostenloser Vertrieb der Software oder den Diensten kann nur durch Werbung oder Support ersetzt werden um rentable Investitionen zu generieren. Lizenzgeschäfte mit Internetservices gestalten sich schwierig, da zunächst eine Zielgruppe um die Webseite aufgebaut werden muss, um diese attraktiv zu machen, was nicht möglich ist, wenn für den Dienst direkt gezahlt werden soll.[94] Eine Möglichkeit dies zu umgehen ist es, durch den Anwendern selbst die Möglichkeit zu geben eigene Inhalte der Webseite hinzuzufügen, wobei dadurch die Möglichkeiten der Umsatzgenerierung eingeschränkt werden. Es erhöht sich jedoch die Wahrscheinlichkeit, dass dann mehr Menschen die Seite nutzen. [95]
Eine Kapitalisierung des Marktanteils kann also erst dann stattfinden, wenn eine Basis von Inhalt und Nutzern geschaffen wurde.[96] Betriebswirtschaftliche Faktoren wie Innovation, Effizienz und Kompetenz werden ausschlagebend für den Erfolg und für die Investionsfreudigkeit der Wagniskapitalgeber sein.[97] Falls diese Faktoren nicht eingehalten werden, können große Anbieter das Produkt leicht imitieren und in ihre Lösungen integrieren. Das diese Verdrängungsstrategie aber nicht immer erfolgreich sein muss und auch der Markteintritt neuer Wettbewerber möglich ist, lässt sich am Open Source Geschäftsmodell aufzeigen. Dabei muss man den Microsoft Strategen zustimmen, „(…) dass die Qualität kommerzieller Produkte durch Open-Source-Produkte erreicht und (teilweise) sogar übertroffen werden kann.“. Diese haben in internen Dokumenten 1998 vor der Gefahr von Open Source Programmen gewarnt.[98] [99]
8 Jahre später hat sich das Open Source Geschäftsmodell etabliert und wird auch von großen Anbietern wie IBM unterstützt. Vor allem die geringen Markteintrittsbarrieren sind zum einen der Vorteil für die Internetstartups und jedoch der Nachteil einiger etablierter Anbieter, die auch deswegen die Standardisierung durch J2EE Plattformen oder XML noch nicht übergreifend unterstützen.[100] Durch stark differenzierte und abgestimmte Services wäre es sonst möglich von großen Anbietern Marktanteile zu übernehmen, da diese einfach in bestehende Abläufe integriert werden könnten.[101] Das für IT Unternehmen rentable Customzing würde somit veringert.
Daraus resultiert die langfristige Strategie der Softwareanbieter sich dauerhaft auf die globale Dezentralisierung der Services einzustellen und plattformübergreifende Web Services zu etablieren.[102] Mittelfristig verläuft der Trend dahingehend, durch SOA modulare Applikationen zu erstellen und in die bestehenden Systeme zu integrieren. Weiterhin wird versucht durch XML Standards die Kommunikation zwischen den verschienden Ebenen von Software zu ermöglichen und daraus Prozessautomatisierungen herzuleiten.
6 Schlussbetrachtung und Ausblick
In der momentanen Situation ist der Begriff „Web 2.0“ als Marketinghype zu sehen. Eine wissenschaftliche Aussage oder eine genaue Definition des Begriffs ist ebenso wenig möglich, wie die klare Formulierung einer Geschäftsstrategie.
Viele Unternehmen nutzen den Trend, um alten Wein in neuen Schläuchen zu vertreiben; was früher Application Service Provision genannt wurde, wird nun unter dem Namen On-demand oder Software as a Service verkauft.
Die Marktübertreibung haben auch die großen Anbieter wie IBM realisiert, doch es wird argumentiert, dass die Art der Nutzung des World Wide Webs und die Einstellung sich durch den Trend auch dauerhaft ändern wird.[103] Der IBM Web Futurist David Boloker reduziert den AJAX Trend auf den folgenden Satz: [104]
„As Ajax is changing our view of web applications, Web 2.0 will change the way we look at web socialisation, mash-ups and usability.”
Dadurch wird eine neue Art der Integration des Internets in den Alltag erreicht – Privat und auch beruflich. Das Orwellsche Schreckenszenario der totalitär staatlichen Überwachung wird ersetzt durch soziale Kontrolle und Bewertung der Gemeinschaft im Netz, wie es Nietzsche angedacht hatte. Welche Konsequenzen sich daraus für das Individuum allgmein und für den Arbeiter im speziellen ergeben ist nicht klar ersichtlich, jedoch wird es einschneidende Veränderungen hinsichtlich der Kommunikation und der Arbeitseffizienz geben.
Durch weitreichende Vernetzung des Alltags wird die Anonymität im Internet der virtuellen Realität weichen. Dieser Entwicklung wird im 2006 jedoch nicht mehr so zweifelhaft begegnet wie 10 Jahre zuvor, da die Vorteile noch die Nachteile überwiegen.[105] Ein öffentlicher AJAX basierender Kalender wie Zimbra es anbietet, wäre einerseits für bestimmte Personengruppen komplett sichtbar sein, andererseits übernehmen dadurch automatisierte Tools administrative Tätigkeiten im Alltag, steigern die Effizienz während und die Bequemlichkeit nach der Arbeit.
Hinsichtlich der Auswirkungen auf Unternehmensoftware läßt sich der Trend hin zur Interoperabilität und Portablität erkennen. Dabei soll der Schnittpunkt zwischen Privat- und Business Nutzer auf Ebene der Web Services liegen die eine höhere Wertschöpfung für Beide bewirken soll. Globale Mensch zu Mensch Kommunikation soll genauso möglich sein, wie globale Kommunikation der Rechner untereinander und die Mensch Maschine Interaktion. Die Konvergenz der Endgeräte und deren Eigenschaften wird erreicht durch Nutzung netzwerkbasierterer Applikationen und Rechnenleistungen, sowie deren dezentralen Speicherkapazitäten. Es dient somit nur noch als standardisierte Kommunikationsschnittstellen zum Anwender und seinen Bedürnissen. Sei es privat als soziales Wesen, beruflich oder als „Mashup“. Durch die modulare Struktur und die standdardisierten Schnittsellen der nächsten Softwaregeneration sollen auf die Bedürnisse zugeschnittene Services eine prozessspezifische Effizienzsteigerung trotz komplexer Integrationsverfahren erreichen. Inwieweit wirtschaftliche Machtansprüche einzelner Marktteilnehmer der kollektive Produktionsprozess entgegenwirken könnten, muss abgewartet werden.
Abbildungsverzeichnis
Abbildung 1: Lebenszyklusmodell für XML Technologien 2005
Quelle: Gartner; Hype Cycle for XML Technologies 2005
www.Gartner.com (10/2005)
Abbildung 2: Vergleich von traditionellem mit Ajax Web Applikationsmodell
Quelle: Garrett, Jesse James ; Ajax: A New Approach to Web Applications http://www.adaptivepath.com/publications/essays/archives/000385.php (05/2006)
Abbildung 3: Vergleich von Web 1.0 mit Web 2.0 Eigenschaften
Quelle: Greenstein, Howard; Web 2.0 Meets the Enterprise
http://www.optimizemag.com/article/showArticle.jhtml;jsessionid=HOMMVMYVMPGHMQSNDBECKICCJUMEKJVN?articleId=187000295 (05/2006)
Abbildung 4: Marktanteile von WWW-Suchmaschinen im Januar 2006
Quelle: Nielsen NetRatings; Top Ten Search Engines
www.nielsen-netratings.com (05/2006)
Abbildung 5: Seitenaufrufe bekannter Web 2.0 Seiten
Quelle: Alexa; Traffic Rankings
www.Alexa.com (05/2006)
Abbildung 6: Taxonomy of Middleware Functionality
Quelle: Gartner; Who’s Who in Middleware, 1Q04
www.gartner.com (05/2006)
Abbbildung 7: 4-Felder Matrix von Web Service Plattform Anbietern
Quelle: Gartner; Magic Quadrant for Web Service Platforms 2005
www.gartner.com (7/2005)
Abbildung 8: Zusammenhang zwischen AJAX Technologien und SOA
Quelle: SOA Journal
http://web2.wsj2.com/ (05/2006)
Enterprise
SOA
Dcom
XML
JavaScript
INTERNET
WSDL
WWW WIKI
RSS
REST
Web2.0
Consumer
SOAP
Abbildung 9: Zusammenhang von SOA & Web 2.0
Quelle: Eigene Darstellung in Anlehnung an: eWeek; „Microsoft Seeks to Bridge Web 2.0 and SOA“
http://www.eweek.com/article2/0,1895,1918120,00.asp (2/2006)
Literaturverzeichnis
Goldmann, Martin; Per Anhalter durch das globale Datennetz, Rowohlt (1995)
Hansen, Robert, Neumann Gustav; Wirtschaftsinformatik, Band I, 8. Auflage, Lucius und Lucius (2001)
Hansen, Robert, Neumann Gustav; Wirtschaftsinformatik, Band II, 9.Auflage, Lucius und Lucius (2005)
Messerschmitt, David G.; Software Ecosystem, The MIT Press (2005)
Woods, Dan, Word, Jeff; SAP NetWeaver for Dummies, Wiley Punlishing Inc (2004)
Wustemann, Judith: Realising the potential of Web Services Wusteman Systems & Services: International Digital Library Perspectives, Nr. 22, (2006)
Wissenschaftliche Onlinepublikationen
Lee, Tim Bernard; Biography, W3C (2006)
http://www.w3.org/People/Berners-Lee/ (12.5.2006)
Lee, Tim Bernard; The Semantic Web, Scientific American (2001)
http://www.cs.nyu.edu/rgrimm/teaching/readings/semantic-web.pdf (11.5.2006)
Gardner, Tracy; An Introduction to Web Services (2001)
http://www.ariadne.ac.uk/issue29/gardner/intro.html (16.5.2006)
Golder, Scott A. Huberman, Bernardo A.; The Structure of Collaborative Tagging Systems HP Labs (2005)
http://arxiv.org/abs/cs.DL/0508082 (18.5.2006)
O´Reilly, Tim; What is Web 2.0 (09/2005),
http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html (10.3.2006)
Internetquellen
Barry, Douglas K.; SOA Definition, International Digital Library Perspectives (2006)
http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html (16.5.2006)
Boyd, Stowe; Are You Ready for Social Software? (05/2003)
http://www.darwinmag.com/read/050103/social.html (16.5.006)
Chaosradio Webcast; Web 2.0 – Verheißungen und Realität des neuen Webs
http://chaosradio.ccc.de/archive/chaosradio_112.mp3 (5.5.2006)
CNet; News Mapping with Liveplasma Technology
http://news.com.com/The+Big+Picture/2030-12_3-5843390.html?tag=st.bp (14.5.2006)
Dharmesh, Shah; Ilana, Davidi; Yoav, Shapira;Allen, Robbie; Web 2.0: Hype, Reality, or the Future? (12/2005)
http://rallenhome.com/essays/essay4.html#_ftn11 (22.5.2006)
Donoghue, Andrew; ZDnet; Google lays foundations for Office rival
http://news.zdnet.co.uk/internet/0,39020369,39256660,00.htm (16.5.2006)
Garrett, Jesse James; Ajax: A New Approach to Web Applications (02/2005)
http://www.adaptivepath.com/publications/essays/archives/000385.php (18.5.2006)
Halloween Dokumente
Wikipedia
http://de.wikipedia.org/wiki/Halloween-Dokumente (20.4.2006)
Ursprünglich: Raymond, Eric S.
http://www.catb.org/~esr/halloween/ (20.4.2006)
Hedquist, Ulrika; Web 2.0 is hot (05/2006)
http://computerworld.co.nz/news.nsf/0/CD1AE2E4ACABCFEBCC25717300101C90?OpenDocument (20.5.2006)
Hicks, Matthew; Google Earth’ Ready to Travel the World (05/2005)
http://www.eweek.com/article2/0,1895,1818423,00.asp
Hinchcliffe, Dion; Web 2.0 Weblog (12/2005)
http://www.web2.wsj2.com (13.5.2006)
Liedke, Michael; Venture Capital Investments Up 12 Percent (04/2006)
http://www.bizreport.com/news/9804 (25.4.2006)
Nielsen/netRatings; Top Ten search Engines; (2/2006)
http://www.nielsen-netratings.com/pr/pr_060424.pdf (13.5.2006)
Nölle, Jochen; Voice over IP – Eine Einführung
http://www.voip-info.de/wissen/_Artikel_Allgemein_32.php?page=5 (13.5.2006)
o.V.: Web 2.0 or Star Wars Character?“
http://www.cerado.com/web20quiz.htm (14.5.2006)
O´Reilly, Tim; Compact Definition: What is Web 2.0 (10/2005),
http://radar.oreilly.com/archives/2005/10/web_20_compact_definition.html (10.3.2006)
Palm, Goedart; Die Zukunft des Internet (3/2006)
http://www.heise.de/tp/r4/artikel/22/22209/1.html (12.5.2006)
Red Herring; SAP Chalks out 2006 Road Map (12/2005)
http://www.redherring.com/Article.aspx?a=14746&hed=SAP+Chalks+out+2006+Roadmap§or=Industries&subsector=Computing (17.5.2006)
Scott-Joynt, Jeremy; What Myspace means to Murdoch (7/2005)
http://news.bbc.co.uk/1/hi/business/4697671.stm (20.5.2006)
Sixtus, Mario; Die Humanisierung des Netzes, Die Zeit Online (08/2005) – http://www.zeit.de/2005/35/C-Humannetz (16.5.2006)
Taft, Daryll K.; eWeek; „Microsoft Seeks to Bridge Web 2.0 and SOA“ (02/2006) http://www.eweek.com/article2/0,1895,1918120,00.asp (15.5.2006)
Webopedia; Definition von Ajax
http://www.webopedia.com/TERM/A/Ajax.html (10.5.2006)
Webopedia; Definition von Middleware
http://www.webopedia.com/TERM/M/middleware.html (14.5.2006)
Webopedia; Definition von World Wide Web
http://www.webopedia.com/TERM/W/World_Wide_Web.html (22.5.2006)
Zeh, Juli; Es werde Linux, Die Zeit Online (03/2006)
http://www.zeit.de/2006/14/C-OpenSource (16.5.2006)
Zvi, Kedem; Entity/Relationship and Relational Models (1997)
http://www.cs.nyu.edu/cs/dept_info/course_home_pages/spr97/V22.0444/unit02/ppframe.htm (19.5.2006)
Allgemeine Lesezeichen
Akamai; Technology Overview
http://www.akamai.com/en/html/technology/overview.html (18.5.2006)
Friend of a Friend
http://www.foaf-project.org/ (19.5.2006)
Google Maps
http://www.google.com/apis/maps/ (16.5.2006)
IBM Developer networks; Ruby on Rails
http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/ (15.5.2006)
Microsoft; Bird`s Eye imagery
http://www.local.live.com (16.5.2006)
Red Hat Application Server
http://www.redhat.com/software/rha/appserver/ (18.5.2006)
Ruby on Rails
http://www.rubyonrails.org (16.5.2006)
UDDI
http://www.uddi.org/faqs.html#whatis (19.5.2006)
Analystenberichte:
Gartner
http://www.gartner.com
Andrews, Whit, Knox Rita; Magic Quadrant for Information Access Technology (10/2005)
Barnes, Michael; Benefits and Challenges of SOA in Business Terms (09/2005)
Knox, Rita; Cool Vendors for Web 2.0, 2006 (03/2006)
Linden, Alexander, Valdes, Ray; Web Convergence Positions Google to Become the Digital Hub for a Web-Centric Knowledge Society (11/2005)
Plummer, Daryl C.; Four Platforms Will Dominate Web Services Markets (01/2002)
Schulte, Roy, Valdes, Ray; SOA and Web Services Offer Little Vendor Independence (4/2004)
The Gartner Glossary of Information Technology Acronyms and Terms (2005)
Valdes, Ray, Smith, David; Web 2.0: Get Ready for the Next Old Thing (12/2005)
Who is who in Middleware (02/2004)
IDC
http://www.idc.com
Ahorlu, Mette; IDC Worldwide Services Group Top 10 Predictions for 2006 and Beyond (03/2006)
Bock, Geoffrey; The future for content Applications: A survey of Market Readiness and Technology Trends (02/2006)
Byron, Dennis; What is Middleware (11/2005)
Hedin, Marianne; Worldwide SOA-Based Services 2006-2010 Forecast (3/2006)
Heiman, Richard; IDC’s Software Taxonomy (02/2005)
Heiman, Richard , Picardi, Anthony C.; Worldwide Software 2005-2009 Forecast Summary (07/2005)
Feldman, David; Hot topic for Web Developers: Ajax and Remote Scripting (12/2005)
Gens, Frank; IDC Predictions 2006: It’s Gut-Check Time as Disruptive Business Models Gain Traction (11/ 2005)
Worldwide Software 2005-2009 Forecast Summary (12/2005)
o.V. Software Companies of the Future (6/2005)
Abkürzungsverzeichnis
AJAX Asynchronous Java Script and XML
API Application Programming Interface
ASP Application Service Provider
B2B Business to Business
B2C Business to Consumer
C2C Consumer to Consumer
CRM Customer Relationship Management
CSS Cascading Style Sheets
DCOM Distributed Component Object Model
ERM Relationship Models
ERP Enterprise Resource Planning
FOAF Friend of a Friend
GUI Graphical User Interface
HTML Hypertext Markup Language
ISP Integrated Service Provider
J2EE Java 2 Platform Enterprise Edition
JSRS Java Script Remote Scripting
RDF Resource Description Framework
REST Representational State Transfer Architektur
ROI Return of Investment
RSS Really Simple Syndication
SCM Supply Chain Management
SOA Service Oriented Architecture
SOAP Simple Objects Access Protocol
UMTS Universal Mobile Telecommunications System
WiMax Worldwide Interoperability for Microwave Access
WLAN Wireless Local Area Network
WSDL Web Service Definition Language
WWW World Wide Web
XFN XHTML Friends Network
XML Extensible Markup Language
XHTML Extensible Hypertext Markup Language
——————————————————————————–
[1] Vgl. Palm; Die Zukunft des Internet (03/2006)
[2] Vgl. Goldmann; Per Anhalter durch das globale Datennetz (1995), S.13ff
[3] Vgl. Lee; Biography, W3C (2006)
[4] Vgl. Liedke; Venture Capital Investments Up 12 Percent (04/2006)
[5] Vgl. Lee; The Semantic Web (2001), S.1
[6] Vgl. Gartner; Web 2.0: Get Ready for the Next Old Thing (12/2005), S.10
[7] Vgl. Gartner; Web Convergence Positions Google to Become the Digital Hub for a Web-Centric Knowledge Society, S.5
[8] Wie viel Marketing und wie wenig die Bedeutung des Wortes klar ist lässt sich an folgendem Fragebogen erahnen: „Web 2.0 or Star Wars Character?“URL: http://www.cerado.com/web20quiz.htm (14.5.2006)
[9] gleicher Inhalt aber von Microsoft auf der .net Plattform verwendet dem Pendant zu Java 2 Platform Enterprise Edition (J2EE) von SUN
[10] O’Reilly; What is Web 2.0 (09/2005)
[11] O´Reilly, Tim; Compact Definition: What is Web 2.0 (10/2005)
[12] U.a. Sun Microsystems: „The network is the Computer“, J2EE, SAP NetWeaver
[13] Vgl. Lee, Tim Bernard; Biography, W3C (2006)
[14] Vgl. Hansen, Neumann; Wirtschaftsinformatik, Band II, (2005, 9.Auflage), S.508
[15] Vgl. Lee, Tim Bernard; The Semantic Web, Scientific American (2001)
[16] Vgl. Hansen, Neumann; Wirtschaftsinformatik I, (2001, 8.Auflage), S.1049
[17] Vgl. Hansen, Neumann; Wirtschaftsinformatik I, (2001, 8.Auflage), S.1050f
[18] Vgl. Lee, Tim Bernard; The Semantic Web, Scientific American (2001)
[19] Vgl. Lee, Tim Bernard; The Semantic Web, Scientific American (2001)
[20] Vgl. Gartner; The Gartner Glossary of Information Technology Acronyms and Terms (2004)
[21] Vgl. Woods; SAP NetWeaver for Dummies (2004), S.72f
[22] Vgl. IDC; The future for content Applications: A survey of Market Readiness and Technology Trends (2/2006)
[23] Das Pendant von Microsoft ist ATLAS
[24] Vgl. Webopedia Definition; AJAX (10.5.2006)
[25] Vgl. Garrett, Jesse James; Ajax: A New Approach to Web Applications (2/2005)
[26] Vgl. IDC; Hot topic for Web Developers: Ajax and Remote Scripting (12/2005), S.4
[27] Vgl. ZDnet; Donoghue, Andrew; Google lays foundations for Office rival (16.5.2006)
[28] Vgl.: IDC; Hot topic for Web Developers: Ajax and Remote Scripting (12/2005), S.9
[29] Vgl.: Gartner; Hypecycle for Wireless Networking 2005 (29.6.2005)
[30] Vgl.: IDC; Hot topic for Web Developers: Ajax and Remote Scripting (12/2005), S.9f
[31] Vgl.: eWeek; Hicks; Google Earth’ Ready to Travel the World (05/2005)
[32] Google Maps; http://maps.google.com/ (16.5.2006); Die Karte basiert eigentlich auf Macromedia Flash
[33] Google; http://www.google.com/apis/maps/ (16.5.2006)
[34] Andere Beispiele wären: Chicaco Crime Statistik oder www.local.live.com (grafische Echtzeitstaumelder) und Reiseanbieter
[35] Microsoft; www.local.live.com – Bird`s Eye imagery in (12.5.2006)
[36] Nielsen/netRatings; Top Ten search Engines; http://www.nielsen-netratings.com/pr/pr_060424.pdf (2/2006)
[37] Gartner; Magic Quadrant for Information Access Technology (10/2005)
[38] Gartner; Cool Vendors for Web 2.0, 2006 (03/2006)
[39] CNet; News Mapping with Live plasma Technology
[40] Deli.cio.us ist eine Internetplattform für die Sammlung von Lesezeichen in Form von Tags, siehe Kapitel 3.4
[41] Vgl. Die Zeit Online; Zeh: Es werde Linux (03/2006), S.1
[42] Vgl. Die Zeit Online; Zeh: Es werde Linux (03/2006), S.3
[43] Vgl. Gartner; Cool Vendors for Web 2.0, 2006 (03/2006)
[44] Vgl. www.rubyonrails.org (16.5.2006)
[45] Vgl. IBM Developer Networks (15.5.2006)
[46] Webcast ist eine Radio- oder TV-Sendung, die über Internetseiten verbreitet wird.
[47] Vgl. Chaosradio Webcast; Web 2.0 – Verheißungen und Realität des neuen Webs (5.5.2006), ab min. 77
[48] Vgl. Boyd, Stowe; Are Your ready for social Software? (05/2003)
[49] Vgl. www.ebay.com, www.amazon.com
[50] Vgl. Die Zeit Online; Sixtus; Die Humanisierung des Netzes (08/2005)
[51] Vgl. Scott-Joynt; What Myspace means to Murdoch (7/2005)
[52] Vgl. Golder, Huberman; The Structure of Collaborative Tagging Systems (2005)
[53] Auch Yahoo! oder Google suchen nach Metadaten, aber nicht spezielle nach Weblogs; Flickr und de.licio.us gehören zu Yahoo!
[54] Vgl. http://www.foaf-project.org/ (19.5.2006)
[55] Vgl. Hansen, Neumann; Wirtschaftsinformatik, Band I, 8.Auflage (2001), S. 1146ff
[56] Akamai Technology Overview (19.5.2006)
[57] Vgl. O´Reilly: What is Web 2.0, (2005)
[58] Vgl. Hansen, Neumann; Wirtschaftsinformatik, Band I, 8.Auflage (2001), S. 925f
[59] Vgl. Gartner; Who is who in Middleware (2/2004)
[60] Gartner; The Gartner Glossary of Information Technology Acronyms and Terms, www.gartner.com (19.5.2006)
[61] Vgl. IDC; What is Middleware (11/2005)
[62] IDC; Byron, What is Middleware (11/2005)
[63] Vgl. Zvi; Entity/Relationship and Relational Models (1997)
[64] Vgl. IDC; What is Middleware (11/2005)
[65] Vgl. Red Hat http://www.redhat.com/software/rha/appserver/
[66] Vgl. Gartner; The Gartner Glossary of Information Technology Acronyms and Terms (2004)
[67] Vgl. Gartner; The Gartner Glossary of Information Technology Acronyms and Terms (2004)
[68] Vgl. Webopedia; Definition von Middleware
[69] Vgl. Gartner; Who is who in Middleware (2/2004)
[70] Vgl. Messerschmitt, David G.; Software Ecosystem (2005), S.260ff
[71] Vgl. ebd., (2005), S.261
[72] Vgl. ebd., (2005), S.262
[73] Vgl. Gartner; The Gartner Glossary of Information Technology Acronyms and Terms
[74] Vgl. UDDI, Definition (19.5.2006)
[75] IDC; Heiman; IDC’s Software Taxonomy, (2/2005)
[76] Wustemann, Judith: Realising the potential of Web Services (2006), S.5f
[77] Vgl. Gardner; An Introduction to Web Services (2001)
[78] Vgl. Gardner; An Introduction to Web Services (2001)
[79] Vgl. Gartner; Plummer; Four Platforms Will Dominate Web Services Markets (01/2002), S.2
[80] Vgl. ebd. (01/2002), S.3f
[81] Vgl. ebd. (01/2002), S.4
[82] Vgl. Gartner: SOA and Web Services Offer Little Vendor Independence (04/2004)
[83] Vgl. Barry; SOA Definition (2006)
[84] Vgl. IDC; Worldwide SOA-Based Services 2006-2010 Forecast (03/2006), S.26
[85] Vgl. Gartner; Service-Oriented Business Applications Show Their Potential (2003)
[86] Vgl. eWeek; Taft; Microsoft Seeks to Bridge Web 2.0 and SOA (02/2006)
[87] Vgl. Hinchcliffe; Web2.0 Blog, Archive (12/2005)
[88] Vgl. IDC; IDC Predictions Summary 2006 (12/2005), S.5
[89] Vgl. IDC; Ahorlu; Worldwide Services Group Top 10 Predictions (03/2006)
[90] Vgl. IDC; Worldwide Software 2005-2009 Forecast Summary (12/2005), S.161
[91] Vgl. IDC Predictions 2006: It’s Gut-Check Time as Disruptive Business Models Gain Traction (11/2005)
[92] Vgl. IDC; Software Companies of the Future (6/2005)
[93] Vgl. IDC; Worldwide Software 2005-2009 Forecast Summary, S.161 (12/2005)
[94] Vgl. Dharmesh; Hype, Reality, or the Future? (12/2005)
[95] Vgl. Dharmesh; Hype, Reality, or the Future? (12/2005)
[96] Vgl. IDC Predictions 2006: It’s Gut-Check Time as Disruptive Business Models Gain Traction (11/2005)
[97] Vgl. Dharmesh, Shah: Hype, Reality, or the Future? (12/2005)
[98] Bekannt geworden sind die sogenannten Halloween Dokumente, durch die Vebreitung des Hackers und Open Source Akivisten Eric Raymond auf seiner Webseite
[99] Wikipedia Halloween Dokumentehttp://de.wikipedia.org/wiki/Halloween-Dokumente; Vgl.: http://www.catb.org/~esr/halloween/;
[100] Vgl.IDC Predictions 2006: It’s Gut-Check Time as Disruptive Business Models Gain Traction (11/2005)
[101] Vgl. Dharmesh: Hype, Reality, or the Future? (12/2005)
[102] Red Herring; SAP Chalks out 2006 Road Map (12/2005)
[103] Vgl. Computerworld NZ; Hedquist; Web 2.0 is hot (22.5.2006)
[104] Vgl. Computerworld NZ; Hedquist; Web 2.0 is hot (22.5.2006)
[105] Vgl. Chaosradio Webcast; Web 2.0 – Verheißungen und Realität des neuen Webs (5.5.2006), ab min.77
Kategorien: Blogroll

