Google App Engine简介:Python,Java与BigTable

Google App Engine从只支持Python开始,发展到今年四月开始支持Java。一路走来,也已经有了一年有余,而其发展势头也愈发的乐观。下面对Google App Engine做个简单的介绍。

Google App Engine简介:概述

Google(同时也是一些搜索引擎的创建者)于 2008 年 4 月首度发布了 Google App Engine。令许多 Java 开发人员失望的是,初始版完全只服务于 Python 程序员 — 那些认为应该大块使用空白的人!Google 响应了用户的普遍要求,于 2009 年 4 月发布了 Google App Engine for Java。

Google App Engine for Java 为企业 Java 开发提供了一个端到端解决方案:一个易于使用的基于浏览器的 Ajax GUI、Eclipse 工具支持以及后端的 Google App Engine。易于使用和工具支持是 Google App Engine for Java 优于其他云计算解决方案的两大优势。

Google App Engine简介:数据存储与接口

App Engine for Java 中的应用程序开发意味着使用 Google 的资源存储和检索 Java 对象。数据存储的基础是BigTable,但是使用的是 JDO 和 JPA 接口,这些接口允许您编写没有直接绑定到 BigTable 的代码。事实上,Google 为许多 API 提供了基于标准的支持,这样就可以编写没有全部绑定到 App Engine for Java 的代码。

App Engine for Java 依赖以下标准 Java API:

  1. java.net.URL,检索服务(通过使用 HTTP 和 HTTPS 协议与其他主机通信)
  2. JavaMail,发送邮件消息
  3. 一个通向 Memcache 的 JCache (JSR 107) 接口,提供快速、临时的分布式存储,用于缓存查询和计算

在 App Engine for Java 发布时,来自 Google 和 IBM 的代表在 DB2/WebSphere 上部署了相同的样例应用程序。IBM 致力于为 Tivoli LDAP 和 DB2 提供低级别的 Google API 支持,这样针对 App Engine for Java 构建的应用程序也可以运行在 IBM WebSphere/DB2 堆栈上。

Google App Engine简介:应用程序服务支持

此外,App Engine for Java 为以下应用程序服务提供了支持:

  1. 用户身份验证和授权
  2. CRON
  3. 数据导入/导出
  4. 访问防火墙数据

对于将数据从其他来源移动到您的 App Engine for Java 应用程序,数据导入/导出十分重要。这也不需要绑定到 App Engine for Java。Google 的 CRON 支持基于对某个调度的内部 URL 命中率,从而使它成为不需要绑定 App Engine for Java 的出色服务。用户身份验证和授权机制 特定于 App Engine for Java 的,但是您可以编写一个 ServletFilter、aspect 或 Spring Security 插件,以便最小化这种紧密耦合。

【编辑推荐】

  1. 什么是GAE:Google App Engine介绍
  2. Google App Engine应用示例:计算校验位(Python)
  3. 在Google Java App Engine上实现文档存储和搜索
  4. 手把手教你在Google App Engine上运行PHP
  5. 开始您的第一个Google App Engine应用
THE END