Project Plan For Remote Application Platform, version 2.0

Introduction

The Remote Application Platform (RAP) is an Eclipse platform for modular applications using a rich widget toolkit with SWT API. Optionally, also JFace and Workbench APIs and extension points are available on top of this toolkit. RAP applications run on server-side OSGi, but can also be used in standard web applications. They can be developed using the same set of tools as being used for SWT/RCP development. RAP makes it easy to re-use existing RCP code, write applications for desktop and web from a single code base, and to integrate other Eclipse technologies in web applications. A well defined protocol allows to connect alternative clients.

Release Deliverables

  • Tools: useful tools for developing RAP applications, templates and documentation for RAP development. Available as p2 repository.
  • Runtime (Target Components): contains the RAP runtime to be used as target platform, including sources and a simple demo application. Available as p2 repository.

Table of Contents

Release Milestones

Release milestones will be occurring at roughly 6 week intervals, and will be aligned with the Kepler Simultaneous Release train.
M1August 24, 2012
M2October 05, 2012
M3November 16, 2012
M4December 21, 2012
A detailed ramp down plan towards the release is available for the Simultaneous Release integration.

RAP 2.0 will be released on February 08, 2013.

We currently do not plan any service releases for RAP 2.0, instead a subsequent version will follow quickly.

Table of Contents

Target Environments

The RAP 2.0 server bundles will be compatible with

  • Java: Compiler level and minimum execution environment is Java 1.5 (J2SE 5.0). However, when used with javax.servlet 3.0, JavaSE-1.6 is required.
  • Java Servlet API: RAP can be used with any compliant servlet container. Required servlet API version is 2.3 .. 3.0.
  • Equinox/OSGi: Equinox version 4.2 is included in the basic target requirements. However, RWT and RWT-OSGi will run on any compliant OSGi container.

The default RAP client will support the following web browsers/rendering engines:

  • Internet Explorer 7.0 and later
  • Firefox 2.0 and later
  • Safari 3.0 and later
  • Google Chrome 3.0 and later
  • Opera 9.0 and later

Internationalization

The Remote Application Platform is designed as the basis for internationalized products. The user interface elements provided by the RAP components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles.

Table of Contents

Compatibility with Previous Releases

RAP 2.0 will be not be backward compatible with RAP 1.5. A migration guide is available.

Table of Contents

Themes and Priorities

Support for alternative RAP clients

In RAP 1.5, we introduced a well-defined communication protocol based on JSON. This protocol is used for the responses from the server. We will extend the usage of this protocol to requests and so complete the protocol conversion.

  • Committed

    • Install a formalized communication format between server and client [311355] (target milestone: ---)
    • Provide a public JSExecutor API [342995] (target milestone: 2.0 M3)
    • Replace Ajax request parameters with JSON [355728] (target milestone: ---)

API Cleanup

With the update of the major version, we will clean up our APIs. We will provide new API for components based on the new protocol and remove obsolete methods and classes.

  • Proposed

    • The JEE_COMPATIBILITY mode is missing central exceptions handling [367773] (target milestone: 2.1 M1)

Widget Toolkit Enhancements

As in every release, we plan to improve and enhance the RAP widget set. In this release, we'll focus on a rework of the event system implementation of RWT.

Table of Contents