GOOGLE App Engine
Haha Vista = viruses + intruders + spyware + Trojans + adware
Google App Engine andGoogle Apps
Google App Engine
Using a platform for building and hosting web application on Google's infrastructure
When no servers to maintain: Just upload application and it's ready to serve users
Google Apps
Using gives everyone at your organization a custom email address.
Processing tools for word processing spreadsheets and presentations
Using a shared Calendaring system and acess to a flexible Intranet system
Ā standalone security and compliance services
Gae features
Dynamic Web serving with full support for CMMs on Web technologies
Transaction persistent storage with queries, sorting and transactions (transaction, communication, and business)
BytesAutomatic scaling and load balancing
Authentication APIs for authenticating (authenticated) Users and sending email using Google account
Using a fully featured local development environment that simulates Google App Engine on Developer's computer
The Data Store
Ā Distributed Data Storage Service
Ā features a query engine and supports transacions including optimistic (optimistic, optimized, open) locking and rollback
Setting the distributed datastore grows with the data
Using App Engine datastore is not a traditonal relational database, queries are specified using a SQL-like query language called gql
Gae Terms of Service-partial
BytesMust provide legally adequate privacy notice and protection for those users.
When nothing in the terms gives you a right to use any of Google's trade names, and other brand features.
Gae application environment
Sandbox:
Setting the sandbox isolates your application in its own secure, reliable environment.
Python runtime environment:
Using Python version 2.5.2 with the python standard library
Using Python APIs forDatastore, Google accouts, URL fetch and email services.
Setting the Django Web Application Framework Version 0.96.1
Gae Project
Using a project requires at least one Python program and yaml file that tells the hosting Web sever how to run and present your application in respoonse to user requests.
Ā yaml (Yaml ain't a markup language) Is a cross-language. Human-friendly. Data-serialization language used for configuration files. Persistence and
Network Messaging.
Policyaml is easier to read by humans and consumes fewer runtime resources than XML
Gae limitations
Your an application can only access other computers on the Internet through the provide URL fetch and email Sevices and APIs.
Extends other computers can only connect to the application by making HTTP (or HTTPS) requests on the standard ports.
Wrote an application cannot write to the file system.
Attackers an app can read files, but only files uploaded with the application code.
Please the app must use the App Engine data store for all data that persists between requests.
Your application code only runs in response to a Web request.
Wait must return response data within a few seconds.
Processing a request handler cannot spawn a sub-process or execute code after the response has been sent.
Inline HTML vs templates
Specified templates are used for separating the pressentation aspects of the application from its business logic. the template engine combines data provided by the application with one or more templates to produce a coherent view of the data. use wsgi-compatible templating engines (e.g. django template) int applications. the form handling and user output are quite simple. so using the mainform () and a simple string replcace () call for the output is acceptable.
Gdata
BytesThe Google data API (gdata) provides a simple protocol for exchanging data between Web applications over the RSS or atom formats.Gdata is implemented through the representational state transfer (rest) protocol open to any application or device that can use http1.1 and its basic API.
Using gdata provides a general model for feeds, queries and results.
Except Gae applications can use the gdata API for interacting with other Google properties such as these:
Authentication)
Google Base
Calendar
Documents
Picasa Web Albums
YouTube
Oo, relational DB, and datastore
Object Oriented |
Relational Database |
Datastore |
Class |
Table |
Kind |
Object |
Record |
Entity |
Attribute |
Colum |
Property |
Query vs. gqlquery
Using the datastore API provides fine-grained (detailed) data manipulation (processing) through the query and gqlquery classes.
Specify the query class provides a datastroe API for preparing queries based on application-defined entities.
Invalid gqlquery is the lowest-level querying API for the datastore.It uses the App Engine gql language, and it's limited to efficient data searches and retrieval operations (get () Fetch () count () etc .)
Memcache API
Extends scenario (Synopsis): Multiple cballs extends SS multiple servers
Invalid memcache is a service that provides a key-value caching mechanic for efficient in-memory data retrieval (retrieval and retrieval) implements SS multiple instances of an Gae application. The memcache API enables:
-A playback ction in the number of datastore queries.
-A signature ction in the datastore quota usage for popular pages.
-Caching of expensive query results.
-Implementation (tool execution) of transient (temporarily) counters
Using using mememcache for session data
-Since all sesion activity depends on the owner every usage of any persisted data results in a query.
-Executing queries on every page interaction is inefficient over the application lifetime.