Rich Internet Application

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Der Begriff Rich Internet Application (RIA, deutsch: reichhaltige Internet-Anwendung) beschreibt eine Anwendung, die Internet-Techniken benutzt und eine intuitive Benutzeroberfläche bietet.

Inhaltsverzeichnis

[Bearbeiten] Der Begriff

Der englische Begriff „rich“ steht dabei für die „reichhaltigen“ Möglichkeiten wie z. B. Drag-und-Drop-Fähigkeit oder Bedienbarkeit über Tastenkürzel, suggeriert dabei aber auch einen „Mehrwert“ gegenüber herkömmlichen Webanwendungen.

Weiterhin ist auch die Leistungsfähigkeit der Applikation gemeint, die z. B. Berechnungen auf Clientseite ausführen kann, ohne eine Anfrage zum Server starten zu müssen. Dadurch lassen sich RIAs viel flüssiger bedienen und Rückmeldungen können schneller erzeugt werden.

Man könnte diese Anwendungen auch „intelligente Clients“ nennen. Natürlich sind diese Anwendungen größer als HTML, sind aber dennoch Internet-optimiert (durch Komprimierung sowie Streaming-Techniken). RIAs gleichen diesen Nachteil dadurch aus, dass sie zur Laufzeit weniger Anfragen an den Server stellen müssen.

Eine RIA erkennt man daran, dass

  • sie nicht installiert werden muss
  • auf sie über Internet-Techniken zugegriffen wird
  • sie mit dem Nutzer interagiert.

So stellen beispielsweise Animationen keine RIAs dar, da klassische Voraussetzungen wie Interaktion mit dem Nutzer fehlen.

Zu den RIAs werden auch Anwendungen gezählt, die Technologien von Drittanbietern erfordern (z. B. Flash, Java). Diese Technologien werden typischerweise als Browser-Plugins auf dem lokalen Rechner installiert. Andere RIAs basieren ausschließlich auf Web-Technologien (wie HTML, CSS, JavaScript, AJAX), die von den meisten gängigen Browsern ohne zusätzliche Plugins unterstützt werden.

[Bearbeiten] Technologien

Typischerweise werden heutzutage (2007) RIAs als Flash- oder AJAX-Applikation erstellt.

Aber auch andere Technologien können zum Einsatz kommen:

  • Java-Applets gehören zu den ersten RIAs. Sie bieten dem Benutzer wesentlich mehr Widgets und Interaktionsmöglichkeiten an als reines HTML.
  • DHTML-Anwendungen, meist zusammen mit einem JavaScript-Framework.
  • Java- und .NET-Programme können dann als RIAs gesehen werden, wenn sie den oben genannten Kriterien für RIAs entsprechen.
  • UltraLightClient ist eine Java-basierte RIA-Bibliothek mit einer server-seitigen Programmierschnittstelle für Swing GUI-Komponenten.
  • Ein Standard, der sich aber noch nicht durchgesetzt hat, ist die XML-basierte Sprache Scalable Vector Graphics (SVG).
  • OpenLaszlo, ZK (Framework) und Adobe Flex kompilieren mit XML und JavaScript erstellte RIAs zur Laufzeit zu Flash.
  • Mozilla bietet mit XUL eine XML-basierte GUI-Sprache für RIAs.
  • Silverlight von Microsoft ist das browserübergreifende PlugIn als Antwort auf Flash.
  • Omnis Studio liefert eine proprietäre Plug-In Technologie, die es erlaubt aufwändige RIA Applikationen mit Drag&Drop zu erzeugen.
  • Curl Rich Internet Application Platform bietet Objekt-orientierte Programmierung vor allem für performante Unternehmensanwendungen.
  • JavaFX Technology von Sun bietet eine neue Skriptsprache, welche es ermöglicht rasch aufwändige Oberflächen zu erstellen, wobei bestehende Java Bibliotheken weiterhin verwendet werden können.
  • UniPaaS von Magic Software ist eine application platform für RIA, C/S oder Webapplikationen die einen Metadaten getriebenen Ansatz verfolgt und eine Code-freie Entwicklung ermöglicht → geeignet für betriebswirtschaftl. Anwendungen

Soll Flash zum Einsatz kommen, so gibt es zwei grundsätzliche Vorgehensweisen:

  1. Erstellung der Applikation über Autorentools, wie z. B. Adobe Flash.
  2. Generierung des SWF Bytecodes über Präsentationsserver, die Vorgehensweise von OpenLaszlo, Adobe Flex und Force4. Dabei wird die Applikation in einer XML-Sprache programmiert und durch einen Flash Bytecode Compiler in einen ausführbare SWF Datei umgewandelt.

AJAX-basierte RIAs können entweder direkt in JavaScript kodiert werden, oder mithilfe von Frameworks / Toolkits:

  • Echo2 bietet ein Java-API, um ein Web-UI zu programmieren.
  • Wicket ist eine Java-API, die eine strikte Trennung zwischen Anzeige (HTML und CSS) und Logik (Java) mittels des MVC-Konzepts erlaubt. Wicket beinhaltet auch viele weitere leistungsfähige Komponenten. Jeder Komponente kann mit AJAX-Funktionalität angereichert werden.
  • Das Google Web Toolkit (GWT) bietet ein Java-API, um Web-basierte RIA Anwendungen zu entwickeln, die zur Laufzeit als AJAX-Anwendung in einem Web-Browser läuft. Dazu wird der Java-Code mittels Cross-Compiler in JavaScript-Code umgewandelt. GWT benötigt zur Laufzeit keine Browser-Plugins jedoch einen einigermaßen aktuellen Browser (siehe AJAX, Abschnitt: Status/Verbreitung).

[Bearbeiten] Vor- und Nachteile von RIAs

Vorteile von Rich Internet Applications:

  • Benutzerfreundlicher als klassischer Webanwendungen durch die Verwendung moderner Interaktionstechniken (Drag-und-Drop)
  • Schnellere Reaktion auf Benutzereingaben durch lokale Verarbeitung
  • Bessere Kontrolle über die Darstellung (bei herstellerabhängigen Plugins )
  • Kein Installationsaufwand
  • Können in sicherer Umgebung laufen (Browser-Sandbox)
  • Können auch „offline“ funktionieren (Google Gears)
  • Berechnungen und Logik können clientseitig stattfinden
  • Reduzierte Server- und Netzwerklast durch lokale Berechnungen
  • Gegebenenfalls Zugriff auf lokales Dateisystem und Peripherie

Nachteile von Rich Internet Applications:

  • Lange Downloadzeiten
  • Höhere Ressourcenbelastung des Clientrechners
  • Fehlende Plugins auf Clientseite
  • Inkompatibilitäten im Browser
  • Fehlende Verfügbarkeit von Plugins für bestimmte Plattformen
  • Neue Sicherheitslücken durch installierte Plugins

[Bearbeiten] Beispiele

Nachfolgend einige Beispiele, in denen RIAs Vorteile bieten. Achtung, natürlich können diese Anwendungsbeispiele auch als klassische Webanwendung implementiert (umgesetzt) werden.

  • Funktelefonoberflächen
  • Oberflächen für Navigationssysteme
  • Beispielrechner für Autoversicherungen
  • Navigations- und Shopoberfläche für Onlinebestellungen
  • Auto-Konfigurator im Internet
  • Oberflächen für interne ERP- oder Callcenter-Systeme

[Bearbeiten] Trends

Rich Internet Applications werden als nächste Generation von Software-Anwendungen gesehen.

Speziell im Intranet bietet dieses enorme Vorteile, da bei neueren Versionen die aktuelle Software nicht verteilt/installiert werden muss. Aber auch im Internet nutzen immer mehr Firmen RIAs.

Gerade in den Bereichen Mobile Devices (z. B. Funktelefone) und Embedded Devices (z. B. Navigationssystemen) ist der Bedarf nach mächtigeren Oberflächen, Standardisierung und Herunterladbarkeit (ohne Installation) groß. So bieten immer mehr Hochschulen Studiengänge in den Bereichen Game Design, Interactive Design und Mobile Design an.

[Bearbeiten] Siehe auch

[Bearbeiten] Quellen

[Bearbeiten] Patentliteratur

United States Patent 7000180: Neil Balthaser, als Erfinder genannt in folgenden Links: [1] [2] [3]

Persönliche Werkzeuge
Buch erstellen