advanced data widgets and server integration

28
Ext GWT Advanced Data Widgets DARRELL MEYER, SENCHA Monday, November 29, 2010

Upload: sencha

Post on 26-Jun-2015

1.005 views

Category:

Technology


2 download

DESCRIPTION

Ext GWT provides a rich set of data components including lists, trees, and grids. Rather than just covering the client-side implementation, this session will demonstrate how to manage your data and data updates from the server. In addition, you will advanced techniques to customize the display of your data.

TRANSCRIPT

Page 1: Advanced Data Widgets and Server Integration

Ext GWTAdvanced Data Widgets

DARRELL MEYER, SENCHA

Monday, November 29, 2010

Page 2: Advanced Data Widgets and Server Integration

OverviewConference AppRequestFactory

RequestFactory SupportStore Updates

Rendering & FormattingQuestions

Monday, November 29, 2010

Page 3: Advanced Data Widgets and Server Integration

Conference App

Monday, November 29, 2010

Page 4: Advanced Data Widgets and Server Integration

Ext GWT 2.2.1GWT 2.1

Java Persistence API (JPA)Google App Engine (GAE)

RequestFactoryGWT MVPDependency Injection with Gin

Download at http://dev.sencha.com/playpen/gxt/conference-app.zip

Technology Stack

Monday, November 29, 2010

Page 5: Advanced Data Widgets and Server Integration

Eclipse IDE for Java EE Developers (Helios 3.6.1)http://www.eclipse.org/downloads/

PluginsMaven Integration for Eclipsehttp://m2eclipse.sonatype.org/sites/m2e

Maven Integration for Eclipse WTP Integrationhttp://m2eclipse.sonatype.org/sites/m2e-extras

Google Eclipsehttp://code.google.com/eclipse/

IDE & Plugins

Monday, November 29, 2010

Page 6: Advanced Data Widgets and Server Integration

RequestFactory

Monday, November 29, 2010

Page 7: Advanced Data Widgets and Server Integration

Implements data access on client & serverManages changes to dataSupports batching and caching

EntityEntity ProxyRequestFactory InterfaceServer ImplementationWiring it together

RequestFactoryDatabase

Server

Domain

RequestFactory

Client

RequestFactory

EntityProxy

Monday, November 29, 2010

Page 8: Advanced Data Widgets and Server Integration

Domain class in an application

RequestFactory Entity

Monday, November 29, 2010

Page 9: Advanced Data Widgets and Server Integration

Client-side representation of an entity

RequestFactory EntityProxy

Monday, November 29, 2010

Page 10: Advanced Data Widgets and Server Integration

Interface between server and client code

RequestFactory Interface

Monday, November 29, 2010

Page 11: Advanced Data Widgets and Server Integration

Methods in service interface implemented in class with @Service

RequestFactory Server

Monday, November 29, 2010

Page 12: Advanced Data Widgets and Server Integration

Create RequestFactory instance using GWT.create()

RequestFactory Wiring

Monday, November 29, 2010

Page 13: Advanced Data Widgets and Server Integration

RequestFactory Usage

Monday, November 29, 2010

Page 14: Advanced Data Widgets and Server Integration

RequestFactory Support

Monday, November 29, 2010

Page 15: Advanced Data Widgets and Server Integration

EntityProxyModel wraps EntityProxyHandles setting model properties from proxyHandles updating proxy from model

EntityProxyModel

Monday, November 29, 2010

Page 16: Advanced Data Widgets and Server Integration

Automatically call the server on Store data changesEntityProxyUpdateListenerEntityProxyRemoveListener

EntityProxy Listeners

Monday, November 29, 2010

Page 17: Advanced Data Widgets and Server Integration

Store Updates

Monday, November 29, 2010

Page 18: Advanced Data Widgets and Server Integration

3 ways the update event is fired by Store1. Store monitor changes enabled and model fires change event2. Store.update(model) called3. Changes made to Record and commit called on Record or Store

Store Update Event

Monday, November 29, 2010

Page 19: Advanced Data Widgets and Server Integration

RequestFactoryStore Example

Monday, November 29, 2010

Page 20: Advanced Data Widgets and Server Integration

Create EntityProxyModel using EntityProxy

Store Updates

Monday, November 29, 2010

Page 21: Advanced Data Widgets and Server Integration

Add models to storeListen for Store events

Store Updates

Monday, November 29, 2010

Page 22: Advanced Data Widgets and Server Integration

Record commit causes server to be updatedRemoving from store causes server to be updated

Store Updates

Monday, November 29, 2010

Page 23: Advanced Data Widgets and Server Integration

Rendering & Formatting

Monday, November 29, 2010

Page 24: Advanced Data Widgets and Server Integration

Use XTemplate to generate HTMLXTemplate supports GWT DateTimeFormat & NumberFormatUse GridCellRenderer for Grid / TreeGridUse UIBinder with HTML

Rendering & Formatting

Monday, November 29, 2010

Page 25: Advanced Data Widgets and Server Integration

Rendering & Formatting

Monday, November 29, 2010

Page 26: Advanced Data Widgets and Server Integration

Questions?

Monday, November 29, 2010

Page 27: Advanced Data Widgets and Server Integration

Presentation Content <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"><ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> <ui:style> div { ! font-family: tahoma, arial, helvetica, sans-serif; } .avatar { ! float: right; ! margin: 5px; ! border: 1px solid #6e6e6f; }

........... .desc { ! clear: left; } </ui:style>

Monday, November 29, 2010

Page 28: Advanced Data Widgets and Server Integration

Thanks!Twitter @darrellmeyer

Portions of this presentation from the GWT documentation licensed under the Creative Commons Attribution 3.0 License

Monday, November 29, 2010