Google App Engine 的数据持久化

1.  google app engine 提供的一套整合开发的解决方案。开发人员可以轻松地在eclipse上开发自己的应用程序,并能迅速、简单的部署到google为我们提供的性能强大的虚拟空间中。google app engine早前只是支持python,近来终于支持JAVA了。google还为我们提供了将google app enginedomainemail servicedocssitecalender等非常有用的工具整合在一起的服务。我们只要拥有一个domain,就可以开发和使用这些服务,从而组建成一套强大的work online system。中小型企业或者个人想建立自己的工作流程系统,使用google的这些工具集合并结合google app engine ,不失为一个好的选择。google的过人之处,莫过于她为我们提供了google app engine这一强大的服务。

2.  google app engine 是一套开发web应用程序的方案。其中包括开发端的eclipse插件、一套非常完整的web程序监控系统。而开发端的eclipse插件,不仅整合了googlegwtJDOJPI等,还提供了在eclipse中部署自己的程序到google为你提供的空间。以下是google app engine的帮助文档上所描述的特性:

Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. App Engine includes the following features:

  • dynamic web serving, with full support for common web technologies

  • persistent storage with queries, sorting and transactions

  • automatic scaling and load balancing

  • APIs for authenticating users and sending email using Google Accounts

  • a fully featured local development environment that simulates Google App Engine on your computer

  • scheduled tasks for triggering events at specified times and regular intervals

3.  很多人会关心到,究竟google app engine如何进行数据的持久化的?她没有传统的关系型数据库。数据存储,她是这样解释的:App Engine includes support for two different API standards for the datastore: Java Data Objects (JDO) and Java Persistence API (JPA). These interfaces are provided by DataNucleus Access Platform, an open source implementation of several Java persistence standards, with an adapter for the App Engine datastore.下面我以官方的例子通俗的说明如何进行数据存储:

google app engine让开发者真正感受到了对象的持久化操作。例如,我要做一个留言本,要存储留言信息。传统做法,可能是在关系数据库上建立相应的表。但在google app engine中,不需要涉及关系型数据库就可以实现。

建立POJO类,反映着留言信息的模型。并标注要持久化的属性和这个留言对象:

这样的做法,跟在数据库建立一个表存储数据的效果一样。google app engine会在程序运行时在WEB-INF目录下建立一个appengine-generated目录,这个目录下有一个local_db.bin的数据库文件和datastore-indexes-auto.xml的文件。我们大概可以用这样的方式来了解google app engine的数据持久化流程(个人理解,有其他意见的朋友可以指出):首先在程序中建立信息POJO类,并以google定义的方式将这个类定义为持久化类(上面代码是这样定义:@PersistenceCapable(identityType = IdentityType.APPLICATION) ),并注释要持久化的属性。这样就好像为我们的数据库定义好了一张表,我们不需要了解google app engine是如何实现这个过程,我们所要做的,就是对象化操作数据。

要持久化Greeting类的对象,首先要获得持久化操作者的实例,建立一个类,用于生产这样的实例:

下面是一个持久化一个Greeting类对象的函数:

看到这里,是不是觉得跟Hibernate,ibatis等持久框架的操作相似?答案是肯定的。

详细的信息可以到:http://code.google.com/appengine/docs/   了解。good luck

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值