The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework
|
|
|
- Harvey Fleming
- 9 years ago
- Views:
Transcription
1 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework (GWT 2.5 Version) Originals of Slides and Source Code for Examples: Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location Marty Hall & Yaakov Chaikin For live Ajax & GWT training, see training courses at Taught by the author of Core Servlets and JSP, More Servlets and JSP, and this tutorial. Available at public venues, or customized versions can be held on-site at your organization. Courses developed and taught by Marty Hall JSF 2, PrimeFaces, servlets/jsp, Ajax, jquery, Android development, Java 7 or 8 programming, custom mix of topics Courses Customized available in any state Java or country. EE Training: Maryland/DC area companies can also choose afternoon/evening courses. GWT, Courses Java 7 developed and 8, JSF and 2, PrimeFaces, taught by coreservlets.com HTML5, Servlets, JSP, experts Ajax, (edited jquery, by Spring, Marty) Hibernate, REST, Hadoop, Android. Spring, Hibernate/JPA, GWT, Hadoop, HTML5, RESTful Web Services Developed and taught by well-known Contact author [email protected] and developer. At public for details venues or onsite at your location.
2 Topics in This Section Motivation What s wrong with what we already have? Pros and cons Main components of MVP framework Model View ClientFactory Activity Place PlaceHistoryMapper ActivityMapper Marty Hall & Yaakov Chaikin Overview 7 Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
3 So What s Wrong with What We Already Had? History management is all over the app Presenters hard code and/or know too much about history Defining the Display (i.e., view) interface inside the presenter doesn t allow for bidirectional communication Impossible to shortcut with UiBinder View creation means a lot of DOM calls Expensive and slow! If no state is saved in the view, why create new view every time? Just reuse the same view instance. 8 So What s Wrong with What We Already Had? (Continued) Recycling view instances is technically not part of MVP but very useful and fits well into MVP DOM operations are expensive so we try to avoid them Note that this implies that no state should ever be stored in a view Keep the presenters disposable No DOM code resides there, so they are very lightweight and cheap to recreate every time No need to reset their state GWT MVP elegantly abstracts history handling All these are advantages of GWT MVP Framework Besides all the same advantages of MVP in general 9
4 Disadvantages of GWT MVP All the same as before, but now a REALLY steep learning curve! Can feel a bit like this at first: Bottom line: Give yourself time to get used to all the standard steps 10 From xkcd.com and Randall Munroe Marty Hall & Yaakov Chaikin Components of MVP Framework 11 Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
5 Main Components of GWT MVP Framework Model Responsible for holding raw data No business logic allowed (just like any model really) Example: public class Customer { // can be Serializable private String firstname, lastname; public Customer(String fname, String lname) { public String getfirstname() { public void setfirstname(string firstname) { 12 Main Components of GWT MVP Framework (Continued) View Responsible for displaying data No business logic allowed Based on a custom standalone interface which defines the methods of this view Inside view interface, we define the Presenter interface for the concrete presenter that will be associated with this view Allows UiBinder to pass through UiHandler methods to the presenter View interface extends iswidget interface that defines aswidget method See next slide for example 13
6 Main Components of GWT MVP Framework (Continued) Example View interface: public interface HelloView extends iswidget { void setname(string name); void setpresenter(presenter presenter); public interface Presenter { String getname(); 14 Main Components of GWT MVP Framework (Continued) ClientFactory Not technically part of MVP, but very useful to facilitate creation of a view once and only once The rest of the app uses ClientFactory to obtain view references Example: public interface ClientFactory { EventBus geteventbus(); HelloView gethelloview(); 15
7 Main Components of GWT MVP Framework (Continued) Activity It s a Presenter with bells and whistles built in Has lifecycle methods to hook into when: User is trying to navigate away from this activity Activity s widget (i.e., the view it controls) is removed from user s view Etc. Implements the Presenter interface defined in the associated View interface All business logic goes here Responses to events on the view, server calls, etc. See example on next slide 16 Main Components of GWT MVP Framework (Continued) Activity example: public class HelloActivity extends AbstractActivity implements HelloView.Presenter { private String name; private ClientFactory Equivalent to the go method we had in the Presenter before. public void start(acceptsonewidget container, EventBus eventbus) { HelloView view = clientfactory.gethelloview(); view.setname(name); 17
8 Main Components of GWT MVP Framework (Continued) 18 Place Encapsulates a navigational state Most Activities have an associated Place Each BlahPlace extends the Place class Usually has a Tokenizer defined as an inner public class Implements PlaceTokenizer<BlahPlace> Knows how to take a URL history token and reconstruct a BlahPlace instance public BlahPlace getplace(string token); Knows how to take a BlahPlace instance and reconstruct a URL history token public String gettoken(blahplace place); A place doesn t need a custom Tokenizer if the only URL data it cares about is the name of the place itself Main Components of GWT MVP Framework (Continued) Place example: public class HelloPlace extends Place { private String name; public HelloPlace(String token) { this.name = token; public String getname() { return name; public static class Tokenizer implements PlaceTokenizer<HelloPlace> public String gettoken(helloplace place) public HelloPlace getplace(string token) { 19
9 Main Components of GWT MVP Framework (Continued) PlaceHistoryMapper A way to let GWT know about your history tokenizers Link between PlaceTokenizers and GWT s history handling mechanism I.e., Link between PlaceTokenizers and PlaceHistoryHandler public interface MyPlaceHistoryMapper extends PlaceHistoryMapper { 20 Main Components of GWT MVP Framework (Continued) ActivityMapper A way to map each Place to some Activity Remember that Activity implements Presenter interface I.e., it IS a presenter GWT MVP framework uses it to automatically route the app to an Activity Example: public class MyActivityMapper implements ActivityMapper public Activity getactivity(place place) { if (place instanceof HelloPlace) { return new HelloActivity(); else if (place instanceof ) { 21
10 Summary: Main Components of GWT MVP Framework Model Responsible for holding raw data (no business logic) View Responsible for displaying data (extends iswidget) Defines BlahView and an associated Presenter interface ClientFactory Holds on to instances of views and other reusable system resources Activity Implements view s Presenter interface and drives all business logic (i.e., it is a presenter) Responds to events on the view, makes server calls, etc. 22 Summary: Main Components of GWT MVP Framework (Cont.) Place Encapsulates a navigational state Defines Tokenizer that knows how to make a Place out of history token and make a URL history token out of Place PlaceHistoryMapper Maps places and their tokenizers in GWT MVP framework s history handling mechanism ActivityMapper Maps each Place to some Activity GWT MVP framework uses it to automatically route to the app to that Activity 23
11 Some Other GWT MVP Components (Provided by GWT MVP Framework) PlaceController Provided by GWT to programmatically go to a Place, etc. ActivityManager Keeps track of all Activities within the context of one container widget Listens for PlaceChangeRequestEvents and calls the lifecycle methods of Activity to proceed Activity can let the user reject the request by returning a non-null value (a message to the user) in Activity.onMayStop() Marty Hall & Yaakov Chaikin Simple MVP Framework Example 25 Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
12 Example Setup Using Google s GWT MVP example app Very simple (easier to understand the architecture) 26 EntryPoint: HelloMVP.java public class HelloMVP implements EntryPoint { private Place defaultplace = new HelloPlace("World!"); private SimplePanel appwidget = new SimplePanel(); public void onmoduleload() { ClientFactory clientfactory = GWT.create(ClientFactory.class); EventBus eventbus = clientfactory.geteventbus(); PlaceController placecontroller = clientfactory.getplacecontroller(); Create ClientFactory using differed binding. 27 Start ActivityManager for the main widget with our ActivityMapper. ActivityMapper activitymapper = new AppActivityMapper(clientFactory); ActivityManager activitymanager = new ActivityManager(activityMapper, eventbus); activitymanager.setdisplay(appwidget);
13 EntryPoint: HelloMVP.java (continued) Start PlaceHistoryHandler with our PlaceHistoryMapper AppPlaceHistoryMapper historymapper = GWT.create(AppPlaceHistoryMapper.class); PlaceHistoryHandler historyhandler = new PlaceHistoryHandler(historyMapper); historyhandler.register(placecontroller, eventbus, defaultplace); Register GWT MVP PlaceController and the default place (in case no tokens are on the URL or invalid token) RootPanel.get().add(appWidget); historyhandler.handlecurrenthistory(); This is equivalent to History.fireCurrentHistoryState() in GWT MVP framework s API. I.e., it tells the app to start trying to interpret the URL tokens. 28 HelloView.java public interface HelloView extends IsWidget { void setname(string helloname); void setpresenter(presenter listener); public interface Presenter { void goto(place place); 29
14 HelloViewImpl.java public class HelloViewImpl extends Composite implements HelloView { public void setname(string name) { this.name = name; namespan.setinnertext(name); This view is using void onclickgoodbye(clickevent e) { presenter.goto(new public void setpresenter(presenter presenter) { this.presenter = presenter; 30 HelloPlace.java public class HelloPlace extends Place { private String helloname; public HelloPlace(String token) { this.helloname = token; public String gethelloname() { return helloname; public static class Tokenizer implements PlaceTokenizer<HelloPlace> { public String gettoken(helloplace place) { return place.gethelloname(); 31 public HelloPlace getplace(string token) { return new HelloPlace(token);
15 { HelloPlace.Tokenizer.class, GoodbyePlace.Tokenizer.class ) public interface AppPlaceHistoryMapper extends PlaceHistoryMapper { Let s GWT know about our Places and Tokenizers. 32 HelloActivity.java public class HelloActivity extends AbstractActivity implements HelloView.Presenter { private ClientFactory clientfactory; private String name; public HelloActivity(HelloPlace place, ClientFactory clientfactory) { this.name = place.gethelloname(); this.clientfactory = clientfactory; public void start(acceptsonewidget containerwidget, EventBus eventbus) { HelloView helloview = clientfactory.gethelloview(); helloview.setname(name); helloview.setpresenter(this); containerwidget.setwidget(helloview.aswidget()); Contains views, eventbus, placecontroller. Retrieve navigational state so the view can be recreated with it. ActivityManager calls start to start this activity s processing. 33
16 HelloActivity.java (continued) Asks user before stopping activity public String maystop() { return "Please hold on. This activity is stopping."; Method from HelloView interface. public void goto(place place) { clientfactory.getplacecontroller().goto(place); 34 AppActivityMapper.java public class AppActivityMapper implements ActivityMapper { private ClientFactory clientfactory; public AppActivityMapper(ClientFactory clientfactory) { this.clientfactory = clientfactory; public Activity getactivity(place place) { if (place instanceof HelloPlace) { return new HelloActivity((HelloPlace) place, clientfactory); else if (place instanceof GoodbyePlace) { return new GoodbyeActivity((GoodbyePlace) place, clientfactory); return null; If Place can t be mapped to an Activity, stays on the same Activity as before, i.e., does nothing. 35
17 GoodbyeActivity.java public class GoodbyeActivity extends AbstractActivity { private ClientFactory clientfactory; private String name; public GoodbyeActivity(GoodbyePlace place, ClientFactory clientfactory) { this.name = place.getgoodbyename(); this.clientfactory = clientfactory; No need to implement GoodbyeView interface as GoodbyeView does not need any communication with its associated Activity. Navigational state is passed through the Place instance. public void start(acceptsonewidget containerwidget, EventBus eventbus) { GoodbyeView goodbyeview = clientfactory.getgoodbyeview(); goodbyeview.setname(name); containerwidget.setwidget(goodbyeview.aswidget()); This Activities sole purpose is to set a string on the view. 36 Tested in Production Mode 37
18 2013 Marty Hall & Yaakov Chaikin Deferred Binding 38 Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. Deferred Binding For ClientFactory Very similar to IoC (Inversion of Control) When you call GWT.create(ClientFactory.class), GWT looks up the implementing class in its app.gwt.xml Example: <!-- Use ClientFactoryImpl by default --> <replace-with class="com.hellomvp.client.clientfactoryimpl"> <when-type-is class="com.hellomvp.client.clientfactory"/> </replace-with> 39 Can use <when-property-is>, specifying user agent (type of browser), i.e. mobile, desktop, etc. Allows to give different view impl for mobile vs desktop
19 2013 Marty Hall & Yaakov Chaikin Wrap-Up Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. Summary REALLY big learning curve, but very flexible and customizable Still worth it for large scale apps Views define their interface as well as Activities interface (its presenter) Places handle navigational state Place-defined Tokenizer allows conversion from token to Place instance and back Use ClientFactory approach to cache reusable resources in your app Using appname.gwt.xml, use deferred binding to create different views for different browsers, devices, etc. 41
20 2013 Marty Hall & Yaakov Chaikin Questions? JSF 2, PrimeFaces, Java 7 or 8, Ajax, jquery, Hadoop, RESTful Web Services, Android, HTML5, Spring, Hibernate, Servlets, JSP, GWT, and other Java EE training. Customized Java EE Training: GWT, Java 7 and 8, JSF 2, PrimeFaces, HTML5, Servlets, JSP, Ajax, jquery, Spring, Hibernate, REST, Hadoop, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
The Google Web Toolkit (GWT): Declarative Layout with UiBinder Basics
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Declarative Layout with UiBinder Basics (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
Hadoop Streaming. 2012 coreservlets.com and Dima May. 2012 coreservlets.com and Dima May
2012 coreservlets.com and Dima May Hadoop Streaming Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
Hadoop Distributed File System (HDFS) Overview
2012 coreservlets.com and Dima May Hadoop Distributed File System (HDFS) Overview Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized
Advanced Java Client API
2012 coreservlets.com and Dima May Advanced Java Client API Advanced Topics Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop
Apache Pig Joining Data-Sets
2012 coreservlets.com and Dima May Apache Pig Joining Data-Sets Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Map Reduce Workflows
2012 coreservlets.com and Dima May Map Reduce Workflows Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
Virtual Machine (VM) For Hadoop Training
2012 coreservlets.com and Dima May Virtual Machine (VM) For Hadoop Training Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop
The Google Web Toolkit (GWT): Overview & Getting Started
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Overview & Getting Started (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
Official Android Coding Style Conventions
2012 Marty Hall Official Android Coding Style Conventions Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/
Managed Beans II Advanced Features
2014 Marty Hall Managed Beans II Advanced Features Originals of Slides and Source Code for Examples: http://www.coreservlets.com/jsf-tutorial/jsf2/ Customized Java EE Training: http://courses.coreservlets.com/
HBase Key Design. 2012 coreservlets.com and Dima May. 2012 coreservlets.com and Dima May
2012 coreservlets.com and Dima May HBase Key Design Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
HBase Java Administrative API
2012 coreservlets.com and Dima May HBase Java Administrative API Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses
Android Programming: Installation, Setup, and Getting Started
2012 Marty Hall Android Programming: Installation, Setup, and Getting Started Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training:
Building Web Services with Apache Axis2
2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,
Android Programming Basics
2012 Marty Hall Android Programming Basics Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/
JHU/EP Server Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html
2010 Marty Hall Deploying Apps to the JHU/EP Server Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 2 Customized Java EE Training: http://courses.coreservlets.com/
HDFS Installation and Shell
2012 coreservlets.com and Dima May HDFS Installation and Shell Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses
Android Programming: 2D Drawing Part 1: Using ondraw
2012 Marty Hall Android Programming: 2D Drawing Part 1: Using ondraw Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/
Application Security
2009 Marty Hall Declarative Web Application Security Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
Session Tracking Customized Java EE Training: http://courses.coreservlets.com/
2012 Marty Hall Session Tracking Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 2 Customized Java EE Training: http://courses.coreservlets.com/
2011 Marty Hall An Overview of Servlet & JSP Technology Customized Java EE Training: http://courses.coreservlets.com/
2011 Marty Hall An Overview of Servlet & JSP Technology Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 3 Customized Java EE Training: http://courses.coreservlets.com/
Web Applications. Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html
2009 Marty Hall Using and Deploying Web Applications Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
What servlets and JSP are all about
2012 Marty Hall An Overview of Servlet & JSP Technology Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 3 Customized Java EE Training: http://courses.coreservlets.com/
Object-Oriented Programming in Java: More Capabilities
coreservlets.com custom onsite training Object-Oriented Programming in Java: More Capabilities Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html
Hadoop Introduction. 2012 coreservlets.com and Dima May. 2012 coreservlets.com and Dima May
2012 coreservlets.com and Dima May Hadoop Introduction Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
MapReduce on YARN Job Execution
2012 coreservlets.com and Dima May MapReduce on YARN Job Execution Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training
HDFS - Java API. 2012 coreservlets.com and Dima May. 2012 coreservlets.com and Dima May
2012 coreservlets.com and Dima May HDFS - Java API Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite
Localization and Resources
2012 Marty Hall Localization and Resources Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/
Web Applications. For live Java training, please see training courses at
2009 Marty Hall Using and Deploying Web Applications Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
Handling the Client Request: Form Data
2012 Marty Hall Handling the Client Request: Form Data Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 3 Customized Java EE Training: http://courses.coreservlets.com/
Debugging Ajax Pages: Firebug
2010 Marty Hall Ajax: Development and Debugging g Tools Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/ajax.html Customized Java EE Training: http://courses.coreservlets.com/
& JSP Technology Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html
2009 Marty Hall An Overview of Servlet & JSP Technology Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html 2 Customized Java EE Training: http://courses.coreservlets.com/
For live Java EE training, please see training courses
2012 Marty Hall Basic Java Syntax Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/java.htmlcoreservlets com/course-materials/java html 3 Customized Java
Enterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com
OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
Pentesting Web Frameworks (preview of next year's SEC642 update)
Pentesting Web Frameworks (preview of next year's SEC642 update) Justin Searle Managing Partner UtiliSec Certified Instructor SANS Institute [email protected] // @meeas What Are Web Frameworks Frameworks
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
Intruduction to Groovy & Grails programming languages beyond Java
Intruduction to Groovy & Grails programming languages beyond Java 1 Groovy, what is it? Groovy is a relatively new agile dynamic language for the Java platform exists since 2004 belongs to the family of
CrownPeak Java Web Hosting. Version 0.20
CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,
Building Applications with Protégé: An Overview. Protégé Conference July 23, 2006
Building Applications with Protégé: An Overview Protégé Conference July 23, 2006 Outline Protégé and Databases Protégé Application Designs API Application Designs Web Application Designs Higher Level Access
An Overview of Servlet & JSP Technology
2007 Marty Hall An Overview of Servlet & JSP Technology 2 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon.
CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
Servlet and JSP Filters
2009 Marty Hall Servlet and JSP Filters Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.
Web Frameworks web development done right Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.ssa Anna Corazza Outline 2 Web technologies evolution Web frameworks Design Principles
SSC - Web development Model-View-Controller for Java web application development
SSC - Web development Model-View-Controller for Java web application development Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Java Server
Architecture Guide Jahia EE v6.1
Documentation Architecture Guide Jahia EE v6.1 Jahia delivers the first Web Content Integration Software by combining Enterprise Web Content Management with Document and Portal Management features. Jahia
Rapid Application Development. and Application Generation Tools. Walter Knesel
Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,
Framework Adoption for Java Enterprise Application Development
Framework Adoption for Java Enterprise Application Development Clarence Ho Independent Consultant, Author, Java EE Architect http://www.skywidesoft.com [email protected] Presentation can be downloaded
Basic Java Syntax. Slides 2016 Marty Hall, [email protected]
coreservlets.com custom onsite training Basic Java Syntax Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
Budget Event Management Design Document
Budget Event Management Design Document Team 4 Yifan Yin(TL), Jiangnan Shangguan, Yuan Xia, Di Xu, Xuan Xu, Long Zhen 1 Purpose Summary List of Functional Requirements General Priorities Usability Accessibility
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
Client-side Web Engineering From HTML to AJAX
Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions
Preface. Motivation for this Book
Preface Asynchronous JavaScript and XML (Ajax or AJAX) is a web technique to transfer XML data between a browser and a server asynchronously. Ajax is a web technique, not a technology. Ajax is based on
GUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
Web Service Caching Using Command Cache
Web Service Caching Using Command Cache Introduction Caching can be done at Server Side or Client Side. This article focuses on server side caching of web services using command cache. This article will
Liferay Enterprise ecommerce. Adding ecommerce functionality to Liferay Reading Time: 10 minutes
Liferay Enterprise ecommerce Adding ecommerce functionality to Liferay Reading Time: 10 minutes Broadleaf + Liferay ecommerce + Portal Options Integration Details REST APIs Integrated IFrame Separate Conclusion
Google App Engine f r o r J av a a v a (G ( AE A / E J / )
Google App Engine for Java (GAE/J) What is Google App Engine? Google offers a cloud computing infrastructure calledgoogle App Engine(App Engine) for creating and running web applications. App Engine allows
Progressive Enhancement With GQuery and GWT. Ray Cromwell [email protected]
Progressive Enhancement With GQuery and GWT Ray Cromwell [email protected] Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads
Native v HTML5 An Event Planner s Primer
v HTML5 An Event Planner s Primer If you ve researched mobile apps for your conference, tradeshow or event, you ve probably come across the question or HTML5? Both provide an app experience designed for
Complete Java Web Development
Complete Java Web Development JAVA-WD Rev 11.14 4 days Description Complete Java Web Development is a crash course in developing cutting edge Web applications using the latest Java EE 6 technologies from
How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post
Understanding Architecture and Framework of J2EE using Web Application Devadrita Dey Sarkar,Anavi jaiswal, Ankur Saxena Amity University,UTTAR PRADESH Sector-125, Noida, UP-201303, India Abstract: This
Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application
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
White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1
White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
Java (J2SE & J2EE) and Web Development Training Catalog
Java (J2SE & J2EE) and Web Development Training Catalog 2013 US Techie Technology Solutions P a g e 1 CONTENTS S.No Topic Page No I. Know About Java Technology 3 II. Why Software Developers Choose Java
Controlling Web Application Behavior
2006 Marty Hall Controlling Web Application Behavior The Deployment Descriptor: web.xml JSP, Servlet, Struts, JSF, AJAX, & Java 5 Training: http://courses.coreservlets.com J2EE Books from Sun Press: http://www.coreservlets.com
The Oracle Fusion Development Platform
The Oracle Fusion Development Platform Juan Camilo Ruiz Senior Product Manager Development Tools 1 The preceding is intended to outline our general product direction. It is intended for information purposes
The Google Web Toolkit (GWT): JavaScript Native Interface (JSNI)
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): JavaScript Native Interface (JSNI) (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella
Google Web Toolkit Progetto di Applicazioni Software a.a. 2011/12 Massimo Mecella Introduction Ajax (Asynchronous JavaScript and XML) refers to a broad range of techniques Beyond the technical jargon,
Mobile Application Development
Web Engineering Mobile Application Development Copyright 2015 Slides from Federico M. Facca (2010), Nelia Lasierra (updates) 1 2 Where we are? # Date Title 1 5 th March Web Engineering Introduction and
Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy
Google Web Toolkit Introduction to GWT Development Ilkka Rinne & Sampo Savolainen / Spatineo Oy GeoMashup CodeCamp 2011 University of Helsinki Department of Computer Science Google Web Toolkit Google Web
Kotlin for Android Developers
Kotlin for Android Developers Learn Kotlin in an easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published
Vaadin Application Tutorial. Building a Simple Address Book
Vaadin Application Tutorial Building a Simple Address Book Vaadin Application Tutorial: Building a Simple Address Book Vaadin 6.4.1 Published: 2010-07-23 Copyright 2000-2009 Oy IT Mill Ltd. All rights
Mobile and Web Applications Developer Track
Ministry of Communications and Information Technology Information Technology Institute Mobile and Web Applications Developer Track Intake 35 Historical Description First Intake was in 2012 (Intake 33)
WINDOWS AZURE EXECUTION MODELS
WINDOWS AZURE EXECUTION MODELS Windows Azure provides three different execution models for running applications: Virtual Machines, Web Sites, and Cloud Services. Each one provides a different set of services,
<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks
Betting Big on JavaServer Faces: Components, Tools, and Tricks Steve Muench Consulting Product Manager, JDeveloper/ADF Development Team Oracle Corporation Oracle's Betting Big on
Web and Enterprise Applications Developer Track
Ministry of Communications and Information Technology Information Technology Institute Web and Enterprise Applications Developer Track Intake 35 Historical Background As part of the ITI, the Java TM Education
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom
Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)
Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Spring 2015 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998
Whitepaper. Trans. for Mobile
Whitepaper Trans forming Your Vision Into Winning Solutions How to Save 50%, 75% or more for Mobile Appp Development www.baytechservices.com Background As mobile access has transitioned from a nice to
Structured Content: the Key to Agile. Web Experience Management. Introduction
Structured Content: the Key to Agile CONTENTS Introduction....................... 1 Structured Content Defined...2 Structured Content is Intelligent...2 Structured Content and Customer Experience...3 Structured
The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team
The Java EE 6 Platform Alexis Moussine-Pouchkine GlassFish Team This is no science fiction Java EE 6 and GlassFish v3 shipped final releases on December 10 th 2009 A brief History Project JPE Enterprise
Managing Data on the World Wide-Web
Managing Data on the World Wide-Web Sessions, Listeners, Filters, Shopping Cart Elad Kravi 1 Web Applications In the Java EE platform, web components provide the dynamic extension capabilities for a web
Step One Check for Internet Connection
Connecting to Websites Programmatically with Android Brent Ward Hello! My name is Brent Ward, and I am one of the three developers of HU Pal. HU Pal is an application we developed for Android phones which
Choosing a Content Management System (CMS)
Choosing a Content Management System (CMS) Document Version Revision History Date Document Version Description Created By: 10/Oct/2013 First draft Laraib Saad Table of Contents 1. Introduction
Applets, RMI, JDBC Exam Review
Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java
Performance Optimization For Operational Risk Management Application On Azure Platform
Performance Optimization For Operational Risk Management Application On Azure Platform Ashutosh Sabde, TCS www.cmgindia.org 1 Contents Introduction Functional Requirements Non Functional Requirements Business
The end. Carl Nettelblad 2015-06-04
The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan
Unit Testing with JUnit: A Very Brief Introduction
coreservlets.com custom onsite training Unit Testing with JUnit: A Very Brief Introduction Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also
White Paper On. Single Page Application. Presented by: Yatin Patel
White Paper On Single Page Application Presented by: Yatin Patel Table of Contents Executive Summary... 3 Web Application Architecture Patterns... 4 Common Aspects... 4 Model... 4 View... 4 Architecture
Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)
Syllabus INFO-UB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Fall 2014 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998
