zt univ.-lektor dipl.-ing. dr. markus schranz staatlich befugter und beeideter ingenieurkonsulent...
TRANSCRIPT
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service Engineering:Web Service Engineering:XML und AnwendungenXML und Anwendungen
Vortragsunterlagen zur Vortragsreihe MSc Multimedia und MSc NewMediaManagementan der Donauuniversität Krems
2ZT Schranz Informationstechnologie KEG
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
Rückblick IRückblick Innfoblock 1foblock 1
3ZT Schranz Informationstechnologie KEG
Internet Services– Definitionen, Protokolle, Einsatzbereiche
Das World Wide Web– Einsatzbereich– HTTP
Web Service Engineering– Umsetzung von komplexen Services– Service Management
Technisch Inhaltlich
Rückblick IRückblick Innfoblock foblock 22
4ZT Schranz Informationstechnologie KEG
Datenbanksysteme– 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
Rückblick IRückblick Innfoblockfoblock 33
5ZT Schranz Informationstechnologie KEG
Rückblick Infoblock 4Rü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
6ZT Schranz Informationstechnologie KEG
Rückblick Infoblock 5Rückblick Infoblock 5
Metadaten und XML Grammatik, Strukturen, Verwandtschaften Semantic Web
– Metadaten– SOAP, EU Projekt Nedine
XSL: Die XML Stylesheet Language– Einfache Beispiele
7ZT Schranz Informationstechnologie KEG
Rückblick Infoblock 6Rü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
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service EngineeringWeb Service Engineering
Web 2.0 Schwerpunkt AJAX
9ZT Schranz Informationstechnologie KEG
Web 2.0 - AgendaWeb 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)
10ZT Schranz Informationstechnologie KEG
Web 2.0Web 2.0
Was ist Web 2.0
Philosophie– 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)
11ZT Schranz Informationstechnologie KEG
Web 2.0Web 2.0
Schwerpunkt AJAX
- Aktuelle Unterlagen im Skriptum angegeben
- Umfassendes Übungsbeispiel im PC-Labor
http://212.186.223.204/duk/nmm/duk7-ws07-web2.pdf
http:// 212.186.223.204 /duk/nmm/duk7-ws07-web2.ppt
12ZT Schranz Informationstechnologie KEG
Was ist das Web 2.0 ?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?
13ZT Schranz Informationstechnologie KEG
Was ist das Web 2.0 ?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
14ZT Schranz Informationstechnologie KEG
Web 2.0 als Inbegriff eines NetzverständnissesWeb 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
15ZT Schranz Informationstechnologie KEG
Web 2.0 als Inbegriff eines NetzverständnissesWeb 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
16ZT Schranz Informationstechnologie KEG
Web 2.0 als Inbegriff eines NetzverständnissesWeb 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
17ZT Schranz Informationstechnologie KEG
Web 2.0 als Inbegriff eines NetzverständnissesWeb 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
18ZT Schranz Informationstechnologie KEG
Web 2.0 als Inbegriff eines NetzverständnissesWeb 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“
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service EngineeringWeb Service Engineering
Entstehungsgeschichte des Begriffes, Charakteristiken von Web 2.0
20ZT Schranz Informationstechnologie KEG
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
Der Begriff Web 2.0Der Begriff Web 2.0
21ZT Schranz Informationstechnologie KEG
Der Begriff Web 2.0Der Begriff Web 2.0
22ZT Schranz Informationstechnologie KEG
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
Schlüsselprinzipien zur CharakterisierungSchlüsselprinzipien zur Charakterisierung
23ZT Schranz Informationstechnologie KEG
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)
TechnologTechnologiien im Wen im Weeb 2.0b 2.0
24ZT Schranz Informationstechnologie KEG
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
WWeeb 2.0 und Semantic Webb 2.0 und Semantic Web
25ZT Schranz Informationstechnologie KEG
Kritik am Web 2.0Kritik 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.
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service EngineeringWeb Service Engineering
Web 2.0 genau inspiziert: Arbeitsstil, SW-Domäne oder Geschäftsmodell?
27ZT Schranz Informationstechnologie KEG
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
Web 2.0 als ArWeb 2.0 als Arbbeitsstil,SW-eitsstil,SW-Verständnis,Geschäftsmodell Verständnis,Geschäftsmodell
28ZT Schranz Informationstechnologie KEG
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...
Web 2.0 als ArWeb 2.0 als Arbbeitsstil,SW-eitsstil,SW-Verständnis,Geschäftsmodell Verständnis,Geschäftsmodell
29ZT Schranz Informationstechnologie KEG
VersVersuuch der Begriffseinschränkung Web 2.0 ch der Begriffseinschränkung Web 2.0
Web 1.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")
30ZT Schranz Informationstechnologie KEG
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:
Web 2.0 als KonzWeb 2.0 als Konzeept pt
31ZT Schranz Informationstechnologie KEG
Web 2.0 als KonzWeb 2.0 als Konzeept pt
32ZT Schranz Informationstechnologie KEG
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
Web 2.0 umsWeb 2.0 umscchrieben hrieben aals ls VVererggleiche leiche
33ZT Schranz Informationstechnologie KEG
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
Web 2.0 umsWeb 2.0 umscchrieben hrieben aals ls VVererggleiche leiche
34ZT Schranz Informationstechnologie KEG
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
Web 2.0 umsWeb 2.0 umscchrieben hrieben aals ls VVererggleiche leiche
35ZT Schranz Informationstechnologie KEG
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
Web 2.0 umsWeb 2.0 umscchrieben hrieben aals ls VVererggleiche leiche
36ZT Schranz Informationstechnologie KEG
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)
EinEinssatz und Integration atz und Integration vvon kollektiveron kollektiver Intelligenz Intelligenz
37ZT Schranz Informationstechnologie KEG
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
EinEinssatz und Integration atz und Integration vvon kollektiveron kollektiver Intelligenz Intelligenz
38ZT Schranz Informationstechnologie KEG
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
EinEinssatz und Integration atz und Integration vvon kollektiveron kollektiver Intelligenz Intelligenz
39ZT Schranz Informationstechnologie KEG
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
EinEinssatz und Integration atz und Integration vvon kollektiveron kollektiver Intelligenz Intelligenz
40ZT Schranz Informationstechnologie KEG
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
Daten Daten aals zentrales Gut ls zentrales Gut
41ZT Schranz Informationstechnologie KEG
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
Daten Daten aals zentrales Gut ls zentrales Gut
42ZT Schranz Informationstechnologie KEG
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
Das Ende des Software-Lebenszyklus Das Ende des Software-Lebenszyklus
43ZT Schranz Informationstechnologie KEG
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
Das Leightweight PDas Leightweight Prrogramming Model ogramming Model
44ZT Schranz Informationstechnologie KEG
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
Das Leightweight PDas Leightweight Prrogramming Model ogramming Model
45ZT Schranz Informationstechnologie KEG
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)
Software über DeviSoftware über Devicce-Grenzen hinweg e-Grenzen hinweg
46ZT Schranz Informationstechnologie KEG
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
Rich User ExperiRich User Experieences nces
47ZT Schranz Informationstechnologie KEG
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
Rich User ExperiRich User Experieences nces
48ZT Schranz Informationstechnologie KEG
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
Rich User ExperiRich User Experieences nces
49ZT Schranz Informationstechnologie KEG
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
Rich User ExperiRich User Experieences nces
50ZT Schranz Informationstechnologie KEG
Zusammenfassung Kernkompetenzen Web 2.0Zusammenfassung 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
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service EngineeringWeb Service Engineering
Technischer Einsatz von Web 2.0: Was ist AJAX ?
52ZT Schranz Informationstechnologie KEG
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)
AJAXAJAX
53ZT Schranz Informationstechnologie KEG
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
AJAXAJAX
54ZT Schranz Informationstechnologie KEG
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)
AJAXAJAX
55ZT Schranz Informationstechnologie KEG
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
AJAXAJAX
56ZT Schranz Informationstechnologie KEG
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).
AJAXAJAX
57ZT Schranz Informationstechnologie KEG
Erstes Beispiel
– Stellen Sie sich vor, sie müssen der Software zur Auswahl von relevanten
Prozesschritten Eingaben übermitteln (etwa Monatsnamen für Datumseingaben)
http://test.ztschranz.at/duk/nmm/duknames.mc
AJAX - BeispAJAX - Beispiieleele
58ZT Schranz Informationstechnologie KEG
Wie funktioniert das?
– 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
AJAX - BeispieleAJAX - Beispiele
59ZT Schranz Informationstechnologie KEG
Gute Beschreibungen in Englisch auch auf www.w3schools.com/ajax
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)
AJAX - BeispieleAJAX - Beispiele
60ZT Schranz Informationstechnologie KEG
Eigene Datenbankanbindung, um auf Dokumente einer Datenbank
zuzugreifen
– http://212.186.223.204/duk/nmm/w3sdb1.mc
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)
AJAX - BeispieleAJAX - Beispiele
61ZT Schranz Informationstechnologie KEG
Web 2.0Web 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
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für InformatikTechnischer Direktor pressetext.austria
Web Service EngineeringWeb Service Engineering
Praktischer Einsatz von Web 2.0
63ZT Schranz Informationstechnologie KEG
Web 2.0 in der PraxisWeb 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
64ZT Schranz Informationstechnologie KEG
Web 2.0 in der PraxisWeb 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
65ZT Schranz Informationstechnologie KEG
Projekt-SpezifikationProjekt-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, Textemit 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)
66ZT Schranz Informationstechnologie KEG
Web 2.0 Prinzipien in der AnwendungWeb 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: http://test.ztschranz.at/angabe/AngabeWAE.html
– Bearbeitungskomponente
– Menukomponente
– Templatekomponente
– Datenbankanbindung
– AJAX-Content Management
67ZT Schranz Informationstechnologie KEG
Hello World
<%init>my $text = “dieser Text wird nie angezeigt“;</%init>
Statische Mason-Komponente
Mason HandlingMason Handling
68ZT Schranz Informationstechnologie KEG
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>
Argumente in Mason-Komponenten
Mason HandlingMason Handling
69ZT Schranz Informationstechnologie KEG
<html><head><title><% $mytitle %></title><body><& $m->call_next() &></body></html><%init>my $self = $m->request_comp;my $mytitle = $self->attr(“title“);</%init>
Template hierarchie: autohandler
Mason HandlingMason Handling
70ZT Schranz Informationstechnologie KEG
<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>
Template hierarchie: autohandler
Mason HandlingMason Handling
71ZT Schranz Informationstechnologie KEG
Hello World<%attr>title => “Hello World Title“</%attr>
<%method title> <%args> </%args> <%init> return “Hello World Title“; </%init></%method>
Component attributes and methods
Mason HandlingMason Handling
72ZT Schranz Informationstechnologie KEG
Hello World<% $dbresults %><%init>my $dbresults = ““;$dbx{´test´}->select({fields=>´name,...´,...});While (my $tmp = $dbx{´test´}->fetchrow_hashref()) { push(@myresult,$tmp); $dbresults .= $tmp->{´name´};}</%init>
Mehr dazu bei der Angabe, bei DBIx::Abstract und www.masonhq.com
Persistent Database connetion
Mason HandlingMason Handling
73ZT Schranz Informationstechnologie KEG
AJAXAJAX
Komplexere Aufgaben und Beispiele...
AJAX and Mason
– HTML::Prototype ...
– Einige Beispiele auf maztravel.com/ajax/
– Ajax component unter www.masonhq.com/?Component.ajax
– prototype.conio.net und auch particletree.com/features/quick-guide-to-prototype/