RCP vs RAP

Anwendungsbereiche

Die Anwendungsbereiche von RCP (Rich Client Platform) beziehungsweise RAP (Rich Ajax Platform) Anwendungen können sehr unterschiedlich, aber auch vollkommen identisch sein. Das Arbeiten mit Rich Clients ist am Arbeitstag für viele alltäglich, jedoch kann es durchaus wünschenswert sein, dass die Anwendung nicht nur auf dem Arbeitsplatz der Firma, sondern ebenfalls beim Kunden oder sogar von zu Hause genutzt werden muss.
Ein Rich Client Anwendungsbeispiel haben wir bereits im Artikel Rich Client Platform – Grundlagen kennengelernt. Bei RSSOwl handelt es sich um einen einfachen und kostenlosen RSS Online Feedreader, bei dem täglich Nachrichten von gewünschten Websiten abgefragt und in dem Programm zusammengefasst wird. RSSOwl ist mit Sicherheit eine Anwendung welche für den privaten Gebrauch sinnvoll und hilfreich eingesetzt werden kann, aber auch auf bestimmten Arbeitsplätzen zum Einsatz kommt.

[ad#co-3]

Weitere OpenSource Programme zeigen, dass auch die Komplexität bei Rich Client Anwendungen hoch angesetzt werden kann. J3DWorkbench ist ein Java3D WYSIWYG Editor, mit welchem es möglich ist, komplexe 3D Szenen zu realisieren.
Der Anwendungsbereich einer RCP Anwendung ist also nicht zu pauschalisieren. Auf der einen Seite erstellen Hobbyprogrammierer ihre eigene individuelle Anwendung für den privaten Gebrauch und auf der anderen Seite geben Unternehmen Aufträge in Softwarehäusern auf um die passende Anwendung für den Alltag erstellen zu lassen.
Mit Hilfe der Rich Ajax Technologie lassen sich die meisten Rich Client Programme in das Web portieren. Dies bringt nicht nur den Vorteil, dass eine RAP Anwendung von jedem Standpunkt (mit den entsprechenden Voraussetzungen) verfügbar ist, sondern auch das viele Benutzer zur gleichen Zeit auf dieselbe Anwendung zugreifen können. Ein Beispiel für eine Rich Ajax Anwendung ist CAS PIA. CAS PIA kann in Unternehmen eingesetzt werden, um jedem Mitarbeiter die Möglichkeit zu geben an individuellen Arbeitsorten und individuellen Arbeitsplätzen arbeiten zu können. Im Artikel Rich Ajax Platform Architektur wurde bereits gezeigt, dass RAP inzwischen die meisten Funktionalitäten von RCP umsetzen kann, so dass die Komplexität einer Rich Ajax Anwendung ebenfalls sehr hoch gesetzt werden kann. Aus diesem Grund ist es bei einem RAP Programm ebenfalls nicht zu pauschalisieren in welchem Anwendungsbereich RAP überwiegend eingesetzt wird.

Wartung und Betrieb

Mit Sicherheit ist der Arbeitsaufwand eine bestehende Anwendung zu optimieren in der Regel bei beiden Technologien annähernd der Gleiche. Es ist jedoch zu beachten, dass die Rich Ajax Platform bis heute noch nicht alle Funktionalitäten von RCP umsetzen kann. Wird eine Anwendung im Single Sourcing Verfahren entwickelt, bedeutet die erfolgreiche Rich Client Umsetzung nicht zugleich, dass alle Funktionalitäten als RAP Anwendung zur Verfügung stehen. Aus dieser Perspektive betrachtet, fällt der Arbeitsaufwand bei der Weiterentwicklung einer Rich Client Anwendung gegenüber einer Rich Ajax Anwendung etwas geringer aus.
Dem gegenüber steht jedoch die Aktualisierung einer erfolgreichen Softwareoptimierung oder Änderung. Bei einer RCP Anwendung muss jeder einzelne Anwender über eine Updatefunktion (soweit integriert) sein persönliches Programm auf den aktuellsten Stand bringen. Das hat zur Folge, dass oft nicht alle Benutzer zur gleichen Zeit mit derselben Anwendung arbeiten. Dies kann, je nach Veränderung der Software, unter Umständen zu Problemen führen wenn beispielsweise diverse Daten beim Neuanlegen eines Kunden gebraucht, aber in der noch nicht aktualisierten Anwendung abgefragt werden. Diese Problematik wird es bei einer Rich Ajax Anwendung nicht geben, da die Anwendung zentral auf einem Server abgelegt ist. Wird die Anwendung aktualisiert, steht ab diesem Zeitpunkt allen Benutzern dieselbe Anwendung zur Verfügung. Demzufolge muss kein Anwender Bedenken haben, nicht mit der aktuellsten Version der Software zu arbeiten.

[ad#co-3]

Ein Softwareupdate wird in der Regel zu einem Zeitpunkt durchgeführt, wenn keine oder wenige Anwender die Software nutzen, was im Idealfall zur Folge hat, dass noch nicht einmal der Benutzer mitbekommt wenn ein nicht sichtbares update eingespielt wird.

Vorteile von RCP und RAP

Einige Vorteile wurden bereits in den vorherigen Kapiteln Anwendungsbereiche und Wartung und Betrieb erwähnt.
Zusammenfassend lässt sich sagen, dass beide Technologien mit Sicherheit ihre Vorteile mit sich bringen. In der RCP Entwicklung ist es im Gegensatz zur RAP Entwicklung bestimmt von Vorteil, während der Entwicklungszeit die Änderungen der Software nicht so oft testen zu müssen, da in RAP bekanntlich nicht alle Funktionalitäten zur Verfügung stehen. Des Weiteren dauert der Start eines Rich Clients während der Testphase nicht so lange wie bei einer Rich Ajax Anwendung. Der Rich Client basiert auf keinem extra Webserver welcher zunächst gestartet werden muss. Demnach dauert der Aufruf in etwa halb so lange wie bei einer Webanwendung. Einer der wohl größten Vorteile der Rich Ajax Entwicklung ist wohl die in Kapitel Wartung und Betrieb angesprochene Aktualisierung der Software. Wird bei RAP nur der Server geupdatet, so muss der Nutzer einer Rich Client Anwendung die Aktualisierung manuell durchführen. Hierfür gibt es in vielen Fällen für den Benutzer eine Updatefunktion welche ihn auf die Softwareaktualisierungen aufmerksam macht, jedoch können im schlimmsten Fall auch während der Aktualisierung Fehler auftreten, da jeder Nutzer sein Betriebssystem individuell eingerichtet hat.

[ad#co-3]

Nachteile von RCP und RAP

Die Vorteile der einen, sind gleichzeitig die Nachteile der anderen Technologie. Demzufolge ist der Aktualisierungsprozess auf Seiten der Rich Client Anwendung ein Nachteil gegenüber dem Ablauf eines RAP Updates. Hinzu kommt, dass die Geschwindigkeit einer Rich Ajax Anwendung stark von der Serverperformance abhängt. Bei vielen Webuserzugriffen ist ein leistungsstarker Webserver erforderlich, welcher die Anfragen zeitnah beantwortet. Ist dies nicht der Fall, kann es schnell zu unerwünschten Verzögerungen bei dem Endanwender kommen. Ein weiterer Nachteil ist wohl die Angreifbarkeit der Webanwendung durch kriminelle Webuser, sogenannten Hackern. Da der Zugang zu dem Webservice gewöhnlich nicht nur Mitarbeitern, sondern jeglichem User im Netz zusteht, erhöht dies die Gefahr von Datenklau. Aus diesem Grund muss dringend auf entsprechende Sicherheit geachtet werden damit firmeninterne Daten nicht an Dritte gelangen. Eine sichere Lösung wäre zum Beispiel der Aufruf der Anwendung über eine firmeninterne VPN Verbindung. Dieses Problem besteht bei Rich Client Anwendungen in der Regel nicht, da diese lokal betrieben werden. Selbstverständlich können Daten durch eine Infizierung des Computers ebenfalls in falsche Hände kommen, jedoch ist die Gefahr bei RAP Applikationen deutlich höher.

Performancevergleich

Beim Vergleich der Rich Client Platform mit der Rich Ajax Platform, ist zu erwarten, dass das Arbeiten mit einem lokalen installierten Rich Client spürbar schneller ist als das Arbeiten mit einer Webanwendung. Die Oberfläche eines Rich Clients wird nicht von einem Server geladen was die Anwendung deutlich schneller macht, da die Benutzeroberfläche und die Icons oder auch Bilder bereits lokal auf dem Computer vorhanden sind. Des Weiteren ist bei der Verwendung einer Rich Ajax Anwendung die Zugriffsgeschwindigkeit stark von der vorhandenen Internetverbindung abhängig. Soll eine RAP Webanwendung mit einem Analog oder ISDN Anschluss betrieben werden, wird dem Benutzer schnell die Lust mit dem Umgang der Software vergehen, da bereits der erste Seitenaufbau überdurchschnittlich viel Webtraffic und somit Ladezeit verursacht. Des Weiteren muss bei einer unterdurchschnittlichen Internetverbindung immer mit einer
Verzögerung gerechnet werden. Wird eine RAP Webanwendung mit einem schnellen Internetzugang aufgerufen, ist ein desktopähnliches Verhalten zu erwarten. Logischerweise ist das Arbeiten mit einer Rich Ajax Anwendung dennoch nicht mit dem arbeiten eines Rich Clients zu vergleichen, da der Aufbau der grafischen Oberfläche deutlich mehr Serverzugriffe erfordert. Dennoch bietet der Umgang und das Arbeiten bei guter Internetverbindung eine gute Alternative zu einer RCP Anwendung.

Fazit

Die Rich Ajax Platform bietet mit Sicherheit eine gute und spannende Alternative zur Rich Client Platform. Es muss jedoch bedacht werden, dass aktuell nicht alle Funktionalitäten in RAP zur Verfügung stehen. Sollte absehbar sein, das im Laufe einer Softwareentwicklung auf nicht portierbar und unverzichtbare Funktionen zugegriffen wird, ist eine Migration beziehungsweise Entwicklung auf Basis von RAP zu überdenken.

[ad#co-3]