扩展 IBM Lotus Sametime Connect V7.5

获得关于使用 Lotus Sametime Connect Software Development Kit(SDK)进行 IBM Lotus Sametime V7.5 插件开发的介绍信息。了解基于 Eclipse 和 IBM WebSphere Everyplace Deployment 的全新 Sametime 架构,并熟悉 Lotus Sametime V7.5 所附带的插件示例。

Dan Kehn (kehn@us.ibm.com), 高级软件工程师, EMC

Dan Kehn 是 IBM Research Triangle Park,NC 的高级软件工程师,具有广泛的软件经验,包括 Rational Application Developer 等开发工具,以及操作系统性能、内存分析以及用户界面设计等方面的工作实践。他也是获奖图书 The Java Developer's Guide to Eclipse 的合著者。目前,他作为技术实现专家,帮助合作伙伴把产品集成到 IBM Lotus Sametime Connect 中。



Lori Ott, BP 技术实现专家, EMC

Lori Ott 是一名 BP 技术实现专家,她是 Lotus Notes Application Development 团队的 Lotus Education 课程开发者,于2000年加入到 IBM,她是 IBM 红皮书 “IBM Workplace Managed Client: ISV Integration Guide.” 的合著者。



2006 年 8 月 28 日

developerWorks 的文章 “了解 IBM Lotus Sametime 7.5 中的新特性和新技术” 为您介绍了 Lotus Sametime V7.5 所具有的全新功能以及用户界面,但仅概要触及了扩展产品功能的可行性,本文秉承前文,继续为您介绍开发人员使用 IBM Lotus Sametime Connect Software Development Kit(SDK)可为其用户社区做出贡献的增强类型。

Lotus Sametime Connect V7.5 使第三方开发人员能够使用基于 Eclipse 的插件来扩展其产品的功能性,这正是其主要价值之一。利用 Eclipse 的富客户机应用程序插件开发模型,Lotus Sametime Connect V7.5 包含了一个 SDK,它描述扩展客户机功能所需的 API 。包含在 SDK 中的 “Lotus Sametime Connect Integration Guide” 对若干示例插件的实现进行了说明,这些插件可作为以后创建更多复杂插件的起始点。开发者既可以利用如 Eclipse 这样基础的集成开发环境(IDE),也可利用如 IBM Rational Application Developer 这样复杂的 IDE 来查看和修改这些插件的源代码。

注意:过去的开发经验,尤其在 Eclipse 方面的开发经验,对实现本文所述主题很有帮助,但这还不是最根本的。本系列的下一期文章面向具有 Eclips 编程经验的开发人员,说明扩展 Lotus Sametime Connect 功能所需的编程步骤。

本文为您介绍了 Lotus Sametime 的全新架构,高度概述了利用 Lotus Sametime V7.5 的应用程序开发,并说明了 Lotus Sametime Connect V7.5 所附带的示例插件。

吐故纳新

IBM Lotus Sametime Connect V7.5 是一个处于市场领先地位、用于实时协作的产品和平台。Lotus Sametime 提供到场提醒、即时消息传递、以及不管人们所处何方均可实时协作的 Web 会议特性,7.5 发布版本包含许多全新特性,例如:

  • 显著增强的用户界面
  • 新的到场特性,例如,位置提醒、In A Meeting 状态,以及 Do Not Disturb 状态选项
  • 对Macintosh 以及 Linux 用户的扩展平台支持
  • 使用标准 Eclipse 插件框架的第三方功能扩展

Lotus Sametime V3.1 用户界面(UI)以及 Lotus Sametime V7.5 UI 分别如图 1 以及图 2 所示。

图 1. Lotus Sametime V3.1 UI
Lotus SametimeV3.1 UI
图 2. Lotus Sametime V7.5 UI
Lotus Sametime V7.5 UI

如您所见,以上两个版本有明显不同。但对于 Lotus Sametime V7.5 而言,最显著的变化就是它由一个产品演化为一个平台。由 IBM 或其他第三方所创建的插件,利用 Lotus Sametime Connect 的 SDK 可扩展它的功能性。


为什么要扩展 Lotus Sametime Connect?

可扩展的客户机较传统的应用程序更为灵活。例如,您可为客户提供可由他们自行安装的插件,取代早先每季度发布升级的方式。此外,您的公司可以利用用 Lotus Sametime 开箱即用的 “单击即可语音聊天” 的功能作为起点。将来,,您可以利用自己开发或购买自第三方供应商处的插件,把 Lotus Sametime 与公司内部 PBX 电话系统集成在一起,实现单击通话功能。

早先发布的 Lotus Sametime 即时消息传递客户机不能实现扩展,Lotus Sametime Java Toolkit 的 7.0 发布版允许重用 Sametime 支持的小部件并允许通过 API 访问服务器数据,但今天的 Lotus Sametime Connect 走的更远。

此外,或许也是最重要的,Lotus Sametime Connect V7.5 中的即时消息传递和到场组件可被其他的 IBM Managed Client 产品所使用,包括 IBM Lotus Notes、代号为 Hannover 的下一个发布版,以及 IBM Workplace Managed Client 的未来发布版。

创建 Lotus Sametime Connect SDK 时,在最终把清单缩短到 5 项之前,IBM 曾考虑了超过 30 种扩展产品的可能场景。IBM 希望使 SDK 示例插件的源代码成为能使您的项目受益的起点,而且是充分实用的,以便您值得为日常使用他们而安装。


扩展 Lotus Sametime Connect UI

图 3 和图 4 更为正式地展示了附加插件在主窗口中呈现的 UI 元素,这些 UI 变化的范围可大可小。

在 Tools 菜单中,您可以创建打开相关应用程序的操作菜单项(见图 3)。也可在某联系人的上下文菜单中添加选项,以便显示联系人列表中所选人员的雇员信息。由于插件直接嵌入到基码中,很难区分该产品所附带特性与第三方插件所提供的特性,除非这些特性是特意调出的。

图 3. 可扩展 UI 元素的示例
可扩展 UI 元素示例

图 4 展示了一个具有若干插件功能增强的聊天 UI,例如,其中的一个图标利用 Voice Over Internet Protocol(VoIP),可启动该图标进行语音聊天。您自己的扩展也可呈现在操作栏、Tools 菜单以及 Message 工具栏中。

图 4. 具有插件增强的聊天 UI
具有插件增强的聊天 UI

以上两个示例旨在使您了解利用 Lotus Sametime Connect 扩展可完成哪些任务。

Eclipse 概览

Lotus Sametime Connect 最显著的变化就是它现在构建在 Eclipse 之上,本质上,Lotus Sametime Connect 是 Eclipse 的插件包。虽然某些人认为 Eclipse 仅仅是一个 Java IDE,但它同样也是一个用于富客户机开发的开放平台。

一个 Eclipse 插件就是一个 Eclipse 应用程序或项目中最小的、离散的部分,了解 Eclipse 插件的一种方式就是想像一个电源接线板:电源接线板就是一个扩展点,连接到插座的插头就是扩展。

Lotus Sametime Connect SDK 中描述了 Lotus Sametime Connect 扩展点,您可以通过创建插入(或扩展)Lotus Sametime Connect 插件扩展点的插件,从而扩展 Lotus Sametime Connect。您的插件可以访问任何由 Lotus Sametime 或者其下的平台(如 WebSphere Everyplace Deployment)所提供的服务。

插件、扩展、以及扩展点之间的互连由插件清单定义。Eclipse IDE 包含在插件开发环境(PDE)中创建和修改插件产品的专用编辑器,这些编辑器含有向导,可在创建插件、声明依赖性、插入其他插件扩展点、声明自身扩展点等过程中为开发人员提供全程指导。


Lotus Sametime Connect 架构概览

Eclipse Rich Client Platform(RCP)及 IBM WebSphere Everyplace Deployment 构成了 Lotus Sametime Connect 的基础。选择此平台的一个关键获益之处就是它可以与其他应用程序组件 —— 也就是其他插件无缝集成在一起。这些插件的插入效果既可以像显示对话框信息的一个新菜单项那样简单,也可以像完全集成的小应用程序那样复杂。Lotus Sametime Connect 架构包罗万象的目标提供了三方面的优势:可扩展性、集成以及重用。

对用户而言,使用 Eclipse 作为集成平台的收益就是为环境添加全新功能性的能力,灵活但一致的用户体验是一项强劲的卖点,然而,对 Eclipse 程序员而言,优势体现在可以利用他们在开发标准的 Eclipse RCP 业务线应用程序方面的现有技能。那些 Eclipse 的新手可找到 Eclipse 以及 developerWorks 网站,从中发现众多大有帮助的文章。关于 Eclipse 应用程序开发的书籍,如 The Java Developer's Guide to Eclipse 也已纷纷上市。

大多数 Eclipse 应用程序开发原则也直接适用于创建 Lotus Sametime Connect 功能扩展,即使先前没有 Eclipse 应用程序开发经验的用户,也会对通用的面向对象编程模式下的原则有所认识。例如,Eclipse 遵循经典的模型(Workbench)与视图(ViewPart 及其 JFace 框架中的底层图形组件)的分离。因此,清晰的组件职责分离使用户不必完全每个独立的部分即可实现高生产力,Lotus Sametime 架构遵循同样的原则。

图 5 显示了主要的 Lotus Sametime Connect 组件。Java runtime、Eclipse RCP,以及 WebSphere Everyplace Deployment 等层组成了 IBM 的托管客户机产品的共同基础,这些产品包括 Lotus Notes Hannover 发布版以及 IBM Workplace Managed Client 的未来发布版。被方框包围的组件特定于 Lotus Sametime Connect,并包含公共以及特定于实现的插件。

图 5. Lotus Sametime Connect 的主要组件
Lotus Sametime Connect 的主要组件

在 Eclipse 3.2 RCP 层上面一行中的大多数方框对应着一个或多个插件,某些方框,如 Lotus Sametime Java API 表示可被其上面的插件引用的库,但它本身并不是插件。也就是说,并不是所有的代码都支持插件,可能是因为其生成早于 Eclipse 插件模型,也可能是因为它们不需要 Eclipse 所提供的可扩展性。


Lotus Sametime Connect SDK 示例插件

现在让我们对 Lotus Sametime Connect SDK 所附带的示例插件作一探讨。

Quick Response 插件

很多聊天通常是以 “Hi” 开始、以 “Thanks, I’ll talk to you later” 之类的常用短句结束的。某些时候,对话会以诸如 “Sorry, I’m in a meeting right now. Can I ping you later” 或 “Let’s talk about it. Please call me at 555-1212.” 之类的套话而告一段落。某些即时消息用户在假定对方知道真实含义的情况下,会使用如 BRB(be right back)或 OTP(on the phone)之类的缩略语来处理这些情况。Quick Response 插件允许用户定义预先编写好脚本的完整语句作为响应,从而应对这些普遍的应用情景。

不难设想,同样的方法可扩展到其他场景中,如用于在线对话 Help Desk 处理某些常用反馈信息。例如,一位客服代表只需点击几下鼠标,即可针对某一常见问题返回文本响应信息以及参考网址链接,因为 Lotus Sametime Connect 支持富文本响应,因此,如果对话者的即时消息客户机也包含类似功能,则客服代表的反馈信息中还可包含具有图形的 HTML。

总之,Quick Response 插件为用户提供用于插入预设定响应信息的单击按钮。对于程序员而言,Quick Response 插件:

  • 为聊天窗口集成了新功能力
  • 通过在操作栏添加一个新图标和下拉菜单选项而修改 UI
  • 把首选项页面插入到 Lotus Sametime Connect 的通用首选项对话框中

图 6 展示了为聊天窗口所提供的 Quick Response 插件示例。

图 6. Quick Response 插件示例
Quick Response 插件示例

Recent Buddies 插件

标准的 Lotus Sametime Connect Contact 列表按组对伙伴进行组织,这在需要管理大量联系人的情况下非常合适。但我们经常会与更小范围内的人进行聊天,而这个范围内的成员随时间而变化。Recent Buddies 与联系人列表的作用不同,它的内容随您最近聊天的对象而动态变化。包括从您的联系人列表中选择某人并发起聊天,或接受某个或许不在您的联系人之列的人的聊天邀请,在这些情况下,该插件都会把这些人加入到 Recent Buddies 列表中。在添加某个伙伴后,您可以把他/她提升为 Primary 伙伴(名称旁有星形标记)并按类别置于顶端。您也可选择把某个动态添加的伙伴从该列表中移除。

总之,Recent Buddies 插件为用户提供了基于他们最近聊天历史的动态联系人列表。对编程者而言,该插件展示了如何:

  • 利用 Lotus Sametime Connect 客户机,响应重要的事件(例如,主动和被动的聊天)
  • 在 Sametime 目录中检索用户信息
  • 本地存放特定用户的数据,在这里您最近与之聊天的用户列表

图 7 展示了在标准的联系人列表下面的 Recent Buddies 插件。这个用户的上下文弹出菜单呈现了与该产品其他地方相同的选项,并在底端附加了 3 个特定于 Recent Buddies 的选项。用户不能区分 Recent Buddies 插件新引入的功能与原有配置提供的功能之间的区别,这应归功于与基础用户界面的无缝集成。

图 7. Recent Buddies 插件示例
Recent Buddies 插件示例

更多 SDK 示例

SDK 还包含了其他用于展示如何使用 Lotus Sametime Connect API的、易于理解的示例插件。

BuddyNote

这个示例插件定义了驻留在联系人列表上的小应用程序,与 Recent Buddies 插件类似。在使用此插件时,复合应用程序包含名片以及文本区域,以便您输入备注。当您从联系人名单中选择聊天对象时,BuddyNote 将被更新,以显示其名片信息以及任何您早先输入的相关信息。这个示例插件比标准的 “hello world” 示例要略为复杂。

Acronym Expander

此示例插件把接收到的缩写词(如 LOL、BRB 等)自动转换为完整的文本短语,转换后也就是 laughing out loud 以及 be right back。源代码可被方便地改编,以处理其他类型的转化,如语言翻译、特定于公司的库存编码缩写等。

Snippet

Snippets 是源代码示例的混合体,例如,把菜单项添加到多个视图以及对象中的简短示例代码,以便扩展多方聊天的参与者列表以及其他功能。

示例插件特意构建为自包含的,除Lotus Sametime 以外,它们不需要其他服务器所提供的任何服务。由于 Lotus Sametime Connect 构建于 IBM WebSphere Everyplace Deployment 之上,因而您自己的扩展可以利用对数据的企业访问。

IBM 的合作伙伴积极参与了 Lotus Sametime Beta 测试计划,一旦 Lotus Sametime Connect V7.5 正式发布,您将看到更多的全新集成化功能。


结束语

IBM Lotus Sametime 已经由一个即时消息传递应用程序演化为一个完全可扩展的开发环境。像 Quick Response 以及 Recent Buddies 之类的插件可利用 Lotus Sametime Connect 所附带的 SDK 扩展其功能性。Eclipse Rich Client Platform 构成了 Lotus Sametime Connect 的基础,从而允许用户在环境中添加新的功能性。

请保持关注,我们即将推出更多文章,指导您从头至尾、一步一步地构建和部署 Lotus Sametime Connect V7.5 插件。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=156561
ArticleTitle=扩展 IBM Lotus Sametime Connect V7.5
publish-date=08282006