Ix 12 2011_reicher_werden_kaintantzis
 

Like this? Share it with your network

Share

Ix 12 2011_reicher_werden_kaintantzis

on

  • 1,262 views

Der Begriff Rich Internet Application – kurz RIA – ist zwar gängig, aber nicht konkret definiert. Wer eine RIA entwickeln will, sollte genau wissen, was sie von Thin und Rich Clients ...

Der Begriff Rich Internet Application – kurz RIA – ist zwar gängig, aber nicht konkret definiert. Wer eine RIA entwickeln will, sollte genau wissen, was sie von Thin und Rich Clients unterscheidet. Und vor allem: welche neuen Funktionen HTML5 für diese Aufgabe mitbringt.

Statistics

Views

Total Views
1,262
Views on SlideShare
1,204
Embed Views
58

Actions

Likes
1
Downloads
6
Comments
0

2 Embeds 58

http://www.bedienhilfe.ch 32
http://blog.bedienhilfe.ch 26

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ix 12 2011_reicher_werden_kaintantzis Document Transcript

  • 1. REPORT Web-ClientsWie HTML5 Rich Internet Applications verändert stützt eine lokal installierte Applikation den Benutzer am besten. Im zweiten Fall will der Benutzer schnell informiert werden. Er selbst gibt Informationen – wenn überhaupt – nur in Form längeren, unformatierten Textes in ein einziges Feld respektive wenige Felder ein. Das sind typischer- weise Webapplikationen wie Nachrich- tenportale, Blogs und Foren. Neben der Konzentration auf die Be- nutzer gibt es betriebliche Aspekte und Projektrahmenbedingungen, die rele- vant sind. Dazu gehören Anforderungen wie das Umgehen mit unterschiedli- chen Versionen einer Applikation oder dass Applikationen auf jedem Firmen- PC vorhanden respektive von jedem Firmen-PC aus erreichbar sein müssen. Ein häufig verlangter Aspekt ist Off- line-Fähigkeit. Beispielsweise soll ein Außendienstmitarbeiter beim Kunden vor Ort eine Offerte ohne Netzverbin-Reicher werden dung erstellen. Wenn er zurückkommt und der Laptop am Netz ist, soll die Ap- plikation beginnen, Daten zu synchroni- sieren. Ein anderes Beispiel: Benutzer sollen E-Mails offline schreiben können,Nikolaos Kaintantzis die automatisch abgeschickt werden, wenn das Netz wieder verfügbar ist. Will man schnell viele Personen er- reichen, dient dazu häufig eine Appli-Der Begriff Rich Internet Application – kurz RIA – ist zwar kation, die man nicht installieren muss. Der Anwender soll nicht warten müs-gängig, aber nicht konkret definiert. Wer eine RIA entwickeln sen, bis die Applikation benutzbar ist.will, sollte genau wissen, was sie von Thin und Rich Clients So soll er etwa die News einer Zeitung schnell lesen können, ohne zuvor einunterscheidet. Und vor allem: welche neuen Funktionen Plug-in zu installieren oder ein Pro-HTML5 für diese Aufgabe mitbringt. gramm zu aktualisieren. Keine Installa- tion bedeutet zudem, dass man keine Infrastruktur für ein effizientes undR ich Internet Applications (RIAs) sol- len vor allem eins gewährleisten: ei-ne den Desktop-Clients vergleichbare mitteln, was er selbst unter einer RIA versteht (siehe Quiz-Kasten). Im Fokus erfolgreicher Applikationen schnelles Rollout benötigt und so die Vertriebsinfrastruktur einsparen kann. In diesem Umfeld von Forderungen,komfortable Bedienbarkeit im Browser. stehen der Benutzer und seine Aufga- Rahmenbedingungen und Benutzer-Google hat mit gut aussehenden und ben. Nur wenn man sich auf dessen In- ansprüchen ist es wichtig, die unter-leicht zu bedienenden Anwendungen teraktionsverhalten konzentriert, kann schiedlichen Client-Kategorien Thin,vorgemacht, wie RIAs sich präsentieren man seine Erwartungen erfüllen oder RIA und Rich auseinanderzuhalten.können. Die neue „Richness“ im Inter- sogar übertreffen. Dabei können An- Nur so kann man die richtige Katego-net ist allgegenwärtig. Moderne Web- forderungen an die Benutzerinterak- rie und schließlich die richtige TechnikClients für E-Mail, Wegbeschreibungen tion so unterschiedlich formuliert sein für eine Aufgabe wählen.oder Suchfunktionen für Adressen ha- wie „Ständige Datenerfassung und In-ben aber bei den Anwendern auch neue teraktion“ und „Daten lesen“.Erwartungen bezüglich Interaktivität Im ersten Fall ist das Eingeben von RIA ist nicht gleich RIAund Leistungsfähigkeit geweckt, die sie Daten eine der Hauptaufgaben desvon Desktop-Applikationen her kennen Anwenders, beispielsweise bei einer Das RIA-Konzept befindet sich im– eine Herausforderung für die Ent- Schadenserfassungssoftware von Ver- Spektrum zwischen klassischen seiten-wickler neuer Applikationen. Daher sicherungsmitarbeitern oder bei Ent- basierten Webseiten (Thin Clients)lohnt es sich, die Konzepte und die Po- wicklungsumgebungen. Die Applikation und Stand-alone-Applikationen (Richsitionierung von RIAs, Thin und Rich soll schnell sein und kurze Antwortzei- Clients) (siehe Abbildungˇ1). Zu Erste-Clients zu beleuchten und im Kontext ten gewährleisten. Hilfreich dabei sind ren gehören etwa die Internetseiten vonvon HTML5 eine aktuelle Auslegeord- die Navigation mit der Tastatur und das Zeitungen, während man zu den Stand-nung vorzunehmen. Wer will, kann an Verwenden von Tastenkürzeln für häu- alone-Applikationen Pakete wie MSdieser Stelle in einem kleinen Quiz er- fige Aufgaben. In diesem Fall unter- Office, Photoshop oder Entwicklungs-86 iX 12/2011 © Copyright by Heise Zeitschriften Verlag
  • 2. Quiz: Was ist eine RIA? Der Begriff RIA ist allgegenwärtig, doch (1) Stimme ich voll zu. selten verstehen zwei Personen dasselbe (2) Stimme ich nicht zu. darunter. Zwei Fragen sollen ermitteln, Frageˇ2:ˇRIAs bieten dieselben Möglich- welches Verständnis ein Leser an dieser keiten und denselben Bedienkomfort wie Stelle des Artikels von RIA hat (bitte die lokal installierte Applikationen. Punkte in Klammern addieren). (10) Stimme ich voll zu. Frageˇ1:ˇRIAs vereinfachen die Verteilung (20) Stimme ich nicht zu. der Applikation, weil der Anwender (au- ßer dem Browser) nichts installieren muss, Die Auswertung des Quiz erfolgt am Ende um mit ihr zu arbeiten. des Artikels. Web Web Ultra Thin, Thin nichts installieren RIA mit Ajax JavaScript oder ActiveX im Browser aktivieren RIA mit Plug-ins Plug-in im Browser einmalig installieren RIA ohne Browser Framework/Plattform einmalig installieren Fat, Rich, Smart Applikation lokal installierenStand-alone Stand-aloneAus Sicht der Informatik gibt es Für den Anwender ist wichtig, was erunterschiedliche RIA-Typen (Abb.ˇ1). installieren muss (Abb.ˇ2).werkzeuge wie Eclipse rechnet. Aus e on um entechnischer Sicht lassen sich RIAs in ati sbŠ op eit vig Dr on ms nadrei Kategorien einteilen: ati & hir e tur log vig ag dsc s ta–ˇRIA mit Ajax, also auf Basis von Ja- Dia Dr Na Bil TavaScript wie map.search.ch oder Goo-gle Mail, einfach Benutzerinteraktion komplex/hoch–ˇRIA mit Plug-in, zum Beispiel derRoutenplaner Map24.com, der auf Java- Der Grad der BenutzerinteraktionApplets basiert, oder Photoshop Light/ in einer Applikation reicht von einfachExpress (Flash-Client), bis komplex (Abb.ˇ3).–ˇRIA ohne Browser kann man tech-nisch als Spezialfall von „RIA mit Plug- So weit die technische Sicht. Die An-in“ verstehen. Der Anwender schaut sich wendersicht verdeutlicht Abbildungˇ2.die Applikation im Browser mit einem Je näher eine Client-Kategorie in denPlug-in an, und wenn sie ihm gefällt, Bereich „Stand-alone“ vordringt, destokann er sie auf den Desktop ziehen mehr Vorarbeit muss der Anwenderoder herunterladen. Beispiele hierfür leisten, bis er eine konkrete Applikationsind Java Web Start und Adobe AIR. benutzen kann. Gegebenenfalls ist er HTML5 gehört technisch zu „RIA nicht in der Lage, diese Vorarbeiten aus-mit Ajax“. Im Wesentlichen erweitert zuführen, etwa weil er JavaScript ausund vereinfacht es die bisherige Version Gründen der Firmen-Policy gar nichtder Hypertext Markup Language. Hinzu aktivieren kann oder keine Administra-kommen viele neue JavaScript-Schnitt- torrechte für die Installation einer Ap-stellen sowie Neuerungen in CSS3. plikation auf seinem Rechner hat. x-TRACT ● Webapplikationen gibt es in diversen Ausprägungen – von der einfachen Webseite bis zur Rich Internet Application –, die sich für unterschiedliche Aufgaben eignen. ● Wichtige Kriterien bei der Wahl der richtigen Client-Technik sind unter anderem der Grad der Benutzerinteraktion und die durch die Projektrahmenbedingungen bestimmte Ausführungsumgebung. ● Während sich bisher einige Funktionen nur durch zusätzliche Bibliotheken oder Plug-ins realisieren ließen, können Entwickler sie jetzt nativ in Browsern nutzen, die HTML5 unterstützen.iX 12/2011 87 © Copyright by Heise Zeitschriften Verlag
  • 3. REPORT Web-Clients Bei der Entscheidungsfindung, wel- fach“ bis „komplex/hoch“ (siehe Ab- nem Ajax-Client zu arbeiten, ist oft che Client-Kategorie ein Entwickler bildungˇˇ3) einordnen zu können, sollte anstrengend. nutzen will, spielt auch der geforderte man verschiedene Fragen stellen: Sind Mit HTML5 lassen sich ebenfalls Grad an Interaktion mit dem User-In- Dialoge erforderlich, die beispielsweise Ajax-Applikationen realisieren. Abbil- terface eine wichtige Rolle. Hinsicht- einen Kunden einem Produkt zuordnen? dungˇ5 zeigt, dass ein damit realisierter lich der Dimension der Benutzerinter- Gehört das schnelle Arbeiten über Tas- Client standardisiert in tiefere Schich- aktion unterscheidet man zwischen tatur-Navigation zu den Anforderungen? ten vordringen kann, ermöglicht unter einer einfachen Navigation über Bild- Benötigt der Anwender Dragˇ&ˇDrop, anderem durch Local Storage, Indexed schirmseiten sowie interaktiven und um zum Beispiel einen Datensatz aus Database und File-API. Ein RIA-Ajax- komplexen Vorgängen. Um die Art der der Datenbank von einer Applikation Client kann mit HTML5 seine Daten Benutzerinteraktion im Spektrum „ein- zur anderen zu schieben? Jede mit „Ja“ selbst verwalten und benötigt hierfür beantwortete Frage erhöht die Reich- keinen Server. Das führt wie beim Rich haltigkeit der Interaktion und verlangt Client zu schnellen Reaktionszeiten.AusfŸhrungsumgebung Web Ultra Thin Thin RIA den Einsatz einer unterstützenden Tech- Muss der HTML5-Client aber mit dem (Ajax) nik. Nicht alle Client-Kategorien un- Server interagieren, weil er von dort terstützen die Interaktion gleicherma- Daten oder Logik bezieht, kann sich ßen. Abbildungˇ4 verdeutlicht dies im das wie bei Ajax ohne HTML5 negativ RIA (Plug-in) Kontext der Benutzerinteraktion und auf die Interaktivität auswirken. der Ausführungsumgebung. Abbildungˇ4 zeigt oben rechts und RIA (ohne Browser) unten links freie Flächen, die nicht von Der Anwender Client-Kategorien abgedeckt sind. Für RIAs mit Ajax gibt es technische Gren- Stand-alone Fat, Rich, Smart hat seine eigene Sicht zen, die noch nicht überwindbar sind. Dazu gehören unter anderem: einfach Benutzerinteraktion komplex/hoch Gemäß Abbildungˇ4 unterstützen so- –ˇDragˇ&ˇDrop zwischen Applika- wohl Rich Clients als auch RIAs ein tionen: Diese Funktion steht für Text Clients lassen sich in unterschiedliche hohes Maß an Interaktion mit der Be- und Bilder zwar zur Verfügung, aller- technische Kategorien einteilen nutzerschnittstelle. Die Unterschiede dings haben nicht die Applikationen die (Abb.ˇ4). werden deutlich, wenn man die Schich- Kontrolle darüber. Technisch gar nicht ten einer Applikation betrachtet (siehe machbar ist zurzeit das Verschieben Rich RIA (Ajax) Abbildung 5). von Business- oder Domain-Objekten Ein Rich Client deckt alle Schichten zwischen Programmen (zum Beispiel OberflŠchen- OberflŠchen- von der Datenhaltung bis zur Oberflä- das Kunden-Objekt von der Applika- darstellung darstellung chendarstellung ab. Der Server, falls er tionˇA in die Stammdatenhaltung). Client PrŠsentations- PrŠsentations- gebraucht wird, ist in der Regel nur für –ˇReaktionszeiten: Komplexere, inter- logik logik die gemeinsame Datenhaltung zustän- aktive Applikationen mit vielen Objek- Client dig – eventuell auch für einen Teil der ten können zu schlechten Reaktionszei- GeschŠfts- GeschŠfts- Geschäftslogik. Microsofts Word ist ten der Benutzerschnittstelle führen. Server HTML5-Client logik logik ein Bespiel für einen Rich Client, der –ˇAutomatische Hardware-Interak- keinen Server benötigt. Outlook hinge- tionen: Nicht möglich ist beispielswei- Server Daten Daten gen ist ein Rich Client mit Server, der se das automatische Inspizieren des In- für die Aufbewahrung der Mails zu- halts eines Memory-Sticks oder einer ständig ist. -Karte beim Anschluss. Ein RIA-Client mit Ajax konnte vor Deckt ein Client mehrere Schichten HTML5 nicht alle Schichten einer Web- anwendung abdecken (Abb.ˇ5). ab, kann die Kommunikation zwischen ihm und dem Server in tieferen Schich- Grenzen von um t e c h ten und weniger häufig erfolgen. Solch Technik und Aufwand ein Client hat ein schnelleres Antwort- AusfŸhrungsumgebung Web mš n . gli verhalten, bietet somit eine bessere Be- Somit bieten Ajax-Clients einen gerin- Ultra Thin Thin RIA ch (Ajax) nutzerunterstützung und erlaubt so ein geren Grad an Interaktionsmöglichkei- flüssigeres Arbeiten. ten als Rich Clients. Dies symbolisiert HTML5 RIA (Plug-in) Im RIA-(Ajax)-Fall ohne HTML5 das Dreieck rechts oben in Abbildungˇ6. kann der Client maximal die Schich- Die gestrichelte Line darunter symbo- ten bis zur Geschäftslogik abdecken. lisiert die Kosten-Nutzen-Grenze. Das RIA (ohne Browser) Gleichzeitig muss immer ein Server Entwickeln nah an dieser Grenze wird vorhanden sein. Er kann Aufgaben bis schnell teuer, weil Standards verlassen zur Präsentationslogik übernehmen. werden und Unterschiede in Browsern Stand-alone Fat, Rich, Smart Die daraus resultierende längere Ant- oder Plattformen nicht mehr durchs wortzeit beeinträchtigt unter Umstän- Framework gekapselt sind. Dies gilt es einfach Benutzerinteraktion komplex/hoch den die Interaktivität. Komplexere frühzeitig zu erkennen und durch die User-Interfaces reagieren meistens ei- Wahl einer passenderen Client-Kate- Sowohl der Technik als auch dem Auf- nen Tick zu langsam, sodass ein flüs- gorie zu vermeiden, in die „Pareto- wand sind bei RIAs Grenzen gesetzt siges Arbeiten nicht immer möglich Falle“ zu tappen. Diese 80/20-Regel (Abb.ˇ6). ist. Einen ganzen Tag intensiv mit ei- besagt, dass 80ˇProzent der Arbeit in nur 88 iX 12/2011 © Copyright by Heise Zeitschriften Verlag
  • 4. 20ˇProzent der Gesamtzeit erledigt wer-den, die verbleibenden 20ˇProzent alsodie meiste Arbeit verursachen. Was ist eine RIA? – HTML5 hat dazu beigetragen, die AuswertungAjax-Box zu vergrößern und somit dieGrenzen zu verschieben, unter anderem 21 un tech 11 AusfŸhrungsumgebung Web mš n .mit einer JavaScript-API für natives RIA gli Ultra Thin Thin chDragˇ&ˇDrop. So kann man etwa Datei- (Ajax)en aus dem Dateisystem in eine Web-applikation hineinziehen. Auch das RIA (Plug-in)Dragˇ&ˇDrop selbst definierter Typen 22 12ist möglich. Nichtsdestotrotz bleibt so- RIA (ohne Browser)wohl die technische als auch die Kos-ten-Nutzen-Grenze bestehen. Stand-alone Auch bei wenig interaktiven Stand- Fat, Rich, Smartalone-Clients stellt sich die Kosten-Nut-zen-Frage. Im Bereich unten links (Ab- einfach Benutzerinteraktion komplex/hochbildungˇ6) ist es oft effektiver, sich füreinen Web-Client zu entscheiden. Die Entwicklung mobiler Applikatio- Zeit zur Auflösung des Quiz: Die Sum- me zeigt, was der Quiz-Teilnehmer un-nen (Apps) ist ein Geschäftsfeld, in dem ter einer RIA versteht (Abb.ˇ7).Rich Clients für wenig interaktive Ar- Wer als Summe 21 hat, meint Ajax,beitsweisen erstellt werden. Die Opti- wenn er von RIA spricht und denkt anmierung von Webseiten für jedes Handy Techniken wie JSF, ASP und GWT.kann sich als ebenso umfangreich er- Beträgt die Summe 11, wurde die Mäch-weisen wie eine Applikation „nativ“ für tigkeit, die Plug-ins in die Interaktiondie Plattform – beispielsweise iPhone einbringen, mit der Einfachheit des De-oder Android – zu schreiben. Für die ployment von Ajax vermengt. Leidernative Stand-alone-Variante spricht zu- gibt es keine Technik, die dies vollstän-dem, dass die im Trend liegenden dig unterstützt – selbst HTML5 nicht. Bleibt nur die Hoffnung, dass der tech-App-Stores respektive Market-Places nische Fortschritt die Hürden eines Ta-es erleichtern, Applikationen zu fin- ges eliminiert. Bis dahin gilt es, auf ei-den. Der Benutzer weiß, dass eine Ap- ner der Achsen Abstriche zu machen.plikation aus dem Store zum Telefon Diejenigen, deren Summe 12 beträgt,passt. Bei einer Webseite kann er nicht ordnen RIAs komplett der Plug-in-Weltdavon ausgehen, dass sie für sein Tele- zu, also Techniken wie Flex, Silverlight,fon optimiert wurde. JavaFX und Applets. Wer jetzt sein eigenes Verständnis, Lautet die Ergebnis-Summe 22, ist daswas eine RIA ausmacht, mit dem ver- Verständnis von RIA nicht auf eine RIA-gleichen möchte, das er am Anfang die- Kategorie festgelegt.ses Artikels hatte, findet die Antwort inder Auswertung. wettbewerbsbedingt früh und möglichstKonkrete Veränderungen viel seiner Funktionen unterstützen. Konkret haben Neuerungen rund umdurch HTML5 HTML5 eine Annäherung von Ajax an „Stand-alone“-Clients gebracht, alsoDie Abbildungenˇ5 undˇ6 haben ge- die RIA(Ajax)-Box aus Abbildungˇ6zeigt, dass HTML5 neue Möglichkei- nach unten vergrößert. Dazu zählenten eröffnet. Obwohl die Spezifikation –ˇOffline-Möglichkeiten:ˇDurch dennoch nicht fertig ist, unterstützen mo- Application Cache in HTML5 kann derderne Browser Teile davon bereits jetzt. Autor einer Webseite respektive Appli-Jede neue Browser-Generation bietet kation bestimmen, welche Teile auchmehr Support für das aktuelle HTML5. offline verfügbar sein sollen. Diese Einige Funktionen, die HTML5 ins werden auf dem Gerät gespeichert undRampenlicht rückt, ließen sich bereits dann verwendet, wenn keine Online-früher mit JavaScript-Bibliotheken rea- verbindung vorhanden ist.lisieren. Jedoch musste der Entwickler –ˇLocal Storage und Indexed Data-für jedes Feature eine gesonderte Li- base:ˇWie erwähnt, wurde mit HTML5brary verwenden. Diese Bibliotheken der Local Storage eingeführt. Somitfunktionierten jedoch oft nur mit ein- kann nun ein RIA-Ajax-Client mit derzelnen Browsern in bestimmten Ver- Hypertext Markup Language bis zu ei-sionen. Der Vorteil von HTML5 als ner gewissen Menge seine Daten selbstStandard ist, dass die neuen Browser verwalten und benötigt hierfür keineniX 12/2011 89 © Copyright by Heise Zeitschriften Verlag
  • 5. REPORT Web-Clients um t e c h darauf reagieren und die eingeblendete alle Sensoren eines Mobiltelefons stan-AusfŸhrungsumgebung Web keine Installation mš n. gli Ultra Thin Ultr n Thin RIA ch Tastatur optimieren (bei Zahlen nur Zah- dardisiert ansprechen. Applikation(Ajax) aktuell len, bei E-Mail das @-Zeichen an einer Laut Gartner Hype Cycle [b] wecken stŠndige Datenerfassung schnell auffindbaren Stelle und so wei- neue Techniken zuerst eine übertriebene stŠndige Interaktion an jedem PC verfŸgbar ter). Darüber hinaus gibt es neue Typen Erwartungshaltung, gefolgt von Desillu- (Pllug-in) RIA (Plug-in) Daten lesen für Datum, Zeit und Farben. Somit ist sionierung (Tal der Tränen). Die Tech- es für den Benutzer einfacher, Daten nik gewinnt wieder an Boden, wenn lokale Dienste (ohne Browser) RIA Brow wser) einzugeben beziehungsweise auszu- Realismus die Oberhand gewinnt, oder wählen. Prinzipiell ging das zwar schon sie verschwindet, weil sie doch keine hohe Rechenleistung vor HTML5, aber der Webentwickler wirkliche Innovation darstellt oder ihre Stand-alone h art Rich Sma Fat, Rich, Smart h, musste entweder eine komfortable Ein- Nachteile überwiegen. HTML5 wird offline benutzbar gabemöglichkeit selbst programmieren nicht im Tal der Tränen verbleiben, da einfach Benutzerinteraktion komplex/hoch oder auf eine Bibliothek zurückgreifen. das Verschieben der Grenzen neue Mög- Mit HTML5 erhält das Element in- lichkeiten eröffnet hat. Alle Kriterien für die Auswahl der put das Attribut Pattern. Diese Regular Weder Schichtenarchitektur noch richtigen Client-Technik auf einen Expression dient zur Validierung der aktuelle Trends sollten die Auswahl der Blick (Abb.ˇ8) Benutzereingabe. Client-Technik bestimmen. Organisato- Dragˇ&ˇDrop ist in HTML5 einge- rische und projektbedingte Rahmenbe- Server. Für größere Datenmenge gibt es baut und nun ohne Bibliotheken ver- dingungen bestimmen die vertikale und eine lokale Datenbank. wendbar. Der Entwickler kann auch ei- das Interaktionsverhalten die horizon- –ˇFile-API:ˇHTML5 hat eine mächtige gene Typen definieren. tale Achse der Matrix aus Abbildungˇ6. API zum Lesen und Schreiben von Da- Canvas und WebGL erlauben über Abbildungˇ8 zeigt entscheidende Rah- teien eingeführt. Unter anderem lassen Scripts ein einfaches Rendering von menbedingungen und Anwendungsfälle sich Daten auf einfache Weise asyn- Szenen, sodass man Teile der Benutzer- ohne Anspruch auf Vollständigkeit. chron hochladen oder in ein temporä- schnittstelle selbst professionell gestal- Treffen obige Rahmenbedingungen res Verzeichnis kopieren. ten kann. Die nötige Performance wird zu, sollte die Entscheidung Richtung –ˇGeolocation:ˇMit Geolocation kann über das Ansprechen der lokalen Gra- Web-Client gehen. Gelten die unteren ein Anwender die Position seines Mo- fikhardware erreicht. Anforderungen, ist eine Stand-alone- biltelefons (sofern verfügbar und er- Web-Sockets ermöglichen unter an- Applikation die richtige Wahl. Sollte der laubt) abfragen. Bei PCs handelt es derem die Kommunikation zwischen linke Anwendungsfall auf die Applika- sich dabei meist um die Position des Server und Client und zwar ohne auf- tion zutreffen, bietet sich ein einfacher Zugangspunktes des Internet-Providers. wendige Workarounds wie „Long Pol- Client an, und aufgrund der Kostengren- –ˇDevice Elements:ˇHTML5 erlaubt ling“ oder den Einsatz von Bibliotheken. ze wird es ein Thin Client sein. Die An- den Zugriff auf Hardware-Elemente des Gibt es auf dem Server ein Ereignis, wendungsfälle auf der rechten Seite Geräts wie Kamera oder GPS-Sensor. kann er das dem Client sofort mitteilen. verlangen eine Applikation mit hohem Allerdings sind nicht alle Sensoren stan- Reverse-Ajax respektive Server-Push ist Anteil von Benutzerinteraktion. Auf- dardisiert ansprechbar. Beispielsweise somit standardisiert und ohne Kniffe ge- grund der Machbarkeits- und Kosten- hat HTML5 keine Kompass-API. Die in löst. Über Web-Sockets lässt sich ähn- grenze wird man sich in dem Fall eher der Entwurfsphase befindliche Spezifi- lich kommunizieren wie über Sockets für einen Fat, Smart oder Rich Client kation „DeviceOrientation Event Speci- zwischen Rich Clients und Server. entscheiden oder allenfalls für eine RIA fication“ (siehe „Onlinequellen“ [a] und ohne Browser. iX-Link) wird es erlauben, herauszufin- den, wie das Mobiltelefon oder der PC HTML5 ist Allerdings gehören konkurrierende und widersprüchliche Anforderungen orientiert ist und welche Beschleuni- mehr als ein Hype und Rahmenbedingungen zum Projekt- gungskräfte darauf einwirken. alltag. So auch in diesem Fall. Zum –ˇWeb Messaging:ˇChannel Messaging HTML5 verschiebt also die Grenzen Beispiel kann der Anwendungsfall „stän- erlaubt die Kommunikation zwischen von RIAs mit Ajax. Somit lassen sich dige Datenerfassung“ zu den Anforde- Browsern. mit den hinter der Spezifikation stehen- rungen gehören und gleichzeitig „kei- Weitere Neuerungen verbessern zu- den Konzepten Aufgaben relativ ein- ne Installation“ von höheren Instanzen dem die Interaktion und vergrößern fach lösen, die vorher nicht oder nur im Unternehmen als Rahmenbedingung damit die RIA(-Ajax)-Box aus Abbil- mit Aufwand und unter Einbeziehung vorgegeben sein. „Keine Installation“ dungˇ6 nach rechts. proprietärer Software realisierbar wa- und „Offline-Fähigkeit“ werden eben- Das Einführen neuer Typen für das ren. Die Grenzen von RIAs mit Ajax falls häufig gleichzeitig gefordert. Element input etwa vereinfacht die Ein- kann HTML5 aber (noch) nicht beseiti- Drei Maßnahmen können solche gabe von Daten. Smartphones können gen. Beispielsweise lassen sich nicht Konflikte lösen: –ˇpriorisieren (respektive bei einzelnen Anforderungen Abstriche machen), Onlinequellen –ˇMehrkanalfähigkeit anstreben, also mehrere Clients entwickeln und [a] DeviceOrientation dev.w3.org/geo/api/spec-source-orientation –ˇhohen Aufwand investieren, um alle Event Specification Anforderungen in einem Client zu er- [b] Gartner Hype Cycle www.gartner.com/technology/research/methodologies/hype-cycle.jsp füllen. [c] Stopping the Gears gearsblog.blogspot.com/2011/03/stopping-gears.html Wie sich solche Konflikte lösen las- sen, zeigen im Folgenden drei Beispiele. 90 iX 12/2011 © Copyright by Heise Zeitschriften Verlag
  • 6. Eine sehr spezielle Anforderungskom- E-Mail ist hierfür ein weiteres Bei-bination ist „Daten lesen“ und „ständi- spiel. Nur einen Rich Client zu habenge Interaktion“. Wahrscheinlich stehen genügt nicht. Web-Clients sind Pflicht.hier zwei unterschiedliche Arten von Ein weiterer Widerspruch ist derBenutzertypen hinter den Anforderun- zwischen den häufig geäußerten Anfor-gen (siehe Flückiger und Richter zum derungen „keine Installation“ und „Off-Personas-Modell [1]). Beispielsweise line-Fähigkeit“. Das Bedürfnis nachSachbearbeiter (Eingabe) und Manager Offline-Fähigkeit wächst seit Jahren(Reports). An dieser Stelle ist die Über- immer mehr. So gab es früh Lösungs-legung angebracht, zwei Applikationen ansätze wie Googles Gears. Das Projektzu entwickeln. Eine für die Reports und wird aber nicht mehr weiterentwickelteine für die Erfassung. Die Konflikt- und soll Ende 2012 eingestellt wer-lösungsstrategie „mehrere Clients schrei- den [c]. Die Anstrengungen des Gears-ben“ ist hier aus Usability-Gründen am Teams sind in HTML5 eingeflossen.naheliegendsten. Will man den Widerspruch zwischen„keine Installation“ und „hohe Datener- Zusammenfassungfassung“ auflösen, sollte man priorisie-ren, also eine der Anforderungen ab- Komplexe, interaktive Web-Clients ha-schwächen oder fallen lassen. Gewinnt ben technische Grenzen. HTML5 ver-die hohe Datenerfassung, kann vielleicht schiebt diese Grenzen und hat somit daseine RIA-Technik, die näher an Web ist, Potenzial, sich über einen Hype hinausdie Installationsproblematik lösen. Ist zu etablieren. Als Voraussetzung für„keine Installation“ ein Killerkriterium, seinen breiten Einsatz müssen sich diemuss man besonderes Augenmerk auf HTML5-fähigen Browser etablieren.die Benutzerschnittstelle legen. Unzu- HTML wird jedoch auch dann Tech-friedene Anwender nutzen eine Applika- niken aus anderen Client-Kategoriention nicht – selbst dann nicht, wenn sie nicht verdrängen. Um die richtige Kate-nichts installieren müssen. Zudem sinkt gorie zu finden, muss man weiterhin diedie Motivation, und die Fehleranfällig- Anforderungen analysieren. Entschei-keit steigt, wenn Mitarbeiter schneller dend sind Rahmenbedingungen wiearbeiten könnten, als es die Applikation „keine Installation“ und „Offline-Fä-zulässt. higkeit“ sowie das Interaktionsverhal- Mehrere Clients sind – sofern es die ten des Anwenders, der „Daten lesen“Finanzen erlauben – ebenfalls eine gute und „ständige Datenerfassung“ betrei-Wahl. Was sich auf den ersten Blick ben soll. Ignoriert man die Anforderun-verschwenderisch anhört, kann sich als gen aus Rahmenbedingungen und Inter-Wettbewerbsvorteil herausstellen. Als aktionsverhalten der Benutzer zugunstenAnwendungsbeispiel sei die Fotobestel- einer bevorzugten Technik, muss manlung über das Internet genannt. Oft gibt mit höheren Entwicklungskosten oderes einen rudimentären Web-Client, über Akzeptanzproblemen rechnen.den Anwender Fotos hochladen und Mit HTML5 sind reichere RIAsbestellen können. Daneben steht häu- möglich geworden. Ist aber eine hohefig ein RIA-Client zur Verfügung, der Interaktion oder automatische Hard-Massen-Uploads und Bildmanipulatio- ware-Interaktion gefordert, sind Richnen erlaubt. Einige Anbieter haben da- Clients „reicher“. (ka)rüber hinaus einen Rich Client für dielokale Bildbearbeitung, mit dem der NIKOLAOS KAINTANTZISBenutzer ein Foto beispielsweise zu-schneiden und die roten Augen entfer- arbeitet als Softwarearchitekt beinen kann, ohne dass er den Server des Zühlke Engineering und leitet dort imLabors bemühen muss. Erst am Ende Competence Center Client Technologydieser Vorarbeiten werden die Bilder die Java--Gruppe.hochgeladen. Dies kann für einigeKunden angenehmer sein, als die Bil-der zuerst hochzuladen und dann zu Literaturbearbeiten. Die Foto-Labors wenden [1]ˇMarkus D. Flückiger, Michael Rich-sich mit ihren Clients an unterschiedli- ter; Usability Engineering kompakt:che Benutzergruppen: von Personen, Benutzbare Software gezielt ent-die nur schnell die Fotos hochladen wickeln; Spektrum Akademischerund bestellen wollen, bis zu Stamm- Verlag, 2007kunden, die eine lokale Applikationinstalliert haben, alles vorbereiten und Alle Links: www.ix.de/ix1112086 xerst danach alles hochladen.iX 12/2011 91 © Copyright by Heise Zeitschriften Verlag