Programming Google App Engine with Java. Build & Run Scalable Java Applications on Google's Infrastructure - Helion
ISBN: 978-14-919-0345-2
stron: 432, Format: ebook
Data wydania: 2015-06-30
Księgarnia: Helion
Cena książki: 143,65 zł (poprzednio: 167,03 zł)
Oszczędzasz: 14% (-23,38 zł)
This practical guide shows intermediate and advanced web and mobile app developers how to build highly scalable Java applications in the cloud with Google App Engine. The flagship of Google's Cloud Platform, App Engine hosts your app on infrastructure that grows automatically with your traffic, minimizing up-front costs and accommodating unexpected visitors. You’ll learn hands-on how to perform common development tasks with App Engine services and development tools, including deployment and maintenance.
For Java applications, App Engine provides a J2EE standard servlet container with a complete Java 7 JVM and standard library. Because App Engine supports common Java API standards, your code stays clean and portable.
- Get a hands-on introduction to App Engine's tools and features, using an example application
- Simulate App Engine on your development machine directly from Eclipse
- Structure your app into individually addressable modules, each with its own scaling configuration
- Exploit the power of the scalable Cloud Datastore, using queries, transactions, and data modeling with JPA
- Use Cloud SQL for standard relational databases with App Engine applications
- Learn how to deploy, manage, and inspect your application on Google infrastructure
Osoby które kupowały "Programming Google App Engine with Java. Build & Run Scalable Java Applications on Google's Infrastructure", wybierały także:
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 129,00 zł, (51,60 zł -60%)
- Metoda dziel i zwyci 89,00 zł, (35,60 zł -60%)
- JavaFX. Kurs video. Wzorce oraz typy generyczne 79,00 zł, (31,60 zł -60%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
Spis treści
Programming Google App Engine with Java. Build & Run Scalable Java Applications on Google's Infrastructure eBook -- spis treści
- Preface
- A Brief History of App Engine
- Using This Book
- Conventions Used in This Book
- Safari Books Online
- How to Contact Us
- Acknowledgments
- 1. Introducing Google App Engine
- The Runtime Environment
- The Static File Servers
- Frontend Caches
- Cloud Datastore
- Entities and Properties
- Queries and Indexes
- Transactions
- The Services
- Google Accounts, OpenID, and OAuth
- Google Cloud Endpoints
- Task Queues and Cron Jobs
- Namespaces
- Developer Tools
- The Cloud Console
- Getting Started
- 2. Creating an Application
- Setting Up the Cloud SDK
- Installing Java
- Installing Python
- Installing the Cloud SDK
- Authenticating with the Cloud SDK
- Installing the App Engine SDK
- Installing the Java SDK with the Google Plugin for Eclipse
- Developing the Application
- The User Preferences Pattern
- A Simple App
- Introducing JSPs, JSTL, and EL
- Users and Google Accounts
- Web Forms and the Datastore
- Caching with Memcache
- The Development Console
- Registering the Application
- Uploading the Application
- Testing the App
- Enabling Billing
- Setting Up the Cloud SDK
- 3. Configuring an Application
- The App Engine Architecture
- Configuring a Java App
- App IDs and Versions
- Multithreading
- Request Handlers
- Static Files and Resource Files
- Domain Names
- Google Apps
- Configuring Secure Connections
- Secure Connections with Custom Domains
- Authorization with Google Accounts
- Environment Variables
- Inbound Services
- Custom Error Responses
- Java Servlet Sessions
- 4. Request Handlers and Instances
- The Runtime Environment
- The Sandbox
- Quotas and Limits
- Request limits
- Service limits
- Deployment limits
- Projects
- Versions
- Billable quotas
- The Java Runtime Environment
- The Request Handler Abstraction
- Introducing Instances
- Request Scheduling and Pending Latency
- Warmup Requests
- Resident Instances
- Instance Classes and Utilization
- Instance Hours and Billing
- The Instances Console Panel
- Traffic Splitting
- The Runtime Environment
- 5. Using Modules
- An Example Layout
- Configuring Modules
- The Enterprise Archive Layout
- Making Modules with Eclipse
- Manual and Basic Scaling
- Manual Scaling and Versions
- Startup Requests
- Shutdown Hooks
- Background Threads
- Modules and the Development Server
- Deploying Modules
- Addressing Modules with URLs
- Calling Modules from Other Modules
- Module URLs and Secure Connections
- Module URLs and Custom Domains
- Dispatching Requests to Modules
- Starting and Stopping Modules
- Managing and Deleting Modules and Versions
- The Modules API
- An Always-On Example
- 6. Datastore Entities
- Entities, Keys, and Properties
- Introducing the Java Datastore API
- Property Values
- Strings, Text, and Bytes
- Unset Versus the Null Value
- Multivalued Properties
- Keys and Key Objects
- Using Entities
- Getting Entities Using Keys
- Saving Entities
- Deleting Entities
- Allocating System IDs
- The Development Server and the Datastore
- 7. Datastore Queries
- Queries and Kinds
- Query Results and Keys
- The Query API
- Building the Query
- Fetching Results with PreparedQuery
- Keys-Only Queries
- Introducing Indexes
- Automatic Indexes and Simple Queries
- All Entities of a Kind
- One Equality Filter
- Greater-Than and Less-Than Filters
- One Sort Order
- Queries on Keys
- Kindless Queries
- Custom Indexes and Complex Queries
- Multiple Sort Orders
- Filters on Multiple Properties
- Multiple Equality Filters
- Not-Equal and IN Filters
- Unset and Nonindexed Properties
- Sort Orders and Value Types
- Queries and Multivalued Properties
- MVPs in Code
- MVPs and Equality Filters
- MVPs and Inequality Filters
- MVPs and Sort Orders
- Exploding Indexes
- Query Cursors
- Projection Queries
- Configuring Indexes
- 8. Datastore Transactions
- Entities and Entity Groups
- Keys, Paths, and Ancestors
- Ancestor Queries
- What Can Happen in a Transaction
- Transactional Reads
- Eventually Consistent Reads
- Transactions in Java
- How Entities Are Updated
- How Entities Are Read
- Batch Updates
- How Indexes Are Updated
- Cross-Group Transactions
- Entities and Entity Groups
- 9. Datastore Administration
- Inspecting the Datastore
- Managing Indexes
- Accessing Metadata from the App
- Querying Statistics
- Querying Metadata
- Index Status and Queries
- Entity Group Versions
- Remote Controls
- Setting Up the Remote API
- Using the Remote API with the Java Client Library
- 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
- 11. Using Google Cloud SQL with App Engine
- Choosing a Cloud SQL Instance
- Installing MySQL Locally
- Creating a Cloud SQL Instance
- Connecting to an Instance from Your Computer
- Setting Up a Database
- Setting Up JDBC
- Connecting to the Database from App Engine
- Backup and Restore
- Exporting and Importing Data
- The gcloud sql Commands
- 12. The Memory Cache
- Calling Memcache from Java
- Keys and Values
- Setting Values
- Setting Values That Expire
- Adding and Replacing Values
- Getting Values
- Deleting Values
- Locking a Deleted Key
- Atomic Increment and Decrement
- Compare and Set
- Batching Calls to Memcache
- Memcache and the Datastore
- Handling Memcache Errors
- Memcache Administration
- Cache Statistics
- Flushing the Memcache
- 13. Fetching URLs and Web Resources
- Fetching URLs
- Outgoing HTTP Requests
- The URL
- The HTTP Method and Payload
- Request Headers
- HTTP over SSL (HTTPS)
- Request and Response Sizes
- Request Deadlines
- Handling Redirects
- Response Objects
- 14. Sending and Receiving Email Messages
- Sending Email Messages
- Logging Sent Mail in the Development Server
- Sender Addresses
- Recipients
- Attachments
- Sending Email
- Receiving Email Messages
- Sending Email Messages
- 15. Sending and Receiving Instant Messages with XMPP
- Inviting a User to Chat
- Sending Chat Messages
- Receiving Chat Messages
- Receiving Chat Messages in Java
- Handling Error Messages
- Managing Presence
- Managing Subscriptions
- Managing Presence Updates
- Probing for Presence
- 16. Task Queues and Scheduled Tasks
- Configuring Task Queues
- Enqueuing a Task
- Task Parameters
- Payloads
- Task Names
- Countdowns and ETAs
- Push Queues
- Task Requests
- Processing Rates and Token Buckets
- Retrying Push Tasks
- Pull Queues
- Enqueuing Tasks to Pull Queues
- Leasing and Deleting Tasks
- Retrying Pull Queue Tasks
- Transactional Task Enqueueing
- Task Chaining
- Task Queue Administration
- Deferring Work
- Scheduled Tasks
- Configuring Scheduled Tasks
- Specifying Schedules
- 17. Optimizing Service Calls
- Calling Services Asynchronously
- The Asynchronous Call API
- Datastore
- Memcache
- URL Fetch
- The Asynchronous Call API
- Visualizing Calls with AppStats
- Installing AppStats
- Using the AppStats Console
- Calling Services Asynchronously
- 18. Managing Request Logs
- Writing to the Log
- Viewing Recent Logs
- Downloading Logs
- Logs Retention
- Querying Logs from the App
- 19. Deploying and Managing Applications
- Uploading an Application
- Using Versions
- Managing Service Configuration
- App Engine Settings
- Managing Developers
- Quotas and Billing
- Getting Help
- Index