RAP (rich Ajax platform)

Die Rich Ajax Plattform (RAP) ist eine Eclipse Open Source Plattform für die Entwicklung von Desktop- und Webanwendungen auf Grundlage einer einheitlichen Codebasis. Die Kommunikation mit dem Server erfolgt durch Verwendung der Web-Technologie Ajax. RAP orientiert sich dabei am Modell der Rich Client Platform (RCP) - einem Framework zur Entwicklung von Plug-In-basierten Applikationen. Der bei der Entwicklung von RAP wichtige Gesichtspunkt der einheitlichen Codebasis wird auch als single sourcing bezeichnet. Derzeit steht unter dem u.g. Link die Version 1.2 zum Download sowie bereit. Daneben sind zahlreiche Beispiele verfügbar, die die Verwendung der RAP demonstrieren.


Da die Implementierung der RAP auf der Programmiersprache Java basiert, die Laufzeitumgebung demnach die Java Virtual Machine (JVM) ist, werden von RAP wichtige Zielplattformen wie Windows, Linux sowie MacOS X unterstützt. Alternative Möglichkeiten zur Entwicklung von Web-Applikationen sind neben dem Google Web Toolkit (GWT) auch die zahlreichen frei verfügbaren Frameworks, die jedoch ein single sourcing nicht unbedingt unterstützen. RAP wurde von der Firma Innopract entwickelt und ist Teil des sogenannten Galileo Release Train, einem Projekt der Eclipse Foundation, um Anwendern von RAP eine mit den anderen teilnehmenden Eclipse-Projekten abgestimmte Version anzubieten.

Ebenso wie Rich Client Platform (RCP) basiert die Rich Ajax Plattform auf Plug-Ins. Dabei sind damit Software-Module gemeint, die vergleichbar mit einem Baukasten mit anderen Modulen kombinierbar sind und gleichfalls mit diesen über zuvor festgelegte Interfaces miteinander kommunizieren. RAP bietet dazu die von der Rich Client Plattform bekannten Schnittstellen der Anwendungsentwicklung an - das auf der OSGi-Spezifikation basierende Komponentenmodell (Equinox), Extension Points, JFace, die Systembibliothek und die UI-Workbench, die den Rahmen für die Anwendung mit Perspektiven, Views, Actions und Editoren bildet.

Plug-Ins für die verschiedenen Programmierschnittstellen

Der eigentliche Unterschied zu RAP besteht nun in dem Plug-In Rich Widget Toolkit (RWT), einem Nachbau des in RCP verwendeten Standard Widget Toolkits (SWT). Dabei bietet RWT das gleiche Application Programming Interface (API) an wie SWT, die Darstellung der Widgets erfolgt nun nur im Browser. Die aus dem SWT bekannten Elemente wie Menüs mit Untermenüs, Tabulatoren, Views, Icons und vieles andere können in der grafischen Oberfläche der Web-Anwendung problemlos eingesetzt werden, so dass diese der Oberfläche einer RCP-Anwendung deutlich ähnelt. Ebenso wie bei einer RCP-Anwendung kann die gesamte Workbench verschoben werden oder die Views können in ihrer Größe angepasst werden. Dabei öffnen sich die Dialogfenster bei Betätigung eines Buttons oder es kann wie bei den RCP-Anwendungen zwischen den Perspektiven gewechselt werden. Einschränkend muss jedoch hinzugefügt werden, dass nicht alle Widgets des SWT auch entsprechende HTML-Widgets für das Zusammenwirken mit dem Web-Browsern haben.

Die Verbindung zum Web wird durch Equinox - eine OSGi-Implementierung von Eclipse - dadurch realisiert, dass diese vollständig ablauffähig in einem Servlet Container ist. Mit dem Download von RAP bei der Eclipse Foundation wird gleichfalls der Applikationsserver Jetty zur Verfügung gestellt. Die hinter RAP stehende Ajax-Technologie (asynchrones Java-Script und XML) sorgt dafür, dass die Oberflächenelemente der Web-Anwendung ohne den erneuten Aufbau der Webseite reagieren. So ist also die Entwicklung von Web 2.0 Anwendungen komplett in Java möglich, ohne dass Technologien des Webs wie HTML oder JavaScript verwendet werden.

Durch den Einsatz der Rich Ajax Plattform (RAP) sollen sich die Programmiermodelle sowohl für Desktop- wie auch für Web-Anwendungen nicht mehr unterscheiden, so dass darüber hinaus kein Aufwand beispielsweise für die singuläre Entwicklung von Ajax-Programmen entsteht. Zudem sollen beide Anwendungen auf gleicher Java-Codestruktur basieren - das wird auch als single sourcing bezeichnet. Um die Lücke zwischen Desktop und Web immer kleiner werden zu lassen, wird single sourcing ein wichtiger Gesichtspunkt zukünftiger Entwicklungen sein.

Für den Software-Entwickler ergeben sich bei Verwendung von RAP zunächst einmal die folgenden Vorteile:

  • Die Konzepte von RCP werden auf Web-Anwendungen übertragen.
  • RAP ist als Open-Source-Software offen und erweiterbar.
  • Die RAP-Entwicklung wird durch die Eclipse IDE unterstützt.
  • Eindeutige Fokussierung auf Java, besondere Kenntnisse von Web-Technologien wie HTML, Java oder Ajax sind hilfreich aber nicht unbedingt erforderlich.
Denen steht ein hoher Einarbeitungsaufwand in die komplexen Strukturen der RCP-Technologie gegenüber. Derjenige Entwickler, der lediglich nach einem Java-basierten Framework für die Entwicklung von Web 2.0-Anwendungen sucht, kann sicherlich besser geeignete Alternativen wie zum Beispiel das Google Web Toolkit finden. Der Ausgangspunkt zur Umsetzung einer Web-Anwendung auf Basis der Rich Ajax Plattform sollte eigentlich eine bestehende RCP-Anwendung sein - also eine klassische Aufgabe der Migration. Auch dann wird die Aufgabenstellung noch zum Teil - insbesondere bei größeren Projekten - aufwändige Anpassungen und Modifizierungen mit sich bringen, da von RAP nur ein Teil des SWTs unterstützt wird.

http://www.eclipse.org/rap/

http://download.eclipse.org/technology/rap/update-site

http://rap.eclipsesource.com/rapdemo/examples

Informationen zum Artikel
Deutsch: Rich Ajax Plattform
Englisch: rich Ajax platform - RAP
Veröffentlicht: 27.10.2013
Wörter: 783
Tags: #Webservices
Links: Anpassung, API (application programming interface), Aufwand, Container, Desktop