InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Google Wave机器人API的新特性

作者 Abel Avram 译者 马国耀 发布于 2010年5月16日

领域
过程 & 实践,
语言 & 开发
主题
沟通 ,
Java ,
分布式团队 ,
协作 ,
语言 ,
团队工作 ,
API ,
敏捷 ,
架构 ,
编程 ,
Google Wave

Google Wave Robots API V2不对V1向后兼容,而是提供了一些新特性,如活动API 、上下文、过滤、错误报告以及Proxying-For。开发者除了使用JavaPython客户库等便利的方法创建机器人之外,还可以基于Robot Wire协议创建自己的库。

机器人是一个自动的wave参与者,它是一个服务端应用程序,可以创建wave并与之进行交互。例如,它可以添加/删除参与者、创建/修改blip(Blip是 wave中的最小的会话单元)以及以wave的身份与外界交互。Google已经把机器人API升级到Robots API V2,该版本不对V1向后兼容。Google邀请所有开发者在2010年6月30日之前将代码移植到新版本,到那时旧版本将不再使用。

Robots API V2 中新增的特性有:

  • 活动API:在V2中,现在机器人可以向wave推送信息(而不需要等待用户的动作)。它替代了我们不推荐的cron API,现在你可以在天气变化时或股价跌破某阈值时更新wave。你可以从Active API文档中了解更多。
  • 上下文:机器人可以更精确地确定他们期望从某个特定的事件返回的信息。如果仅需对受影响的blip进行更新而且你要降低机器人使用的带宽,那么你就可以指定新的“SELF”上下文。另一方面,如果你需要wavelet中的所有信息,你可以指定“ALL”上下文。你可以从Context文档中了解更多信息。
  • 过滤:类似地,有了此API,机器人可以指定响应哪些事件,从而节约珍贵的带宽资源——忽略所有不符合的事件。你可以从Filtering Events文档中了解更多信息。
  • 错误报告:机器人现在可以注册接收失败操作的错误信息,如插入信息的位置不存在的情况。你可以从Error Reporting文档中了解更多信息。
  • Proxying-For:机器人现在可以向Google Wave表明他们所发出的动作是以其他用户的身份发出的,这是通过设置proxying-For域实现的。对于Buggy示例这样的机器人,它连接了Google Code问题跟踪器,这意味着通过它可以使用非wave系统中的用户的属性对wave进行更新。 你可以从Proxying-For文档中了解更多信息。

最新公布的一些机器人API的 新特性有:

  • 捆绑式申明——在一次调用中添加新文本标注它。
  • 内联Blip定位——得到一个Blip在其他Blip中的位置。
  • 只读角色——通过API设置wave的只读访问。

机器人使用 Robot Wire协议与wave交互,这是一种基于事件的交互方式。机器人将自己注册到其关注的wave上,此后wave的变更和修改通过包含在JSON消息包中的事件通知机器人。机器人在收到此类事件后可能会触发对wave的某个操作,可能通过JSON-RPC的方式,也可能使用机器人API。

当前可用开发者使用Robots Wire协议创建机器人的库有Java客户库Python客户库,但该协议也支持开发者基于它们所使用的语言创建新的客户库。


查看英文原文New Features in Google Wave Robots API

译者 马国耀 关注企业级应用开发与架构,有多年SOA项目实施和咨询经验,专注于SOA及云计算的融合。