Google App Engine为像我们这些比较没钱的web程序员提供了一整套的解决方案。 除非你的网站已经达到一个相当高的浏览量,否则它是免费的。
App Engine Java 概述
欢迎使用 Google App Engine for Java!利用 App Engine,可以使用标准 Java 技术构建网络应用程序并在 Google 的可扩展基础结构上运行这些应用程序。Java 环境提供了 Java 6 JVM、Java Servlets 接口并支持 App Engine 可扩展数据存储区和服务的标准接口,如 JDO、JPA、JavaMail 和 JCache。标准支持使您可以轻松熟练地开发应用程序,还能使应用程序直接移植到您自己的 servlet 环境中并从中移植出来。
Eclipse Google 插件将新的项目向导和调试配置添加到 App Engine 项目的 Eclipse IDE。App Engine for Java 使得使用 Google Web 工具包 (GWT) 来开发和部署世界级网络应用程序尤为简单。Eclipse 插件与 App Engine 和 GWT SDK 进行了捆绑。
如果您尚未做好准备,请参阅 Java 使用入门指南以获得关于使用 Java 技术和 Google App Engine 来开发网络应用程序的交互性介绍。
Java 运行时环境
App Engine 使用 Java 6 虚拟机 (JVM) 来运行 Java 应用程序。App Engine SDK 支持 Java 5 及更高版本,Java 6 JVM 可以使用由 Java 6 及更低版本的 Java 编译器所编译的类。
App Engine 对网络应用程序使用 Java Servlet 标准。您以标准 WAR 目录结构提供应用程序的 servlet 类、JavaServer Pages (JSP)、静态文件和数据文件以及部署描述符(web.xml 文件)和其他配置文件。App Engine 通过根据部署描述符调用 servlet 来提供请求。
出于服务和安全原因,JVM 在安全的“沙盒”环境中运行以隔离您的应用程序。沙盒确保了应用程序仅执行不影响其他应用程序的性能和可伸缩性的操作。例如,某个应用程序无法生成线程、将数据写入本地文件系统或建立任意网络连接。也无法使用 JNI 或其他本机代码。JVM 可以执行任何运行在沙盒限制内的字节码。
有关详细信息,请参阅 Servlet 环境。
数据存储区、服务和标准接口
App Engine 提供可扩展服务,应用程序可以使用这些服务来存储持久数据、访问网络资源并执行如处理图像数据等其他任务。在可能的情况下,这些服务的 Java 接口符合已建立的标准 API,以便将应用程序移植到 App Engine 中并从中移植出来。每个服务还提供了完整的低级接口,用于实现新接口适配器或直接访问。
应用程序可以使用 App Engine 数据存储区来实现可靠、可扩展的持久数据存储。数据存储区支持 2 种标准 Java 接口:Java 数据对象 (JDO) 2.3 和 Java 持久 API (JPA) 1.0。这两种接口是使用 DataNucleus 访问平台(这些标准的开源实现)来实现的。
App Engine Memcache 提供快速、暂时的分布式存储来缓存数据存储区查询和计算的结果。Java 接口实现 JCache (JSR 107)。
应用程序使用网址抓取服务来访问网络资源,并且使用 HTTP 和 HTTPS 协议来与其他主机通信。Java 应用程序只需使用 Java 标准库中的 java.net.URLConnection 和相关类便可访问此服务。
应用程序可以使用邮件服务,以应用程序管理员或当前登录用户的身份发送电子邮件。Java 应用程序使用 JavaMail 接口来发送电子邮件。
应用程序通过图像服务能够转换并处理一些格式的图像数据,包括修剪、旋转、调整大小和照片色彩增强。该服务可以处理 CPU 密集型的图像处理任务,从而留出更多资源供应用程序服务器处理网络请求。(如果应用程序服务器在沙盒限制内运行,则您还可以在该服务器上使用任何基于 JVM 的图像处理软件。)
应用程序可以使用 Google 帐户进行用户验证。Google 帐户处理用户帐户的创建和登录,已拥有 Google 帐户(如 GMail 帐户)的用户可以将该帐户与应用程序结合使用。应用程序可以检测到当前用户的登录时间,并且可以访问该用户的电子邮件地址。Java 应用程序可以在部署描述符中使用安全限制来控制通过 Google 帐户的访问,并且可以使用 servlet 请求对象上的 getUserPrincipal() 方法来检测用户是否登录并获取电子邮件地址。应用程序可以使用低级 Google 帐户 API 生成登录和退出网址,并且获取适于在数据存储区中存储的用户数据对象。
计划任务
应用程序可以配置将以指定间隔时间调用应用程序网址的计划任务。有关这一点的详细信息,请参阅 Cron Job。
Java 工具
App Engine Java SDK 包括用于测试应用程序、上传应用程序文件和下载日志数据的工具。SDK 还包括 Apache Ant 的组件,用于简化 App Engine 项目的常见任务。Eclipse Google 插件向 Eclipse IDE 添加了用于 App Engine 开发、测试和部署的功能,并且包括完整的 App Engine SDK。Eclipse 插件还简化了 Google Web 工具包应用程序的开发及其在 App Engine 上的运行。
开发服务器在本地计算机上运行您的应用程序,以便部署和测试。服务器模拟 App Engine 数据存储区、服务和沙盒限制。开发服务器还可以根据应用程序在测试期间执行的查询生成数据存储区索引的配置。
称为 AppCfg 的多功能工具处理与 App Engine 上运行的应用程序进行的所有命令行互动。AppCfg 可以将您的应用程序上传至 App Engine,或仅更新数据存储区索引配置,这样您可以在更新代码之前构建新索引。AppCfg 还可以下载应用程序的日志数据,这样您可以使用自己的工具来分析应用程序的性能。
分享到:
相关推荐
**谷歌AppEngine与Java SDK详解** 谷歌AppEngine(Google App Engine)是一款强大的云计算平台,它允许开发者使用Java、Python、Go或PHP等语言构建并运行Web应用。AppEngine提供了全面的后端服务,包括数据库存储、...
Java版本的App Engine,即我们讨论的"appengine-java-sdk-1.8.7.zip",是Google专门为Java开发者提供的工具包,用于在GAE上开发应用。 **主要组件和功能** 1. **SDK(Software Development Kit)**: SDK包含了开发...
Google App Engine(简称GAE)是Google于2008年推出的一项云服务,允许开发者使用Python、Java、Go等多种语言构建并部署Web应用。GAE提供了自动扩展、高可用性和全球分布等特性,使开发者能够专注于编写代码而无需...
### 编程Google App Engine使用Java - 关键知识点解析 #### 一、书籍概述与背景 《Programming Google App Engine with Java》是一本详细介绍如何利用Google App Engine (GAE) 构建可扩展Java应用程序的专业书籍。...
### Apress - Beginning Java Google App Engine(Java)(Dec 2009) 关键知识点解析 #### 一、概述 本书由 Kyle Roche 和 Jeff Douglas 合著,旨在为使用 Java 技术的 Web 开发者提供关于 Google App Engine 的核心...
### Apress - Beginning Java Google App Engine (December 2009) (ATTiCA).pdf 知识点解析 #### 书籍基本信息 - **书名**:《Beginning Java Google App Engine》 - **作者**:Kyle Roche 和 Jeff Douglas - **...
3. **项目结构**:解释一个典型的GAE Java项目的目录结构,包括`war`目录、`src`目录、`appengine-web.xml`和`web.xml`等关键文件的作用。 4. **开发第一个应用**:展示如何创建一个简单的Guestbook应用,这可能...
1. **Google App Engine概述** Google App Engine提供了全面的后端服务,包括数据存储(如Google Cloud Datastore)、任务队列、邮件服务、身份验证和API访问。它支持多种编程语言,包括Python、Java、Go和PHP,让...
Java应用的配置文件是`appengine-web.xml`,用于定义应用属性和服务。 **三、Google App Engine的关键特性** 1. **数据存储:Cloud Datastore** App Engine的NoSQL数据库,提供强一致性读取和最终一致性写入。...
### 云端代码:利用Google AppEngine编程 #### 一、Google AppEngine简介 Google App Engine (GAE) 是由谷歌提供的一种云平台服务,它允许开发者构建和部署应用程序在谷歌的基础架构上运行。与传统的应用开发相比...
### Google App Engine 教程知识点总结 #### 一、Google App Engine 概览 - **定义**:Google App Engine (GAE) 是一种基于云端的平台即服务 (PaaS),允许开发者构建和托管应用程序,无需管理底层基础设施。GAE ...
2. **Google App Engine概述**:Google App Engine是一个PaaS(Platform as a Service)平台,提供了一整套工具和服务来帮助开发者构建Web应用。它支持多种语言,如Python、Java、Go等,但这里可能主要关注Python的...
**Google App Engine概述** Google App Engine是一个托管服务,它提供了服务器、数据库和运行时环境,开发者可以在其中编写和部署Web应用程序。该平台提供了一些核心服务,如数据存储(使用Google Cloud Datastore或...
Google App Engine 是一个完全托管的云平台,支持多种编程语言,如Python、Java、Go、Node.js等。开发者可以利用这个平台快速构建、部署和管理应用程序,而无需关注服务器硬件和运维细节。 2. **环境与服务** - *...
7. **文件结构**:在提供的`apps`文件夹中,可能包含了GAE应用的源代码文件,如Python的`.py`文件,Java的`.java`文件,或者是配置文件,如`app.yaml`或`appengine-web.xml`,这些文件定义了应用的配置信息,如服务...
为了方便地开发 GWT 和 Google App Engine 应用,建议安装 Eclipse IDE for Java Developers。可以从 Eclipse 官方网站下载并安装。 ##### 2.3 安装SDK和Eclipse插件 - **安装 Google App Engine SDK**:Google ...
谷歌应用引擎(Google App Engine,GAE)是谷歌提供的一款强大的云计算平台,允许开发者构建和托管Web应用程序。这个平台提供了多种服务,包括数据存储、任务调度、邮件服务以及用户身份验证等,使得开发者可以专注...