The Vaadin provides a desktop-like programming model on the server for creating Rich Internet Applications (RIAs) in plain Java - without the need for HTML, XML, plug-ins or JavaScript.
Session explains the key concepts of the server-side RIA development model and compares it to client-side RIA. To demonstrate the use of framework, an example application is developed during the session step-by-step. The presentation is concluded with pointers on how to start developing your own applications with Apache-licensed Vaadin-framework.
You'll learn:
* How to create a desktop like web application in Java
* Difference between page oriented, client-side RIA and server-side RIA architectures
* How Vaadin can be extended with Google Web Toolkit
More information and materials about the presentation:
http://vaadin.com/web/joonas/wiki/-/wiki/Main/Server-side%20RIA
14. Used by >50.000
developers in >150
countries
Building apps for
fortune 500, startups,
governments, ...
across all industries
Collaborating by
conributing > 200
plug-ins and helping
plug-ins, mainstream each other on a forum
with >1500 posts / m
10
11
Backed by 50+ person
20
20
full-time team
17. Contents
Server-side Discussion
RIA
What is it? Pros & cons?
Vaadin
Technology, Features, Getting started
In practice
Coding a Vaadin
application step-by-step
33. Server-side RIA
Client 8
Server
9 7
TerminalAdapter
TerminalAdapter
HTML Page
over HttpResponse View 6
Automated by 5
DOM the RIA framework Model
Handled by the framework Parameters over
HttpRequest Controller
1 4
3 DB
2
34. High level
simpler
⢠100% Java
Strong ⢠Strong typing
⢠Object oriented
programming ⢠Excellent tooling
model
less bugs
⢠No JavaScript debugging
⢠Ignore browsers
35. server enviroment
⢠Access any library
⢠Use any language
⢠Runtime is not
limited by browser
⢠Trusted
⢠Well defined
39. Measured 12.000
active concurrent
users per server
for a ticketing app
* Amazon EC2-large; 20.622 Ajax requests /
minute peak; limited by storage layer
67. Layers of abstraction
backend frontend
RPC browser browser
server server
any language any language json / xml java â javascript
ExtJS GWT Vaadin
required required optional optional optional
required required required required optional
required required required X required
74. Vaadin UI component
architecture
HTTP(S)
âUI Componentâ âWidgetâ
⢠Button, Table, Tree, ... ⢠Client-side peer for
⢠Server-side data the component
⢠Full Java API ⢠Runs on JavaScript
Java Java
⢠Compiled with JDK ⢠Google Web Toolkit
77. Implement two classes
Server-side Client-side
âUI Componentâ Automatic âWidgetâ
⢠DeďŹne API ⢠Render to DOM
⢠Receive client events ⢠Collect user events
⢠Send UI updates
back
91. Apache Tomcat, version 4.1 or later
Oracle WebLogic Server, version 9.2 or later
Oracle WebLogic Portal, version 10gR3
IBM WebSphere Application Server, version 6.1 or later
IBM WebSphere Portal, version 6.1 and 7.0
JBoss Application Server, version 3.2.8 or later
Jetty, version 5 or later
GlassďŹsh, version 2 or later
Liferay Portal 5.2 or later
GateIn Portal 3.1
eXo Platform 3
Google App Engine
Vaadin supports Java Servlet API 2.3
and JSR-168 and JSR-286 Portlet
SpeciďŹcations and should work with
any Java application server that conforms
to these standards.
112. Download for Free
vaadin.com/book
Vaadin is
a
for build n open source
ing mod J
look gre ern web ava framework
at, applicat
your use perform well a ion
rs happ nd make s that
y. you and
http://va
adin.com
/
SBN 978
-9 52-92-67
53-8
90000
9 7 8 95 2
9 267538
$29.95
4th Editio
n
674 pages
114. brought to you by...
#85
Get More Refcardz! Visit refcardz.com
CONTENTS INCLUDE:
About Vaadin
Getting Started with Vaadin
Creating An Application
Components
Layout Components
Themes
Data Binding and more...
By Marko GrĂśnroos
ABOUT VAADIN Web
Browser External
Client-Side Resources
Vaadin is a server-side Ajax web application development Engine
framework that allows you to build web applications just like AJAX Requests
with traditional desktop frameworks, such as AWT or Swing. An Servlet Container
Java File
application is built from user interface components contained Servlet Resources
hierarchically in layout components.
Data
In the server-driven model, the application code runs on Application UI Binding Default
Class Component Theme
a server, while the actual user interaction is handled by a
client-side engine running in the browser. The client-server Inherits Events Changes Inherits
communications and any client-side technologies, such as User Event Data Application Application
HTML and JavaScript, are invisible to the developer. As the Application Listener Model Themes Resources
client-side engine runs as JavaScript in the browser, there is no
need to install plug-ins. Vaadin is released under the Apache Database
License 2.0.
Web Java Vaadin Your Web Figure 2: Architecture for Vaadin Applications
Browser Web UI Java Service
Client-Side Server Components Application
You can get a reference to the application object
.dzone.com
Engine EJB Hot
Tip from any component attached to the application with
DB
Event Listeners
Figure 1: Vaadin Client-Server Architecture
In the event-driven model, user interaction with user interface
If the built-in selection of components is not enough, you can
components triggers server-side events, which you can handle