PDF-Download

Transcrição

PDF-Download
BLICKPUNKTE
DAS MAGAZIN RUND UM IT-THEMEN
AJAX – WUNDERMITTEL FÜR WEB-
Man muss sich das einmal auf der Zunge zergehen lassen: Das "googeln" nach einem
GUIs?
der bekanntesten "Household Names" – AJAX – listet das Colgate-Palmolive Produkt
erst am Ende der zweiten Seite. Der Rest ist beherrscht durch die (neue?)
Programmiermethodik AJAX. Ein wahrer AJAX-Hype Tsunami schwappt über uns
hinweg. Was steckt also hinter "AJAX"?
AJAX – DIE GESCHICHTE
ÜBER DIE PENTASYS GMBH:
Unter dem Motto „Lösungen,
Innovationen und mehr …“ ist die
PENTASYS Gesellschaft für
Informationstechnologie mbH ein
führender Anbieter von IT Services in
den Bereichen
Anwendungsentwicklung,
Webapplikation und
Systeminfrastruktur, sowie Business und Technisches Consulting.
Mit Lösungen auf höchstem Niveau ist
Für den der es noch nicht weiß: AJAX steht für "Asynchronous JavaScript and XML".
Anfang 2005 hat ein gewisser Jesse James Garrett [1] dieses Akronym erfunden, weil er
es leid war, eine ganz konkrete Kombination von lange bekannten Web-Technologien
immer mit einem sehr langen Satz erklären zu müssen.
Damit ist auch schon gesagt, dass AJAX eigentlich nichts Neues ist. Warum also die
ganze Aufregung? Es ist der Hunger nach "Best Practices" und Frameworks, die das
Leben erleichtern sollen, der solche Hypes begünstigt.
Sichtbar wurde das AJAX Thema eigentlich als Teil der übergeordneten
Technologiewelle RIA. RIA steht für "Rich Internet Application" und ist der Sammelbegriff
für Technologien, die dazu geeignet sind, Web-Anwendungen so zu bauen, dass sie die
"Reichweite" normaler HTML-basierter Anwendungen haben, aber gleichzeitig die
"Reichhaltigkeit" von Windows/Office Anwendungen bieten.
PENTASYS seit 1995 Partner
zahlreicher namhafter Unternehmen
aus der Wirtschaft und Körperschaften
Über den Autor:
des öffentlichen Rechts.
Seit über 25 Jahren ist Dr. Friedrich Schanda in der IT Industrie
tätig. Ursprünglich Physiker, begann sein Leben in der IT als
Durch die Gründung der PENTASYS
Software-Entwickler bei einem Pionier im Bereich Software-
consulting GmbH
Engineering in München. Danach durchlief er die Stationen
(http://www.pentasys-
Support, Training, Beratung und Vertriebsunterstützung bei
consulting.de) hat die PENTASYS
diversen IT Herstellern. Bei der PENTASYS GmbH unterstützt er
GmbH ihre Angebotspalette spezifisch
den Vertrieb und die Kunden der PENTASYS in strategischen
abgerundet. Dem Anspruch, Kunden
Technologiethemen.
durch professionelle Leistungen einen
hohen Nutzen zu verschaffen, wird,
durch diesen Ausbau des umfassenden
Die RIA Technologie konnte man ganz grob in drei Hauptgruppen einteilen:
Netzwerks an kompetenten Partnern,
weiter Rechnung getragen.
 Pur Java (Fat Client, WebStart, Swing, etc.)
 Macromedia Flash basierend
Die PENTASYS GmbH hat ihren
Hauptsitz in München sowie eine
 AJAX
Niederlassung in Wiesbaden und
Jeder dieser drei Ansätze hat (wie immer) seine Vor- und Nachteile. Eine tiefer gehende
beschäftigt derzeit mehr als 100
Betrachtung alternativer Technologien findet sich bei White [2].
Mitarbeiter. Im Jahr 2005 setzte das
Die "pur Java" Variante ist die beste für reine Intranetanwendungen, hat aber durch den
Unternehmen ca. 9,1 Mio. Euro um.
nötigen Initial-Ladevorgang (WebStart) Nachteile für Internetanwendungen mit "Ad-Hoc
Anwendern" als Zielgruppe.
Die Flash Variante ist extrem gut für Multimediaanwendungen geeignet – für
Businessanwendungen weniger. Schon allein deshalb nicht, weil mit Flash sehr leicht zu
verspielte und absolut "non standard" Webanwendungen entstehen.
© 2006 PENTASYS GmbH
Seite 1 von 4
BLICKPUNKTE
DAS MAGAZIN RUND UM IT-THEMEN
AJAX
AJAX ist nun genau genommen keine eigene Technologie, sondern vielmehr eine
"Methodik". AJAX beherrscht dabei die Gratwanderung zwischen "Reichweite" und
"Reichhaltigkeit". AJAX nutzt dazu folgende Basistechnologien:
 Für die Präsentation: XHTML und CSS
 Für die dynamische Anzeige das Document Object Model
 Für die Asynchrone Server Kommunikation den XMLHttpRequest
 Und JavaScript für die Logik
Links in der Abbildung zum Vergleich: Der Kommunikationsfluss in einer klassischen
Web-Anwendung und in einer AJAX Anwendung. Durch die asynchrone Arbeitsweise mit
AJAX hat der Benutzer eine bessere Interaktivität: Er kann weiterarbeiten während die
Serverkommunikation läuft und die Serverrequests abgearbeitet werden.
Nun hat es der Softwerker gerne etwas einfacher – daher die Liebe zu Frameworks.
Daraus erklärt sich, dass man heute die Zahl der AJAX Frameworks schon nicht mehr
wirklich zählen kann. Der inoffizielle Counter steht am 1. Februar 2006 über 70, laut
Scott Dietzen, Ex-CTO von BEA und jetzt CTO von Zimbra (www.zimbra.com), die mit
AJAX ein Collaboration Produkt gebaut haben.
AJAX taucht auch oft im Kontext mit Web 2.0 auf. Ein amüsanter Kommentar (Paul
Graham [3]) drückt es so aus: AJAX bedeutet nichts anderes als "JavaScript finally
works". Paul Graham sieht AJAX dabei als einen von den drei ganz wesentlichen
Bausteinen für das Web 2.0.
AJAX PLAYER (NICHT MIT FUSSBALL VERWECHSELN!)
Das Schöne an AJAX ist: Jeder kann mitmachen! Die Java Fraktion genauso wie die
Microsoft Gemeinde. Die folgende Auflistung behandelt nur die großen Player und ist
daher nicht vollständig (das würde sonst den Platz sprengen).
Microsoft
Microsoft macht geltend, mit der Entwicklung des Outlook Web-Interface (OWA), AJAX
erfunden zu haben. Tatsächlich stammt das XMLHttpRequest Objekt von Microsoft.
Microsoft hat das Thema – das irgendwie zur "Java-Gemeinde abgewandert war –
inzwischen gut assimiliert und sogar ein eigenes Framework (Atlas [4]) im Rahmen von
ASP.NET 2.0 entwickelt. Richtig glücklich sind viele mit der Microsoft Variante aber erst
mit der Einführung des IE7, der gerade (Februar 2006) als Beta veröffentlicht wurde.
Damit kommt man ohne ActiveX Controls (die viele Internetsurfer abgeschaltet haben)
und iFrames aus.
Google
In gewisser Weise ist auch Google schuld an dem AJAX Hype. Die ersten AJAX
Anwendungen, die einen hohen Bekanntheitsgrad erreicht haben, waren nämlich
Anwendungen wie Google Maps [5], Google Suggest oder GMail.
© 2006 PENTASYS GmbH
Seite 2 von 4
BLICKPUNKTE
DAS MAGAZIN RUND UM IT-THEMEN
IBM
IBM kündigte am 1. Februar 2006 zusammen mit einem guten Dutzend weiterer
Hersteller das Open-Source-Projekt "Open Ajax" an, das einheitliche Tools für die
Entwicklung von AJAX-Web-Applikationen (Asynchronous JavaScript and XML) liefern
soll [6].
"Open Ajax hat das Ziel, ein einziges Framework zu erstellen, das Entwicklung und
Debugging über eine gemeinsame Sammlung von AJAX-Widgets ermöglicht, die auf
verschiedenen Runtimes ablaufen können. Wie schon bei J2EE geht es darum, die
kritische Masse für diese Softwaresammlung zu erreichen und zu verhindern, dass
Microsoft die Technik an sich reißt" (Zitat Computerwoche).
BEA
BEA fängt das Thema mit Partnern ein, nimmt es gleichwohl auch sehr ernst. In
dev2dev, der BEA Entwicklerplattform sind 298! Einträge, von Grundsätzlichem bis Tipps
und Tricks, zu finden.
Tibco
Nicht mit von der Partie (bei Open Ajax) ist Tibco Systems, dessen "General Interface"
ein eigenes Framework zu Erstellung von AJAX-Clients bereitstellt. Im Oktober 2004
hatte sich Tibco durch den Zukauf von General Interface mit einem "RIA Framework und
Toolset", als Ergänzung zu seinem EAI Portfolio, komplettiert. Inzwischen hat Tibco sein
General Interface inklusive Developer Studio ebenfalls als Open Source deklariert.
Software AG
Es war zu erwarten, dass die Software AG, die sich ja selbst als "XML Company"
positioniert, in die AJAX Thematik einsteigen würde. Das passierte dann auch im August
2005, als die Software AG die kleine Firma Casabac aus Heidelberg übernahm. Damals
war von AJAX noch nicht die Rede, sondern nur von einem Werkzeug zur Entwicklung
von WebGUIs. Im November wurde es dann schon AJAX genannt.
NUTZENASPEKTE
Warum macht AJAX in bestimmten Szenarien Sinn?
Es geht am Ende immer wieder um die Punkte:
 Page Refresh vermeiden (Responsiveness)
 Kommunikation zwischen Browser und WebServer optimieren
 Benutzerfreundliche, produktive WebGUIs erstellen
PRO AJAX
Im Folgenden sind einige Szenarien ausgesucht, die von dem Einsatz von AJAX
Technologie profitieren:
 In einem Portal werden mehrere Applet-basierende Portlets verwendet. Es stellt sich
heraus, dass ein Refresh der für ein Portlet notwendig wird, den Refresh (Reload und
Reinitialisierung) aller anderen Portlets auslöst. Wenn dann auch noch Portlets eine
ständige Verbindung zu einem Backend System halten müssen, wird es noch
schlimmer. Der Server stoppt die Verbindung beim Refresh und muss sie wieder
aufbauen: das dauert!
© 2006 PENTASYS GmbH
Seite 3 von 4
BLICKPUNKTE
DAS MAGAZIN RUND UM IT-THEMEN
 Dieses Szenario kann man noch erweitern: Wenn nur eines dieser Portlets einen
wiederkehrenden Refresh im festen zeitlichen Raster braucht (Börsenkurse,
Kenngrößen in einem Manager-Dashboard, …) dann wird es für den Benutzer
COPYRIGHT:
Alle Inhalte, auch Konzepte und Design,
des Newsletters sind urheberrechtlich
geschützt. Das Copyright/Urheberrecht
liegt dabei bei der PENTASYS GmbH.
Das Zitieren ist unter Berücksichtigung
der üblichen Regeln und Hinweise gestattet. Das Kopieren oder der Nachdruck, auch auszugsweise, sowie fotomechanische Wiedergabe oder Erfas-
unerträglich.
 Oder: Zwei Portlets sind über eine Inter-Portlet Kommunikation verbunden.
Beispielsweise wählt der Anwender in einem Portlet einen Artikel aus und in einem
zweiten wird eine damit zusammenhängende Benutzerinteraktion möglich (Suche
nach einem Lieferanten oder Ähnliches).
 Und: Alle Fälle in denen der Großteil eines Portals statisch ist und nur gezielt Werte
oder einzelne Grafiken ausgetauscht werden.
 Ein schönes Beispiel für "MouseOver" Effekte mit AJAX ist in AJAX_in_Action [7]
beschrieben.
sung auf Datenträgern ist nur mit schriftlicher Genehmigung der PENTASYS
Eine Messung zu den Performancevorteilen von AJAX gegenüber einem klassischen
GmbH zulässig.
Ansatz findet man bei White [8]. Ganz allgemein auf der Plus-Seite für AJAX: Die
Sofern in den vorliegenden Inhalten
Skillsets für Programmierung im AJAX Stil sind weitläufig vorhanden, zumindest bei
Marken und geschäftliche Beziehungen
Leuten die aus der J2EE Ecke kommen. In diesen Umgebungen ist Erfahrung mit
verwendet werden, auch wenn diese
Macromedia Flash eher selten zu finden.
nicht als solche gekennzeichnet sind,
CONTRA AJAX
gelten die entsprechenden Schutzbestimmungen.
Wenn wir das Konzept statischer HTML Seiten verlassen und plötzlich dynamisch
generierte und kontextabhängige Seiten haben: Was ist dann mit meinem Back Button
im Browser oder mit Bookmarks? Was ist wenn der Anwender JavaScript im Browser
abgeschaltet hat (z.B. wegen einer Unternehmensrichtlinie)?
Back Button und Bookmarks: Dafür wurde die Lösung (Open Source - Really Simply
History framework - RSH) in Neuberg [9] dargestellt, oder alternativ bei Schiefelbein [10].
FAZIT
Nicht für jedes Business Problem, welches ein besonderes GUI oder ein WebGUI
braucht, wird es sinnvoll sein AJAX einzusetzen - aber es sind eine ganze Menge
Anwendungs-Szenarien wo es passt. Große Anwendungsbetreiber wie Amazon und
Google, für die das WebGUI naheliegend ein essentieller Teil ihres Businessmodells ist,
setzten inzwischen massiv AJAX ein. Ein schönes Beispiel findet man daher inzwischen
nicht nur bei Google, sondern auch bei Amazon [11].
REFERENZEN UND LINKS
KONTAKT:
[1] Garrett
www.adaptivepath.com/
PENTASYS Gesellschaft für
[2] White (1)
www.ajaxinfo.com/ → Web Strategy → Weighing the
alternatives
Informationstechnologie mbH
Rüdesheimer Straße 9, 80686 München
[3] Paul Graham
www.paulgraham.com/web20.html
Tel.: (0 89) 5 79 52-0
[4] Microsoft.de
www.microsoft.com/germany
Fax: (0 89) 5 79 52-399
[5] GoogleMaps
maps.google.com/
E-Mail:
[6] IBM
www-03.ibm.com/
[email protected]
[7] AJAX_in_Action
www.javarss.com/ajax/
Internet: www.pentasys.de
[8] White (2)
www.developer.com/xml/
[9] Neuberg
www.onjava.com/
[10] Schiefelbein
dev2dev.bea.com/
[11] Amazon
www.amazon.com/
© 2006 PENTASYS GmbH
Seite 4 von 4