Google App Engine is one of the key technologies to emerge in recent years to help you build scalable web applications even if you have limited previous experience. If you are a Java programmer, this book offers you a Java approach to beginning Google App Engine. You will explore the runtime environment, front-end technologies like Google Web Toolkit, Adobe Flex, and the datastore behind App Engine. You'll also explore Java support on App Engine from end to end.
The journey begins with a look at the Google Plugin for Eclipse and finishes with a working web application that uses Google Web Toolkit, Google Accounts, and Bigtable. Along the way, you’ll dig deeply into the services that are available to access the datastore with a focus on Java Data Objects (JDO), JDOQL, and other aspects of Bigtable.
With this solid foundation in place, you’ll then be ready to tackle some of the more advanced topics like integration with other cloud platforms such as Salesforce.com and Google Wave.
What you'll learn
- How to get up and running with App Engine, starting with the Google Plugin for Eclipse
- All about the development server for testing and developing your applications
- How to develop applications using Servlets & JSPs, Spring Framework, and open source Flash Remoting and Messaging servers
- How to leverage the datastore in your applications, including Persistence as a Service
- How to use Spring as a Service for transactions, data access, and more
- How to use Google Web Toolkit to create AJAX components to drive your web applications
- How to send email and instant messages (XMPP) from within your application
- How to increase performance of your apps by storing data in memory using the Memcache service
Who is this book for?
This book is for Java programmers looking to get started on Google App Engine, as well as App Engine programmers looking to move to Java.
About the Apress Beginning Series
The Beginning series from Apress is the right choice to get the information you need to land that crucial entry–level job. These books will teach you a standard and important technology from the ground up because they are explicitly designed to take you from “novice to professional.” You’ll start your journey by seeing what you need to know—but without needless theory and filler. You’ll build your skill set by learning how to put together real–world projects step by step. So whether your goal is your next career challenge or a new learning opportunity, the Beginning series from Apress will take you there—it is your trusted guide through unfamiliar territory!
Author(s): Kyle Roche, Jeff Douglas
Edition: 1st Edition.
Publisher: Apress
Year: 2009
Language: English
Pages: 265
Apress - Beginning Java Google App Engine (December 2009) (ATTiCA)......Page 2
Contents at a Glance......Page 7
Contents......Page 9
Foreword......Page 15
About the Authors......Page 17
About the Technical Reviewer......Page 19
Acknowledgments......Page 21
Introduction......Page 23
Cloud Computing and App Engine......Page 24
Find More Time to Innovate......Page 27
What You’ll Learn in This Book......Page 28
Summary......Page 29
App Engine Architecture......Page 30
Being a Good Neighbor With Quotas......Page 32
Billable and Fixed Quotas......Page 33
Requests......Page 35
Datastore......Page 37
Mail......Page 40
URL Fetch......Page 41
XMPP......Page 42
Image Manipulation......Page 43
Memcache......Page 44
Components of an App Engine Application......Page 45
Summary......Page 46
Where Do We Start?......Page 48
Installing the Google Plugin for Eclipse......Page 49
Launching the Demo Application......Page 52
Create Your First App Engine Project......Page 53
Project Artifacts......Page 54
Ready to Launch......Page 60
Deploying Your Sample Application......Page 62
Summary......Page 65
Choosing a Framework......Page 66
Views......Page 69
Model......Page 82
Controller......Page 87
PersistenceManager......Page 92
Spring MVC......Page 93
Server Configuration......Page 94
Views......Page 95
Adobe Flex......Page 97
Server Configuration......Page 99
Client-Side Code......Page 102
Server-Side Code......Page 106
Summary......Page 111
Functional Specifications......Page 112
Timecard UI Mock-up......Page 113
Presentation......Page 114
Using Google Web Toolkit......Page 115
Creating Your Project......Page 116
The Host Page......Page 117
Hosted Mode......Page 119
Developing Your Application......Page 120
Required Imports......Page 124
Coding Your UI......Page 125
Modifying Your Hosted Page......Page 130
Handling Client-Side Events......Page 131
Summary......Page 144
Introducing Google Accounts......Page 146
Restricting Access to Resources......Page 147
Users API......Page 148
Development Mode......Page 149
Adding Authentication for Your Application......Page 150
LoginInfo Class......Page 151
LoginService and LoginServiceAsync Interfaces......Page 152
Google Accounts Login Implementation......Page 153
Modifying the User Interface......Page 154
Summary......Page 156
Introducing the App Engine Datastore......Page 158
Working with Entities......Page 159
Classes and Fields......Page 160
Creating Entities......Page 166
Updating Entities......Page 167
Performing Queries with JDOQL......Page 168
Filtering Queries......Page 169
Using Indexes......Page 170
Creating Indexes In Development Mode......Page 171
Using Transactions......Page 172
Making Remote Procedure Calls with GWT RPC......Page 173
TimeEntryData POJO......Page 174
TimeEntryEntity JDO Class......Page 176
NotLoggedIn Exception......Page 178
Creating Your Data Service......Page 179
Invoking the Service from the GWT Client......Page 184
Displaying Timecard Entries......Page 189
Summary......Page 191
Setting up the Project......Page 192
Memcache Service......Page 194
URL Fetch Service......Page 198
Images Service......Page 201
Creating the Java Classes......Page 202
Writing the ImageObject Class......Page 203
Writing the ImageSource Class......Page 205
Writing the ImageTransform Class......Page 206
Completing the Application......Page 209
Testing the Service......Page 210
Mail API......Page 212
XMPP Service......Page 215
Summary......Page 218
Managing Your App Engine Application......Page 220
The Application Dashboard......Page 222
Application Versioning......Page 226
Analyzing Log Files......Page 227
Downloading Log Files......Page 228
Google Wave Gadgets......Page 229
Google Wave Robots......Page 230
Integration with Salesforce.com......Page 237
Setting Up a Salesforce.com Development Org......Page 238
Connecting to the Development Org......Page 239
Summary......Page 241
¦A......Page 244
¦C......Page 246
¦D......Page 247
¦......Page 248
¦F......Page 249
¦H......Page 250
¦I......Page 251
¦J......Page 252
¦K......Page 253
¦......Page 254
¦R......Page 255
¦S......Page 256
¦T......Page 257
¦V......Page 258
¦Z......Page 259