Web Development with RAP for RCP Developers

(2 Days)

This course will teach you everything you need to use the Eclipse Rich Ajax Platform (RAP) for developing web applications.

RAP is "RCP for the web". It provides a web-enabled implementation of SWT, Jface and the Workbench. This allows Eclipse / RCP developers to build rich browser-based applications written in Java, without having to learn a big stack of new technologies.

This course tailored for developers with a good knowledge of Eclipse RCP, who want to use the Rich Ajax Platform to kick-start their web development efforts. Special focus will be given on techniques for porting existing RCP applications to RAP and for creating a shared code base between both applications.

All our instructors are directly involved in the RAP project as committers or work on commercial applications that use RAP. This course gives you the opportunity to learn from their experience. The hands-on focus and the 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 Goals

  • Understand the most common concepts Eclipse Rich Ajax Platform (RAP)
  • Become ready to apply this knowledge to your wed-development needs
  • Become familiar best practices developing RAP development
  • Special focus will be given on: the differences between RCP and RAP; porting existing RCP applications to RAP; creating a shared code base for RAP and RCP

Target Audience

  • The training is targeted at experienced Eclipse RCP developers who would like to benefit from Eclipse's Rich Ajax Platform (RAP) for the development of general web applications

Prerequisites

  • Strong knowledge of Java and object-oriented programming
  • Experience in developing Eclipse plug-ins or an RCP application
  • Basic knowledge of design patterns and XML

Contents

  1. Introduction to RAP
    • Brief history of RAP
    • Types of applications where RAP can be used
    • Advantages of using RAP for business applications
    • Comparison of RAP to RCP
    • Migrating the RCP Mail Example
  2. Getting Started
    • IEntryPoint as the main RAP starting point
    • Creating an empty RAP application
    • Launching the application
  3. Introduction to RWT
    • RWT history and concepts
    • RWT widgets
    • Layout managers
    • Working with events and listeners
    • Special widgets (Menus, Toolbar)
    • Overview of JFace (Dialogs and Viewers)
    • Differences between RCP and RAP UI development
  4. Server-Side Scopes
    • Learn about the different scopes (request-, session-, application-scope) available withing a RAP application
    • Using the RWT class to get access to life cycle management, session- and service-stores
    • Using the SessionSingletonBase to create session aware Singletons
  5. Workbench
    • The Workbench - Eclipse's UI Metaphor
    • Windowing: Window, Menu, Page, Perspective, View, Editor
    • Workbench advisor classes
    • Workbench life-cycle
    • Creating workbench elements
  6. Architectural Overview
    • Internal architecture of a RAP application (servlet container, OSGi, plug-ins, extension points)
  7. Extending the RAP Platform Runtime
    • Creating contributions and accessing the extension registry
    • RAP applications as a structured system of extension points and contributions
  8. RWT Custom Controls
    • Writing your own RWT custom widget in Java
    • Registering your own java-script for client-side widget representation
    • Writing your own widget adapter to synchronize the server and client states of the widget
  9. Deployment of RAP applications
    • Features and Fragments
    • Deployment options (Jetty vs WAR)
    • War Archive Creation
  10. UI customization
    • Theming
    • Branding
    • Custom window contents
  11. RCP to RAP migration
    • Migration experiences and best practices
    • Common problems and how to solve them
    • How to structure your plug-ins for single sourcing
  12. Experiences and Best Practices
    • RAP best practices
    • Common pitfalls
    • Functional and Load Testing
    • Performance Optimizations

Provided Training Materials

  • Personalized Training Handbook
  • CD / download with application platform and solutions to all exercises (source code)

Additional Information

  • Course Duration: two days
  • Course format: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: we guarantee a maximum number of 6-8 participants per class
  • Participants must bring their own laptop with an up-to-date installation of Eclipse

Course Language

Classes at US locations are held in English. Classes in Germany are held in German. Further languages are available upon request.

Pricing

Pricing varies by location. Please refer to the registration forms below for details.

Registration and Contact

Register today to reserve your spot, by filling out the registration for your course:

Course Schedule USA

Course Schedule Germany

Unanswered questions? No matching dates? Prefer a training at your office?

We look forward to hearing from you:

North America:
Elias Volanakis
(+1) 503-552-1457
evolanakis(at)innoopract.com

Europe:
Michaela Unser
(+49) 721 664733 0
munser(at)innoopract.com

© INNOOPRACT GmbH / www.innoopract.com
Alle Rechte vorbehalten. Vervielfältigung nur mit Genehmigung der INNOOPRACT GmbH.
Alle rights reserved. Reproduction only under permission of INNOOPRACT GmbH.