ITWissen.info - Tech know how online

rich Ajax platform (RAP)

The Rich Ajax Platform (RAP) is an Eclipseopen source platform for developing desktop and web applications based on a unified code base. The communication with the server is done by using the web technology Ajax. RAP is based on the Rich Client Platform (RCP) model - a framework for developing plug-in based applications. The important aspect of the development of RAP is the uniform code base, which is also referred to as single sourcing. Currently, version 1.2 is available for download at the link below. In addition, numerous examples are available that demonstrate the use of RAP.

Since the implementation of RAP is based on the Javaprogramming language and the runtime environment is therefore the Java Virtual Machine (JVM), RAP supports important target platforms such as Windows, Linux, and MacOS X. Alternative possibilities for the development of web applications are the Google Web Toolkit (GWT) as well as the numerous freely available frameworks, which, however, do not necessarily support single sourcing. RAP was developed by the company Innopract and is part of the so-called Galileo Release Train, a project of the Eclipse Foundation to offer users of RAP a release that is aligned with the other participating Eclipse projects.

Like the Rich Client Platform (RCP), the Rich Ajax Platform is based on plug-ins, i.e. software modules that can be combined with other modules in a manner similar to a construction kit and that also communicate with these modules via predefined interfaces. For this purpose, RAP offers the application development interfaces known from the rich client platform - the component model (Equinox) based on the OSGi specification, extension points, JFace, the system library and the UI workbench, which forms the framework for the application with perspectives, views, actions and editors.

Plug-ins for the various programming interfaces

The real difference to RAP is the plug-in Rich Widget Toolkit (RWT), a replica of the Standard Widget Toolkit (SWT) used in RCP. RWT offers the same Application Programming Interface (API) as SWT, but the widgets are now only displayed in the browser. The elements known from SWT, such as menus with submenus, tabs, views, icons and much more, can be used in the graphical interface of the web application without any problems, so that it clearly resembles the interface of an RCP application. Just as with an RCP application, the entire workbench can be moved or the views can be resized. The dialog windows open when a button is pressed or it is possible to switch between the perspectives as in the RCP applications. It must be added, however, that not all widgets of the SWT also have corresponding HTML widgets for interaction with the web browser.

The connection to the web is realized by Equinox - an OSGi implementation of Eclipse - by being fully executable in a servlet container. The download of RAP from the Eclipse Foundation also provides the application server Jetty. The Ajax technology (asynchronous Java Script and XML) behind RAP ensures that the interface elements of the web application respond without the need to rebuild the web page. Thus, Web 2.0 application development is possible entirely in Java without using technologies of the Web such as HTML or JavaScript.

By using the Rich Ajax Platform (RAP), the programming models for both desktop and Web applications should no longer differ, so that, in addition, no effort is required for the singular development of Ajax programs, for example. In addition, both applications should be based on the same Java code structure - this is also referred to as single sourcing. In order to narrow the gap between desktop and web, single sourcing will be an important aspect of future developments.

For the software developer, the first advantages of using RAP are as follows:

  • The concepts of RCP are transferred to web applications.
  • RAP is open and extensible as open source software.
  • RAP development is supported by the Eclipse IDE.
  • Clear focus on Java, special knowledge of web technologies like HTML, Java or Ajax are helpful but not absolutely necessary.
On the other hand there is a high effort of familiarization with the complex structures of the RCP technology. The developer who is only looking for a Java-based framework for the development of Web 2.0 applications can certainly find more suitable alternatives such as the Google Web Toolkit. The starting point for implementing a Web application based on the Rich Ajax Platform should actually be an existing RCP application - in other words, a classic migration task. Even then, the task will still involve complex adaptations and modifications in some cases - especially for larger projects - since only part of the SWT is supported by RAP.

Informationen zum Artikel
Englisch: rich Ajax platform - RAP
Updated at: 28.10.2013
#Words: 1298
Links: