Search and Find
Service
Contents at a Glance
5
Contents
6
About the Author
15
About the Technical Reviewer
16
Acknowledgments
17
Introduction
18
Who This Book Is For
19
How This Book Is Structured
19
Downloading the Code
21
Contacting the Author
22
What Can GWT Do for You?
23
Why GWT?
24
“May You Live in Interesting Times”
24
To HTML or Not to HTML?
25
So What Is GWT?
26
Summary
36
Getting Started
37
Sample Project Goals
37
GWT Project Structure
38
Sample Calculator Project Code
44
Animation
58
Code Size
60
Summary
64
ToCollege.net
65
Designing ToCollege.Net
66
User Stories
67
Overview of ToCollege.Net
68
The College.Net Domain
74
Summary
80
GWT and Spring MVC
81
Integrating with a Web Framework
81
The Spring MVC Site
85
Basic GWT Integration
108
ToCollege.Net RPC Integration
113
MyPage.java
119
Summary
120
Securing Our Site
121
Acegi Security System
122
Implementing Acegi Security
124
OpenID
143
Integrating GWT
148
Summary
154
Saving Our Work
156
Adding a Database
156
Building the DAO Layer
159
Hibernate and GWT: No DTOs Necessary
174
The Command Pattern, a Powerful Ally
181
Testing
189
Summary
196
ToCollege.net’s GWT GUI
198
Basic My Page GUI Framework
199
RPC Status Notification
204
Drag ’n’ Drop
215
RichTextArea
221
RichTextToolbar’s ImageBundle
223
VerticalLabel
226
Summary
229
Google Maps
230
The Mashup Landscape
230
Where We’ll Use Maps in ToCollege.net
231
The Google Maps API and Key
233
Using the GWT Google APIs
235
Geocoding Maps
236
Updating the My List College Map Tab
240
Reusable Map Components
245
Summary
252
Suggest Boxes and Full Text Search
253
A Basic Suggest Box
253
An Ideal Remote Suggest Box
255
Server-Side Suggestion Matching
263
Summary
280
Forums
281
Designing Forums
282
Implementing Forums
286
Summary
321
Security and Authorization
322
Authorization
322
GWT Security
328
Final Security Concerns
345
Summary
347
Search Engine Optimization
348
How Search Works
348
Optimizing ToCollege.net for Indexing
352
Implementing Bootstrapping
356
Optimizing the Crawling of ToCollege.net
365
Robots.txt
369
Summary
370
Google Gears
371
Limitations of AJAX
371
Introducing Gears
373
LocalServer
375
WorkerPool
383
Gears Database
386
Google Gears Tools
399
What’s Next?
402
Summary
402
Building ToCollege.net
404
General Tools
404
The ToCollege.net Codebase
411
Compiling with Maven
414
Run the Sample Calculator
425
Set Up the Database
426
Running ToCollege.net
431
Summary
439
Index
440
All prices incl. VAT