Samstag, 4. Februar 2012

News

präsentiert von: JAXenter
Montag, 17. Juli 2006

Totally AJAX: Portallösungen mit AJAX - ein Muss?

Florian Müller
Cambridge Technology Partners

Die folgende Situation ist sowohl Kunden als auch Entwicklern nur allzu bekannt: Über Jahre haben sich in der kundeneigenen IT-Landschaft "Insellösungen" gebildet, mal wurde hier schnell eine Webapplikation entwickelt und mal dort ein Excel-Sheet für die Zeiterfassung gestrickt usw. Mit steigendem Umfang der Insellösungen steigt in der Regel auch das Verlangen nach Homogenität, Gedanken à la "wäre es nicht schön, nur noch eine zentrale Applikation warten (und bezahlen!) zu müssen?" werden wach, und spätestens wenn das Budget der IT-Abteilung mal wieder höher ausfällt, steht fest:

Ein Portal muss her!
Portale versprechen ein hohes Maß an Integration, einmal eingeloggt kann der Benutzer auf sämtliche Applikationen innerhalb des Portals, die sog. Portlets, zugreifen. Die Portlets bilden inhaltlich die zuvor eingesetzten Insellösungen ab, somit sind alle Applikationen unter einem Dach und der Kunde ist glücklich – ein schöner Seifenblasentraum. In den vergangenen Jahren musste festgestellt werden, dass Portaltechnologien in vielen Bereichen mit Vorteilen glänzen, allerdings auch gewisse Nachteile mit sich bringen. So ist das oben dargestellte Kundenszenario zwar in der Theorie mittels Portaltechnolgie realisierbar, in der Praxis wird jedoch schnell deutlich, dass der Integrationsaspekt bei Portalen für existente Applikationen sehr gering sein kann und es im Einzelfall schneller ist, die zu integrierende Applikation im Portalkontext neu zu erstellen. Zwei Ursachen sind für den Mangel an Integrationsmöglichkeiten zu benennen:

  • Applikationen, die als "Insellösung" erstellt wurden, bieten oftmals keine saubere MVC-Trennung, sondern repräsentieren einen "Brei", bei dem sich die Businesslogik schwer bis gar nicht extrahieren lässt.
  • Portal-Frameworks sind starr, sprich: Wird ein Pageflow oder Ähnliches in einem Portal erstellt und mit Portalkomponenten gefüllt – prima! Soll der Pageflow allerdings mit externen bereits existierenden Komponenten gefüllt werden, kann sich dies als äußerst schwierig entpuppen.

AJAX als Hilfe!?
An dieser Stelle wollen wir einen Blick auf AJAX werfen und Parallelen zu Portalen identifizieren, um die Frage zu beantworten: Bietet AJAX uns auch in diesem Bereich interessante Lösungsmöglichkeiten? Prinzipiell basiert der AJAX-Ansatz darauf, jederzeit Daten asynchron zum Server zu übertragen - welche Daten übertragen werden (z.B. lediglich der Inhalt eines Textfeldes), wird vom Entwickler bestimmt. Wird das HTML-Layout einer Webseite so entwickelt, dass diese unterschiedliche Bereiche enthält (zu vergleichen mit den Portlets), so können die einzelnen Bereiche mittels AJAX als autarke Einheiten programmiert werden. Gibt der User in einem Bereich der Webseite den Namen ein und betätigt einen Button innerhalb des Bereichs, so wird lediglich die Information "Name = Meyer" mittels XMLHttpRequest zum Server übertragen. Die Antwort des Webservers, die XMLHttpResponse, beeinflusst dann ebenfalls nur den entsprechenden Bereich der Webseite, der Rest der Seite bleibt stabil im Browser stehen - fertig ist das AJAX-Portal! Natürlich ist es äußerst mühsam und zeitaufwendig, ein komplexes Webportal so von Hand zu erstellen, ganz zu schweigen davon dass Single-Sign-On etc. an dieser Stelle noch gar nicht berücksichtigt wurde.

Hilfe durch Frameworks

Genau an diesem Punkt kommen AJAX-Frameworks ins Spiel. Sie bieten dem Entwickler mittlerweile eine große Auswahl von Controls, die Unterteilung einer Seite in mehrere Sub-Bereiche gehört zum ihrem Standard-Repertoire. Das Layout eines AJAX-Portals wird in erster Linie durch die Kreativität eines Entwicklers begrenzt, nicht durch Layout-Komponenten des eingesetzten Frameworks, da nahezu alles Erdenkliche geboten wird. Darüber hinaus bieten viele der Frameworks ein breites Spektrum an Controls, welche innerhalb der einzelnen Bereiche (der Einfachheit halber als AJAX-Portlets bezeichnet) platziert werden können. Die zur Verfügung gestellten Controls wachsen ständig, und ein Blick auf einschlägige Seiten wie ajaxmatters.com zeigt, dass es wesentlich mehr gibt als "nur" Listen, Bäume und Felder. Somit kann der Entwickler AJAX-Portlets erstellen, die die darunter liegenden Geschäftsprozesse besser visualisieren, als es mit bisherigen Portalkomponenten möglich war.

Größte Stärke eines AJAX-Portals ist somit die Integration bestehender Applikationen. Verfügt die zu integrierende Applikation über eine entsprechende Schnittstelle zur GUI-Anbindung, so kann die Applikation relativ schnell und einfach integriert werden - und innerhalb des GUI werden natürlich peppige und performante AJAX-Bausteine verwendet, die das Herz eines jeden Entwicklers und Kunden höher schlagen lassen. Bei der Portalentwicklung mit AJAX-Frameworks sind nahezu alle Frameworks "GUI-driven" und bieten meist (noch!) keine Unterstützung für Pageflows sowie Single Sign-on, diese müssen vom Entwickler selbst implementiert werden. Bietet das eingesetzte AJAX-Framework allerdings eine einfach zu implementierende Java-Schnittstelle, so wird man schnell feststellen, dass es kein Hexenwerk ist Single-Sign-on sowie die Pageflow-Logik auf Java-Ebene selbstständig zu entwickeln - den meisten Java Entwicklern macht das sogar Spaß ;-)!

Also?
Zusammenfassend kann gesagt werden: AJAX bietet uns auch im Bereich der Portalentwicklung interessante Lösungsmöglichkeiten und unabhängig davon, ob eine Portalneuentwicklung oder ein Portalintegrationsprojekt ansteht, sollte in jedem Falle auch der AJAX-Ansatz in die Überlegungen einbezogen werden; früher oder später werden Kunden nicht mehr nach AJAX-Applikationen fragen - sie werden es ganz einfach erwarten! - Florian Müller (Cambridge Technology Partners)

Florian Müller arbeitet als Consultant für die Firma Cambridge Technology Partners, Schweiz. Sowohl beruflich als auch privat gilt sein Hauptinteresse der Entwicklung von Webapplikationen basierend auf dem AJAX-Ansatz.

(an)

Konferenzen

BASTA! 2012

BASTA! 2012

27.- 2. März 2012
Maritim Hotel Darmstadt

MobileTech Conference

MobileTech Conference

26.-28. März 2012
München

JAX 2012

JAX 2012

16.-20. April 2012
Rheingoldhalle, Mainz

BigData Con 2012

BigData Con 2012

16.-18. April 2012
Rheingoldhalle, Mainz

Business Technology Days

Business Technology Days

17.-19. April 2012
Rheingoldhalle, Mainz

International PHP Conference

International PHP Conference

3.- 6. Juni 2012
Maritim proArte, Berlin

webinale 2012

webinale 2012

4.- 6. Juni 2012
Maritim proArte Berlin

RailswayCon

RailswayCon

4.- 6. Juni 2012
Maritim proArte, Berlin

Werbung
Top-Jobs

Fraunhofer-Institut für Windenergie und Energiesystemtechnik IWES

Informatikerin / Informatiker

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Sharepoint

Sharepoint Magazin

Sharepoint

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

PHP User - Praktische Referenz für Internetenthusiasten

PHP User

Praktische Referenz für Internetenthusiasten

Bücher




Webhosting mit Host Europe