Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Samankaltaiset tiedostot
Käyttöliittymien uusi sukupolvi Logicalla Rondo-tuotteessa

Laiteriippumaton UI Ajaxilla ja Javalla

7. Product-line architectures

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Microsoft Lync 2010 Attendee

TIETEEN PÄIVÄT OULUSSA

7.4 Variability management

JA CHALLENGE Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence

Efficiency change over time

Information on preparing Presentation

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

SOA SIG SOA Tuotetoimittajan näkökulma

Miksi Suomi on Suomi (Finnish Edition)

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Sisällysluettelo Table of contents

Web Service torilla tavataan!

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Choose Finland-Helsinki Valitse Finland-Helsinki

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Lakimies PDF. ==>Download: Lakimies PDF ebook

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Power BI Tech Conference Power BI. #TechConfFI. Johdanto

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Olet vastuussa osaamisestasi

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

OFFICE 365 OPISKELIJOILLE

==>Download: Lakimies PDF ebook By Allan Särkilahti

Azuren yleiskatsaus. eli mistä on kyse ja miten vertautuu esim. AWS:ään. AWS User Group Helsinki, Petri Raitio, Sulava Oy

812336A C++ -kielen perusteet,

API:Hack Tournee 2014

T Iteration demo. T Final Demo. Team Balboa

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

ja itsenäisen harjoittelun jälkeen Microsoftin koe Luennot ja käytännön harjoitukset lähiopetusjaksolla

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Get Instant Access to ebook Kasvuyritys PDF at Our Huge Library KASVUYRITYS PDF. ==> Download: KASVUYRITYS PDF

DIPLOMITYÖ ARI KORHONEN

The CCR Model and Production Correspondence

EUROOPAN PARLAMENTTI

Co-Design Yhteissuunnittelu

Improving advisory services through technology. Challenges for agricultural advisory after 2020 Jussi Juhola Warsaw,

Domain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen

Results on the new polydrug use questions in the Finnish TDI data

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Capacity Utilization

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

MUSEOT KULTTUURIPALVELUINA

Travel Getting Around

Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka

Security server v6 installation requirements

C++11 seminaari, kevät Johannes Koskinen

Erikoiskirjastot somessa. Päivikki Karhula, johtava tietoasiantuntija Eduskunnan kirjasto

21~--~--~r--1~~--~--~~r--1~

Collaborative & Co-Creative Design in the Semogen -projects

Opintomatkat PDF. ==>Download: Opintomatkat PDF ebook By Risto Antikainen

Kliininen päättely. Thomsonin mallin mukaisen yhteistyön näkyminen fysioterapiatilanteessa

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Blogiin kirjautuminen kutsuttuna. Opettajasi lähettää sinulle kutsun sähköpostitse blogi-järjestelmän kautta.

Use of spatial data in the new production environment and in a data warehouse

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Software Signing System System overview and key domain concepts

Salasanan vaihto uuteen / How to change password

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Pojan Sydan: Loytoretki Isan Rakkauteen (Finnish Edition)

Gap-filling methods for CH 4 data

Julkistustilaisuus , SKS, Juhlasali, Helsinki

.NET 2006 ja sen jälkeen

Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE

Group 2 - Dentego PTH Korvake. Peer Testing Report

LYTH-CONS CONSISTENCY TRANSMITTER

MOLTO-konekäännösprojekti ja Grammatical Framework

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Security server v6 installation requirements

Lab A1.FARM_Hyper-V.v3

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

Web Services tietokantaohjelmoinnin perusteet

ADVANCED MOBILE NETWORK MONITORING SOLUTIONS. Made in EXFO Oulu site

F-SECURE TOTAL. Pysy turvassa verkossa. Suojaa yksityisyytesi. Tietoturva ja VPN kaikille laitteille. f-secure.com/total

While we compile backlinks report, You can visit following handy links. Music download

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä


Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Varmista oma paikkasi tulevaisuuden digitaalisilla markkinoilla. IPR-aamiaisseminaari, Ravintola Pörssi,

Euroopan laajuiset paikkatiedot käyttöön Suomessa

Data Quality Master Data Management

Oma sininen meresi (Finnish Edition)

Kilpailutoiminta. Klo Kilpailutoiminnan turvallisuuskoulutus Timo Mustakallio Klo Kahvitauko. Kilpailutapahtumatrekisteri, koulutus

Transkriptio:

Rich Web Applications in Server-side Java without Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com

?

Vaadin is a UI framework for desktop-like web apps

New configs, taglibs and syntax!?! JavaScript, DOM, Applet, plugins? No! This is Java. Nothing else.

java html

healthcare portal, 100 kloc of perl,.. 1998

web 1.0, netscape, ie5, ie6,...

thinking of object oriented design, desktop, Java, U and I...

desktop programming paradigm for web!

found millstone ajax google web toolkit 2000 2002 2005 2008

re-released as 2009

is there a?

Apache License

Contents Server-side RIA What is it? Pros & cons? Discussion Vaadin Big picture, Extending, Getting started In practice Coding a Vaadin application step-by-step

Server-side RIA

? Rich Internet Application

an application that makes developers rich

if they bill by hour

Architecture

Web 1.0 Client 5 Server DOM HTML Page over HttpResponse View 4 Model 3 Parameters over HttpRequest 1 Controller 2 DB

client-side ria fat client

Client-side RIA Client View 5 4 Requested data to view as XML / JSON Server DOM 1 Model 3 Controller Changes to model encoded as parameters 2 DB

programming web is not easy

different features in different browsers

different performance in different browsers

different bugs in different browsers

Google Web Toolkit

Subset of java.lang, java.util Widgetset Java to JavaScript Compiler IE6 IE7 Firefox Your Application UI Safari

simpler Java only forget the web

cost-effective stop debugging JavaScript spaghetti

modular extensible

Building wonderful apps doesn t require writing fat web clients.

server-side ria thin client

Server-side RIA Client DOM 9 1 TerminalAdapter 8 HTML Page over HttpResponse Automated by the RIA framework Parameters over HttpRequest 2 TerminalAdapter 7 3 Server View Controller Model 4 6 5 DB

Server-side RIA Client DOM 9 TerminalAdapter HTML Page over HttpResponse Automated by the RIA framework Handled by the framework 1 8 Parameters over HttpRequest 2 TerminalAdapter 7 3 Server View Controller Model 4 6 5 DB

the benefits of Java simpler forget the web Java cost-effective no JavaScript debugging modular extensible

even simpler forget the client-side synchronous server resources

more flexible all Java tools and libraries any JVM language

more secure code stays in server less web services

not as scalable storing state in server memory limits number of concurrent users

A server with 16GB memory can handle 50.000 concurrent 250kB sessions

no offline mode server is always required

In practice

National Geographic Channel 2010 Seeing is believing

What can it do in 20 minutes?

Demo as video http://www.youtube.com/watch?v=u-a3vqf90kw

Vaadin

all benefits of server-side ria gwt

demo

Vaadin UI component architecture UI Component Button, Table, Tree,... Server-side data Full Java API HTTP(S) Widget Client-side peer for the component Runs on JavaScript Java Compiled with JDK Java Google Web Toolkit

thanks to GWT, creating new ui components is really easy

directory

channel for distributing Vaadin add-ons

ui components, data sources, themes, tools,...

Eclipse Maven Netbeans [Spring Roo]

Servlet Portlet 1.0 Portlet 2.0 App Engine

getting started

Book of Vaadin Free as PDF

#85 brought to you by... w.dzone.com Get More Refcardz! Visit refcardz.com CONTENTS INCLUDE: About Vaadin Creating An Application Components Layout Components Themes Data Binding and more... ABOUT VAADIN Vaadin is a server-side Ajax web application development framework that allows you to build web applications just like with traditional desktop frameworks, such as AWT or Swing. An application is built from user interface components contained hierarchically in layout components. In the server-driven model, the application code runs on a server, while the actual user interaction is handled by a client-side engine running in the browser. The client-server communications and any client-side technologies, such as HTML and JavaScript, are invisible to the developer. As the client-side engine runs as JavaScript in the browser, there is no need to install plug-ins. Vaadin is released under the Apache License 2.0. Web Browser Client-Side Engine Java Web Server Vaadin UI Components Figure 1: Vaadin Client-Server Architecture If the built-in selection of components is not enough, you can develop new components with the Google Web Toolkit (GWT) Getting Started with Vaadin Your Java Application Web Service EJB DB Web Browser Client-Side Engine Java Servlet Application Class User Application Figure 2: Architecture for Vaadin Applications Hot Tip AJAX Requests UI Component Inherits Events Changes Event Listener Servlet Container Data Model Data Binding Database By Marko Grönroos Default Theme Inherits Application Themes Application Resources External Resources File Resources You can get a reference to the application object from any component attached to the application with Event Listeners In the event-driven model, user interaction with user interface components triggers server-side events, which you can handle

Questions Comments m o c. in d a a v @ s a joon +358-40-5035001 n e n ti h le s a n o o /j :/ e p sky