54
Single Sourcing Rüdiger Herrmann Ralf Sternberg RAP and RCP Desktop and Web clients from a single code base

Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Embed Size (px)

DESCRIPTION

Tutorial EclipseCon 2009 - Slides

Citation preview

Page 1: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Single Sourcing

Rüdiger HerrmannRalf Sternberg

RAP and RCP

Desktop and

Web clients from a

single code base

Page 2: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Web 2.0 Desktop

RCP / RAP

Page 3: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

3

The Rich Ajax Platform

Page 4: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Who We Are

RAP Development Core TeamKarlsruhe, Germany

Page 5: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Tutorial Outline

RAP Bas ics

S ing le Sourc ing

Sty l ing

Deployment

Stress Test ing

Page 6: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Layers of RCP

Page 7: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 8: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 9: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

RAP Layers

Page 10: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

RCP RAP

Page 11: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

How does it work?

Client Server

Page 12: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Request Life Cycle

w7.selection = true

Page 13: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Request Life Cycle

update client widget state

process events

create response

text.setText( … );

checkbox   selected←

Page 14: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Request Life Cycle

w3.setText( ... )

Page 15: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Hand Tools

Eclipse SDK

RAP SDK

includes

- RAP Runtime

- Tooling

- Help

Page 16: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

RAP Packaging

Page 17: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Tutorial Outline

RAP Bas ics

S ing le Sourc ing

Sty l ing

Deployment

Stress Test ing

Page 18: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

RAP is Multi-User!

RCP RAP

Page 19: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

RAP Runs in a Browser

RCP RAP

File system File upload

Page 20: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Differences

RAPRCP

Desktop-centricfeatures

Web-centric features

Page 21: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Using Fragments

Host Bundle

Fragments

Page 22: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Workplace

Page 23: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Shared ProjectsRAP Workspace

RCP Workspace

Page 24: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Lab I: Single-Sourcing the Mail Demo

Page 25: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

25

Optional Dependencies

Page 26: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

26

Delegation

Bundle

Fragment

Page 27: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Tutorial Outline

RAP Bas ics

S ing le Sourc ing

Sty l ing

Deployment

Stress Test ing

Page 28: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 29: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 30: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 31: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Branding: Ext. Point

Page 32: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 33: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Theming

Page 34: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 35: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Theming: CSS

Page 36: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 37: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Variants

Page 38: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Interaction-Design API

Layout + Branding + Theming

Styling Application

Runtime

“Extended Stack Presentation”

Page 39: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Lab II: Apply Styling

Page 40: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Tutorial Outline

RAP Bas ics

S ing le Sourc ing

Sty l ing

Deployment

Stress Test ing

Page 41: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

WAR Deployment

Page 42: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Anatomy of a .war File

Page 43: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Lab III: Deployment

Page 44: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Tutorial Outline

RAP Bas ics

S ing le Sourc ing

Sty l ing

Deployment

Stress Test ing

Page 45: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Load testing is the process of putting demand on a system or device and

measuring its response. ”“

...when does it blow up?

or...

Page 46: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

The tools

JMeter is a free, open-source performance measurement tool written in Java

<your choice>

Any HTTP-aware performance measurement tool

or

Page 47: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Prepare environment

1 Similar deployment

Realistic hardware

Network latency

Page 48: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Record user session

2 Built-in proxy support

WidgetIdGenerator

Page 49: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Cleanup recordings

3 UI Callback Requests

Cookie Manager

Page 50: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Putting it all together

1+2+3

Test Plan (.jmx)

Page 51: Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Page 52: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Results

Page 53: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

… meet us at the booth

Page 54: Single Sourcing RAP and RCP - Desktop and web clients from a single code base

Get in Contact with RAP

eclipse.org/rap RAP Project Page

CVS

Bugzilla

Newsgroup

Wiki