技术开发 频道

Lotus Sametime开发入门


【IT168技术文档】通常来讲,一个好的平台产品除了自身的强大功能外,还应该是开放的,使得开发人员能够进行二次开发和定制,从而扩展平台的功能。Lotus Sametime作为IBM市场领先的,企业级实时协作的平台,就符合这两个特征:自身具备强大的Instant Messaging和Web Conferencing能力,同时还开放了一系列API给开发人员使用。这些API被组织成多个toolkit开放出来。

    从开发人员的角度看,这些toolkit可分为客户端和服务器端。客户端提供与Sametime服务器进行交互的能力,利用它提供的服务和组件,开发人员可以很轻松的把Sametime的相关功能嵌入到自己的应用程序中,比如在线聊天、会议、视频等,甚至开发自己的即时通讯软件。

    服务器端toolkit则提供对Sametime服务器进行扩展的API。开发人员可以把自己的应用程序以类似于插件的方式插入Sametime服务器。例如简单的"机器人"程序,向用户提供实时的股票,天气等信息;"离线消息"程序,能够向离线用户发送消息,复杂的应用例如拍卖程序,在线游戏等等。

    本篇文章作为Lotus Sametime toolkit开发入门系列的第一篇,将重点介绍客户端java toolkit的使用方法,并带领读者循序渐进的开发出两个简单的Sametime java客户端程序。

    Lotus Sametime是IBM市场领先的、企业级实时协作的平台。它具备强大的实时通信,在线会议的功能,全世界每天都有超过1500万人在使用Sametime及相关软件。

    Lotus Sametime一个典型的C/S应用。各个客户端都需要登录到服务器并通过服务器发送各种消息。

图1:Sametime体系结构图

    Sametime toolkit可以从IBM developerWorks Lotus Toolkits页面上下载. 该页面上包括从版本3.1, 6.5.1到7.0的所有服务器端和客户端的toolkit下载链接。

    下表列出了客户端toolkit的不同版本:

版本 用途和使用环境
Sametime Java toolkit Toolkit的java版本,提供了全面的服务和组件来方便开发人员进行java应用程序的开发,支持JDK1.1及其以上版本
Sametime C++ toolkit Toolkit的C++版本,定位于Windows 平台,可以被用来开发基于Win32和MFC的Sametime应用程序。
Sametime COM toolkit 该版本提供了Sametime的一些基本功能,以COM接口的方式发布,可在支持COM,OLE的环境中应用
Sametime Links toolkit 该版本用于Web 应用程序,通过HTML/JavaScript使得Web页面获得Sametime的相关功能。

    注:本文以Java toolkit为例来介绍其使用方法,下文中如果没有特殊说明,当提到toolkit时,均是指Java toolkit。

    "分层"在软件系统中是个非常有效的解决问题的方法,Sametime java toolkit也划分为3个层次:UI Layer, Server Layer, Transport Layer。他们之间的关系如下图所示:

图2:Sametime toolkit体系结构图

1.传输层(Transport Layer): 位于体系结构的最底层,负责处理和Sametime服务器的通信。开发人员不必关心这一层。

2.服务层(Service Layer): 如下图所示,这一层提供了两大类服务:Community类服务和Meeting类服务,每一类服务都包含了多个具体的服务(Service)。本文将着重介绍这些服务的使用方法。

图3:Sametime服务结构图

    Community类服务中的较常用服务包括:

  • Community服务: 这是最核心,最基本的一个服务,用户通过该服务来登录Sametime服务器。
  • Buddy List服务: 该服务使得开发人员能轻松的读取/设置一个用户的"联系人列表",而不需要处理复杂的底层协议。
  • Instant Message服务: 主要用来发送/接受各种实时的消息,消息可以是文本或二进制数据。
  • Places服务: 该服务允许用户创建虚拟的空间(Place),并且可以在其中进行协作。

    Meeting类服务中常用服务有:

  • Application Sharing服务: 在虚拟的Place中,多个用户可以共享一个应用程序,该服务提供了一些UI组件来显示应用程序。
  • WhiteBoard服务: 通过该服务和相关的UI组件,开发人员能够创建虚拟的白板,用户可以画线、方框、圆等基本图形。

3.UI层: 位于toolkit体系的最上层,它提供了多种UI组件方便程序员开发,例如:只需要简单的调用Chat UI的几个方法,就能提供一个简单的聊天界面。使用UI层的API可以极大的简化程序员的开发工作。

0
相关文章