在Google App Engine Java版上构建电子书分享网站2011-08-11 IBM 张军简介:“云计算”是目前热门的技术方向,本文从 Google 的云计算平台 App Engine 入手,简单介 绍了 Google 面向 Java 开发人员的云计算平台。从一个实际的电子书分享应用构建出发,讲述了如何在 Google App Engine 平台上构建这个应用程序。“云计算”基本概念的介绍根据维基百科上的定义,云计算是一种动态易扩展,而且通常是通过互联网提供的虚拟化的资源计算 方式,用户不需要了解云内部的细节,也不必具有云内部的专业知识,或者直接控制基础设施。云计算包 括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)以及其它依赖于互联网满足客户 计算需求的技术趋势。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据存储在服 务器上。本文的介绍主要在“平台即服务”这个层次上。在这个层次上,Google 所提供的技术即 Google App Engine 。Google 的“云计算”平台Google 作为一个搜索引擎,在其发展过程中不断地追求更高的可伸缩型和性能,逐渐发展出一套以自 由技术为基础的良好的解决方案,其中包括 Google File System、BigTable 以及 Map Reduce 等。基于 这些技术,Google 发展出了称之为 App Engine 的平台,可以允许开发人员在它之上开发应用,同时也 利用上了 Google 所提供的基础设施,在可扩展性等非功能性的需求上获得好处,从而可以更加集中精力 地解决业务的需求。Google App Engine 最早于 2008 年 4 月发布,最初支持的开发语言是 Python 。今年 4 月, Google App Engine 已经宣布了对 Java 语言的支持。下图是 Google App Engine for Java 支持的概览 。图 1. Google App Engine for Java 支持的概览

在 Web 应用开发上,Google App Engine 支持 JSP 和 Servlet 技术;在数据存储上,Google App Engine 支持 JDO 和 JPA 两套机制,开发人员在面向对象的层次考虑数据的持久化,不需要考虑关系数 据库。此外,Google App Engine 还提供一系列常用的服务,例如邮件收发、图像处理和缓存等。本文将通过一个简单的实例来展示如何在 Google App Engine for Java 平台上构建 Web 应用。