技术开发 频道

了解Lotus Symphony的可编程性

【IT168 技术文章】

    本文介绍关于 Lotus Symphony 编程模型的基本信息。了解基于 IBM Lotus Expeditor 和 OpenOffice.org 的 Lotus Symphony 技术架构,并熟悉 Lotus Symphony SDK,以及开发人员技术支持论坛。

    developerWorks 的文章 “Lotus Symphony: 兼容与开放的办公软件” 为您介绍了 Lotus Symphony 所具备的强大功能以及基本技术,但仅概要涉及 Lotus Symphony 可编程性方面的初步信息,本文承接前文,继续为您详细介绍面向开发人员的 Lotus Symphony 技术架构,编程模型,SDK,以及开发人员支持论坛。

    Lotus Symphony 结合了 Lotus Expeditor 平台技术和 OpenOffice.org 强大的办公文档处理能力,为开发人员提供了全新的编程模型。开发人员能够使用基于 Eclipse 的插件开发方式来扩展产品的功能,这正是 Lotus Symphony 区别于其他办公软件的重要价值之一。由于这一重大特性,继 Lotus Notes 和 Lotus Sametime 之后,Lotus Symphony 进一步丰富了基于 Lotus Expeditor 平台的富客户端应用。

    基于 Eclipse 的富客户端应用程序插件开发模型,已经发布的 Lotus Symphony Beta 4 版本提供了一个 SDK,它描述了扩展 Lotus Symphony 应用程序所需的 API 以及相关知识。开发包为开发人员提供了详细的开发人员指南,API 文档以及若干简单的插件实例。开发人员可以利用 Eclipse 集成开发环境,或者可用免费使用的 Lotus Expeditor Software Development Kit 来创建更多,更复杂的插件。和 Lotus Symphony 产品本身一样,Lotus Symphony 为开发人员开设专门的论坛,开发人员可以随时获得和共享第三方插件,同时为开发人员提供交流和支持。

    注意:具备 Eclipse,Expeditor 或者 OpenOffice.org 相关知识会有助于更好地了解本文,但并非必要条件。本系列将提供更多文章介绍详细信息。

    Lotus Symphony 简介

    Lotus Symphony 是一款全新办公文档处理软件,包含字处理应用,表格应用和演示文档应用。基于成熟的 OpenOffice.org 技术和开放的 Lotus Expeditor 平台,Lotus Symphony 提供了诸多特性,例如:

    全新的用户界面;

    支持 Open Document Format 文档标准;

    兼容众多 Microsoft Office 和 SmartSuite 文档格式;

    支持 Windows 和 Linux 平台;

    支持使用标准 Eclipse 插件框架的功能扩展;

    ? Lotus Symphony 用户界面如下:

    图 1. Lotus Symphony 用户界面

    Lotus Symphony 技术架构

    OpenOffice.org 技术和 Lotus Expeditor 平台是 Lotus Symphony 的两大基础。通过结合 OpenOffice.org 强大的办公文档处理能力和 Lotus Expeditor 提供的基于 Eclipse 的开放平台,Lotus Symphony 为用户提供了全新的用户界面体验,可扩展性和集成性。在此基础上,Eclipse 程序员可以很方便的开发插件来集成其他应用程序。这些插件可以像普通 Eclipse 插件一样被部署到 Symphony 的环境中。基于这一技术架构,Lotus Symphony 本身即可看作 Lotus Expeditor 平台上的一个办公应用组件,这一组件将很容易被集成到其他基于 Lotus Expeditor 平台的应用中。例如,在 Lotus Notes 8 中的 Lotus Symphony 应用。

    Eclipse 是一个用来进行应用开发的通用开放平台。插件是基于这一平台能够开发和发布的最小单元。Lotus Symphony 将 OpenOffice.org 软件包拆分成一系列的 Eclipse 插件,并进行重新打包和封装。在运行时,Lotus Symphony 将传统的基于 C/C++ 的 OpenOffice.org 窗口作为子窗口嵌入到一个 Eclipse 的 SWT( Small Widget Toolkit ) 控件。这一控件可以很方便的通过 Eclipse 的用户界面模块来进行集成和定制。

    Lotus Expeditor 是一整套服务器管理的客户端解决方案。这一方案包括:Lotus Expeditor for Desktop,Lotus Expeditor for Devices,Lotus Expeditor Server 和 Lotus Expeditor Toolkit。Lotus Expeditor for Desktop 在 Eclipse 的基础上,提供了丰富的客户端组件,包含内嵌浏览器,语法检查,应用管理器等。Lotus Expeditor Toolkit 提供了全套的集成开发工具,可以用来开发,调试,测试以及打包和部署客户端应用。基于定制的 Lotus Expeditor for Desktop,Lotus Symphony 集成了 OpenOffice.org 的办公应用。这一定制为用户提供了尽可能小的平台和最优化的运行性能。

    在 Lotus Expeditor 平台的基础上,Lotus Symphony 集成了一款经过精心裁减和改良的 OpenOffice.org 应用。这些改变为用户提供了全新的基于 Eclipse 的用户界面,更好的用户体验,以及优异的可扩展性和集成性。下图显示了 Lotus Symphony 的主体框架。Java runtime, Eclipse 和 Expeditor 共同组成了产品的基础。开发人员可以很方便的利用 Eclipse 编程技能来建立自己的应用程序。

    图 2. Lotus Symphony 技术架构

    扩展 Lotus Symphony

    作为一款最新推出的办公软件,Lotus Symphony 提供的不只是一套办公文档处理软件。随着软件应用的日渐普及,用户经常需要集成多方面的数据和应用,这一点在企业用户的日常工作中体现的尤为突出。可扩展的 Lotus Symphony 为开发人员提供了一个良好的平台,用以将其他应用和办公应用进行整合。例如,您可以将 Lotus Spreadsheet 应用作为数据库客户端,或者将 Lotus Document 应用和 Notes 应用进行数据交换等。甚至可以将更多第三方插件集成到 Lotus Symphony 环境中,提高最终客户的生产率,例如及时通信,在线翻译服务等。

    OpenOffice.org 本身即已提供了强大的文档操作相关的 API 支持,Lotus Symphony 通过引入 Expeditor 的富客户端编程模型,为开发人员提供了更方便的用户界面扩展功能。Lotus Symphony 正是得益于这一便利,为最终用户提供了一套全新的用户界面。

    以下图例展示了第三方插件可在主窗口中扩展的用户界面元素。这些扩展可为最终用户提供完整统一的用户体验。

图 3. 用户界面元素

 

    扩展点为开发人员提供了充分的灵活性来设计自己的插件:

    菜单:为第三方应用在主菜单提供功能入口,这里建议将第三方插件统一置于 Add-ins 菜单下,以提供整洁的用户界面。而对于熟悉 Eclipse 编程模型的开发人员来说,如有特殊需要,可在任何地方进行菜单扩展。

    启动按钮:为第三方应用提供主入口。开发人员可定制自己的 Perspective 并进一步定制 Symphony 应用。

    工具栏:为第三方应用提供便捷的操作。这里建议开发人员为每一个应用定义完整的工具条。

    Side Shelf:在主窗口为第三方应用提供独立的区域。每个应用可以提供独立的视图,各个视图叠加在这一区域,最终用户可以很方便的切换不同视图。

    Auto Recognizer:第三方应用可以自定义一定的规则,Lotus Symphony 将依据这一规则在文档中识别相关模式,并对识别的特定结果提供用户定义的操作。例如,对所有邮件格式的内容提供发送邮件的功能。目前这一功能仅对 Lotus Document 应用有效。

    状态栏:为第三方应用显示状态提供扩展。

    以上描述让您了解了利用 Lotus Symphony 可以做哪些界面扩展。实际上,OpenOffice.org 和 Expeditor 本身即已提供了强大的 API 支持。基于 OpenOffice.org API,开发人员可以灵活的通过 Java,StarBasic,C++ 等编程语言访问 Lotus Symphony 文档中的诸多功能。Lotus Symphony 同时提供了一套简洁的 Java API,以便于开发人员管理 Symphony 文档。

    Lotus Symphony SDK

    Lotus Symphony 专门为开发人员提供了一套完整的 SDK。SDK 系统地为开发人员阐述了 Lotus Symphony 的技术细节,以及所支持的开发应用。开发人员可以以次为基础开始在 Lotus Symphony 基础上开发插件。如具备 Eclipse 和 OpenOffice.org 相关的编程经验,将有助于更好的使用该 SDK,但并非必要条件。SDK 提供了一系列的文档以及实例,让开发人员完整的学习开发,调试,运行,部署 Symphony 插件。第一个版本的 Lotus Symphony SDK 已通过 Lotus Symphony 网站发布,随着后续版本的推出,SDK 也会及时更新。

    完整的 Lotus Symphony SDK 包括:

    Developer's Guide:为开发人员系统地介绍 Lotus Symphony 的可编程性,从背景知识,开发环境,编程模型,到如何部署安装。

    Tutorial:为开发人员提供一步一步的教程,学习从头开始开发部署一个 Lotus Symphony 插件。

    API Reference:为开发人员提供 Java API 文档。用于介绍 Lotus Symphony 所支持的公共 Java API。

    Samples:为开发人员提供带源代码的实例。以下实例为在 Lotus Symphony Beta 4 SDK 中提供的实例,后续 SDK 版本中将更加丰富这一部分内容。

    以下是一个 SDK 中的插件实例。这一实例展现了对 Side shelf 的扩展,通过公共 API 来打开文档,并在插件和 Symphony 文档中交换数据。

    图 4. 插件实例

 

    作为 Lotus Symphony 的一个重要技术亮点,除了提供 Lotus Symphony SDK 之外,在 Lotus Symphony 网站上专门建立了相关的开发者论坛。开发人员可以在论坛上进行诸多交流活动,例如:

    咨询问题或提供解决方案

    提出功能需求

    报告 SDK 相关的问题

    共享开发的 Lotus Symphony 插件

    在 Lotus Symphony Beta 4 发布之初,即有多个插件发布,例如:

    Lotus Quickr 插件 该插件提供了到 Quickr 文档服务器的访问,用户可以直接打开服务器里面的文档,并保存至服务器。办公文档可以很方便的进行集中管理,并在用户之间共享和协作。这里同时提供了更多复杂的功能,比如 Check-in,Check-out 等。

    WTS 翻译插件 通过机器翻译技术,该插件为最终用户提供了便捷的用户界面,将 Lotus Symphony 文档中的文字和段落翻译成其他语言。

    结束语

    Lotus Symphony 既是一款功能强大的办公文档处理软件,同时也是一个可扩展的办公应用环境。基于 Lotus Expeditor Rich Client 编程模型和 OpenOffice.org 提供的 API 支持,用户和开发人员得以更方便的在 Lotus Symphony 环境中通过插件扩展其功能。
 

0
相关文章