RAP for Java Developers

Eastern Timezone, North America
Monday, November 12, 2012

RAP for Java Developers
Monday, November 12, 2012 10:00 AM -
Thursday, November 15, 2012 6:00 PM (Eastern Time)

Virtual Class
Eastern Timezone, North America


The Rich Ajax Platform (RAP) is an Eclipse Java technology for building rich browser-based applications. It enables developers to reuse their existing Java and Eclipse know-how and provides means for sharing code between web- and desktop-applications. This course teaches you everything you need to use RAP for developing web applications.

Using course material designed by the RAP project leaders and committers, the people who literally developed the technology, this course accelerates your adoption of this powerful platform. Our veteran Eclipse developers, with years of product development experience, teach you everything you need to develop RAP-based web applications. Along the way they are able to provide insights, best practices and context to help you to start your own development efforts and keep on track.

Course participants incrementally develop a full RAP application from scratch in a series of hands-on focused sessions. Keeping a small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of Eclipse RAP and get plenty of individual support from our experts.

Course Format

  • Duration: 4 days
  • Structure: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: maximum 6-8 participants per instructor
  • Equipment: participants supply their own computer with an up-to-date installation of Eclipse

Course Fees

  • Early Bird - USD 2,300 - to receive this rate register and pay 6 weeks before the start date
  • Regular - USD 2,500
  • 10% group discount for registering 3 or more participants


The trainer for this class is Mr. Elias Volanakis.

Elias is a Technical Lead at EclipseSource. He has been writing Eclipse-based software since 2004 and is helping software professionals make the most out of Eclipse in their own development efforts. Elias is working on Eclipse as a committer for the Riena (business-friendly RCP) and RAP (RCP for the web) projects. He is sharing his knowledge through training, conference talks and blog posts.

Feedback from course participants:
"Elias did an excellent job covering many topics in a short time-frame. He also was very helpful in answering all questions in detail. I learned a lot from this training. He also customized parts of the course at our request."
"It was a really good class. It really helped that it was very hands-on."
"I was impressed with the experience and the instruction. Elias was great and very open to dialog and questions."

Course Goals

  • Understand the fundamental concepts of Eclipse and the Rich Ajax Platform (RAP)
  • Apply those concepts by developing a full RAP-based application
  • Gain a working knowledge of the Eclipse RAP architecture
  • Become familiar with best practices for RAP development

Target Audience

  • Java developers looking to benefit from Eclipse's Rich Ajax Platform (RAP) for developing general web applications
  • Software architects interested in building business-wide software platforms


  • Knowledge of Java and object-oriented programming
  • Experience using the Eclipse IDE is desirable
  • Basic knowledge of design patterns and XML

Course Outline

Introduction to the Rich Ajax Platform (RAP)
  • Examples of RAP applications
  • Advantages of using RAP: Java, components, multi-platform, multi-user
  • RAP Architecture: RWT, JFace, OSGi, Runtime, Workbench
Getting Started
  • Creating your first RAP application
  • IApplication as the main starting point
  • Launching and debugging the application
RWT Essentials: Widgets, Layouts, Dialogs
  • Important RWT concepts
  • Container widgets (Shell, Composite, Group)
  • Regular widgets (Label, Button, Text, ...)
  • The UI thread
  • Dealing with long-running operations
  • Working with events and listeners
  • Layout managers
  • Fill-, Row-, Grid- and Form-Layouts
  • Working with standard Dialogs
JFace Viewers
  • Introduction to Structured Viewers
  • Content and Label providers
  • Working with Tables and the TableViewer
  • Working with Trees and the TreeViewer
  • Adding custom Images
Server-Side Scopes
  • Learn how RAP works internally
  • Requests and Responses
  • RAP Scopes (request-, session-, application-) and availability of data
  • Using the SessionSingletonBase to create session aware Singletons
Applications & Workbench
  • Understand basic Workbench concepts
  • Identify the major elements of a RAP application
  • Window, Menu, Page, Perspective, View, Editor
  • Configure appearance and content of the application
Views & Perspectives
  • Introduction to Extensions / Extension Points
  • Implementing and contributing views
  • Implementing and contributing perspectives
  • Defining perspective layout and contents
  • Reusing UI elements with custom composites
  • Introduction to commands and handlers
  • Adding commands to menus, toolbars and pop-ups
  • Integrating with the selection service
  • Conditional enablement and visibility
  • Assigning images to commands
  • Attaching key-shortcuts to commands
  • Types of Editors (form editors, multi page editors)
  • Differences between Views and Editors
  • Contributing and opening an editor
  • Implementing an editor
  • Managing the dirty state of an editor
OSGi Essentials
  • How do plug-ins work together?
  • Plug-in and package dependencies
  • Plug-in lifecycle
  • Versioning and naming conventions
  • Fragments
Defining Extension Points
  • Extension Points, Extensions, Contributions
  • Using the Extension Point Editor to define a Schema
  • Working with the Extension Registry object
  • Adding Extensions to a custom Extension Point
UI Customization: Branding, Theming, CSS
  • Using the branding extension point
  • Associating a theme, favicon and url with your application
  • Available RAP Themes
  • Altering your application's appearance with CSS
  • Altering an existing theme
Deployment of RAP applications
  • Deployment options (Jetty vs WAR)
  • WAR Archive Creation
  • The WAR Product Tooling
RWT Custom Controls
  • Compound vs custom widgets
  • Writing your own RWT custom widget in Java
  • Registering your own JavaScript for client-side widget representation
  • Writing your own widget adapter to synchronize the server and client states of the widget
Internationalization (i18n)
  • Internationalization in RAP: one instance, many languages
  • Using the RWT.NLS class
  • Internationalizing Java and static files
  • Where to download translations for RAP
Tuning and Best Practices
  • Load Testing
  • Load Balancing
  • Performance Tuning
  • Unit and Functional Testing
  • Naming Conventions
  • Structuring Code


  • This course is held in English. Other languages are available on request.

Contact Information

Payment Instructions

  • You may pay online with a credit or debit card (Visa or MasterCard).
© 2018
Quick, easy and affordable online event registration and event management software for all event sizes.