Java-based web-apps with the Rich Ajax Platform (RAP)



Similar documents
Eclipse 4 RCP application Development COURSE OUTLINE

How To Write An Ria Application

Web Development with the Eclipse Platform

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Sabre Red Apps. Developer Toolkit Overview. October 2014

Profiling and Testing with Test and Performance Tools Platform (TPTP)

What means extensibility?

Practical Eclipse Rich Client Platform Projects

Take full advantage of IBM s IDEs for end- to- end mobile development

An introduction to creating JSF applications in Rational Application Developer Version 8.0

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Glassfish, JAVA EE, Servlets, JSP, EJB

E4 development: examples, methods and tools. Eclipse Con France 2014

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

The Oracle Fusion Development Platform

Eclipse Rich Client Platform. Kai Tödter Karsten Becker et al. Organized by:

IBM Rational Web Developer for WebSphere Software Version 6.0

AJAX Toolkit Framework

Desktop, Web and Mobile: Learn one get two for free

Lab 0 (Setting up your Development Environment) Week 1

Actuate Business Intelligence and Reporting Tools (BIRT)

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

ORACLE APPLICATION EXPRESS 5.0

Oracle Application Development Framework Overview

SCOUT IN THE CLOUD. How to Scale Eclipse Scout Applications in the Cloud? Judith Gull & Thomas Schweigler

What s New in IBM Web Experience Factory IBM Corporation

Duke University Program Design & Construction Course

HTML5. Turn this page to see Quick Guide of CTTC

ExtraHop and AppDynamics Deployment Guide

Java Application Development using Eclipse. Jezz Kelway Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

How to Easily Integrate BIRT Reports into your Web Application

OpenCV on Android Platforms

Designing and Implementing Support for Web Browser-Based UIs by Using Ajax Technology

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Rapid Application Development. and Application Generation Tools. Walter Knesel

Hudson configuration manual

SaaS-Based Employee Benefits Enrollment System

CaptainCasa. CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. Feature Overview

Web-JISIS Reference Manual

Eclipse Scout. Eclipse Scout in the Banking Industry

SPELL Tabs Evaluation Version

BIRT Application and BIRT Report Deployment Functional Specification

Java Development for the Cloud, present and future. Scott Rich Distinguished Engineer, IBM Rational

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

GUI and Web Programming

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Introduction to Android. CSG250 Wireless Networks Fall, 2008

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

How To Develop An Open Play Context Framework For Android (For Android)

Eclipse-based Applications: Java on the Desktop Revisited

Software Development Kit

The Eclipse Scout Book Version 3.9 (Kepler)

Web Cloud Architecture

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Google App Engine f r o r J av a a v a (G ( AE A / E J / )

Programmabilty. Programmability in Microsoft Dynamics AX Microsoft Dynamics AX White Paper

Jordan Jozwiak November 13, 2011

CA APM Cloud Monitor. Scripting Guide. Release 8.2

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

Rich Internet Applications

INTRODUCTION TO ATRIUM... 2 SYSTEM REQUIREMENTS... 2 TECHNICAL DETAILS... 2 LOGGING INTO ATRIUM... 3 SETTINGS... 4 NAVIGATION PANEL...

rich mobile applications made easy

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Dr. Dimitar Valtchev. 24 June 2010, Stuttgart, Eclipse Embedded Day

JReport Server Deployment Scenarios

Java with Eclipse: Setup & Getting Started

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

Portals, Portlets & Liferay Platform

e(fx)clipse - JavaFX Tooling and Runtime

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

SAP HANA Core Data Services (CDS) Reference

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

Building Java Servlets with Oracle JDeveloper

Eclipse Visualization and Performance Monitoring

What's New in Sametime 8.5. Roberto Chiabra IBM Certified IT Specialist

APPENDIX A Web Redesign Infrastructure. Deployment Overview

Cloud Omnichannel Contact Center Software

Informatica Data Director Performance

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Transcription:

Java-based web-apps with the Rich Ajax Platform (RAP) Elias Volanakis evolanakis@innoopract.com 2006, 2007 Innoopract Inc made available under the EPL 1.0

Eclipse Rich Ajax Platform Project (RAP) Goal: develop rich Ajax-enabled web applications by: coding in Java using the full Java libraries using Java-based Widget Toolkit component-oriented development model (plug-ins / OSGi) extensible (xml-meta info + java-code) without hand-coding Ajax skill preservation leverage existing Java / Eclipse know-how single sourcing of rich client and rich internet applications 2006, 2007 Innoopract Inc made available under the EPL 1.0 2

Who is it for? Java Developers (willing to learn some Eclipse concepts) Eclipse Developers 2006, 2007 Innoopract Inc made available under the EPL 1.0 3

User's View of a RAP Application 2006, 2007 Innoopract Inc made available under the EPL 1.0 4

Developer's View of a RAP Application developer does not get in touch with Javascript, CSS, HTTP 2006, 2007 Innoopract Inc made available under the EPL 1.0 5

Developer's View of a RAP Application 2006, 2007 Innoopract Inc made available under the EPL 1.0 6

Developer's View of a RAP Application developer does not get in touch with Javascript, CSS, HTTP 2006, 2007 Innoopract Inc made available under the EPL 1.0 7

How does it work? RAP Widget Toolkit (RWT) - port of the Standard Widget Toolkit (SWT) server-centric - logic resides on the server UI is rendered by emmiting browser-side JavaScript at run-time user action triggers a state-update (example button was clicked) state is recomputed on server only the delta is transmitted (very small) 2006, 2007 Innoopract Inc made available under the EPL 1.0 8

RAP Architecture Overview subset of SWT, JFace, Workbench APIs RWT uses qooxdoo java script library to render widgets on the client differences multi-user environment OSGi bundles are shared between sessions 2006, 2007 Innoopract Inc made available under the EPL 1.0 9

RWT Controls Most basic widgets Trees Tables See Controls Demo 2006, 2007 Innoopract Inc made available under the EPL 1.0 10

RWT Layouts Layouts are computed on the server All usual layouts GridLayout RowLayout FillLayout StackLayout... mostly 1:1 copies of SWT work exactly as in SWT 2006, 2007 Innoopract Inc made available under the EPL 1.0 11

RWT Events and Listeners typed and untyped events and listeners SelectionListener ModifyListener VerifyListener MenuListener... some events not possible due to latency limitations of web environment key-up/down, mouse-up/down, mouse-move modify events collect consecutive keystrokes 2006, 2007 Innoopract Inc made available under the EPL 1.0 12

Hello World RWT Hello in World RAP SWT Hello World 2006, 2007 Innoopract Inc made available under the EPL 1.0 13

The RWT Lifecycle Phases at the end of the ReadData phase all widget attributes are in sync with the client these attributes are preserved for later comparison during the ProcessAction phase attribute changes may occur the Render phase compares the widget attributes with their preserved values and submits only the delta to the client 2006, 2007 Innoopract Inc made available under the EPL 1.0 14

RWT Architecture SWT-like API composition of widgets into a component tree AJAX engine based on qooxdoo lifecycle management of the request rendering kits (life cycle adapter LCA) user-defined components RWT 2006, 2007 Innoopract Inc made available under the EPL 1.0 15

Cool Stuff - Workbench Views Outline Properties Editors Multi-page Perspectives Perspective Switcher Menus Framework 2006, 2007 Innoopract Inc made available under the EPL 1.0 16

Cool Stuff Viewers MVC like approach for managing Table and Tree Widgets Viewer: manages Widget has Input (your model) has LabelProvider generates Strings and Icons has ContentProvider generates structure 2006, 2007 Innoopract Inc made available under the EPL 1.0 17

Cool Stuff Wizard Framework WizardDialog shows a Wizard Wizard has one to n pages maintains state (current page, can switch, can finish) WizardPage UI for one page State for one page (iscomplete) 2006, 2007 Innoopract Inc made available under the EPL 1.0 18

Cool Stuff Jobs / Progress General support of background jobs Support for long-running tasks in the UI Progress View 2006, 2007 Innoopract Inc made available under the EPL 1.0 19

Cool Stuff - Forms Eclipse UI Forms 2D / flat widgets SWT widgets with customized look and feel RAP does not yet completely mimic original implementation 2006, 2007 Innoopract Inc made available under the EPL 1.0 20

Cool Stuff Theming Allow for a fresh look of web applications Predefined widget properties can be customized Format: simple Java.properties file 2006, 2007 Innoopract Inc made available under the EPL 1.0 21

Example - Themed Application 2006, 2007 Innoopract Inc made available under the EPL 1.0 22

Cool Stuff Custom Widgets Like SWT this requires good knowledge of the platform Component Developer needs Javascript, Qooxdoo and RAP knowledge Application Developer simply uses Java API GMap map = new GMap( shell, SWT.NONE ); map.setaddress(... ); Tutorial in RAP Help 2006, 2007 Innoopract Inc made available under the EPL 1.0 23

Scalability and Performance RAP has a per-session memory requirement on the server Based on optimization experience from more than 5 years of working on W4T (RAPs ancestor) Web Workbench performance tests Core Duo CPU, 500 MB of heap 500 concurrent users, one request every five seconds average response times below 20ms approx. 100 MB heap space W4T-based Yoxos on Demand server several thousand users every day 2006, 2007 Innoopract Inc made available under the EPL 1.0 24

RAP Deployment Complies with JEE servlet standards 2.3, 2.4 and 2.5 Applications can be deployed as standard web archives (.war) Eclipse is running inside a web app Servlet interaction through Equinox Servlet Bridge Eclipse runs once per Web-App Alternatively a web service (i.e. jetty) can be started as a plug-in 2006, 2007 Innoopract Inc made available under the EPL 1.0 25

Who's contributing to development? Innoopract leads RAP development Eclipse specialist RAP / Eclipse Consulting, Training makers of the Yoxos Eclipse Distribution CAS leading expert for customer relationship management (CRM) in the SME sector 1and1 ISP - world's largest web host by known servers 2006, 2007 Innoopract Inc made available under the EPL 1.0 26

Releases Version 1.0 - released this week Version 1.1 - targeting February 2008 adding a couple of things that didn't make it into 1.0 internalization drag & drop... Version 1.1 - targeting the June 2008 release train 2006, 2007 Innoopract Inc made available under the EPL 1.0 27

What others are saying... RAP is hot RAP is pretty innovative and definitely scores very high on the wicked cool scale. If you haven t already, you should take a look. - Wayne Beaton Web Development is so 90 s the Rich Ajax Platform (RAP) project is doing stuff that is so 2010 - Chris Aniszcyk "RAP is very easy if you have skills in Eclipse / RCP technology. Even if you have developed Java desktop applications, RAP has a lot of similar concepts" - Roberto Sanchez Custodio, Autonomind Using the OSGi component architecture for our Browser-based applications allows us to quickly create and deploy customizable applications - Ludwig Neer, CAS Software See also http://www.eclipse.org/rap/buzz.php 2006, 2007 Innoopract Inc made available under the EPL 1.0 28

RAP Resources Give it a try! Project Homepage - www.eclipse.org/rap/ Demos - www.eclipse.org/rap/demos.php Newsgroup - www.eclipse.org/rap/newsgroup.php qooxdoo - qooxdoo.org JavaScript UI framework Getting Started Screencast http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html 2006, 2007 Innoopract Inc made available under the EPL 1.0 29

Thanks for attending! Contact Info: Elias Volanakis evolanakis@innoopract.com Innoopract Inc 351 NW 12 th Avenue Portland, OR 97209 2006, 2007 Innoopract Inc made available under the EPL 1.0 30