Der Begriff Rich Internet Application (RIA, deutsch: reichhaltige Internet-Anwendung) ist nicht eindeutig definiert oder standardisiert, sondern aus der Evolution des Internet entstanden und wird im Verlauf der Entwicklung dieses Mediums immer öfter eingesetzt.
In der Regel versteht man unter dem Begriff Internetanwendungen, die eine reiche (vielfältige) Menge an Interaktionsmöglichkeiten mit ihrer Benutzeroberfläche bieten. Insbesondere RIAs, die in Webbrowsern laufen, ähneln eher dynamischen Desktopanwendungen als klassischen (statischen) Webseiten.
Rich Internet Applications müssen allerdings nicht zwangsläufig im Browser laufen, sondern können auch als Desktopanwendung eingesetzt werden, da die Umgebung, in der RIAs laufen, für deren Bezeichnung irrelevant ist. Vielmehr müssen die Anforderungen der „Reichhaltigkeit“ sowie „Verbindung mit dem Internet“ erfüllt sein.
Erkennungsmerkmale
RIAs erkennt man daran, dass
- sie Bedienoberflächen anbieten, die reich an Interaktionsmöglichkeiten sind,
- sie entweder über das Internet kommunizieren (zum Beispiel mit Servern) oder zumindest über dieses ausgeliefert werden.
Beispiele für reichhaltige Interaktionsmöglichkeiten sind Drag-und-Drop-Fähigkeit oder Bedienbarkeit über Tastenkürzel
Eigenschaften
Rich Internet Applications beinhalten in der Regel mehr Anwendungslogik als statische Webseiten, die zum Beispiel auf reinem HTML basieren. Dies kann zu einer erhöhten Ladezeit beim ersten Aufruf führen. Durch Einsatz von Techniken wie z. B. Ajax jedoch kann die Performance sowie Benutzerfreundlichkeit im Gegensatz zu klassischen Webanwendungen spürbar verbessert werden.
Zu den RIAs werden auch Anwendungen gezählt, die Technologien von Drittanbietern erfordern (z. B. den Flash-Player oder die Java Virtual Machine). Diese werden 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.
Der Begriff Rich Internet Application bezeichnet somit lediglich ein Konzept und keine bestimmte Technologie. Theoretisch wäre es also auch möglich, mit Technologien wie z. B. C/C++, die nicht ausdrücklich für die Erstellung von RIAs konzipiert wurden, eben solche zu erstellen, solange die Voraussetzungen „Reichhaltigkeit der Bedienoberfläche“ sowie „Verbindung mit dem Internet“ erfüllt sind.
Trotzdem ist der Einsatz von speziellen Plattformen, wie zum Beispiel Adobe’s AIR oder Silverlight von Microsoft, sinnvoll, da diese Frameworks bereits viele reichhaltige UI-Komponenten mitbringen.
Reine Animationen stellen keine RIAs dar, da klassische Voraussetzungen wie Interaktionen mit dem Nutzer fehlen.
Technologien
Zur Erstellung von RIAs kommt oft Flash oder DHTML zum Einsatz. Inzwischen gibt es jedoch immer mehr Frameworks und Bibliotheken. Einige davon sind:
Plug-in-basiert:
- JavaFX (Oracle/SUN)
- Silverlight (Microsoft)
- Flex und AIR (Adobe)
- OpenLaszlo, mit dem Compiler-Flag „Flash“ (LaszloSystems)
- uniPaaS (Magic Software Enterprises)
HTML-basiert:
- Apache Wicket
- RichFaces
- ICEfaces
- Google Web Toolkit
- OpenLaszlo, mit dem Compiler-Flag „DHTML“ (LaszloSystems)
Vor- und Nachteile von RIAs
Vorteile von Rich Internet Applications:
- Oft benutzerfreundlicher als klassische Webanwendungen durch die Verwendung moderner Interaktionstechniken (z.b. Drag-und-Drop).
- Schnellere Reaktion auf Benutzereingaben durch lokale, client-seitige Verarbeitung.
- Keine „Cross-browser issues“ (durch den Einsatz von speziellen RIA-Frameworks).
- Reduzierte Server- und Netzwerklast durch lokale Berechnungen.
- Gegebenenfalls Zugriff auf lokales Dateisystem und Peripherie.
- Oft einfache GUI-Entwicklung durch reichhaltige UI-Komponenten, die in RIA-Frameworks enthalten sind („Viel WOW!-Effekt ohne viel Aufwand“).
- Bei Plug-in-basiertem System mehr Performance möglich im Gegensatz zu reinen DHTML-Varianten. Keine Abhängigkeit von der JavaScript-engine des Browsers.
Nachteile von Rich Internet Applications:
- Evtl. lange Download- und Ladezeiten.
- Höhere Ressourcenbelastung des Clientrechners möglich.
- Manchmal Installation eines Plug-ins notwendig.
- Evtl. Sicherheitslücken durch installierte Plug-ins.
Beispiele für RIAs
- Google Maps
- Auto-Konfigurator im Internet
Sicherheit
Für alle Webanwendungen gilt generell, dass diese in der Regel in einer sog. Sandbox laufen. Das bedeutet, dass diese Applikationen nur eingeschränkte Rechte haben. Der Zugriff auf das Dateisystem oder die Ausführung von Programmen ist nicht möglich. Manche Technologien, wie zum Beispiel Java, unterstützen allerdings die Möglichkeit durch Vorlage eines Zertifikats an den Benutzer, zusätzliche Rechte zu erlangen. Dem Anwender wird in diesem Fall ein Dialog angezeigt und aufgefordert, das Zertifikat entweder anzunehmen oder abzuweisen. Stimmt er zu, gewährt er der Anwendung weitere Rechte auf seinem lokalen System. Dies sollte allerdings nur dann gemacht werden, wenn die Quelle der RIA als absolut vertrauenswürdig eingestuft werden kann.
RIAs, die auf Webstandards, wie HTML und JavaScript setzen, können normalerweise als relativ sicher angesehen werden. Ausnahmen bilden Sicherheitslöcher im verwendeten Webbrowser oder nicht technische Angriffe, wie zum Beispiel das sog. Social Engineering.
Bei Plug-in basierten RIAs ist das Ganze deutlich problematischer, da diese durch eigene Sicherheitslöcher das System des Benutzers gefährden können. Im schlimmsten Fall ist das Einschleusen sowie Ausführen von schadhaftem Code durch sog. Exploits möglich. Das Sandbox-Modell hilft in diesem Fall nicht.
In der Vergangenheit ist besonders die Flash-Plattform regelmäßig negativ durch schwerwiegende Sicherheitsmängel aufgefallen. Dies ist besonders problematisch, da Flash heute auf sehr vielen Computern, die im Web unterwegs sind, installiert ist. Angreifer müssen somit lediglich speziell präparierten Code auf ihrer Webseite platzieren und den Anwender auf diese locken. Besucht der Benutzer nun diese Seite, wird der Code eingeschleust und im schlimmsten Fall zur Ausführung gebracht.
Trends
Rich Internet Applications werden als die 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. Geschäftsmodelle die auf RIAs basieren, nennen sich oft Software as a Service oder ASP-Dienstleistung.
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.
Quelle: Wikipedia (http://de.wikipedia.org/wiki/Rich_Internet_Application)