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



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

Credits: Some of the slides are based on material adapted from

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

Web Application Development

How To Write An Ria Application

Web Cloud Architecture

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

Building native mobile apps for Digital Factory

Rich Internet Applications

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

Enterprise Application Development In Java with AJAX and ORM

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Preface. Motivation for this Book

How To Build A Web App

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

Service Oriented Architectures

COM 440 Distributed Systems Project List Summary

CrownPeak Java Web Hosting. Version 0.20

Curl Building RIA Beyond AJAX

Service-Oriented Architecture and Software Engineering

Rich Internet Applications

RIA Overview for Windows 2000, 2002

Client-side Web Engineering From HTML to AJAX

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

SwiftScale: Technical Approach Document

Web Applications Come of Age

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

TDAQ Analytics Dashboard

UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready

Introduction to IBM Worklight Mobile Platform

SaaS-Based Employee Benefits Enrollment System

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Developing modular Java applications

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Coding for Desktop and Mobile with HTML5 and Java EE 7

Understanding Application Servers

B. WEB APPLICATION ARCHITECTURE MODELS

AJAX. Gregorio López López Juan Francisco López Panea

RIA Technologies Comparison

Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform

Rich User Interfaces for Web-Based Corporate Applications

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1

Creating new university management software by methodologies of Service Oriented Architecture (SOA)

How To Write A Web Server In Javascript

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

Client/server is a network architecture that divides functions into client and server

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

A review and analysis of technologies for developing web applications

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

Web Development with the Eclipse Platform

2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

A standards-based approach to application integration

Introduction to BlackBerry Smartphone Web Development Widgets

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

What means extensibility?

Chapter 12: Advanced topic Web 2.0

S3 Monitor Design and Implementation Plans

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc.

MEGA Web Application Architecture Overview MEGA 2009 SP4

Progressive Enhancement With GQuery and GWT. Ray Cromwell

zen Platform technical white paper

Building Java Servlets with Oracle JDeveloper

SOA Myth or Reality??

Experimenting in the domain of RIA's and Web 2.0

RadView Software Whitepaper. Load Testing Web 2.0 Technologies Ajax-RIA-SOA-Web Services

Integration the Web 2.0 way. Florian Daniel April 28, 2009

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

RRF Reply Reporting Framework

Web Application Development

Acquia Introduction December 9th, 2009

Framework as a master tool in modern web development

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

Performance Optimization For Operational Risk Management Application On Azure Platform

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

Service Oriented Architecture

Web Apps The Next Generation

Tiers of Web Programming - case of weborigami - Tetsuo Ida Department of Computer Science University of Tsukuba Japan

Distributing education services to personal and institutional systems using Widgets

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

PROGRESS Portal Access Whitepaper

Senior IT manager s guide to customer experience management

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

What Is the Java TM 2 Platform, Enterprise Edition?

Web Programming Languages Overview

AJAX Toolkit Framework

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Implementing Mobile Thin client Architecture For Enterprise Application

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella

Adobe LiveCycle Enterprise Suite 4

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Streaming Real-Time Data into Xcelsius Apps

Developing ASP.NET MVC 4 Web Applications

Enhancing your Web Experiences with ASP.NET Ajax and IIS 7

CICS Modernization & Integration

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

Developing ASP.NET MVC 4 Web Applications MOC 20486

Transcription:

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

First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts Data Source 2

First Generation Shortcomings lack of a coherent architectural model adhoc scripts development no interaction between scripts evolution how do you evolve scripts? written in different languages data/information sharing has to be via an external repository difficult to control transactions 3

First Generation Shortcomings security CGI based scripts still a nightmare for admins scripts are executed in native environment throughput server execution environment is directly exposed vulnerabilities in server code are also exposed a script launches a process so what? tight coupling each view is coupled to its corresponding script 4

Second Generation W J W J Client Tier HTTP response (HTML Document) Presentation Server Tier JEE Container Data Tier Web JEE Server Servlet Services JDBC Data Source 5

Second Generation Shortcomings server focused most improvements are realized on the server side client tier still based on primitives HTML, javascript, CSS etc. not dynamic request-response cycle worse than first generation??? 6

GWT What is GWT SG + AJAX = GWT Not Exactly 7

GWT GWT is a lot more than that a paradigm shift away from web application building blocks synchronous communication built on standards integrates well with existing server applications, web services composite building blocks HTML, javascript etc are low-level primitives separation of concerns 8

GWT Components Core Browser Runtime Environment Java-JS Compiler JRE Emulator JSNI GWT Servlet Ext RPC RPC manager Browser Integration widgets XML/JSON i18n 9

Java JS Compiler Converts Java to Javascript src-to-src compiler high level typed language to a script language does this make sense??? JS code optimization browser engines size security / obfuscation localization 10

JRE Emulator Emulates core Java classes in Javascript Composite building blocks allows for building composite building blocks client tier built on composite building blocks rather than low level primitives 11

JSNI Java Script Native Interface wrapper for Javascript inside Java code extension point for integration with non GWT client components 12

RPC Remote Procedure Call replaces HTTP for communication after app boot t0 RPC- getid() asynchronous why? t1 RPC- getname() breaks the request-response cycle t2 getname() supports various protocols Ajax, JSON, GWT t3 getid() Time 13

Servlet Extension Extension of JEE Servlet integration with older JEE application get all the JEE benefits for free server component facade for business functionality evolution highly flexible 14

GWT Components Core Browser Runtime Environment Java-JS Compiler JRE Emulator JSNI GWT Servlet Ext RPC RPC manager Browser Integration widgets XML/JSON i18n 15

Impact Scalability Reusability Interoperability Design by contract Evolution Java based development 16

Scalability Improvement in server performance (near) stateless servers client tier components truly reside in client tier previously the state was maintained on the presentation tier the view was rendered on the client tier optimized communication strategy via aggregation of control/data exchange decrease in server load better bandwidth usage 17

Reusability Application single code base to support multiple browser engines internationalization i18n versions of the applications application broken over reusable modules Design & development OOD what benefits do we get from OOD? 18

Interoperability Integration / Extension points Javascript native interface (JSNI) a layer of abstraction for integrating Javascript third party & legacy Javascript libraries server side integration servlet extension mashups plugs into the JEE platform also possible for other platforms use of diverse web services 19

Design by Contract Client tier standardization browser runtime environment (BRE) client code has to abide by the BRE interface same enhancement that JEE brought to server tier isn't that strong coupling between GWT and an application client code? preserves the architectural integrity 20

Evolution Organic growth OOA & OOD what does this buy us? OO Javascript Rich Internet Applications (RIA) HTML & HTTP as the basic building primitive prevails where others failed Java applet, ActiveX, Adobe flex 21

Java based Development Testing & Tools well established frameworks for testing & profiling continuous integration well supported tools IDEs, profilers etc. skills-set standardization development teams 22