Present useful Google App Engine services at Barcamp Sai Gon 2011. Download the demo source code at: http://code.google.com/p/google-app-engine-samples/
2. Lâm Phương Duy Web Developer, KMS Technology Vietnam Email: duylamphuong@gmail.com Me
3. You’re a web developer ? This discussion: Highlight notable and useful Google App Engine services Not focus on Python language Audience & Objectives
4.
5. runs your web application offers variety of services for common operations of web application (via provided SDK) App Engine ? Cloud computing
6. runs your web application App Engine ? (cont.) * must meet secure environment restrictions **built by Google App Engine
7. offers variety of services for common operations of web application (via provided SDK) App Engine ? (cont.)
12. Allow your application to send messages to JavaScript clients in real time via a persistent connection Channel HTTP Request App Engine application Message Browser
17. Provides the ability to manipulate image data like resizing, rotating, flipping, cropping Input image data is in the JPEG, PNG, GIF (including animated GIF), BMP, TIFF and ICO formats. The output format is in JPEG and PNG Images
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
webapp: a simple web framework built by Google App EngineThird-party python libraries: example: web application framework, cryptography, YAML parsing libraries etc.
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
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
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