Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191494
  • 博文数量: 31
  • 博客积分: 2595
  • 博客等级: 少校
  • 技术积分: 334
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-28 16:03
个人简介

知行合一

文章分类

全部博文(31)

文章存档

2015年(1)

2014年(1)

2010年(9)

2009年(20)

我的朋友

分类: 系统运维

2009-06-07 16:58:00

注:以下文章如需转载,请注明所属作者,转载地址,谢谢!

Google wave

一:什么是google wave

google wave是一个旨在帮助使用者在web上进行交流和协作的产品。一个wave等同于对话和文档,在那里使用者可以利用富含格式化的文本,相片,视频,地图等更多的原料进行几乎即时的沟通和协同工作。Google wave同时也是一个富含开放的API的平台,这些API能让开发者将wave嵌入到其他的web服务中并且还可以让他们构建extensions工作在wave中。

wave可以被分享。任何参与者都可以在消息中的任何位置进行对改消息的回复,内容的编辑,以及在处理过程的任意的时间点来添加参与者。之后playback的功能可以让任何在之后加入的参与者获知在他加入之前有谁,以及在什么时候说过什么。

wave直播性。打字时的直播性,让wave上面的参与者能够获得更快捷的对话方式。关于这一点,可以看看实时的与extensions来进行交互的部分。

二:什么是google wave api

google wave api允许开发者通过两个主要形式的开发手段来使用和增强google wave

1Extensions:构建robot extensions来自动化的完成一些普通的任务,或是构建gadget extensions来提供给使用者新的交互的方式。

2Embed:在你的网站中放置一个wave将使你的网站更加具有协作性。

三:API详细介绍

1wave实体(Wave Entities

使用google wave apis进行有效的编程需要了解下面的一些wave的基本概念:

wave:一个wave是一个线程化(threaded)的会话。包含一个或是更多的参与者(包括真实的人类参与者(human)和机器人参与者(robots))。wave是一个包含状态和储存历史信息的动态的实体。因其的直播性,参与者可以实时地与wave进行交互或是对其进行修改。Wave可以看作下面介绍的wavelet的容器。

wavelet:一个wavelet是一个有wave(包括初始化会话)产生的线程化(threaded)的会话。Wavelet作为消息的容器,这里消息我们称之为blipswaveletwave中对数据进行访问控制的最基本单元。wavelet中的所有参与者都有对wavelet中的所有内容进行完全读写访问的权力。还有就是,在google wave api中发生的所有事件都运行在wavelet以及更低的级别上。

当你在wave中生成wavelet时,你不会从其父母wavelet继承任何访问权限。在wave的生命期内,你可以生成私人会话(private conversations),这个私人会话会变成单独的wavelets,但是其适合同一个wave绑定的。既然时间是在wavelet以及以下级别产生的,那么时间发生的上下文也是限制在一个独立的wavelet上。一个wavelet可以被robot创建和管理,而该robot也是其唯一的参与者。这就允许robot可以有效的使用wavelet来作为一个私有的数据文档。这些数据文档不会暴露给使用者,并且可以包含关于wavelet的结构化或是非结构化的数据。

blip:其是会话的基本单元,由出现在wavelet上的一条单独的消息组成。Blips可以是草稿(drafts)也可以通过点击wave客户端中的 “Done”按钮来进行发布。Blips通过他们的文档来对他们的内容进行管理,下面将进行介绍。Blips也可以包含其他的blips作为他们的子女(children),形成blip层级(blip hierarchy)。每一个wavelet总是由至少一个根blip组成。

document:是和一个blip相关联的内容。这个documentXML组成,它可以被API获取,修改或添加。一般地,你可以通过方便的方法来对document进行管理,而不是直接通过操作XML数据结构。

2Wave嵌入APIWave Embed API

 

介绍

任何google wave api应用中的基本元素都是wave本身。WavePanel对象是其的持有者。这篇文章就来讨论如何建立和使得WavePanel对象持有wave

Google waveHelloWorld

了解google wave api最容易的方式就是看一个简单的例子。下面的代码是在wave apihome页面上显示“welcome”wave

3C//DTD XHTML 1.0 Strict//EN"

    "">

 

   

    Google Wave Embed API Example: Simple Wave

   

   

 

 

   

 

你可以下载这个例子进行编辑运行,但是要和wave进行交互,你需要request Sandbox access,并且要提供你自己的Wave ID

即使在这个简单的例子中,还是有些事要注意:

1.我们使用“script”标识包含Wave API JavaScript

2.我们创建了一个名叫waveframe

”元素来持有(holdwavewave事实上将作为该元素的