Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web Service Engineering: XML und Anwendungen

Ähnliche Präsentationen


Präsentation zum Thema: "Web Service Engineering: XML und Anwendungen"—  Präsentation transkript:

1 Web Service Engineering: XML und Anwendungen
Vortragsunterlagen zur Vortragsreihe MSc Multimedia und MSc NewMediaManagement an der Donauuniversität Krems

2 Rückblick Infoblock 1 Datenschutz und Datensicherheit
Das Datenschutzgesetz Daten im Internet Grundbegriffe Internet/WWW (noch zu vertiefen) Basic Authentication Internet Security Sicherheit im Internet, technische Maßnahmen für den E-Commerce mechanische und logische Sperren Sicherheitsverfahren, gesetzliche Vorgaben Singaturgesetz, E-Commerce-Gesetz, Fernabsatzgesetz

3 Web Service Engineering
Rückblick Infoblock 2 Internet Services Definitionen, Protokolle, Einsatzbereiche Das World Wide Web Einsatzbereich HTTP Web Service Engineering Umsetzung von komplexen Services Service Management Technisch Inhaltlich

4 Rückblick Infoblock 3 Datenbanksysteme Informations-Architektur
Webbasierter Datenbankeinsatz Informations-Architektur Management von Inhalten am Web Web Content Management Ansätze praktische Einblicke Web Application Server Moderne Ansätze im technischen Web Service Management Business Intelligence Benutzerdefinierte Webapplikation unter Einbeziehung von Datenbanken und dynamischen Webabfragen

5 Rückblick Infoblock 4 Specific Web Applications – Content Syndication
Software Engineering, Methoden WFM, V-Modell Semantic Web Metadaten EU Projekt OmniPaper Prototype Test & Evaluation Konzepte und Technologien im Web Engineering – XML: eine theoretische Einführung

6 Grammatik, Strukturen, Verwandtschaften Semantic Web
Rückblick Infoblock 5 Metadaten und XML Grammatik, Strukturen, Verwandtschaften Semantic Web Metadaten SOAP, EU Projekt Nedine XSL: Die XML Stylesheet Language Einfache Beispiele

7 Rückblick Infoblock 6 XML Grammatik und Style Sheets XML Applikationen
Anwendungen in unterschiedlichsten Domänen XML-basierte Projekte Nachrichtensyndikate NEDINE EU Projekt Nachrichtennetzwerk XML in Grafikumgebungen Scaleable Vector Graphics - SVG Arbeiten mit Vektorgrafiken und Animationen Praktischer Einsatz von XML-Werkzeugen Altova‘s XMLSpy, Adobe‘s SVG-Viewer

8 Web Service Engineering
Web 2.0 Schwerpunkt AJAX

9 Web 2.0 - Agenda Was ist Web 2.0 Philosophie (30min)
Begriffe und Charakteristiken (15min) Web 2.0 Details zum Konzept (90min) Technologien und Grundlagen (60min) Demonstration und Übung (90min) Komplexes Anwendungsprojekt (90min) = Beginn des Coding-Workshops Workshop Anwendungsprojekt (2. Tag)

10 Web 2.0 Philosophie Technik Was ist Web 2.0
Anschauung des Webs aus Sicht einer neuen Nutzergruppe Hype oder Innovation? Technik Nichts neues, sinnvoll koordinierte und innovative Anwendung existierender Technologien AJAX (Asynchronous Javascript and XML)

11 Web 2.0 Schwerpunkt AJAX - Aktuelle Unterlagen im Skriptum angegeben
- Umfassendes Übungsbeispiel im PC-Labor /duk/nmm/duk7-ws07-web2.ppt

12 Neuauflage eines Erfolgsmediums?
Was ist das Web 2.0 ? Neuauflage eines Erfolgsmediums? Was ist dann Web 1.0? Web 1.0 Eine Technologie? Ein Konzept? Die Summe von Benutzeranforderungen? Eine Auffassung eines IKT-Mediums?

13 Populistischer Begriff mit inflationärem Eigenleben
Was ist das Web 2.0 ? Populistischer Begriff mit inflationärem Eigenleben große Euphorie im Internet Weniger technisch als marketingmäßig betrieben Web 2.0 ist ein Metabegriff für ... die Beschreibung einer Reihe neuer/aktueller interaktiver Techniken und Dienste des Internets – speziell des WWW und einer geänderten Wahrnehmung des Internets

14 Web 2.0 als Inbegriff eines Netzverständnisses
Web 2.0 beschreibt vage eine veränderte Wahrnehmung und Nutzung des WWW Organisatorisch: Nutzer verändern bzw. beeinflussen im Internet bereitgestellte Inhalte in zunehmenden Maße selbst Wikis, Weblogs, Bild- und Video-Sharing Portale Surreal: Begriff als Marketing-Instrument eingeführt Deskriptiv für bestimmte Entwicklungen Der Begriff beschreibt kein reales Objekt (etwa vergleichbar mit Software-Version), sondern ist das Ergebnis eines Synergieeffektes Eine Gruppe von Nutzern empfindet das Gefühl einer einschneidenden Veränderung, ohne es auf konkrete Werkzeuge oder Technologien zurückführen zu können

15 Web 2.0 als Inbegriff eines Netzverständnisses
Kritik an der Verwendung des Begriffes unscharf, beliebig verwendbar Etwa um Popularität von Angeboten oder Techniken zu fördern Oder um vorübergehende Trends wichtiger erscheinen zu lassen Aus technischer Sicht nichts Neues Kombination von bereits Ende der 90er entwickelten Technologien Jetzt durch Verbreitung des Webs eben großflächiger verfügbar

16 Web 2.0 als Inbegriff eines Netzverständnisses
Der Weg zum neuen Netzverständnis WWW ursprünglich statische Dokumente Um wachsende Menge an Seiten effizient zu bearbeiten wurden auf Basis des WWW Datenbankbasierte Systeme Web Content Management Systeme entwickelt Vermehrter Einsatz und benutzerfreundliche Interfaces führten dazu, dass sich die Wahrnehmung des Begriffs „Internet“ seit etwa 2005 verändert

17 Web 2.0 als Inbegriff eines Netzverständnisses
Veränderung des Internet-Verständnis Content: Private <-> öffentliche Inhalte Rollen: Editoren <-> Benutzer Vermehrter Einsatz und benutzerfreundliche Interfaces führten dazu, dass sich die Wahrnehmung des Begriffs „Internet“ seit etwa 2005 verändert Keine Trennung von lokalen und zentralen Datenhaltungen (z.B. Foto-Sharing) Verschwindende Grenzen zwischen lokalen und netzbasierten Anwendungen Automatisches Nachladen und Aktualisieren, selbstständiger Zugriff auf Internet-Komponenten, Browser als Benutzerschnittstelle

18 Web 2.0 als Inbegriff eines Netzverständnisses
Weitere Veränderungen zum Begriff „Internet/Web 2.0“ Keine Trennung Editor <-> Nutzer Weniger Trennung von einzelnen Diensten Bestehende Webinhalte werden über offene Schnittstellen nahtlos in Form von Mashups zu neuen Diensten (re-)kombiniert Zugang für weniger Technik-versierte Benutzer um ein Vielfaches erleichtert Aktivere und zahlreichere Teilnahme an Informationsverbreitung bzw. Meinungsverbreitung begründet den Begriff „social software“

19 Web Service Engineering
Entstehungsgeschichte des Begriffes, Charakteristiken von Web 2.0

20 Der Begriff Web 2.0 Dale Dougherty (O‘Reilly) und Craig Cline (MediaLive) sprachen von Renaissance Regeln und Geschäftsmodelle werden sich verändern Namentliche Vergleiche (z.B. DoubleClick war Web1.0, Google AdSense ist Web2.0...) Jährliche Konferenz, zuerst von O‘Reilly und MediaLive im Oktober 2004 einberufen

21 Der Begriff Web 2.0

22 Schlüsselprinzipien zur Charakterisierung
Charakteristika von Web 2.0 Anwendungen Web als Plattform Daten-getriebene Anwendungen Verstärke Vernetzung durch eine „Architektur des Mitwirkens“ Innovation beim Aufbau von Systemen und Seiten (durch Wiederverwendung, ähnlich Open Source) Einfache Geschäftsmodelle Ende des klassischen SW-Lebenszyklus, die Projekte befinden sich immerwährend im Beta-Stadium

23 Technologien im Web 2.0 Eingesetze Technologien, die unter Web 2.0 vage umschrieben werden, ändern sich ständig Zuordenbare Anwendungen Abonnementdienste RSS/Atom (Austausch zwischen Websites) Techniken, die Web-Anwendungen wie klassiche Desktopanwendungen erscheinen lassen (ajax) Weblogs, soziale Netzwerke, Webservices Daraus => Forderungen an Web 2.0 Anwendungen Netzbasierte Anwendung, browsergesteuert Dynamisch, von usern gesteuert/befüllt Personalisierte Oberflächen Editierung, Kommentierung, Gefühl der Zusammengehörigkeit (Community)

24 Web 2.0 und Semantic Web Im Begriff Web 2.0 sind u.a. Aspekte des SW enthalten Soziale Netzwerke wie FOAF Entwicklung von Folksonomy Weblogs Soziale Lesezeichen, Kommentare Wikis Die Herangehensweise ist aber unterschiedlich Etwa ist die Folksonomy des Web2.0 von den Usern entwickelt, die Ontologien des Semantic Webs stammen von Autoren/Experten

25 Kritik am Web 2.0 Kritik zum vagen Begriff kommt auch von ganz hoher/kompetenter Stelle Tim Berners-Lee bezeichnet Web als „Jargon, von dem keiner auch nur weiß, was er bedeuten soll“ Seiner Meinung nach ist das angeblich „neue Netzverständnis“ des Web2.0 nichts anderes als das ursprüngliche Netzverständnis, das bereits dem Web1.0 zugrunde lag.

26 Web Service Engineering
Web 2.0 genau inspiziert: Arbeitsstil, SW-Domäne oder Geschäftsmodell?

27 Web 2.0 als Arbeitsstil,SW-Verständnis,Geschäftsmodell
Am 30. September 2005 erscheint der Artikel „What is the Web 2.0“ von Tim O‘Reilly Das Zerplatzen der Dot-Com-Blase stellte auch für das WWW einen Wendepunkt dar Die Läuterung (Marktbereinigung) zeigte, dass diese Technologien (um das WWW) bereit für einen breiten wirtschaftlichen Einsatz waren Wirkliche Erfolgsstories zeigten ihre Stärken, viele Anwender und Nutzer erkannten, was die Spreu vom Weizen trennt

28 Web 2.0 als Arbeitsstil,SW-Verständnis,Geschäftsmodell
Dale Dougherty erkannte (und notierte): Interessante neue Anwendungsmöglichkeiten tauchen in klarer Regelmäßigkeit auf Überlebende Firmen (nach Dot-Com-Blase) zeigten wichtige Gemeinsamkeiten auf Er wollte diese Änderung, den Neuaufbruch mit einem eigenen Begriff belegen : Web 2.0 Trotzdem keine klar anerkannte Bedeutung, daher versuchte O‘Reilly in einem Brainstorming die Bedeutung genauer zu formulieren...

29 Versuch der Begriffseinschränkung Web 2.0
Web 2.0 DoubleClick --> Google AdSense Ofoto Flickr Akamai BitTorrent mp3.com Napster Britannica Online Wikipedia Persönliche Webseiten Blogs Spekulation mit Domain Namen Suchmaschinen-Optimierung Seitenaufrufe "cost per click" Extraktion mittels Screen Scraping Web Services Veröffentlichung Beteiligung Content Management Systeme Wikis Taxonomie (Verzeichnisse) "Folksonomy" (Tagging) Feststehend ("stickiness") Zusammenwachsen ("syndication")

30 Web 2.0 als Konzept Keine genauen Begrenzungen, sondern vielmehr ein Gravitationszentrum Ansammlung von Prinzipien und Praktiken rund um moderne Web Anwendungen Kernprinzip ist „das Web als Plattform“ Ein vorhin definiertes Grundcharakteristikum DoubleClick etwa hat eine solche Plattform schon im Web1.0 geschaffen, Werbebanners sind die ersten „Mash-Ups“ (Verknüpfung mehrerer Webservices auf einer Seite) Ideen in einer Meme-Map gesammelt:

31 Web 2.0 als Konzept

32 Web 2.0 umschrieben als Vergleiche
Netscape <-> Google Netscape wollte Web als Plattform propagieren und entwarf Browser und Server Software. Idee des „Webtops“, sollte durch Anwendungen und Firmen populär gemacht werden, die Netscape Produkte kaufen sollten  Browser und Server wurden kostenlose oder offene Massenware, die Web-Dienste selbst wurden wertvoll

33 Web 2.0 umschrieben als Vergleiche
Netscape <-> Google Google begann selbst als Web-Dienst (Anwendung) Keine von der Softwareindustrie alteingesessenen Konzepte lassen sich hier finden: Keine geplanten Releases, stattdessen kontinuierliche Verbesserung Keine Lizensierung oder Verkauf, sondern reine Benutzung Google benötige aber Kompetenz in einem Bereich, den Netscape nie benötigte: Daten(banken) Ohne Daten sind die Anwendungen wertlos Ohne die Software sind die Daten nicht verwaltbar

34 Web 2.0 umschrieben als Vergleiche
DoubleClick <-> AdSense DoubleClick ist auch reines Webservice. Aber Konzentrierte sich auf wenige „grosse“ Sites (Maßzahlen wie Klickraten, Werbe-Scoring, etc.) DoubleClick spricht auf Sites stolz von „über 2000 erfolgreiche Implementationen“ Yahoo Search (vormals Overture) und Ad Sense beliefern hingegen bereits hunderttausende Werbetreibende Erfolg basiert auf „The Long Tail“ Kollektive Macht der vielen kleinen Seiten

35 Web 2.0 umschrieben als Vergleiche
DoubleClick <-> AdSense Fazit von AdSense oder Overture: Kunden-Selbstbedienung und algorithmisches Datenmanagement zu Nutze machen, um jeden Winkel des Webs zu erreichen, nicht nur die schmale Spitze, sondern auch die breite Masse („the long tail“) Ähnlicher Ansatz bei eBay ... Vermittlung kleiner Beträge/Transaktionen zwischen vielen einzelnen Benutzern ... Oder bei Napster (u.ä.) Keine zentrale Musikdatenbank, sondern System, das jeden Client zum Server macht, mit dem Effekt, dass das Netzwerk ständig wuchs

36 Einsatz und Integration von kollektiver Intelligenz
Zentrales Prinzip hinter dem Erfolg der Giganten aus der ersten Web Zeit ist jenes, die kollektive Intelligenz zu nutzen Hyperlinks bilden die Grundlage des Webs (Synapsen, Assoziationen lassen das Netz wachsen) Yahoo (oder andere Suchmaschinen) begannen als Kataloge, hatten die Rolle eines Portals zu den gesammelten Werken der Internet-Gemeinde Google erkannte die Bedeutung der Linkstruktur als Maß der Wertigkeit von Websuchergebnissen (PageRank) eBays Produkt ist die gemeinschaftliche Aktivität aller Beteiligten Amazon nutzt und fördert das Engagement seiner Nutzer, bietet Möglichkeit der Teilnahme (Bewertungen) auf allen Seiten an und produziert aus der Useraktivität bessere Suchresultate (beliebteste Produkte)

37 Einsatz und Integration von kollektiver Intelligenz
Inzwischen nutzen neue Firmen diese Erkenntnisse Wikipedia als online-Enzyklopädie stellt ein radikales Experiment mit Vertrauen dar Jeder Eintrag kann von jedem Internet-User verändert werden Del.icio.us oder Flickr setzen ein Konzept ein, das „Folksonomy“ im Gegensatz zu Taxonomy genannt wird Kollaboratives Kategorisieren, Tagging Erlaubt vielseitige, überlappende Assoziierung Sehr viele Bestandteile der Internet-Infratruktur (LAMP) basieren auf Produktionsmethodik von Open Source und sind somit selbst Ausprägungen von durch das Netz ermöglichter kollektiver Intelligenz

38 Einsatz und Integration von kollektiver Intelligenz
Bloggen und die Weisheit des Volkes Persönliche Homepages in der Form von Tagebüchern und Verlinkung mittels RSS RSS erlaubt, datenbank-basierte Seiten nicht nur zu verlinken, sondern sie zu abonnieren und bei jeder Veränderung informiert zu werden Webbrowser sind damit auch nicht mehr die einzigen Werkzeuge, um Webseites oder Blogs anzuzeigen (-> Desktop-Clients, Mobiles) Links, RSS und Permalinks ermöglichten Verweise auf spezielle Einträge, Brücken zwischen den Weblogs, Diskussionen, soziale Bindungen entstanden oder wurden gefestigt Blogosphäre erlaubt nicht nur gegenseitiges Verlinken, sondern auch mittels „Trackback“ eine Einsicht darauf, wer die Seiten mit wem verlinkt hat und mit welchen Kommentaren angereichert hat Zwei-Wege-Links nach dem Vorbild der früheren Hypertextsysteme

39 Einsatz und Integration von kollektiver Intelligenz
Bloggen und die Weisheit des Volkes Die gegenseitige Verlinkung zeigt die Aufmerksamkeit der Blogospäre an Die „Weisheit der Masse“ dient ähnlich dem PageRank bei Google der Bewertung. Die kollektive Aufmerksamkeit markiert den Wert der Beiträge Nicht ein paar wenige Leute im Hintergrund entscheiden, was wichtig ist und was nicht

40 Daten als zentrales Gut
Datenbankmanagement als Kernkompetenz Jede bedeutende Internet-Anwendung besitzt eine spezialisierte Datenbank Google (web crawl), Yahoo (directory), Amazon (products & comments), ebay (products and sellers), MapQuest (maps), Napster (MusikDB), etc. Applikationen eher „Infoware“ als Software Besitzer der Daten sind die wahren Mächtigen Firmen wie NavTeq haben enorme Investitionen getätigt Applikationen lassen sich nachbauen (MapQuest zuerst, Yahoo, Microsoft, Google haben dann dieselben Daten lizensiert) MapQuest hat etwa veransäumt, Kartenmaterial mit Kommentaren der Benutzer zu erweitern. Das hätte den Markteintritt für Konkurrenten, die nur das Basismaterial lizensieren können, erheblich erschwert

41 Daten als zentrales Gut
Neue Services durch MashUps Verknüpfung von am Internet verfügbaren Datenquellen Z.B. housingmaps.com verknüpft google maps mit dem Immobilienmarkt von Craigslist  Mashup Mashup zur Zeit noch innovative Experimente von Programmierern (Hackern ), bald werden unternehmerische Aktivitäten folgen Rennen um wichtige Daten hat begonnen Persönliche, terminliche, produktspezifische Kritische Masse an Nutzeraggregation und die dabei gesammelten Daten können wieder selbst zum Dienst werden und Web 2.0 Unternehmen zum Erfolg führen Datenbesitzer werden Inhalte hüten, was zu proprietären Datenbanken führt  im Gegensatz dazu wird es analog zur Open Source wohl auch offene Daten(mengen) geben

42 Das Ende des Software-Lebenszyklus
Software wird als Service, nicht als Produkt ausgeliefert Betriebsabläufe werden zur Kernkompetenz Pflege, Wartung, Konsistenz der Daten äußerst wichtig Google‘s Systemadministration, Netzwerk- und Load-Balancing-Techniken sind besser gehütete Geheimnisse als die Suchalgorithmen. Die Automatisierung dieser Prozesse ist das Schlüsselelement im Kostenvorteil gegenüber der Konkurrenz Perl,PHP,Ruby als dynamische Sprachen sind die Werkzeuge der Wahl für SysAdmins und für Anwendungsentwickler (vormals als „Scriptsprachen“ von Software-Ingenieuren der vorhergehenden Zeitspanne belächelt) Nutzereinbindung führt zu monatlichen, wöchentlichen oder täglichen Updates Feedbacks entscheidet, was „ankommt“. Ewige „Beta“-Stadien, hohe Dynamik

43 Das Leightweight Programming Model
Software auf Basis komplexer APIs ist gegenüber einfachen Schnittstellen im Nachteil Amazon‘s SOAP Interface wird nur von wenigen genutzt, 95% greifen auf REST (Representational State Transfer) zu Wunsch nach Simplizität auch bei „organischen“ Web Services Ajax Schnittstelle von Google Maps war schnell „entschlüsselt“, zur Erstellung neuartiger Services bereits viel verwendet Immer mehr Kartenmaterial wird über solche einfachen Schnittstellen verbreitet

44 Das Leightweight Programming Model
LPMs erlauben lose gekoppelte Systeme große traditionelle Unternehmen haben Dienste, die auf enge Kopplung ausgelegt sind Web 2.0 baut auf offenere, simple Schnittstellen und rasche Ergebnisse auf Kooperation ohne Koordination Gestaltungen zur „Hackability“ und „Remixability“ RSS und AJAX etwa lassen sich leicht „entschlüsseln“ und daher in neue Systeme integrieren Die erfolgreichsten Web Services sind die, die sich leicht in Richtungen weiterentwickeln lassen, an die der ursprüngliche Erfinder gar nicht gedacht hat Innovation durch Zusammenbau: Web 2.0 als Grundlage für künftige Business Models

45 Software über Device-Grenzen hinweg
Das Web an sich beteiligt zumindest schon zwei Geräte (Browser, Server) Viele Anwendungen nun auch für andere Devices Mobiles, Music Players, etc. Viele Anwendungen integrieren transparent ein Netzwerk an Servern CDNs, iTunes Künftige Devices bzw. deren Verknüpfung ermöglicht noch vieles mehr Telefone und Autos werden nicht nur Daten konsumieren, sondern auch bereitstellen (Verkehrsanzeigen, flash mobs)

46 Rich User Experiences Applets als Initiator
Bei Java 1995 stand das applet im Mittelpunkt, der „Rest“ wurde rundherum gebaut Javascript und DynamicHTML wurden als leichtgewichtigere Varianten der besseren Benutzerführung hinzugefügt Macromedia Flashes wurden neben den Multimedia-Inhalten mit interaktiver GUI-Anwendungsoberfläche ausgestattet, um eben eine bessere Rich User Experience (RUE) zu ermöglichen

47 Rich User Experiences AJAX als Web 2.0 Vertreter der RUE
Seit Gmail und Google Maps immer stärker verbreitet Ajax besteht aus Standardgerechter Präsentation mit XHTML und CSS Dynamischer Anzeige und Interaktivität basierend auf DOM Datenaustausch mittels XML Asynchrone Datenabfrage unter Verwendung des XMLHttpRequest Javascript, das die Dynamik in die Webseite integriert Ajax erlaubt die Entwicklung von Web-Software, die die Mächtigkeit von lokaler, PC-basierter Software nachstellt

48 Rich User Experiences Komponenten von AJAX nicht neu
Aber solange Kampf zwischen Microsoft und Netscape tobte, konnten keine einheitlichen Standards gefunden werden Erst als Microsoft siegte, spielten die Komponenten gut zusammen Jüngster Konkurrenzkampf (Firefox, Opera) hat diese Nachteile nicht mehr Künftig neue Webentwicklungen Moderne webbasierte Software mit RUE Auch Re-Implementierungen von Desktop Programmen Jeder Plattformwechsel bringt auch potentiellen Führungswechsel bei den Big Players

49 Rich User Experiences Was spielt die Zukunftsmusik?
Web 2.0 Programme bieten Desktop-features, Desktop Programme bieten Web-Integration (Konvergenz) Adressbücher von Telefon wird nur noch lokaler Zwischenspeicher sein, der ein massives Webservice im Hintergrund hat Textverarbeitungen werden á la Wiki kollaboratives Schreiben unterstützen Chance für neue Markteisteiger liegt darin, das gesamte Potential von Web 2.0 auszuschöpfen Von Benutzern lernen Benutzeroberfläche verbessern Wert von gemeinschaftlich erzeugten Inhalten nutzen

50 Zusammenfassung Kernkompetenzen Web 2.0
7 Prinzipien bzw. Kernkompetenzen von Unternehmen im Web 2.0 Services, keine Softwarepakete Kontrolle über einzigartige, schwer nachzubildende Datenquellen (Wert steigt mit Nutzungshäufigkeit) Vertrauen in Anwender als Mitentwickler Nutzung kollektiver Intelligenz Erreichen des „Long Tail“ mittels Community-Bildung Erstellung von Software über Gerätegrenzen hinweg Leichtgewichtige Interfaces, Entwicklungs- und Geschäftsmodelle Anwendung mehrerer oder hochqualitative Nutzung eines speziellen Prinzips kann Web 2.0-Unternehmen überaus erfolgreich machen

51 Web Service Engineering
Technischer Einsatz von Web 2.0: Was ist AJAX ?

52 AJAX Asynchronous Javascript and XML
AJAX ist eine der eingesetzten Technologien, die zur Zeit unter Web 2.0 besonders zum Tragen kommen, neben Abonnementdienste RSS/Atom (Austausch zwischen Websites) Weblogs, soziale Netzwerke, Webservices Techniken, die Web-Anwendungen wie klassiche Desktopanwendungen erscheinen lassen (ajax) Und es erfüllt die Anforderungen an Web 2.0 Anwendungen Realisierung von netzbasierten Anwendung, browsergesteuert Dynamisch, von Usern gesteuert und administrierbar Personalisierte, interaktive Oberflächen Editierung, Kommentierung, Gefühl der Zusammengehörigkeit (Community)

53 AJAX AJAX ist keine neue Programmiersprache, sondern eine aktuelle Technologie, die es ermöglicht, bessere, schnellere und interaktivere Web Applikationen zu erstellen AJAX verwendet JavaScript um Daten zwischen Browser und Server auszutauschen. Die AJAX Technologie macht Web Seiten interaktiver indem Daten hinter den Kulissen ausgetauscht werden anstatt sie wie bisher durch komplettes Neuladen der aktuellen Arbeitsfläche des Browsers zu generieren, wann immer der Benutzer einen Link aktiviert hat. Aus technischer Sicht nichts Neues Kombination von bereits Ende der 90er entwickelten Technologien Jetzt durch Verbreitung des Webs eben großflächiger verfügbar

54 AJAX AJAX ist eine Browser-Technologie
Das bedeutet, dass AJAX vollständig im Software-Prozess der Client-Komponente (Browser) einer Internet-Applikation abläuft. Es verwendet asynchronen Datentransfer mittels HTTP Requests, sodass aus einzelnen Webseiten beliebige Teilbereiche erneuert oder ausgetauscht werden können ohne die ganze Seite neu zu laden. Das macht Internet Applikationen kleiner, schneller und besonders benutzerfreundlich AJAX als Browser-Technologie ist vollkommen unabhängig von der Serversoftware AJAX basiert auf offenen Standards, wie Javascript, XML, HTML und CSS Alle eingesetzten Komponenten sind ausdefiniert und von den führenden Browserherstellern durchgehend unterstützt. (Cross-Platform, Cross-Browser technology)

55 AJAX AJAX möchte bessere Internet Applikationen ermöglichen
Web Anwendungen haben viele Vorteile gegenüber Desktop Applikationen Sie erreichen eine weitaus größeres Zielpublikum Sie können leicht installiert und zentral gewartet werden Sie können ebenso einfach gewartet werden Trotzdem gibt es Nachteile Internet Applikationen, so wie wir sie bis jetzt kennen, bieten sehr eingeschränkte Interaktivität und wenig Benutzerfreundlichkeit (Design, Features, Plattformintegration, etc.) AJAX soll die Vorteile beider Welten vereinen

56 AJAX AJAX verwendet XML And HTTP Requests
Eine traditionelle Web Applikation sendet Parameter (etwa per HTML Formular) an einen Web Server. Dieser antwortet mit einer komplett neu erstellten Seite Dieser komplette Austausch „zerstört“ die Arbeitsoberfläche und stellt ein großes Hindernis für die Benutzerfreundlichkeit dar Mit AJAX werden nur Teile im „Hintergrund“ ausgetauscht, das Erlebnis ist jenem einer lokalen Desktopanwendung wesentlich ähnlicher. XML wird als Standardformat zum Empfang der Serverinhalte verwendet, obwohl alle textorientierten Formate möglich sind (was wir in den einfachen Beispielen auch bearbeiten werden).

57 AJAX - Beispiele Erstes Beispiel
Stellen Sie sich vor, sie müssen der Software zur Auswahl von relevanten Prozesschritten Eingaben übermitteln (etwa Monatsnamen für Datumseingaben)

58 AJAX - Beispiele Wie funktioniert das? Wesentliche Komponenten
Mittels Javascript wird die Interaktion am Browser gesteuert Mittels XmlHttpRequest wird asynchron ein Server aufgerufen Mittels XML Feldauslese und DOM Felderkennung wird der Zielbereich befüllt Wesentliche Komponenten Das HTML Formular Der Javascript Code für die Interaktion („onClick“, „onChange“,...) Das XMLHttpRequest Objekt Der Server-Code

59 AJAX - Beispiele Gute Beschreibungen in Englisch auch auf Beispiel Textersetzung HTML Formular, Javascript, Callbacks, etc. Beispiel auf W3Schools gemeinsam üben und diskutieren Datenbankanbindung mit AJAX Mittels XMLHttpRequest können beliebige textorientierte Daten vom Webserver übertragen und eingebaut werden. Interessant wird es, wenn asynchron auf komplette Datenbankinhalte zugegriffen werden kann (wieder w3schools)

60 AJAX - Beispiele Eigene Datenbankanbindung, um auf Dokumente einer Datenbank zuzugreifen Per Pull-Down Liste können Titel von Dokumenten ausgewählt werden und asynchron werden entsprechend Dokumentdetails vom Server in Tabellenzellen übernommen Textorientierte Ergebnisse (also auch HTML-Tabellen) können einfach integriert werden Serverseitige Programme diskutieren (w3s-serverDB.mc)

61 Web 2.0 AJAX-Prozessablauf HTML Formular
Javascript Funktionen/Prozeduren XMLHttpRequest-Aufruf Serverseitige Inhaltsgenerierung CallBack-Funktion in Javascript DOM-Einbindung des Ergebnisses Anzeige der asynchron erhaltenen Inhalte im Formular bzw. der Webseite

62 Web Service Engineering
Praktischer Einsatz von Web 2.0

63 Web 2.0 in der Praxis Praxisübung: Im Rahmen eines eintägigen Projektes soll eine Aufgabe aus dem Bereich Web 2.0 erarbeitet werden 7 Prinzipien von Anwendungen im Web 2.0 beachten Services, keine Softwarepakete Eigene Datenquelle, Kontrolle über einzigartige, schwer nachzubildende Daten (Wert steigt mit Nutzungshäufigkeit) Vertrauen in Anwender als Mitentwickler (User = Autor) Nutzung kollektiver Intelligenz Erreichen des „Long Tail“ mittels Community-Bildung Erstellung von Software über Gerätegrenzen hinweg Leichtgewichtige Interfaces, Entwicklungs- und Geschäftsmodelle

64 Web 2.0 in der Praxis Ziel: Realisierung eines modernen Web Content Management Systems mit Werkzeugen des Web 2.0 HTML Coding Datenbankmanagement Templating Serverseitiges Programmieren Benutzerfreundliche Features (WYSIWYG) AJAX zur Dokumentstrukturierung und Visualisierung Einsatz von Werkzeugen aus den letzten 6 Blöcken Mysql, XML, CGI, Mason, Javascript, AJAX

65 Projekt-Spezifikation
Projekt SimpleCMS Auf Basis einer einfachen Datenbanktabelle sollen Dokument-ID, Inhalt, Titel und Erstellungdatum erfasst werden können. Mittels eines WYSIWIG Editors hat der Content Manager die Freiheit, Texte mit Bildern und Hyperlinks zu kombinieren. Seiten sollen angelegt, gespeichert und gelöscht werden können, eine Preview-Semantik erlaubt einen Blick auf das soeben Erstellte. Mittels hierarchischer Strukturierung über die Ids ist ein Dokumentenbaum zu erstellen und als Menu zu visualisieren. Letztlich soll ein Template für eine individuelle Gestaltung der Site sorgen. (Zeitrahmen: dieser Block)

66 Web 2.0 Prinzipien in der Anwendung
Modulare Anwendungen Perl/Mason im Einsatz Komponenten, die Interface erzeugen, Serverseitige Scripts aufbauen und die AJAX-Komponenten ausliefern Basis der Projektangabe: Bearbeitungskomponente Menukomponente Templatekomponente Datenbankanbindung AJAX-Content Management

67 Statische Mason-Komponente
Mason Handling Statische Mason-Komponente Hello World <%init> my $text = “dieser Text wird nie angezeigt“; </%init>

68 Argumente in Mason-Komponenten
Mason Handling Argumente in Mason-Komponenten Hello World, this page is for users that are at least <% $age %> years old. <%args> $name => undef $age => 18 </%args> <%init> my $text = “test“; </%init>

69 Template hierarchie: autohandler
Mason Handling Template hierarchie: autohandler <html> <head><title><% $mytitle %></title> <body> <& $m->call_next() &> </body> </html> <%init> my $self = $m->request_comp; my $mytitle = $self->attr(“title“); </%init>

70 Template hierarchie: autohandler
Mason Handling Template hierarchie: autohandler <html> <head><title><% $mytitle %></title> <body> % $m->call_next() </body> </html> <%init> my $self = $m->request_comp; My $mytitle = $self->call_method(“title“,%ARGS); </%init>

71 Component attributes and methods
Mason Handling Component attributes and methods Hello World <%attr> title => “Hello World Title“ </%attr> <%method title> <%args> </%args> <%init> return “Hello World Title“; </%init> </%method>

72 Persistent Database connetion
Mason Handling Persistent Database connetion Hello World <% $dbresults %> <%init> my $dbresults = ““; $dbx{´test´}->select({fields=>´name,...´,...}); While (my $tmp = $dbx{´test´}->fetchrow_hashref()) { $dbresults .= $tmp->{´name´}; } </%init> Mehr dazu bei der Angabe, bei DBIx::Abstract und

73 AJAX AJAX and Mason Komplexere Aufgaben und Beispiele...
HTML::Prototype ... Einige Beispiele auf maztravel.com/ajax/ Ajax component unter prototype.conio.net und auch particletree.com/features/quick-guide-to-prototype/


Herunterladen ppt "Web Service Engineering: XML und Anwendungen"

Ähnliche Präsentationen


Google-Anzeigen