GWT integration with Vaadin. Peter expert & trainer

Size: px
Start display at page:

Download "GWT integration with Vaadin. Peter expert & trainer"

Transcription

1 GWT integration with Vaadin Peter expert & trainer

2 Vaadin & GWT GWT Transport mechanisms

3 Web components with Polymer QA Vaadin Connectors

4 Vaadin & GWT

5

6 Server driven UI framework with GWT based thin client

7 UI Browser

8 Widgets UI Browser

9 Widgets Theme UI Browser

10 Widgets Backend Theme UI Browser Server

11 Widgets Backend Theme UI Service (GWT-RPC) Browser Server

12 Server Backend

13 UI Backend Server

14 Widgets Components UI Backend Browser Server

15 Widgets Components UI Backend Theme Browser Server

16 Widgets Components UI Backend Theme Browser Server

17 User Interface Components

18 Developer Rich Productivity UX

19 Vaadin += GWT

20

21

22 GWT Transport mechanisms

23 RequestBuilder RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { builder.sendrequest(requestdatastring, new RequestCallback() public void onresponsereceived(request request, Response response) { int statuscode = response.getstatuscode(); String text = response.gettext(); public void onerror(request request, Throwable exception) { // TODO Handle asynchronous problems } }); } catch (RequestException e) { // TODO Handle synchronous problems }

24 RequestBuilder Good It just works

25 RequestBuilder Good Bad It just works Very low level

26 What to send?

27 Contact public class Contact { private String name; private int yearofbirth; private List<String> addresses; private Address address; } public static class Address { private String street; private String city; } // + Getters and setters

28 String conversion String data = contact.getname(); data += "," + contact.getyearofbirth(); String[] parts = data.split(","); contact.setname(parts[0]); contact.setyearofbirth(integer.parseint(parts[1]));

29 String conversion String data = contact.getname(); data += "," + contact.getyearofbirth(); String[] parts = data.split(","); contact.setname(parts[0]); contact.setyearofbirth(integer.parseint(parts[1]));

30 JSON { } name: "John Doe", yearofbirth: 1900, address: { street: "Happy Street 1", city: "Turku" }, addresses: ["john@doe.com", "johndoe@gmail.com"]

31 JSONValue parsing JSONObject json = JSONParser.parseStrict(string).isObject(); contact.setname(json.get("name").isstring().stringvalue()); contact.setyearofbirth( (int) json.get("yearofbirth").isnumber().doublevalue()); contact.setaddress( parseaddress(json.get("address").isobject())); JSONArray addresses = json.get(" addresses").isarray(); for (int i = 0; i < addresses.size(); i++) { contact.get addresses().add( } }

32 JSONValue Good It s standard Human readable Compact format

33 JSONValue Good Bad It s standard Human readable Compact format Not completely typesafe Boilerplate Client only

34 What about the server?

35 Jackson on the server ObjectMapper mapper = new ObjectMapper(); try { Contact contact = mapper.readvalue(string, Contact.class); } catch (VariousExceptions e) { // Do something sensible }

36 Jackson and GWT? - gwt-jackson

37 gwt-jackson public static interface ContactMapper extends ObjectMapper<Contact> {} public Contact parsecontact(string jsonstring) { ContactMapper mapper = GWT.create(ContactMapper.class); Contact contact = mapper.read(jsonstring); return contact; }

38 Jackson Good Bad Minimal boiler plate Can share code Only creating and reading Strings between server and client

39 Where to send?

40 Remote procedure call public interface ContactService extends RemoteService { public void savecontact(contact contact); public List<Contact> getcontacts(); } public interface ContactServiceAsync { public void savecontact(contact contact, AsyncCallback<Void> callback); public void getcontacts(asynccallback<list<contact>> }

41 GWT-RCP Good Bad Simple but powerful concept Default solution Sending large object graph Polymorphism problems Optimized

42 Prefer JSON + REST? - me too :)

43 REST GET /contacts DELETE /contacts/5 PUT /contacts { name: John Doe,... }

44 public interface ContactsService public public void deletecontact(@pathparam("id") int id); public void createcontact(contact contact);

45 Vaadin Connectors

46 So how about Vaadin? - Put server in charge!

47

48 State synchronization public class ContactState extends SharedState { public String name; public int private void updatename() { dosomethingwiththename(getstate().name); }

49 RPC public interface ContactRpc extends ServerRpc { public void deletecontact(int id); } // Register RPC handler on the server registerrpc(new ContactRpc() public void deletecontact(int id) { ContactDAO.deleteById(id); } }); // Send RPC from the client public void senddelete(int contactid) { getrpcproxy(contactrpc.class).deletecontact(contactid); }

50 Button Server

51 VButton Browser Button Server

52 VButton ButtonConnector Browser Button Server

53 VButton ButtonConnector SharedState Browser SharedState Button Server

54 VButton ButtonConnector SharedState Browser SharedState Button Server

55 VButton ButtonConnector SharedState RPC Browser SharedState RPC Button Server

56 VButton ButtonConnector SharedState RPC Browser SharedState RPC Button Server

57 VButton ButtonConnector SharedState RPC Browser SharedState RPC Button Server

58 VButton ButtonConnector SharedState RPC Browser SharedState RPC Button Server

59 Widget Connector client State server RPC Component

60 public class ButtonConnector extends AbstractComponentConnector implements ClickHandler, FocusHandler { public void init() { getwidget().addclickhandler(this); "caption", "captionashtml" }) void setcaption() { getwidget().setcaptiontext(getstate()); }

61 } public void onclick(clickevent event) { getrpcproxy(buttonserverrpc.class). click(builddetails(event)); }

62 ButtonState public class ButtonState extends AbstractComponentState { public String caption; public boolean disableonclick; public int tabindex; }

63 ButtonServerRPC public interface ButtonServerRpc extends ServerRpc { } public void click(mouseeventdetails mouseeventdetails);

64 Server RPC implementation public class Button extends AbstractComponent { private ButtonServerRpc rpc = new ButtonServerRpc() { public void click(mouseeventdetails details) { fireclick(details); } }

65 Vaadin Connectors Good Bad Stateful server Websocket support Stateful server Tied to framework Integrated JSON

66 Web components with Polymer

67 Reuseable HTML components!

68 Problem: Unique DOM tree

69 Solution: Shadow DOM

70 Encapsulation

71 What shadow DOM looks like?

72 How? With Polymer polymer-project.org/

73 <v-grid>

74 Vaadin Grid Client Widget Expose JavaScript API via JsInterop from GWT 2.8 Use Shadow DOM and HTML imports from Polymer

75 @JsNamespace(JS.VAADIN_JS_NAMESPACE) public class GridComponent private final Grid grid; // Grid widget public JSColumn addcolumn(jscolumn jscolumn, Object beforecolumnid) { grid.addcolumn }

76 @JsType public interface JSColumn String void setname(string s);

77 <link rel='import' href='vaadin-grid-import.html'> <link rel='import' href='../bower_components/polymer/polymer.html'> <link rel="stylesheet" href="vaadin-grid.css" shim-shadowdom> <dom-module id="v-grid"> <template> </template> </dom-module> <script> var prototype = { is: v-grid", properties: { }, created: function() { this._grid = new vaadin.gridcomponent(); }, attached: function() { this._grid.attached(this, Polymer.dom(this).querySelector( table ), Polymer.dom(this.root)); }, } </script>

78 polymer.html demo.html vaadin-grid.html webcomponents.js GridComponent (js) GridWidget (js)

79 Lessons learned today 1. There are several ways of communicating between GWT client and server 2. Vaadin Connectors use custom hybrid of JSON and RequestBuilder wrapped to higher level SharedState and RPC 3. gwt-jackson with REST is very interesting option 4. Polymer allows browsers to support features needed for for web components

80 Thank you! Peter expert & trainer

Founder & CEO

Founder & CEO X Vaadin @joonaslehtinen Founder & CEO Introduction to Vaadin Framework User interface framework for rich web applications User Interface Components Developer Rich Productivity UX java html Desktop

More information

Remote controlling Parrot AR Drone with Spring Boot & Vaadin. Peter expert & trainer

Remote controlling Parrot AR Drone with Spring Boot & Vaadin. Peter expert & trainer Remote controlling Parrot AR Drone with Spring Boot & Vaadin Peter Lehto @peter_lehto expert & trainer Vaadin & GWT Vaadin Spring Integration Spring Boot How to get started? QA Drone Server driven UI

More information

Introduction Haim Michael. All Rights Reserved.

Introduction Haim Michael. All Rights Reserved. Architecture Introduction Applications developed using Vaadin include a web application servlet based part, user interface components, themes that dictate the look & feel and a data model that enables

More information

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2 Table of Contents Advanced Web Technology 13) Google Web Toolkits 2 - GWT, Communication Emmanuel Benoist Fall Term 2016-17 Internationalization Static String i18n Remote Procedure Code JSON Berner Fachhochschule

More information

Integrating Seam and GWT

Integrating Seam and GWT Integrating Seam and GWT Integrating the JBoss Seam Framework with the GWT Toolkit : Use cases and patterns Ferda Tartanoglu Neox ia 6563 Who we are 2 > Ferda TARTANOGLU, PhD Consultant and Software Architect

More information

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) Google Web Toolkit (GWT) What is GWT? GWT is a development toolkit for building and optimizing complex browser-based applications You can develop all code, both client and server in Java (or with a different

More information

Do JSON. Jackson. with. By Baeldung

Do JSON. Jackson. with. By Baeldung Do JSON with Jackson By Baeldung { Do JSON with Jackson TABLE OF CONTENTS 1: A GUIDE TO JACKSON ANNOTATIONS 2: JACKSON IGNORE PROPERTIES ON MARSHALLING 3: IGNORE NULL FIELDS WITH JACKSON 4: JACKSON CHANGE

More information

Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side

Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side Emmanuel Benoist Spring Term 2018 Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 1 Table of

More information

Taming the Spaghetti: Rich Web Applications With Errai. Christian Sadilek Lincoln Baxter III JBoss / Red Hat

Taming the Spaghetti: Rich Web Applications With Errai. Christian Sadilek Lincoln Baxter III JBoss / Red Hat Taming the Spaghetti: Rich Web Applications With Errai Christian Sadilek (@csadilek) Lincoln Baxter III (@lincolnthree) JBoss / Red Hat Another Java Web Framework? Photo by: darkuncle From: Flickr What

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Building Vaadin Applications With Pure Scala

Building Vaadin Applications With Pure Scala Building Vaadin Applications With Pure Scala Henri Kerola Vaadin Expert at Vaadin Ltd ? Vaadin is a UI framework for rich web applications java html Internet Explorer Chrome Firefox Safari Opera

More information

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman THE NEW ERA OF WEB DEVELOPMENT qooxdoo Andreas Ecker, Derrell Lipman The Ajax Experience, 25-27 July 2007 1 Introduction Client-side JavaScript framework Professional application development Comprehensive

More information

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

More information

REST in Peace Mastering the JSDO with a Dynamic ABL backend. Mike Fechner, Consultingwerk Ltd.

REST in Peace Mastering the JSDO with a Dynamic ABL backend. Mike Fechner, Consultingwerk Ltd. REST in Peace Mastering the JSDO with a Dynamic ABL backend Mike Fechner, Consultingwerk Ltd. mike.fechner@consultingwerk.de http://www.consultingwerk.de/ 2 Consultingwerk Ltd. Independent IT consulting

More information

Using the Visualization API with GWT and Other Advanced Topics. Itai Raz May 27, 2009

Using the Visualization API with GWT and Other Advanced Topics. Itai Raz May 27, 2009 Using the Visualization API with GWT and Other Advanced Topics Itai Raz May 27, 2009 Agenda Visualization API & GWT More Advanced Topics Latency Security / Privacy Data View Q&A The Google Visualization

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

XML JavaScript Object Notation JSON Cookies Miscellaneous What Javascript can t do. OOP Concepts of JS

XML JavaScript Object Notation JSON Cookies Miscellaneous What Javascript can t do. OOP Concepts of JS LECTURE-4 XML JavaScript Object Notation JSON Cookies Miscellaneous What Javascript can t do. OOP Concepts of JS 1 XML EXTENDED MARKUP LANGUAGE XML is a markup language, like HTML Designed to carry data

More information

GWT GWT. Label. Java GWT. com.google.gwt.user.client.ui package

GWT GWT. Label. Java GWT. com.google.gwt.user.client.ui package GWT wzyang@asia.edu.tw GWT GWT Java HTML GWT (Widget) Java com.google.gwt.user.client.ui package 1 2 GWT Label Constructors: public Label() public Label(String text) public Label(String text, boolean wordwrap)

More information

Developing Web 2.0 Apps with the Google Web Toolkit

Developing Web 2.0 Apps with the Google Web Toolkit Developing Web 2.0 Apps with the Google Web Toolkit Ajax development hurts, and is not recommended without a bottle of analgesics by your side. Luckily for us there are tools that can make developing Web

More information

Rest Client for MicroProfile. John D. Ament

Rest Client for MicroProfile. John D. Ament Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest

More information

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO RIA Security - Broken By Design Joonas Lehtinen IT Mill - CEO a system is secure if it is designed to be secure and there are no bugs no system should be designed to be insecure not all bugs are security

More information

Cooking with GWT: Recipes for the perfect dinner. Alberto Mijares Basel, Switzerland

Cooking with GWT: Recipes for the perfect dinner. Alberto Mijares Basel, Switzerland Cooking with GWT: Recipes for the perfect dinner Alberto Mijares alberto.mijares@canoo.com Basel, Switzerland Introduction Who am I? What do I do? What is GWT? What does GWT try to solve? What does GWT

More information

The Google Web Toolkit (GWT): Handling History and Bookmarks

The Google Web Toolkit (GWT): Handling History and Bookmarks 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Handling History and Bookmarks (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp Goal The goal for the presentation is to share our experience with open source in the hope that

More information

Validator.nu Validation 2.0. Henri Sivonen

Validator.nu Validation 2.0. Henri Sivonen Validator.nu Validation 2.0 Henri Sivonen Generic RELAX NG validator HTML5 validator In development since 2004 Thesis 2007 Now funded by the Mozilla Corporation Generic Facet HTML5 Facet 2.0? SGML HTML5

More information

AJAX Programming Chris Seddon

AJAX Programming Chris Seddon AJAX Programming Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 What is Ajax? "Asynchronous JavaScript and XML" Originally described in 2005 by Jesse

More information

Ajax and Web 2.0 Related Frameworks and Toolkits. Dennis Chen Director of Product Engineering / Potix Corporation

Ajax and Web 2.0 Related Frameworks and Toolkits. Dennis Chen Director of Product Engineering / Potix Corporation Ajax and Web 2.0 Related Frameworks and Toolkits Dennis Chen Director of Product Engineering / Potix Corporation dennischen@zkoss.org 1 Agenda Ajax Introduction Access Server Side (Java) API/Data/Service

More information

What s New in JAX-RS 2.1?

What s New in JAX-RS 2.1? What s New in JAX-RS 2.1? CON3625 David Delabassée @delabassee Java and Container NaMve PlaOorm - Oracle October, 2017 1 @delabassee 2 Safe Harbor Statement The following is intended to outline our general

More information

mgwt Cross platform development with Java

mgwt Cross platform development with Java mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good

More information

Innovative and Pragmatic Java Source Code Generation. Nikolche Mihajlovski

Innovative and Pragmatic Java Source Code Generation. Nikolche Mihajlovski Innovative and Pragmatic Java Source Code Generation Nikolche Mihajlovski Introduction Hello, world! System.out.println("Hello, GeeCON world!"); Person me = new Person(); me.setfirstname("nikolche"); me.setlastname("mihajlovski");

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.2-m2, December 10, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Productivity. Bruce Johnson and Dan Peterson Google

Productivity. Bruce Johnson and Dan Peterson Google Productivity Bruce Johnson and Dan Peterson Google What is GWT? User-focused web app development Ajax apps without the headaches Leverage Java development tools The GWT Mission Statement To radically improve

More information

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology An Overview of Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 23, 2011 1. Design Principles 2. Architectural Patterns 3. Building for Degradation

More information

5.1 Registration and Configuration

5.1 Registration and Configuration 5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration

More information

Angular 2 and TypeScript Web Application Development

Angular 2 and TypeScript Web Application Development Angular 2 and TypeScript Web Application Development Course code: IJ -19 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Web Components. Reactive Architecture for the Front End. Steven Skelton. Reactive Programming Toronto December 3, 2014

Web Components. Reactive Architecture for the Front End. Steven Skelton. Reactive Programming Toronto December 3, 2014 Web Components Reactive Architecture for the Front End Steven Skelton Reactive Programming Toronto December 3, 2014 Reactive Manifesto Is a pattern for building software capable of handling today's application

More information

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal

More information

Packaging Data for the Web

Packaging Data for the Web Packaging Data for the Web EN 605.481 Principles of Enterprise Web Development Overview Both XML and JSON can be used to pass data between remote applications, clients and servers, etc. XML Usually heavier

More information

Getting Started With Feature Toggle in Java

Getting Started With Feature Toggle in Java Guide Getting Started With Feature Toggle in Java INTRO Feature toggles (also known as feature flags) are simple. You want to introduce new behavior in a Java application, but you re not ready to turn

More information

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience. Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John

More information

Terratype Umbraco Multi map provider

Terratype Umbraco Multi map provider Terratype Umbraco Multi map provider Installation Installing via Nuget This Umbraco package can be installed via Nuget The first part is the Terratype framework, which coordinates the different map providers,

More information

GWT - RPC COMMUNICATION

GWT - RPC COMMUNICATION GWT - RPC COMMUNICATION http://www.tutorialspoint.com/gwt/gwt_rpc_communication.htm Copyright tutorialspoint.com A GWT based application is generally consists of a client side module and server side module.

More information

Enterprise Java TM Web Apps with Google Open Source Technology

Enterprise Java TM Web Apps with Google Open Source Technology Enterprise Java TM Web Apps with Google Open Source Technology Dhanji R. Prasanna Google, Inc. Dhanji R. Prasanna Software Engineer at Google > Co-author JAX-RS: Java API for RESTful Web Services JSR-303:

More information

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

VidyoEngage for Genesys Widgets

VidyoEngage for Genesys Widgets VidyoEngage for Genesys Widgets Developer Guide Product Version 18.2.0 Document Version A April, 2018 2018 Vidyo, Inc. all rights reserved. Vidyo s technology is covered by one or more issued or pending

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

Communicating with a Server

Communicating with a Server Communicating with a Server Client and Server Most mobile applications are no longer stand-alone Many of them now have a Cloud backend The Cloud Client-server communication Server Backend Database HTTP

More information

Simplifying GWT RPC with

Simplifying GWT RPC with 2012 Yaakov Chaikin Simplifying GWT RPC with Open Source GWT-Tools RPC Service (GWT 2.4 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

Careerarm.com. Question 1. Orders table OrderId int Checked Deptno int Checked Amount int Checked

Careerarm.com. Question 1. Orders table OrderId int Checked Deptno int Checked Amount int Checked Question 1 Orders table OrderId int Checked Deptno int Checked Amount int Checked sales table orderid int Checked salesmanid int Checked Get the highest earning salesman in each department. select salesmanid,

More information

jquery Cookbook jquery Community Experts O'REILLY8 Tokyo Taipei Sebastopol Beijing Cambridge Farnham Koln

jquery Cookbook jquery Community Experts O'REILLY8 Tokyo Taipei Sebastopol Beijing Cambridge Farnham Koln jquery Cookbook jquery Community Experts O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Foreword xi Contributors xiii Preface xvii 1. jquery Basics 1 1.1 Including the jquery Library

More information

Hello everyone. My name is Kundan Singh and today I will describe a project we did at Avaya Labs.

Hello everyone. My name is Kundan Singh and today I will describe a project we did at Avaya Labs. Hello everyone. My name is Kundan Singh and today I will describe a project we did at Avaya Labs. 1 Let me start by saying that people often forget the importance of separating data from the application

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

UX/UI Controller Component

UX/UI Controller Component http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:mrte:ux_ui:ux_ui_controller_component_3.5 UX/UI Controller Component Outline egovframework offers the user an experience to enjoy one of the most

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

IBM JZOS Meets Web 2.0

IBM JZOS Meets Web 2.0 IBM JZOS Meets Web 2.0 Tuesday, August 3 rd 2010 Session 7637 Steve Goetze Kirk Wolf http://dovetail.com info@dovetail.com Copyright 2010, Dovetailed Technologies Abstract The development and deployment

More information

Automated JAVA GUI Testing. Challenges and Experiences

Automated JAVA GUI Testing. Challenges and Experiences Automated JAVA GUI Testing Challenges and Experiences Java Forum Stuttgart 2008 About me Reginald Stadlbauer Co-founder and CEO of froglogic GmbH, Hamburg, Germany Former Senior

More information

OWASP Top David Caissy OWASP Los Angeles Chapter July 2017

OWASP Top David Caissy OWASP Los Angeles Chapter July 2017 OWASP Top 10-2017 David Caissy OWASP Los Angeles Chapter July 2017 About Me David Caissy Web App Penetration Tester Former Java Application Architect IT Security Trainer: Developers Penetration Testers

More information

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Oracle 1Z0-895 Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-895 Answer: F QUESTION: 284 Given:

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

Web Premium- Advanced UI Development Course. Duration: 08 Months. [Classroom and Online] ISO 9001:2015 CERTIFIED

Web Premium- Advanced UI Development Course. Duration: 08 Months. [Classroom and Online] ISO 9001:2015 CERTIFIED Weekdays:- 1½ hrs / 3 days Fastrack:- 1½hrs / Day [Classroom and Online] ISO 9001:2015 CERTIFIED ADMEC Multimedia Institute www.admecindia.co.in +91-9911782350, +91-9811818122 ADMEC is one of the best

More information

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes AJAX Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11 Sérgio Nunes Server calls from web pages using JavaScript call HTTP data Motivation The traditional request-response cycle in web applications

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS Work doesn t just happen in the office. Technology is changing the way organizations operate. Today s business environment requires your employees to take

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

OFFLINE MODE OF ANDROID

OFFLINE MODE OF ANDROID OFFLINE MODE OF ANDROID APPS @Ajit5ingh ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, www.singhajit.com, @Ajit5ingh ) AGENDA Why offline mode? What it takes to build an offline mode Architecture

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

Platform-Independent UI Models: Extraction from UI Prototypes and rendering as W3C Web Components

Platform-Independent UI Models: Extraction from UI Prototypes and rendering as W3C Web Components Platform-Independent UI Models: Extraction from UI Prototypes and rendering as W3C Web Components Marvin Aulenbacher, 19.06.2017, Munich Chair of Software Engineering for Business Information Systems (sebis)

More information

Google Web Toolkit. Google Web Toolkit. by Chris Seddon CRS Enterprises Ltd 1

Google Web Toolkit. Google Web Toolkit. by Chris Seddon CRS Enterprises Ltd 1 Google Web Toolkit by Chris Seddon 2000-11 CRS Enterprises Ltd 1 Google Web Toolkit 1. Introduction to GWT 2. Introduction JavaScript and CSS 3. GWT : User Interface 4. Events 5. Internationalization and

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

Web Architecture and Development

Web Architecture and Development Web Architecture and Development SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology HTTP is the protocol of the world-wide-web. The Hypertext

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 ADF Mobile The Data Layer 2 Mobile Device Device Services ADF Mobile Architecture Device Native Container HTML5 & JavaScript Presentation Phone Gap Native View ADF Mobile XML View ADF Controller Local

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn:

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn: Polymer JavaScript Shabnam Shaikh 1, Lavina Jadhav 2 1Student, Dept. of Institute of Computer Science, MET College, Maharashtra, India 2Professor, Dept. of Institute of Computer Science, MET College, Maharashtra,

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,

More information

Calendar Management A Demonstration Application of TopBraid Live

Calendar Management A Demonstration Application of TopBraid Live Brief: Calendar Management Calendar Management A Demonstration of TopBraid Live What you will learn in this Brief: Rapid Semantic Building Full life cycle support from model to app Ease of building User

More information

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?

More information

Stamp Builder. Documentation. v1.0.0

Stamp  Builder. Documentation.   v1.0.0 Stamp Email Builder Documentation http://getemailbuilder.com v1.0.0 THANK YOU FOR PURCHASING OUR EMAIL EDITOR! This documentation covers all main features of the STAMP Self-hosted email editor. If you

More information

Terratype Umbraco Multi map provider

Terratype Umbraco Multi map provider Terratype Umbraco Multi map provider Installation Installing via Nuget This Umbraco package can be installed via Nuget The first part is the Terratype framework, which coordinates the different map providers,

More information

GWT Architectures and Lessons Learned

GWT Architectures and Lessons Learned GWT Architectures and Lessons Learned Dipl. Wi.-Ing. Papick Garcia Taboada pgt technology scouting GmbH! http://pgt.de Orientation in Objects GmbH! http://oio.de GWT Development Basics Structuring the

More information

Lab 1: Getting Started with IBM Worklight Lab Exercise

Lab 1: Getting Started with IBM Worklight Lab Exercise Lab 1: Getting Started with IBM Worklight Lab Exercise Table of Contents 1. Getting Started with IBM Worklight... 3 1.1 Start Worklight Studio... 5 1.1.1 Start Worklight Studio... 6 1.2 Create new MyMemories

More information

Build Native-like Experiences in HTML5

Build Native-like Experiences in HTML5 Developers Build Native-like Experiences in HTML5 The Chrome Apps Platform Joe Marini - Chrome Developer Advocate About Me Joe Marini Developer Relations Lead - Google Chrome google.com/+joemarini @joemarini

More information

Software LEIC/LETI. Lecture 15

Software LEIC/LETI. Lecture 15 Software Engineering @ LEIC/LETI Lecture 15 Last Lecture Software Architecture Architectural Patterns Application Architectures Software Architecture in the Project Today Enterprise Application Architecture

More information

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions 1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...

More information

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal Summary: Learn how to create Portlet applications for Websphere Portal for

More information

Accessible Rendered Item (ARI) Technical Specifications. Prepared by: Ali Abedi, UCLA/CRESST Last updated: 4/11/2016

Accessible Rendered Item (ARI) Technical Specifications. Prepared by: Ali Abedi, UCLA/CRESST Last updated: 4/11/2016 Accessible Rendered Item (ARI) Technical Specifications Prepared by: Ali Abedi, UCLA/CRESST Last updated: 4/11/2016 Table of Contents 1. Introduction 2. Design Goals 3. System Overview 3.1 required technology

More information

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde JavaScript static void _f_do_barnacle_install_properties(gobjectclass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, jquery and other frameworks

More information

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

P a g e 1. Danish Technological Institute. Scripting and Web Languages   Online Course k Scripting and Web Languages P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual

More information

Index LICENSED PRODUCT NOT FOR RESALE

Index LICENSED PRODUCT NOT FOR RESALE Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using

More information

An implementation of Tree Panel component in EXT JS 4.0

An implementation of Tree Panel component in EXT JS 4.0 An implementation of Tree Panel component in EXT JS 4.0 By Hamid M. Porasl This implementation contains an HTML file that t is used to invoke used EXT JS java script files and our implemented java Script

More information

Designing Reusable Web Components

Designing Reusable Web Components Designing Reusable Web Components Dr. Joonas Lehtinen Vaadin @joonaslehtinen Agenda What do we want to Q & A design? Technology HTML5 / Canvas Google Web Toolkit Vaadin Framework Designing Web Component

More information

AJAX: From the Client-side with JavaScript, Back to the Server

AJAX: From the Client-side with JavaScript, Back to the Server AJAX: From the Client-side with JavaScript, Back to the Server Asynchronous server calls and related technologies CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets)

More information

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

eclipse rich ajax platform (rap)

eclipse rich ajax platform (rap) eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background

More information