Duy Lam 2011Useful Google App Engine services (Python language)
Lâm Phương DuyWeb Developer, KMS Technology VietnamEmail: duylamphuong@gmail.comMe
You’re a web developer ?This discussion:Highlight notable and useful Google App Engine servicesNot focus on Python languageAudience & Objectives
runs your web applicationoffers variety of services for common operations of web application (via provided SDK)App Engine ?Cloud computing
runs your web applicationApp Engine ? (cont.)*   must meet secure environment restrictions **built by Google App Engine
offers variety of services for common operations of web application (via provided SDK)App Engine ? (cont.)
Useful App Engine Services
To execute abackground workTask Queuesadd  “/path/to/backgroundtask” + parametersAPI callApp Engine applicationHTTP PostApp Engine Task Queue service/path/to/backgroundtaskBackground task
Task Queues demo
Allow your application to send messages to JavaScript clients in real time via a persistent connectionChannelHTTP RequestApp Engine applicationMessageBrowser
Channel demo
Mail
Receiving emailMail (cont.)incoming emailHTTP Postincoming emailApp Engine Mail serviceApp Engine application
Mail demo
Provides the ability to manipulate image data like resizing, rotating, flipping, croppingInput image data is in the JPEG, PNG, GIF (including animated GIF), BMP, TIFF and ICO formats. The output format is in JPEG and PNGImages
Images demo
Administration Console
Demo application: http://barcamp2011.appspot.comSource code: http://code.google.com/p/barcamp-saigon-2011-appengine-demoIt’s FREE to get started with App Engine:	5M pageviews a monthCheck out: http://code.google.com/appengine/Code example: http://code.google.com/p/google-app-engine-samplesReference
Thank youThe End

Useful Google App Engine services (in Python language)

  • 1.
    Duy Lam 2011UsefulGoogle App Engine services (Python language)
  • 2.
    Lâm Phương DuyWebDeveloper, KMS Technology VietnamEmail: duylamphuong@gmail.comMe
  • 3.
    You’re a webdeveloper ?This discussion:Highlight notable and useful Google App Engine servicesNot focus on Python languageAudience & Objectives
  • 5.
    runs your webapplicationoffers variety of services for common operations of web application (via provided SDK)App Engine ?Cloud computing
  • 6.
    runs your webapplicationApp Engine ? (cont.)* must meet secure environment restrictions **built by Google App Engine
  • 7.
    offers variety ofservices for common operations of web application (via provided SDK)App Engine ? (cont.)
  • 9.
  • 10.
    To execute abackgroundworkTask Queuesadd “/path/to/backgroundtask” + parametersAPI callApp Engine applicationHTTP PostApp Engine Task Queue service/path/to/backgroundtaskBackground task
  • 11.
  • 12.
    Allow your applicationto send messages to JavaScript clients in real time via a persistent connectionChannelHTTP RequestApp Engine applicationMessageBrowser
  • 13.
  • 14.
  • 15.
    Receiving emailMail (cont.)incomingemailHTTP Postincoming emailApp Engine Mail serviceApp Engine application
  • 16.
  • 17.
    Provides the abilityto manipulate image data like resizing, rotating, flipping, croppingInput image data is in the JPEG, PNG, GIF (including animated GIF), BMP, TIFF and ICO formats. The output format is in JPEG and PNGImages
  • 18.
  • 20.
  • 21.
    Demo application: http://barcamp2011.appspot.comSourcecode: http://code.google.com/p/barcamp-saigon-2011-appengine-demoIt’s FREE to get started with App Engine: 5M pageviews a monthCheck out: http://code.google.com/appengine/Code example: http://code.google.com/p/google-app-engine-samplesReference
  • 22.

Editor's Notes

  • #4 DiscussGoogle App Engine services that differentiate themselves from other cloud platform service providers such as Microsoft Windows AzureThe use of Python language in this present is to show the audience another new , great language instead of the well-known Java language
  • #7 webapp: a simple web framework built by Google App EngineThird-party python libraries: example: web application framework, cryptography, YAML parsing libraries etc.
  • #8 Datastoring : a robust, scalable storage for your web application, with an emphasis on read and query performanceBlobstore: to serve data objects, called blobs, that are much larger than the size allowed for objects in the Datastore serviceXMPP: to send and receive chat messages to and from any XMPP-compatible chat messaging service, such as Google TalkProspective Search:a querying service that allows your application to match search queries against real-time data streams (no need of pre-index the data)Images:the ability to manipulate image data using a dedicated Images serviceMail: send and receive emailMemcache: a distributed in-memory data cache in front of or in place of robust persistent storageMultitenancy: Multitenancy is the name given to a software architecture in which one instance of an application, running on a remote server, serves many client organizations (also known as tenants). Using the Namespaces API, you can easily partition data across tenants simply by specifying a unique namespace string for each tenantOAuth: OAuth is a protocol that allows a user to grant a third party limited permission to access a web application on her behalf, without sharing her credentials (username and password) with the third party. The application seeking permission is the consumer, and the application providing the data is the service provider. Using Google Accounts and a simple API, any App Engine application can be an OAuth service providerChannel: creates a persistent connection between your application and Google servers, allowing your application to send messages to JavaScript clients in real time without the use of pollingTask Queues:  If an app needs to execute some background work, it may use the Task Queue API to organize that work into small, discrete units, called tasksURL Fetch:  An app can use the URL Fetch service to issue HTTP and HTTPS requests and receive responsesUsers: a user can login to app engine in one of three methods: Google Accounts, accounts on your own Google Apps domains, or OpenID identifiers. This API to retrieve account info for userCapabilities: detect outages and scheduled downtime for specific API capabilities. You can use this API to reduce downtime in your application by detecting when a capability is unavailable and then bypassing it
  • #10 Task Queue: Google App Engine introduces new method for developer to implement a background workChannel : make a persistent connection between the JavaScript client and your applicationImage: to manipulate image data using a dedicated Images serviceMail: allow sending and receiving email
  • #13 The JS client component: listen from connection to to receive data from serverApp Engine application :Use API to send message to connectionReceive data from client via normal HTTP request