Programming Google App Engine - Dan Sanderson

Programming Google App Engine

(Autor)

Buch | Softcover
538 Seiten
2012 | 2 Rev ed
O'Reilly Media, Inc, USA (Verlag)
978-1-4493-9826-2 (ISBN)
44,85 inkl. MwSt
Google App Engine makes it easy to create a web application that can serve millions of people as easily as serving hundreds, with minimal up-front investment. With Programming Google App Engine, Google engineer Dan Sanderson provides practical guidance for designing and developing your application on Google’s vast infrastructure, using App Engine’s scalable services and simple development model.
Through clear and concise instructions, you’ll learn how to get the most out of App Engine’s nearly unlimited computing power. This second edition is fully updated and expanded to cover Python 2.7 and Java 6 support, multithreading, asynchronous service APIs, and the use of frameworks such as Django 1.3 and webapp2.
  • Understand how App Engine handles web requests and executes application code
  • Learn about new datastore features for queries and indexes, transactions, and data modeling
  • Create, manipulate, and serve large data files with the Blobstore
  • Use task queues to parallelize and distribute computation across the infrastructure
  • Employ scalable services for email, instant messaging, and communicating with web services
  • Track resource consumption, and optimize your application for speed and cost effectiveness

As a cloud computing service, Google App Engine does more than provide access to a large system of servers. It also offers you a simple model for building applications that scale automatically to accommodate millions of users. With this updated edition of 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. It's ideal for intermediate and advanced web developers familiar with Java or Python.
  • 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

Dan Sanderson is a technical writer and software engineer at Google Inc. He has worked in the web industry for over 10 years as a software engineer and technical writer for Google, Amazon.com, and the Walt Disney Internet Group. He lives in Seattle, Washington. For more information about Dan, visit his website at http://www.dansanderson.com.

Chapter 1 Introducing Google App Engine

  • The Runtime Environment
  • The Static File Servers
  • The Datastore
  • The Services
  • Namespaces
  • Google Accounts, OpenID, and OAuth
  • Task Queues and Cron Jobs
  • Developer Tools
  • The Administration Console
  • Things App Engine Doesn’t Do...Yet
  • Getting Started
Chapter 2 Creating an Application
  • Setting Up the SDK
  • Developing the Application
  • Registering the Application
  • Uploading the Application
  • Introducing the Administration Console
Chapter 3 Configuring an Application
  • The App Engine Architecture
  • Configuring a Python App
  • Configuring a Java App
  • Domain Names
  • App IDs and Versions
  • Multithreading
  • Request Handlers
  • Static Files and Resource Files
  • Secure Connections
  • Authorization with Google Accounts
  • Environment Variables
  • Inbound Services
  • Custom Error Responses
  • Administration Console Custom Pages
  • More Python Features
  • Java Servlet Sessions
Chapter 4 Request Handlers and Instances
  • The Runtime Environment
  • The Request Handler Abstraction
  • Introducing Instances
  • Request Scheduling and Pending Latency
  • Warm-up Requests
  • Resident Instances
  • The Instances Console
  • Instance Hours and Billing
  • Instance Classes
Chapter 5 Datastore Entities
  • Entities, Keys, and Properties
  • Introducing the Python Datastore API
  • Introducing the Java Datastore API
  • Property Values
  • Keys and Key Objects
  • Using Entities
  • Allocating System IDs
  • The Development Server and the Datastore
Chapter 6 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
  • Query Cursors
  • Projection Queries
  • Configuring Indexes
Chapter 7 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
  • Cross-Group Transactions
Chapter 8 Datastore Administration
  • Inspecting the Datastore
  • Managing Indexes
  • The Datastore Admin Panel
  • Accessing Metadata from the App
  • Remote Controls
Chapter 9 Data Modeling with Python
  • Models and Properties
  • Property Declarations
  • Modeling Relationships
  • Model Inheritance
  • Queries and PolyModels
  • Creating Your Own Property Classes
Chapter 10 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
Chapter 11 The Memory Cache
  • Calling Memcache from Python
  • Calling Memcache from Java
  • Keys and Values
  • Setting Values
  • Getting Values
  • Deleting Values
  • Atomic Increment and Decrement
  • Compare and Set
  • Batching Calls to Memcache
  • Memcache and the Datastore
  • Handling Memcache Errors
  • Memcache Administration
Chapter 12 Large Data and the Blobstore
  • Accepting User Uploads
  • Using BlobInfo Entities
  • Serving Blobstore Values
  • Deleting Blobstore Values
  • Reading Blobstore Values
  • A Complete Example
Chapter 13 Fetching URLs and Web Resources
  • Fetching URLs in Python
  • Fetching URLs in Java
  • Outgoing HTTP Requests
  • HTTP Over SSL (HTTPS)
  • Request and Response Sizes
  • Request Deadlines
  • Handling Redirects
  • Response Objects
Chapter 14 Sending and Receiving Email Messages
  • Sending Email Messages
  • Receiving Email Messages
Chapter 15 Sending and Receiving Instant Messages with XMPP
  • Inviting a User to Chat
  • Sending Chat Messages
  • Receiving Chat Messages
  • Handling Error Messages
  • Managing Presence
Chapter 16 Task Queues and Scheduled Tasks
  • Configuring Task Queues
  • Enqueuing a Task
  • Task Parameters
  • Push Queues
  • Pull Queues
  • Transactional Task Enqueueing
  • Task Chaining
  • Task Queue Administration
  • Deferring Work
  • Scheduled Tasks
Chapter 17 Optimizing Service Calls
  • Calling Services Asynchronously
  • Visualizing Calls with AppStats
Chapter 18 The Django Web Application Framework
  • Using the Bundled Django Library
  • Creating a Django Project
  • Hooking It Up to App Engine
  • Creating a Django App
  • Using Django Templates
  • Using Django Forms
  • The django-nonrel Project
Chapter 19 Managing Request Logs
  • Writing to the Log
  • Viewing Recent Logs
  • Downloading Logs
  • Logs Retention
  • Querying Logs from the App
  • Flushing the Log Buffer
Chapter 20 Deploying and Managing Applications
  • Uploading an Application
  • Using Versions
  • Managing Service Configuration
  • Application Settings
  • Managing Developers
  • Quotas and Billing
  • Getting Help
Colophon

Erscheint lt. Verlag 20.11.2012
Zusatzinfo Illustrations
Verlagsort Sebastopol
Sprache englisch
Maße 178 x 233 mm
Gewicht 870 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Informatik Programmiersprachen / -werkzeuge Python
Informatik Web / Internet Web Design / Usability
ISBN-10 1-4493-9826-X / 144939826X
ISBN-13 978-1-4493-9826-2 / 9781449398262
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90