【ITPUB 技术文档】
学习构建从 SAP 读取数据放入 Domino 数据库的应用程序,以及如何使用 Lotus Enterprise Integrator、Domino Enterprise Connection Services 和 Lotus Connectors LotusScript Extension 这些强大的工具。
Lotus Domino 和 SAP Enterprise 连接在一起协同工作很有必要,这两个强大的系统一旦联系起来,可以:
- 减少需要的 SAP 用户许可证。
- 提高用户社区中能够访问 SAP 服务的比率。
- 减少数据错误(从而提高用户满意度)。
- 提供更好的处理状态信息,也可以提高用户的满意度。
- 减少(如果不是完全消除)用户系统上应用程序的定制需要。所有用户都可以使用这些信息,而不仅仅局限于那些能够从网络上访问 SAP 的用户。
- 减少维护内部过程需要的人员。
- 降低与 SAP 培训有关的费用,因为直接与 SAP 打交道的人少了。
本文描述了来自 IBM Software Group 的 Lotus Enterprise Integrator (LEI) 团队的强大工具,可以帮助您实现这个很有价值的目标。然后我们使用这些工具建立一个雇员自助服务(Employee Self Service)示例解决方案。我们介绍的工具包括 Lotus Enterprise Integrator (LEI)、Domino Enterprise Connection Services、Lotus Connectors LotusScript Extension 和 Lotus Connector for SAP R/3 with MTA and Workflow。如果熟悉 Lotus Notes/Domino、LEI 和 SAP,有助于理解本文讨论的某些特性和概念。
Lotus Enterprise Integrator (LEI)
Lotus Enterprise Integrator (LEI)
Lotus Enterprise Integrator (LEI)的主要功能就是把数据从 A 点移到 B 点(有时候还要返回去)。它建立在 Lotus Connectors 的基础上,后者提供了不同企业系统的访问。目前提供的连接程序有 DB2、File、Lotus Notes、Oracle、ODBC、OLEDB、Sybase 和 Text。这些连接程序都是标准 LEI 产品的一部分。此外,还可以单独订购 SAP 连接程序。
LEI 同时提供了 Data Management 活动和 Advanced Realtime 活动。Data Management 活动控制在给定的时间点给定的连接程序做什么,包括:
- Archive,从连接程序 A 读取数据,写入连接程序 B,然后从连接程序 A 上删除。
- Command,执行操作系统、数据库或 SQL 命令。
- Direct Transfer,从连接程序 A 读取数据并写入连接程序 B。这是 LEI 中最常用的活动,可用于数据迁移、定期下载、定期上传或者其他各种用途。
- Java,执行 Java 应用程序。
- Polling,监视特定的条件是否成立,如果成立则触发其他活动。
- Replication,有两种情况:让连接程序 B 的数据和连接程序 A 的类似,或者使 A 和 B 的数据相同。
- Scripted,代理在 Domino 代理管理器不 干预的情况下下执行。脚本拥有自己的运行过程,执行速度快,按照自己而非代理管理器的调度执行。
每种活动都具有不同的调度能力、专门的活动选项,也能够启动相关的活动。每个连接程序都可以与其他连接程序交换数据。但最好的地方是,使用 LEI 活动可以在 LEI 管理数据库中填写表单(不需要编写脚本)。这些表单是标准的 Domino 表单。表单中可以选择从哪里读取数据,写到哪里,将一个连接元数据中的字段映射到另一个连接元数据中的字段。
元数据包括:
- 关系数据库管理系统(DBMS)中的表或视图。表必须存在于 DBMS 本身之中,或者由存储过程动态创建和返回。
- Lotus Domino 中的 Domino 表单。
- SAP 中的表,即 Remote Function Call(远程函数调用,RFC)、Business Object Application Programmer's Interface(业务对象应用程序编程接口,BAPI)或者 Transactions(成批输入模式)使用的表。
LEI 6 及更高版本支持的 Advanced Realtime 活动包括:
- Virtual Fields (虚拟字段,原来在 LEI 3.x 中称为 Realtime)。 通过该活动可以将 Domino 应用程序作为企业数据的前端,而不需要复制数据。数据的检索和修改是实时进行的。只有企业数据的键值保存到 Notes 文档中。最棒的一点是,用户(无论人还是机器)都毫不知情。一旦打开 Notes 文档,所有字段(不仅仅是键)都自动填充完成。这一切都是实时完成的!
- Virtual Documents(虚拟文档)。这是下一层次的虚拟字段。不再有 Notes 文档保存键值,所有内容都是虚拟的。视图被填充,文档按照期望在视图中工作,但实际上里面什么也没有。通过向 RDBMS 表中增加控制字段保存 Domino 专用的注解字段,除了给定视图上显示的汇总信息之外,不需要在 Domino Notes 中保存任何信息。
- Virtual Attachments(虚拟附件)。被虚拟字段或虚拟文档“查看”的保存在文档中的附件现在可以保存到 RDBMS 系统而非 Domino 数据库中了。这样,其他 RDBMS 应用程序也可使用这些信息(只读模式),而且避免了 NSF 文件的膨胀。
- Virtual Agents(虚拟代理)。RDBMS 存储过程现在可以从任何地方访问,只要前面有一个代理。它们可以操作单个文档或者一组文档。虚拟代理将文档中的字段传递给存储过程的输入参数,使存储过程能够完成任何需要的操作。
因此,无论需要 Data Management 还是 Advanced Realtime 活动,Lotus Enterprise Integrator 都可以为您完成其中的很多任务。图 1 显示了 LEI Administration 数据库,其中定义了连接和活动,活动的执行是受控的。