Programming Google App Engine, 2nd Edition – An important how-to guide, updated – #programming #bookreview

Programming Google App Engine, 2nd Edition
Dan Sanderson
(O’Reilly,
paperbackKindle)

O’Reilly recently has published a new edition of Dan Sanderson’s Programing Google App Engine.  The new edition updates the 2009 first edition and includes coverage of Java 6 and Python 2.7 support, multithreading, asynchronous service APIs, and using frameworks such as webapp2 and Django 1.3. (“App Engine does not yet support Python 3,” Sanderson notes.)

The 509-page, 20-chapter book shows how “to develop applications that run on Google App Engine, and how to get the most out of the scalable model. A significant portion of the book discusses the App Engine scalable datastore, which does not behave like the relational databases that have been a staple of web development for the past decade,” the author states.

Sanderson is a technical writer and software engineer at Google, Inc. His new edition is well-written and appropriately illustrated with code samples, diagrams, screen shots and other graphics.

With clear steps and good detail, the book shows you first how to install and use the Python or Java SDKs on Mac OS X, Linux, and Windows machines and how to develop simple Python and Java applications. From there, it expands deeper into the how-to aspects of programming the Google App Engine.

In some chapters, the Python and Java options are presented together. Python’s and Java’s data modeling libraries, however, are discussed in separate chapters.

“Google App Engine, Google’s application hosting service, does more than just provide access to hardware,” Sanderson points out.

“It provides a model for building applications that grow automatically. App Engine runs your application so that each user to accesses it gets the same experience as every other user, whether there are dozens of simultaneous users or thousands. The application uses the same large-scale services that power Google’s applications for data storage and retrieval, caching, and network access. App Engine takes care of the tasks of large-scale computing, such as load balancing, data replication, and fault tolerance, automatically.”

Programming Google App Engine, 2nd Edition can take you from asking “What is Google App Engine?” to well down the road toward becoming an App Engine expert.

Si Dunn

For more information: paperbackKindle

Advertisements

PayPal APIs: Up and Running – How to monetize your apps – #programming #bookreview #in

PayPal APIs: Up and Running, 2nd Edition
Matthew A. Russell
(O’Reilly,
paperback, list price $29.99; Kindle edition, list price $23.99)

The focus of this book is “monetizing your application with payment flows.” That’s a high-toned way of saying Click here to spend some money or Click here to pay your bill or Click here to donate.

PayPal APIs: Up and Running, 2nd Edition shows how to work with PayPal’s platform, which “offers a vast number of API-based products that allow you to monetize your ideas as seamlessly as possible.” (APIs are application programming interfaces.) The book is written clearly and is well illustrated with diagrams, code examples, screen shots and tables.

According to the author, PayPal’s Name-Value Pair (NVP) Application Programming Interfaces (APIs) make it “simple to integrate payments into your applications.  As the merchant, your web application constructs an NVP string and transmit(s) it via HTTPS (HTTP Secure) to the PayPal authorization server, and PayPal sends back an NVP-formatted response that your web application parses for the information relevant to the payment.”

What Matthew A. Russell’s book does not do is “provide complete or exhaustive documentation on all of PayPal’s products or even provide very specific direction on handling some of the most common idiosyncrasies that you might encounter.” But it does “aim to present some of the most popular products in fully integrated realistic scenarios with sample project code that you can study and adapt for your particular needs.” It shows you how to get started and points you toward sources of more advanced information.

Rather than introduce a new, “distinct sample application” in each chapter, the author’s approach is to use a single, simple application “as a foundation,” and “customize it in various ways according to the content of each chapter….” And the chapters are structured to be mostly standalone.

Early in the opening chapter, the foundation application is built using Python and Google App Engine (GAE). And you begin working with PayPal’s APIs.

The 135-page book is organized as follows:

  • Chapter 1: PayPal API Overview
  • Chapter 2: Express Checkout (Including Mobile Express Checkout)
  • Chapter 3: Express Checkout for Digital Goods
  • Chapter 4: Adaptive Payments (Simple, Parallel, and Chained Payments)
  • Chapter 5: Website Payments Pro (Direct Payment)
  • Chapter 6: Instant Payment Notifications (IPNs)
  • Appendix A: Overview of Tweet Relevance – Tweet Relevance is the book’s sample application, “implemented in Python (one of the easiest-to-read programming languages), runs on Google App Engine (a web application platform that is mature and extremely well documented), and munges data from Twitter (an accessible and extremely rich source of information),” Russell writes.
  • Appendix B: Mobile Payment Libraries (MPLs) – Goes beyond the scope of this book. Contains brief information on PayPal’s MPLs, including creating “in-app purchases for iOS, Android, and BlackBerry,” and gives guidance for finding more information.

Each chapter also contains recommended exercises, and the book’s code examples are available online.

The first edition of PayPal APIs: Up and Running was written by Michael Balderas. PayPal APIs: Up and Running, 2nd Edition builds upon his foundation and covers some new aspects and products of PayPal.

If you are a programmer who wants to accept payments for goods or services through PayPal or help a client accept online payments or donations, you should consider getting this useful and well-focused book.

— Si Dunn

#