级别: 初级 Michele Franklin, 开发经理, Lotus
2002 年 10 月 01 日 IBM Lotus Enterprise Integrator for Domino 6 (LEI 6) 主要关注于质量、可用性和性能。它引入了一组新活动(一起叫做 Advanced RealTime Activities)和一个显著改善的用户界面。
由于日趋需要各种企业系统更紧密地集成,IBM Lotus Enterprise Integrator for Domino 6 (LEI 6) 的发布就显得非常及时。LEI 6 主要关注于质量、可用性和性能,因而把一些重要的增强结合到了核心 LEI 产品中,并引入一组新的活动(一起叫做 Advanced RealTime Activities)和一个显著改善的用户界面。
本文对 Lotus Enterprise Integrator 应用程序的功能和架构进行了概述。描述了对 LEI 6 核心产品的一些关键改进,并探讨了 LEI 6 中新的 Advanced RealTime 技术。本文针对熟悉 Domino 的读者,他们的环境需要在 Domino 和外部数据系统(比如 DB2、Oracle、SQL Server 和 SAP R/3)之间进行一定级别的集成。
什么是 LEI?
Lotus Enterprise Integrator 是一个声明式的、基于服务器的工具,主要用于数据的移动、同步和提取。它允许您在 Domino 和很多关系系统及 Enterprise Resource Planning (ERP) 系统之间交换数据。LEI 包括:
- 一个服务器
- 一组 Lotus Connector
- 一个管理器
- 一个日志
图 1. LEI 6 架构
LEI 服务器运行在 Domino 服务器之上,并可以安装为一个独立的进程、一个 Domino 附加任务、一个 Windows NT 或 Windows 2000 服务。LEI 服务器的管理和所有相关功能都通过 LEI Administrator 数据库进行处理,该数据库是一个 Domino 应用程序。Lotus Connector 提供到一定范围的 RDBMS 数据源和其他外部数据源的外部数据连接。您可以把 LEI 功能分成以下类别:活动、连接和管理。
活动
活动是存储在 LEI Administrator 数据库中的 Notes 文档。它们包含特定信息,用来定义处理企业数据的方式,以及命令 LEI 服务器执行哪些事件。有几个不同类型的活动,每一个都是用不同的 Notes 表单创建的。最好把活动分类为一个数据管理活动或者一个 RealTime 活动。
数据管理活动把数据从一个位置(源)移动、同步或提取到另一个位置(目的)。源和目的可能是同一类型的,也可能不是同一类型的。例如,您可能使用 Direct Transfer 活动把数据从 DB2 数据库移动到 Notes/Domino 应用程序。数据管理活动包括:
- Archive 活动,把数据从源移动到目的并删除源中的初始记录。
- Direct Transfer 活动,把数据从源移动到目的。
- Replication 活动,通过用另一个数据库(源)的数据更新一个数据库(目标),从而使数据库同步。
- Scripted 活动,通过执行针对 LC LSX (Lotus Connectors LotusScript Extensions) 编写的 LotusScript 代理程序,来执行更复杂的、可定制的任务。
- Polling 活动,基于某种触发器或事件,比如更新外部 RDBMS 中的数据,来控制一个或多个数据管理活动的执行。
通过创建相互依赖的活动来将所有数据管理活动连接在一起,从而反映业务系统流程。
存在三种类型的 Advanced RealTime 活动:Virtual Field、 Virtual Document 和 Virtual Agent。这种类型的活动也可以在 Domino Enterprise Connection Services (DECS) 中找到,允许来自外部系统的数据参与到基于 Domino 的应用程序中,同时把其余的数据维护并存储在关系系统中。用户使用 Notes 客户机及其熟悉的用户界面,通过 Domino 应用程序访问数据。在 Advanced RealTime 活动 一节中更加详细地讨论了这些虚拟活动。
连接
连接只是存储在 LEI Administrator 数据库中的 Notes Connection 文档。Connection 文档包含连接到外部系统的必要信息,比如用户名和密码信息。当创建活动时,必须选择一个连接,活动才能成功地连接到外部系统并执行定义的活动操作。LEI 使用 Connection 文档来调用底层的 Lotus Connector,后者在不同系统之间交换数据。因为连接到不同外部系统所需的信息不同,所以 Connection 文档基于所访问的系统而需要不同信息。
管理
所有这一切 —— 活动、Connection 文档和连接器,以及调度信息和其他允许 LEI“管理”数据的组件(包括 LEI 服务器) —— 都是通过 Notes/Domino 数据库进行处理的。一个 LEI 管理人员可以从一个 LEI 管理器为几个 LEI 服务器管理和存储信息。这个单独的管理器可以管理任意多个外部系统的任意多个活动,允许您从一个位置轻松地查看和管理活动。
新的 LEI 增强
下面是 LEI 6 中的一些关键增强。
用户界面的改善
LEI 执行复杂的任务,并通过直观的、面向任务的用户界面使它们更加容易使用。出于清晰性和简单性方面的考虑,LEI 6 用户界面进行了更新。一致的外观贯穿于所有的 LEI 组件,使导航和开发变得直观而轻松,并使您能从单个位置控制数据管理和 RealTime 活动。
图 2. LEI 界面
另外,帮助技术解决了可访问性的问题,比如字段级别的帮助,用于字段提示的文本弹出,表单上的信息文本和图像上的标签。所有文本和字段都以黑体显示,以帮助视觉受损的用户进行区分。所有的操作都可以在菜单条目中找到,并且所有文档都可以从菜单创建 —— 除 Server 和 Configuration 文档外,它们是由安装进程创建的。(关于可访问性问题的更多信息,请参阅 LDD Today 文章“Designing accessible Notes applications”。)
服务器端浏览
在 LEI 的先前版本中,您需要在 Domino 服务器上安装外部系统连接软件,任何用于 LEI 开发的客户机与该服务器一样,都需要安装 LEI 服务器和管理器。使用 LEI 6 中的服务器端浏览,您可以只在安装了 LEI 服务器和管理器的 Domino 服务器上安装外部系统连接软件。这意味着您可以有(服务器上)连接软件的一个实例,然后可以使用任何客户机来开发 LEI。这使 LEI 活动的开发变得更加灵活,并且(因为只安装了一个连接软件)节约了您的时间和成本。
一个新的多平台安装程序
LEI 6 包括一个全新的多平台安装程序,允许您在所有支持的平台上安装 LEI 6。以前,基于目标平台会有不同的安装程序。自动生成的安装日志显示了所有安装文件的名称、日期和大小,也显示了在安装期间对 Notes.ini 文件所做的任何更改。此外,多平台安装程序使得升级现有 RealTime 活动很容易,无需用户修改。
时间戳轮询
使用新的 Polling 活动,您可以启用基于时间戳的轮询,即检查当前时间和最后轮询时间之间的时间戳字段值。Polling 活动的发生基于一个指定时间戳字段的更改。例如,您可能使用 Polling 活动在系统中搜索新的销售订单记录,然后自动向会计应用程序发送数据副本以生成帐单。
提高 LEI/DECS 共存能力
使用 LEI 先前的版本,不能在同一个平台上安装并同时运行多个不同的 Enterprise Integration 产品。例如,像 LEI、 DECS 或 ESB (Enterprise Solution Builder) 这样的产品不能同时运行在同一台计算机上。通过跨所有 Enterprise Integration 产品对文件结构和命名方案进行标准化,我们现在能够使所有 Enterprise Integration 产品共存。有两个单独的包是可用的;一个是显然以 Domino 为中心的包,另一个则针对第三方产品和其他利用一些核心 Enterprise Integration 文件的 Lotus 产品。
特定的改变包括:
- 把连接器扩展从 LCX 重命名为 DCX。
- 把连接器测试 lctest 重命名为 dctest。
- 用 LC LSX (Lotus Connectors LotusScript Extensions) 把对关系数据的脚本访问进行了标准化。LEILSX 已不再使用。
这些改变是相对透明的,并且只需要最小的用户修改。那些运行脚本的用户必须修改脚本,在需要的地方改变为新的扩展。这些可以手动完成,或用 Migration Utility 自动进行处理,您可以把 Migration Utility 当作 LEI 6 安装过程的一部分来运行。
简化升级和迁移
预计您既需要从 LEI 先前版本迁移过来,也需要从先前版本升级现有的 DECS/RealTime 活动,因此 LEI 6 提供了图形化工具,使这个过程更加简单和自动化。
- Migration Utility 把 LEI 先前版本中的 Connection 文档和活动移动到 LEI 6 管理器中。Migration Utility 也把存储在先前版本 LEI 脚本库中的 LEI 脚本迁移到 LEI 6 脚本库中。此外,您可以使用该工具把几个 LEI 3.x 管理器合并成一个单独的 LEI 6 管理器。
- 在 LEI 6 的安装期间,安装程序检查 DECS 的先前版本是否存在,如果它探测到一个先前版本,安装程序将自动升级这些活动。
Advanced RealTime 活动以及相关新特性
LEI 最激动人心和创新的新特性是引入了 Advanced RealTime 活动。Advanced RealTime 活动建立于派生“经典的” RealTime 活动的技术基础 —— Domino Enterprise Connection Services(或者 DECS) —— 之上。让我们回顾不同类型的 RealTime 活动。
Virtual Field 活动
对熟悉 DECS 先前版本的人来说,Virtual Field 活动就是以前所谓的 RealTime 活动。Virtual Field 活动对来自 Domino 应用程序的外部数据源提供同步访问。此集成是通过把外部数据映射到 Notes 表单中的字段来完成的。
另外,为了维护 Notes 文档和驻留在外部系统中的数据之间的关系,需要在 Domino 数据库中创建关键文档。它们在一个把 Notes 文档链接到外部数据的本地 Notes 文档中存储了至少一个关键字段。通过监控 Notes 文档的单个或多个创建、打开、更新或删除事件,Virtual Field 活动在外部系统数据中触发适当的结果。Virtual Field 活动最好使用在原型应用程序中或更小规模的应用程序中,在这样的应用程序中,数据的数量和应用程序 NSF 文件的大小无关紧要。
Virtual Document 活动
Virtual Document 活动建立在 Virtual Field 的技术前提之上,但是有一个主要且重要的区别。Virtual Document 活动消除了在 NSF 中存储关键文档的需要,从而推进了 Virtual Field 活动的技术。这意味着维护支持 Notes 的应用程序和外部数据系统之间完整性所必需的所有数据都驻留在外部系统中,导致在 Notes 数据库中只占用很少的空间。
我们通过创建存储在外部系统本身的 Domino Virtual Note ID 实现了这个功能。这些键值可以存储在现有的数据表中或者存储在单独创建的称作外键表 的表中。LEI 为自动生成和外键表的填充提供了一个功能。通过允许您选择在现有表中创建这些控制字段或者使用外键表,Advanced RealTime 活动提供了外部系统实现和影响方面的灵活性。
Virtual Note ID 服务作为惟一的键值把存储在外部系统的数据连接到 Domino 应用程序。与 Virtual Field 活动相似,Virtual Document 活动监控 Domino 应用程序中的事件并在外部系统触发适当的更新。因为 Virtual Document 活动不需要在 NSF 中存储任何本地 Notes 文档,所以容器保持相对较空。这允许通过 Domino 创建带有大量数据集的、真正企业级可伸缩性的应用程序。另外,即使在 NSF 中没有存储数据,所有外部数据都可以参与到所有 Domino 视图和视图操作中。
因为不需要在 Domino 数据库中存储关键文档,所以添加额外数据记录或者关键字段被修改时,您就避免了关键文件和相应外部系统数据之间的同步问题。通过一个称为自动虚拟化的过程,新的外部记录作为新的 Notes 文档被定期地和透明地“虚拟化”到 Domino 数据库中。当刷新视图时,它们就可以用于 Domino 中并显示在 Notes 视图中。另外,在第一次使用 Virtual Document 活动时,外部数据表中的所有现有记录都被“虚拟化”到 Domino 数据库中。在这个过程之后,先前空的 Domino 数据库可能包含数百万个新数据注释,所有这些注释都是虚拟的,并且都是从现有外部数据创建而来的。
从下面的屏幕中看到,虽然数据物理地驻留在 Domino 数据库外部,但是在 NSF 视图中是可用的。
图 3. Virtual Document 活动
Virtual Agent 活动
Virtual Agent 活动允许您创建运行外部系统存储过程的 Domino 代理。Virtual 代理出现在 Domino Agent 菜单中,并且以与标准 Domino 代理相同的方式执行。您可以在任何 Domino 文档上运行它们,无论是本地的文档还是虚拟的文档。Virtual 代理有两种执行方式:有参数或没有参数。运行在所选文档上的代理被描述成用参数运行并且需要选择至少一个文档。不需要参数运行的代理可以运行在数据库中的所有文档上。Virtual Agent 活动利用并扩展了已经创建在外部系统数据库中的存储过程的使用。这对传统的本地 Domino 代理提供了额外的灵活性和功能。
Integrated Credentials 特性
连同新的 Advanced RealTime 活动,LEI 6 还包括一个 Integrated Credentials 特性。这允许您把 Notes IDs 或 Notes group IDs 映射到外部系统安全性,从而扩展 Domino 安全性并将它映射到为外部系统建立的安全政策。(可以针对每个被访问的外部系统建立多个凭证记录)。随同 LEI 6 发布了一个用于创建 Integrated Credentials 数据库的模板文件,该文件是自动安装的。
只能与 Advanced RealTime 活动一起使用 Integrated Credentials 特性,并且为了获得更多的灵活性,在逐个活动的基础上建立了凭证。建立 Advanced RealTime 活动文档之后,Integrated Credentials 附签上就有了两个选项:Use Connector Credentials 和 Lookup Credentials。如果您选择 Use Connector Credentials 选项,则忽略 Integrated Credentials 数据库并使用建立在 Connection 文档中的凭证。如果您选择 Lookup Credentials 选项,则系统验证当前用户 ID 对正试图连接的外部系统的访问。Integrated Credentials 功能是一个有价值的工具,用于控制公司内部的人对外部数据具有哪种类型的访问。
Virtual Attachments 特性
Virtual Attachment 特性可用于 Virtual Field 和 Virtual Document 活动,允许您创建一个贯穿 Notes 的附件,虽然实际的附件被存储为外部系统中的一个二进制字段。该特性需要您用四个控制字段在外部系统创建一个表,这些字段用于识别和链接外部系统中的附件到 Notes 文档中的链接。 虚拟的附件有与标准 Notes 附件一样的外观,具有最小化 Domino 应用程序的标准附件开销的优势。
结束语
由于对核心 LEI 产品的增强,新的 Advanced RealTime 活动和特性的引入,对质量、可用性和性能的关注,LEI 6 是满足企业数据集成需要的理想工具。关于 IBM Lotus Enterprise Integration 产品的更多信息,请参阅
Lotus Enterprise Integration 主页。
参考资料
关于作者  | |  | Michele Franklin 是 IBM Lotus Software Brand 的一名开发经理。Michele 有超过 14 年的软件行业从业经验,已经在 IBM 工作了三年。 |
对本文的评价
|