Professional Web Development with RAP
(4 Days)
This course will teach you everything you need to use the Rich Ajax Platform (RAP) for developing web applications.
RAP is an Eclipse technology for building rich browser-based applications written in Java. It enables developers to reuse their existing Java and Eclipse know-how and provides means for sharing code between web- and desktop-applications.
Kick-start your own development efforts by attending this course and learning from our RAP experts. 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.
During this class you will incrementally develop a full RAP application. 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)
- Apply those concepts by developing a full RAP-based application
- Gain working knowledge of the Eclipse RAP architecture
- Become familiar best practices developing RAP development
Target Audience
- The training is best for Java 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 using the Eclipse IDE
- Basic knowledge of design patterns and XML
Contents
- Introduction to RAP
- Brief history of RAP
- Types of applications where RAP can be used
- Advantages of using RAP for business applications
- Getting Started
- IEntryPoint as the main RAP starting point
- Creating an empty RAP application
- Launching the application
- Introduction to RWT
- RWT history and concepts
- RWT Container widgets (Shell, Composite, Group)
- Other widgets (Label, Button, Text, Combo, List, Table, ...)
- Layout managers
- Working with events and listeners
- Special widgets (Menus, Toolbar)
- Standard dialogs
- JFace Viewers
- Introduction to Structured Viewers
- Using a JFace Tree Viewer
- Tables and the Jface Table Viewer
- 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
- Workbench
- The Workbench - Eclipse's UI Metaphor
- Windowing: Window, Menu, Page, Perspective, View, Editor
- Workbench advisor classes
- Workbench life-cycle
- Creating workbench elements
- Architectural Overview
- Internal architecture of a RAP application (servlet container, OSGi, plug-ins, extension points)
- Plug-in and package dependencies
- Plug-in lifecycle
- Versioning and naming conventions
- Extending the RAP Platform Runtime
- Creating contributions and accessing the extension registry
- RAP applications as a structured system of extension points and contributions
- Perspectives
- Implementing and contributing perspectives
- Defining perspective layout and contents
- Adding a view to a perspective
- Views
- Implementing and contributing views
- Using JFace viewers inside views
- Registering View Actions/Commands
- Editors
- 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
- Registering Editor Actions/Commands
- Advanced Concepts
- Action set part associations
- Defining own extension points
- 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
- Deployment of RAP applications
- Features and Fragments
- Deployment options (Jetty vs WAR)
- War Archive Creation
- UI customization
- Theming
- Branding
- Custom window contents
- Experiences and Best Practices
- Naming Conventions
- Structuring Code
- 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: four 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