From the RCP Book to Reality

Jean-Michel Lemieux (IBM Eclipse Foundation)

Rich Client Platform · Long Talk

Thursday, 13:30, 50 minutes | Grand Ballroom GHAB | Download in iCal Format


Jean-Michel Lemieux

After co-authoring the Eclipse Rich Client Platform book, I dove head first into the development of a large scale RCP application called Jazz. While the Eclipse IDE is a good example of an RCP application, in many ways it's too simple of an example. This talk walks through the experiences learned from both writing the book and then having to put the experience into action.

Talk Outline:

Extensions and plug-ins everywhere

Starting with the good things about Eclipse and RCP development, we pushed the limits of plug-ins and extensibility from the client to the server, into the data storage, and into the web. This section explores the extensibility concepts we added to allow data, web, and server extensibility using plug-ins.

Don't touch my MANIFEST!

How to design plug-ins when code runs on the client, on the server, and in different configurations. Monolithic plug-ins don't cut it anymore. I'll introduce the guidelines we introduced for plug-in architecture and naming to make the plug-in architecture explicit from the beginning.

Leave the UI thread alone

We all know what happens when a long running task hogs the UI thread. We designed into the system a way to detect if anyone was talking to the server from the UI thread and throw an exception.

We are not alone in the playground

Plug-ins are nice, but what happens when you have to integrate with other tools? From plain java clients such as Ant, to other languages such as Javascript or C++, I'll outline the techniques we used to allow plain java applications to know about plug-ins by extending the plug-in registry and for other languages, the exposure of REST services. This is critical for any realworld RCP application which needs to integrate with others.

Where does the common code go?

Once you have to support integrations with plain java and other languages, how can you write portable business logic? We put in place guidelines for writing client/server agnostic business logic which was also Eclipse agnostic so that it can run in plain java environments.

Java and Eclipse need to improve

Even after all this work, it's still unfortunate that Java and Eclipse still get in the way. This last section talks about where Java and Eclipse have to go to make Eclipse RCP a more viable platform.

Jean-Michel Lemieux is the co-author of the Eclipse Rich Client Platform book published by Addison-Wesley ( He's been a lead architect and developer on the Jazz project ( since 1995 which has allowed him to put his RCP experience to work on a large scale client-server application. On Jazz, he is the SCM component lead. Jean-Michel has been a committer on the Eclipse Team and CVS components since their inception.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo


Cloudsmith logo

BIRT Exchange logo

Skyway Software logo


BlackBerry logo

AMD logo

Silver sponsors








Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools


Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo


Be a Sponsor