扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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 发布版本包含许多全新特性,例如:
Lotus Sametime V3.1 用户界面(UI)以及 Lotus Sametime V7.5 UI 分别如图 1 以及图 2 所示。
图 1. Lotus Sametime V3.1 UI
图 2. 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 元素的示例
图 4 展示了一个具有若干插件功能增强的聊天 UI,例如,其中的一个图标利用 Voice Over Internet Protocol(VoIP),可启动该图标进行语音聊天。您自己的扩展也可呈现在操作栏、Tools 菜单以及 Message 工具栏中。
图 4. 具有插件增强的聊天 UI
以上两个示例旨在使您了解利用 Lotus Sametime Connect 扩展可完成哪些任务。
|
|
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 的主要组件
在 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 插件:
图 6 展示了为聊天窗口所提供的 Quick Response 插件示例。
图 6. Quick Response 插件示例
Recent Buddies 插件
标准的 Lotus Sametime Connect Contact 列表按组对伙伴进行组织,这在需要管理大量联系人的情况下非常合适。但我们经常会与更小范围内的人进行聊天,而这个范围内的成员随时间而变化。Recent Buddies 与联系人列表的作用不同,它的内容随您最近聊天的对象而动态变化。包括从您的联系人列表中选择某人并发起聊天,或接受某个或许不在您的联系人之列的人的聊天邀请,在这些情况下,该插件都会把这些人加入到 Recent Buddies 列表中。在添加某个伙伴后,您可以把他/她提升为 Primary 伙伴(名称旁有星形标记)并按类别置于顶端。您也可选择把某个动态添加的伙伴从该列表中移除。
总之,Recent Buddies 插件为用户提供了基于他们最近聊天历史的动态联系人列表。对编程者而言,该插件展示了如何:
图 7 展示了在标准的联系人列表下面的 Recent Buddies 插件。这个用户的上下文弹出菜单呈现了与该产品其他地方相同的选项,并在底端附加了 3 个特定于 Recent Buddies 的选项。用户不能区分 Recent Buddies 插件新引入的功能与原有配置提供的功能之间的区别,这应归功于与基础用户界面的无缝集成。
图 7. 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 插件。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者