Elias Volanakis
Jordi Boehme Lopez
The Rich Ajax Platform (RAP) is an Eclipse project for building Ajax-enabled web applications written in Java and based on plug-ins and the Eclipse development model. This enables developers to reuse their existing RCP and Java know-how for building such applications. RAP achieves this by providing a web-enabled implementation of SWT, JFace and the Workbench. One of RAPs goals is to have APIs that are as compatible as possible with the RCP code-base. This makes reusing large parts of existing RCP code for web-based RAP projects possible.
In this tutorial you will learn:
The presenters of these techniques will be sharing their experiences implementing a RCP to RAP conversion in a commercial product.
The session will be most suitable for experienced plug-in / RCP developers with a strong Java background. You should be comfortable with creating plug-ins and contributing to extension points. Previous knowledge of RAP is *not* required as we will introduce the necessary RAP concepts. However for a broader introduction to RAP we highly recommend the tutorial: "Getting started with RAP development".
Technical Prerequisites
If you wish to take part in the excercises you should have Java 5.0 (or later) installed on your laptop. We will provide an Eclipse (win32, linux-gtk-32, macosx) and source code.
Outline
Introduction
What is this tutorial about? Introduction to RAP, RCP. How do they differ? Enabling plug-in reuse: pitfalls, what to consider, how to do it.
Converting an RCP Application
What needs to change? Setting up a RAP Target. The conversion process: managing dependencies, refactoring the plug-ins, adding an entry point, launching. [LAB] Example RCP-to-RAP conversion.
Single Sourcing Techniques
Closing the gap between RCP and RAP: moving RCP-only functionality out of the way, replacing RCP-only functionality with alternatives, hiding differences between facades, [LAB] hiding API differences using an extension point, Singletons vs Session Singletons, coping with lifecycle divergence, safeguards against code breakage.
Q & A
Elias Volanakis is a Technical Lead and Eclipse expert at Innoopract, the company behind the Eclipse RAP project. He has been helping multiple projects build Eclipse-based software since 2004 and has recently worked on a commercial RAP application. He shares RAP knowledge at http://rapblog.innoopract.com
Jordi is an Eclipse developer at Innoopract. He has build several Eclipse-based tools and IDEs since 2004. At Innoopract, he is responsable for the Yoxos Eclipse Distribution tooling, content and its validation and has recently worked on commercial RAP applications.