Sold out

Essential App Engine - Building High Performance Java Apps with Google App Engine

English · Paperback / Softback

Description

Read more

Cloud computing fundamentally changes the way applications are created and managed. When done right, system administration becomes trivial, and concerns about adequate hardware, capacity planning, or scalability are virtually eliminated. With Google's App Engine, millions of Java developers can quickly begin to develop cost-effective systems to operate in the cloud. However, when Java developers use familiar frameworks and techniques to build these systems, they often encounter surprising, unexpected performance problems. Essential App Engine teaches a start-to-finish approach to performance-driven App Engine development with Java. Using this book, Java developers can master all the concepts and techniques they need, from application design through data storage, task scheduling through security.
Coverage includes: * Systematically maximizing performance without compromising maintainability -- creating applications that are 10x faster on cold startup, and offer quick server response throughout their sessions * Avoiding or minimizing the use of frameworks and libraries that cause performance problems * Improving browser performance through the proper use of HTTP, HTML, CSS, JavaScript, and profiling * Modeling data for App Engine's non-SQL data storage * Ensuring app quality and managing development efficiently, through deployment and beyond * Working with the Channel, Multitenancy, and Capabilities APIs, as well as newer features like High Replication Datastore, Always On, and Warm Up Requests

List of contents

Introduction Part I: An App Engine Overview Chapter 1 Setting up a Development Environment Working with Eclipse Tools Deploying from the Command Line Summary Chapter 2 Improving App Engine Performance Performing in the Cloud Measuring the Cost of Class Loading Avoiding Cold Startups Improving Performance in General Summary Part II: Application Design Essentials Chapter 3 Understanding the Anatomy of a Google App Engine Application Uploading Files for Dynamic Deployment Setting up the Directory Structure Configuring the Admin Panel Summary Chapter 4 Data Modeling for the Google Datastore Moving Away from Relational Storage Modeling Data Working With Data Summary Chapter 5 Designing your Application Gathering Requirements Choosing a Toolkit Making Design Choices Summary Part III: User Interface Design Essentials Chapter 6 Presenting the User Interface with HTML5 Introducing HTML5 Using Basic HTML5 Elements Drawing Images Using the Canvas Dragging and Dropping Items into Pages Improving Form Elements Detecting a User's Geolocation Storing Data on the Client Side Summary Chapter 7 Fine-tuning the Layout Using CSS3 Selecting Elements Using CSS3 Using New Graphical Effects in CSS3 Summary Chapter 8 Adding Static Interactions Using JavaScript Setting up a Simplistic Example Cleaning up HTML Using Unobtrusive JavaScript Reducing JavaScript Dependence by Progressively Enhancing the HTML Optimizing Performance Using Event Delegation Avoiding Global Variables Summary Chapter 9 Adding Dynamic Interactions Using AJAX Using Classic AJAX Without Frameworks Using Google App Engine's Channel API Summary Part IV: Using Common App Engine APIs Chapter 10 Storing Data in the Datastore and Blobstore Processing Data Synchronously Processing Data Asynchronously Setting up Transactions Using Multitenancy to Introduce Namespaces Storing and Retrieving Large Files Uploading Bulk Data Using the Remote API Summary Chapter 11 Sending and Receiving E-Mail Sending Confirmation E-Mails with HTML and Attachments Receiving E-Mail Considering Performance and Quota Summary Chapter 12 Running Background Work with the Task Queue API and Cron Task Queueing Scheduling Tasks Using Cron Reading HTTP Headers Summary Chapter 13 Manipulating Images with the App Engine Image Service Minimizing the Use of the Image API Reading and Writing Images Performing Simple Manipulations Performing Advanced Manipulations Summary Chapter 14 Optimizing Performance Using the Memory Cache Using the Cache API for Basic Purposes Implementing a Caching Strategy Working with Fine-Grained Cache Maintaining a Cache Using Other Cache Utility Methods Using JSR 107 as an Alternative API Summary Chapter 15 Retrieving External Data Using URL Fetch Reading URLs Using GET Requests Reading Results Adding Options to URL Fetch Posting Form Data Fetching URLs Asynchronously Consuming Web Services Considering Security Summary Chapter 16 Securing a Web Application using Google Accounts, OpenID and OAuth Authenticating Users with Google Accounts Authenticating Users with OpenID Providing Access to Third Parties Using OAuth Securing URLs in web.xml Security Considerations Summary Chapter 17 Sending Messages Using XMPP Sending Messages Using XMPP Receiving Messages Using XMPP Receiving Subscriptions Receiving Presence Summary Part V: Application Deployment Chapter 18 Improving the Development Process Optimizing the Development Process for the Internet Thinking Like a Project Manager Reducing Overhead Improving Functionality Measuring Quality Optimizing Developer Productivity Summary Chapter 19 Assuring Quality Using Measuring Tools Testing on a Production Environment Thinking Differently About Usability Checking Availability with the Capabilities API Logging Unexpected Behavior Profiling Continuously on Production Measuring User Response to Your Interface Summary Chapter 20 Selling Your Application Determining How to Approach Sales Knowing Your Audience Reaching Your Audience Converting Prospects into Paying Customers Handling the Payment Process Summary

About the author

Adriaan de Jonge is a Software Architect at ANWB, the Dutch association for tourism, traffic and roadside assistance. There, he works on Internet projects including developing sites that offer car and traffic information, and sites that sell products, insurances and holidays. ANWB.nl is a top-10 site in The Netherlands. He previously spent more than seven years as a content management consultant. He is interested in new technologies related to Java, XML, the Internet, and content management, and has written several articles on these topics for IBM developerWorks. He holds a degree in Informatics and Economics from Erasmus University in Rotterdam.

Product details

Authors Adriaan De Jonge, Adriaan de Jonge
Publisher Addison Wesley
 
Languages English
Product format Paperback / Softback
Released 31.12.2011
 
No. of pages 310
Dimensions 179 mm x 229 mm x 25 mm
Weight 542 g
Series Developer's Library
Developer's Library
Subject Natural sciences, medicine, IT, technology > IT, data processing > Data communication, networks

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.