Google App Engine is a platform to deploy and run web applications on Google?s infrastructure. It comes with a dynamic web server with full support for common web technologies. It offers a transactional data store for persisting data. Developers can integrate their web application with Google Accounts through the APIs. The biggest advantage of running web applications on Google App Engine is the scalability that it offers. Your web application will be as scalable as some of the popular Google services like search.
Google App Engine (GAE) currently supports Python and Java environments. Java developers will be able to deploy and run JSPs and Servlets while Python developers can use standard library. Since GAE runs in a sandbox, not all operations are possible. For example, opening and listening on sockets is disabled. The applications running on GAE live in a sandbox that provides multi-tenancy and isolation across applications.
Let?s take a closer look at some of the services provided by Google App Engine:
Java Runtime – GAE is based on Java 6 VM and Servlet 2.5 Container. The datastore can be accessed through the JDO/JPA API. It supports JSR 107 for MemCache API. Mail can be accessed through javax.mail API. Javax.net.URLConnection provides access to URLFetch service. Apart from core Java language, other dynamic languages based on Java like JRuby and Scala.
Python Runtime – GAE comes with a rich set of API and tools for developing web applications based on Python. It supports Python 2.5.2 and Python 3 is being considered for the future releases. You can also take advantage of a wide variety of mature libraries and frameworks for Python web application development, such as Django. The Python environment provides rich Python APIs for the datastore, Google Accounts, URL fetch, and email services. App Engine also provides a simple Python web application framework called webapp to make it easy to start building applications.
Datastore – App Engine comes with a very powerful data storage that can scale dynamically. It also features a query engine and support for transactions. The datastore is different from traditional relational databases. The objects stored in datastore are called “Entities” which are “schemaless”. These entities have a set of properties that can be queried using a SQL like grammar like GQL or Google Query Language. The datastore is strongly consistent and supports optimistic concurrency control.
User Authentication – One of the advantages of using GAE is its integration with Google Accounts. This empowers the developers to leverage Google?s secure authentication engine for their custom applications. While a user is signed in to the application, the app can access the user’s email address, as well as a unique user ID. The app can also detect whether the current user is an administrator, making it easy to implement admin-only areas of the app.
/10/100907_beyond_hiroshima_the.php”>Beyond Hiroshima – The Non-Reporting of Falluja’s Cancer Catastrophe.