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