Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2006  »  10  »  Von Java zu Ajax  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Google Web Toolkit zum Erstellen dynamischer Webapplikationen

Von Java zu Ajax

von Ramon Wartala
Erschienen im Linux-Magazin 2006/10

Das Google Web Toolkit ermöglicht die Entwicklung aufwändiger Webanwendungen in Java und generiert daraus automatisch Ajax-Applikationen. Im Hosted-Modus wird die Suche nach Fehlern zum Kinderspiel.

Der Weltmarktführer für Suchanfragen mausert sich auch zu einem Softwareproduzenten. Neben nativen Programmen wie Google Desktop und Google Earth veröffentlicht die Firma im Quartalsrhythmus neue Web-basierte Produkte. Während Google Mail noch im medialen Rampenlicht stand, genießen neuere Applikationen wie Google Reader, Google Calender oder Google Spreadsheet geringere Aufmerksamkeit. Unabhängig davon weisen sie alle ein ähnliches Look&Feel auf und verfügen dank Ajax über eine Oberfläche mit geringer Reaktionszeit.

Dass sich unter der Haube dieser Applikationen ein Google-eigenes Framework verbirgt, war mangels näherer Angaben des Herstellers lange nur zu vermuten. Pünktlich zur Messe Java One im Mai dieses Jahres bestätigte Google diesen Verdacht aber, als der Dienst das Google Web Toolkit (GWT) interessierten Webentwicklern zum kostenlosen Download und Einsatz bereitstellte [1].

Ajax [2], die asynchrone Verarbeitung von HTTP-Requests und -Responses mit Hilfe von Javascript und XML, ist zurzeit Thema Nummer eins unter Webentwicklern. Ajax-Toolkits für Programmiersprachen wie Perl [5], Ruby und PHP [4] schießen aus dem Boden, Google beschreitet mit seinem Framework Neuland: Es basiert auf Java, die aber nur als Generator- und Testsprache dient, schließlich verwendet Ajax auf dem Client Javascript.

Was drin ist

Warum ausgerechnet Java? Der Hauptgrund liegt in der Möglichkeit zur einfachen Fehlersuche: Das GWT ermöglicht es, eine Ajax-Applikation im so genannten Hosted Mode auszuführen und zu testen. Dabei läuft sie als Java-Version innerhalb einer gewöhnlichen Java Virtual Machine.

Beim Programmieren helfen die üblichen Entwicklungsumgebungen und Debugger. Ist die Applikation fertig, übersetzt ein Compiler sie in Javascript. Der dabei erzeugte HTML- und Javascript-Code lässt sich dann auf einem Webserver installieren und läuft im so genannten Web Mode.

Ein spezieller Webbrowser, eine eigene Widget-Klassenbibliothek für Ajax-basierte Oberflächen sowie Javascript-Implementationen von Java-Standardklassen wie »java.lang« und »java.util« bilden die Komponentenarchitektur des GWT-Framework. Darüber hinaus kümmert es sich darum, dass der generierte Javascript-Code zu den gängigen Webbrowsern wie Mozilla, Firefox, Internet Explorer, Opera und Safari passt.

Los geht's!

Das ungefähr 22 MByte große Paket »gwt-linux-1.0.21.tar.gz« bringt eine Dokumentation und fünf Beispielanwendungen mit. Sie reichen von einem trivialen »Hello«-Programm über eine Widget-Übersicht bis zu einer kleinen E-Mail-Applikation und lassen sich über die in den jeweiligen Verzeichnissen enthaltenen Shellskripte starten.

Die im Folgenden als Anwendungsbeispiel entwickelte GWT-Applikation nutzt einen bestehenden Server-Dienst, um eine einfache Adressendatenbank abzufragen. Der hier verwendete Server basiert der Einfachheit halber auf Ruby on Rails, weil er sich so mit wenigen Zeilen umsetzen lässt - für den Client spielt das keine Rolle. Die fertige Version steht unter [10] zum Download bereit.

Beim zu diesem Zweck entwickelten Service MyAddress handelt es sich um eine einfache Datenbank (siehe Listing 1), die Vornamen, Nachnamen und E-Mail-Adressen verwaltet. Zum Datenaustausch dient das in vielen Ajax-Applikationen verwendete JSON-Format (Javascript Object Notation, [3]). Es erzeugt im Gegensatz zu XML mangels Auszeichnungs-Tags weniger Overhead und reduziert damit die Antwortdauer der Ajax-Anwendung.

Listing 1: PostgreSQL-Tabelle
für MyAddress

01 CREATE TABLE myaddress."names"
02 (
03   id serial NOT NULL,
04   firstname varchar(50) NOT NULL,
05   lastname varchar(100) NOT NULL,
06   email varchar(128) NOT NULL,
07   CONSTRAINT id PRIMARY KEY (id)
08 )
09 WITHOUT OIDS;
10 ALTER TABLE myaddress."names" OWNER TO myaddress;

Um mit Ruby on Rails die zu einem Nachnamen gehörende Adresse aus der Datenbank zu holen und ins JSON-Format zu verpacken, genügt der Zehnzeiler aus Listing 2. Zeile 6 liest darin den Nachnamen aus einem HTTP-Request, um in Zeile 7 die passende Adresse aus der Datenbank zu ermitteln. Zeile 8 konvertiert die zurückgelieferten Adressen ins JSON-Format.

Listing 2:
»NameController«

01 class NameController < ApplicationController
02   scaffold :name
03   def find_names_to_json
04     # make sure not to send html but text/plain
05     @headers["Content-Type"] = "text/plain; charset=utf-8"
06     search_name = @params['lastname']
07     names = Name.find(:all, :conditions => ['lastname like ?', search_name])
08     render_text names.to_json
09   end
10 end

Das Kommando »ruby scriptserver start« ruft den MyAddress-Service auf. Der interne Entwicklungsserver von Ruby On Rails stellt den Service über Port 3000 auf »localhost« bereit. Eine Abfrage geschieht optional auch im Browser unter »http://localhost:3000/name/«.

Ein weiterer Vorteil von Ruby On Rails beim Erstellen der Server-Applikation: Dank Scaffolding lässt sich die Datenbank bequem über ein generiertes Eingabeformular bearbeiten (Abbildung 1). Sind die ersten Datensätze eingegeben, liest man sie im Webbrowser über die URL »http://localhost:3000/name/find_names_to_json?lastname= Name« aus.


Abbildung 1: Der Webservice im Beispiel liefert die Datensätze auch direkt im Browser.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Schädlingsbekämpfung Perl-Skript bewahrt Webforen und Blogs vor Spamflut
Frisch aufgebrüht Netbeans 6.0 und Eclipse 3.3 im Vergleich
Gute Mine Rails-IDE Rubymine im Test
Web-Stuhl HTML-Editoren im Test
Browser ferngesteuert Automatische Regressionstests mit Selenium
Browser-Turbo Mehr Dynamik für Webseiten dank Ajax
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Kommentare (0)