Programming Google App Engine

Build and Run Scalable Web Apps on Google's Infrastructure

Dan Sanderson

Publisher: O'Reilly, 2010, 367 pages

ISBN: 978-0-596-52272-8

Keywords: Python, Java, Web Programming

Last modified: June 6, 2013, 2:14 p.m.

Google App Engine is a cloud computing service unlike any other: it provides a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine, you'll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine's APIs and scalable services.

You'll learn about App Engine's application server architecture, runtime environments, and scalable datastore for distributing data, as well as techniques for optimizing your application. App Engine offers nearly unlimited computing power, and this book provides clear and concise instructions for getting the most from it — right from the source.

  • Discover the differences between traditional web development and development with App Engine
  • Learn the details of App Engine's Python and Java runtime environments
  • Understand how App Engine handles web requests and executes application code
  • Learn how to use App Engine's scalable datastore, including queries and indexes, transactions, and data modeling
  • Use task queues to parallelize and distribute work across the infrastructure
  • Deploy and manage applications with ease
  1. Introducing Google App Engine
    • The Runtime Environment
    • The Static File Servers
    • The Datastore
    • The Services
    • Google Accounts
    • Task Queues and Cron Jobs
    • Developer Tools
    • The Administration Console
    • Things App Engine Doesn't Do…Yet
    • Getting Started
  2. Creating an Application
    • Setting Up the SDK
    • Developing the Application
    • Registering the Application
    • Uploading the Application
    • Introducing the Administration Console
  3. Handling Web Requests
    • The App Engine Architecture
    • Configuring the Frontend
    • How the App Is Run
    • Quotas and Limits
  4. Datastore Entities
    • Entities, Keys, and Properties
    • Introducing the Python Datastore API
    • Introducing the Java Datastore API
    • Property Values
    • Keys and Key Objects
    • Using Entities
  5. Datastore Queries
    • Queries and Kinds
    • Query Results and Keys
    • GQL
    • The Python Query API
    • The Java Query API
    • Introducing Indexes
    • Automatic Indexes and Simple Queries
    • Custom Indexes and Complex Queries
    • Not-Equal and IN Filters
    • Unset and Nonindexed Properties
    • Sort Orders and Value Types
    • Queries and Multivalued Properties
    • Configuring Indexes
  6. Datastore Transactions
    • Entities and Entity Groups
    • What Can Happen in a Transaction
    • Transactions in Python
    • Transactions in Java
    • How Entities Are Updated
    • How Entities Are Read
    • Batch Updates
    • How Indexes Are Updated
  7. Data Modeling with Python
    • Models and Properties
    • Property Declarations
    • Modeling Relationships
    • Model Inheritance
    • Queries and PolyModels
    • Creating Your Own Property Classes
  8. The Java Persistence API
    • Setting Up JPA
    • Entities and Keys
    • Entity Properties
    • Embedded Objects
    • Saving, Fetching, and Deleting Objects
    • Transactions in JPA
    • Queries and JPQL
    • Relationships
    • For More Information
  9. The Memory Cache
    • The Python Memcache API
    • The Java Memcache API
  10. Fetching URLs and Web Resources
    • Fetching URLs in Python
    • Fetching URLs in Java
    • Asynchronous Requests in Python
  11. Sending and Receiving Mail and Instant Messages
    • Enabling Inbound Services
    • Sending Email Messages
    • Receiving Email Messages
    • Sending XMPP Messages
    • Receiving XMPP Messages
  12. Bulk Data Operations and Remote Access
    • Setting Up the Remote API for Python
    • Setting Up the Remote API for Java
    • Using the Bulk Loader Tool
    • Using the Remote Shell Tool
    • Using the Remote API from a Script
  13. Task Queues and Scheduled Tasks
    • Task Queues
    • Scheduled Tasks
  14. The Django Web Application Framework
    • Installing Django
    • Creating a Django Project
    • The Request Handler Script
    • The Django App Engine Helper
    • Creating a Django Application
    • Using App Engine Models With Django
    • Using Django Unit Tests and Fixtures
    • Using Django Forms
  15. Deploying and Managing Applications
    • Uploading an Application
    • Using Versions
    • Managing Service Configuration
    • Managing Indexes
    • Browsing and Downloading Logs
    • Inspecting the Datastore
    • Application Settings
    • Managing Developers
    • Quotas and Billing
    • Getting Help
  • Colophon

Reviews

Programming Google App Engine

Reviewed by Roland Buresund

Decent ****** (6 out of 10)

Last modified: June 6, 2013, 1:16 p.m.

I liked it! The first decent book on GAE programming I've come across. Covers both Java and Python and sometimes contrasts the implementations against each other. Full of information, even if you sometimes find it a bit too shallow, but that is what you have the documentation for :-)

If you're thinking about getting into GAE programming, I would recommend this book

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required