简介:“云计算”是目前热门的技术方向,本文从 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 应用。