29、Scribe集成组件与模板应用全解析

Scribe集成组件与模板应用全解析

1. Scribe集成组件中的净变更模式

在数据集成过程中,净变更模式的选择至关重要。这里为大家介绍四种常见的净变更模式及其相关考虑因素:
| 关键考虑因素 | 模式1:应用发布者 | 模式2:修改标志 | 模式3:修改日期/时间戳 | 模式4:快照比较 |
| — | — | — | — | — |
| 效率 | 5 | 3 | 3 | 1 |
| 可靠性 | 5 | 4 | 2 | 3 |
| 反弹预防 | 5
| 5 | 3 | 1 |
| 实时处理 | 5 | 3 | 3 | 1 |
| 事务排序 | 3 | 3 | 2 | 4 |
| 按需支持 | 5
| 1 | 3 | 3 |
| 删除支持 | 5 | 3 | 1 | 5 |
| 保证交付 | 5
| 5 | 3 * | 3 |
| 多播支持 | 5 | 4 | 5 | 2 |

注:
- * 受源应用程序或数据库功能的限制。
- ** 使用消息队列可显著增强功能。

对于模式4的实现,其处理时间和效率取决于源中的记录数量以及在预定时间内通常发生变化的记录百分比。为了最大化此过程的效率,该模式要求源结果集按唯一键字段(或一组字段)排序。然后可以按相同顺序从影子表中检索快照数据,并同步遍历结果集。

选择最佳的净变更模式需要考虑多个因素,包括整体集成要求、公司IT组织的可用技能集以及所涉及应用程序的限制。在大多数实时、双向集成场景中,应用发布者模式显然是首选方法,但鉴于目前支持这些功能的应用程序很少,该模式可能并不实用。不过,当代打包业务应用程序对这种模式的支持正在增加,如果可用,应予以充分考虑。

2. Scribe模板的作用与创建

模板在Scribe解决方案中扮演着重要角色,它是创建集成解决方案的起点。模板模型基于这样一个前提:尽管每个集成问题都不同,但许多客户在集成解决方案的某些部分会有相似的集成需求。因此,模板通过允许集成解决方案设计人员将核心集成需求捕获到一个可重用的起点,从而实现最大化重用。

Scribe提供了许多免费模板供下载,这些模板利用了Scribe的全套工具。实际上,任何人都可以创建模板,其过程与创建集成的过程并没有太大区别。Scribe中的模板可以整合集成解决方案的所有部分,如集成定义、数据视图、监视器、发布者等,以实现两个应用程序之间的集成。

创建模板时,在创建好要包含在模板中的各种Scribe项后,可以通过Scribe控制台的“导入/导出”实用程序来操作。该实用程序会询问你要包含在模板中的项目,并允许你选择非Scribe项(如文件系统上的文本文件)。然后,它会创建一个包含所有选定项和支持这些项所需的各种连接列表的单个文件,该文件可以轻松传输、下载并在系统上“导入”。

3. 模板的实现步骤

实现模板涉及“导入”模板,你可以通过双击导出的文件或使用创建模板时使用的相同Scribe导入/导出实用程序来启动导入。导入过程会提示你输入两个应用程序之间的连接信息等,并将各个部分部署到Scribe系统中。非Scribe项(如文本文件)将被复制到它们导出时的相对位置。

运行导入向导的具体步骤如下:
1. 从向导的第一个屏幕中选择“导入”选项。
2. 浏览到模板文件(*.spkz扩展名)。此屏幕上的“备份”选项可让你创建此模板的副本,以便在定制未按预期进行时可以恢复部分模板,而无需重新导入整个模板。
3. 选择要导入的模板部分,默认情况下,模板的所有构件都会被选中导入。
4. 确认任何缺少的先决条件,例如,如果你要导入从MS CRM到MS NAV的模板,可能需要安装Scribe NAV适配器。
5. 定义所需的连接,例如,MS NAV到MS CRM模板的DTS文件需要连接到MS NAV和MS CRM,此时你需要定义与每个应用程序的连接。Scribe通常会在“名称”列中提供有关此连接用途的“提示”。
6. 点击最终屏幕上的“提交”按钮执行导入。

4. 模板的定制

模板部署后,通常需要根据每个客户的独特需求进行更改。对于Scribe创建和部署的模板,其目标是使两个开箱即用的系统能够通信,而任何对应用程序的定制则由实施顾问来处理。

模板的定制方式多种多样,常见的例子包括在模板已支持的集成点添加自定义字段、更改轮询查找净变更的频率,甚至添加模板未提供的额外集成点。

5. 上线流程

部署集成解决方案通常分为三个阶段:准备阶段、离散系统之间的数据初始同步以及解决方案实时部分的测试运行。

准备阶段
- 确保所涉及系统之间代码(货币代码、国家代码、价格列表等)的一致使用。这些代码数量通常较少,可手动修改/添加到系统中,建议与应用程序用户合作,以确保他们理解新代码并验证更改现有代码不会破坏当前的报告或流程。
- 如果使用基于时间的触发器,务必设置默认日期/时间戳。例如,如果你使用基于查询的发布者,过滤器通常会与时间戳变量相关联,在首次运行集成之前,需要确保该时间戳具有正确的值。
- 若未在生产系统上开发解决方案(最佳实践是使用开发或测试服务器),则需对生产应用程序进行必要的更改以确保集成运行。对于Microsoft CRM,可能需要启用集成模式(对于Microsoft CRM v4.x及更早版本,这是一个注册表修改),可以通过运行以下DTS文件来启动和停止集成模式:
- EnableIntegrationMode.dts(启动集成模式)
- DisableIntegrationMode.dts(停止集成模式)
这些文件安装在C:\Program Files\Scribe\Samples\MicrosoftDynamicsCRM中。

初始同步阶段
初始同步主要是一个迁移事件。在实际执行之前,需要了解解决方案所依赖的实体。例如,如果集成解决方案要同步客户信息,可能需要确保两个系统中的货币代码匹配。一旦列出这些实体并确保它们在相关系统之间一致,同步事件本身就类似于数据迁移。由于同步事件通常涉及大量行,Scribe建议使用Scribe Workbench的“拒绝源行”功能,以便更轻松地调试和解决失败的记录。完成初始同步后,建议让应用程序用户审查同步结果,然后再启用解决方案的实时部分。

测试运行阶段
当初始同步完成后,可以开始部署集成解决方案的实时部分。Scribe建议逐个启用集成过程/管道的每个步骤,以确认每个步骤都能正常工作,此方法适用于解决方案使用的每个集成过程。以下是具体步骤:
1. 暂停上一章中创建的Microsoft CRM发布者和集成过程。
2. 在Microsoft CRM中创建一个账户。稍作停顿(不超过一两分钟)后,应在适用的PubIn队列中看到一条MSMQ消息。
- 如果在PubIn队列中未看到消息:
- 检查Scribe CRM适配器插件发布者(或工作流,具体取决于你使用的CRM版本)是否已安装并配置。
- 从CRM服务器,使用Scribe安装文件夹中的TestMessageQueueUtility.exe实用程序向PubIn队列发送消息。将此EXE复制到CRM服务器并使用它发送测试消息到消息队列,指定目标队列并点击“发送测试消息”按钮,你应该能在目标队列中看到一条简单的测试消息。
3. 一旦消息在PubIn队列中可见,恢复Microsoft CRM发布者。应该看到该消息从PubIn队列中消失,并在ScribeIn队列中出现相关消息。
- 如果消息未离开PubIn队列:
- 确保恢复了正确的Microsoft CRM发布者,点击发布者属性视图步骤4中的“设置”按钮,将显示所选发布者使用的连接设置。
- 在连接对话框中,仔细检查对话框底部的MSMQ名称。
- 如果在ScribeIn队列中未看到消息:
- 检查消息是否移动到了ScribeDeadMessage队列。如果是,可能有另一个未暂停的集成过程捕获了该消息。可以更改活动集成过程的事件设置,使其在集成过程配置屏幕的步骤3中过滤唯一内容。
- 检查消息是否进入了PubFailed队列。如果是,PubFailed队列中消息的正文将说明失败原因,可通过在Scribe控制台中双击消息来查看消息内容。
4. 一旦消息在ScribeIn队列中,启用与此集成关联的集成过程。应该看到消息消失并运行相关的DTS。完成后,Scribe控制台的“管理”节点下的执行日志中将有一条记录。
- 如果集成未运行,检查执行日志,日志条目将提供有关集成失败原因的额外信息。
5. 让目标系统的用户验证集成是否满足他们的需求。目标系统所有者的审查通常会发现以前未定义的用例,这可能会影响集成解决方案。

6. 实用技巧
  • 使用监视器 :当消息进入PubFailed和其他队列时,使用监视器进行警报。Scribe会在适当的时候将消息转移到PubFailed或ScribeFailed队列,将监视器与这些队列关联,以便在这些情况下通知相关人员。可以在监视器属性对话框的步骤3中关联收件人组或名称来实现自动通知。
  • 利用字段属性 :在Scribe Workbench中创建集成时,使用源字段和目标字段属性确保映射到正确的字段。可以使用目标字段属性交叉引用CRM字段的“标签”,通过右键单击字段并选择“字段属性”来查找CRM字段标签。如果CRM字段是下拉列表,点击“显示选择列表”按钮将列出下拉列表的名称 - 值对,为了适应国际化场景,最好使用数值“值”而不是文本“名称”。
  • 使用测试对话框 :在Scribe Workbench中使用测试窗口验证是否使用了适当的源字段和任何可能使用的函数,该窗口将显示源值以及推送到目标的最终值。

Scribe集成组件和模板为数据集成提供了强大的工具和灵活的解决方案。通过合理选择净变更模式、有效利用模板、进行必要的定制以及遵循上线流程和实用技巧,可以更好地实现应用程序之间的集成,满足不同的业务需求。

Scribe集成组件与模板应用全解析(续)

7. 净变更模式深入分析

为了更清晰地了解不同净变更模式的特点,我们对前面提到的四种模式做进一步深入分析。下面是一个对比表格,详细展示了每种模式在不同关键考虑因素下的表现:

关键考虑因素 模式1:应用发布者 模式2:修改标志 模式3:修改日期/时间戳 模式4:快照比较
效率 高,能快速响应数据变化 中等,依赖标志的更新情况 中等,受时间戳准确性影响 低,处理时间和效率取决于记录数量和变化比例
可靠性 高,但受源应用功能限制 较高,能准确标记修改 一般,时间戳可能不准确 一般,快照比较可能存在误差
反弹预防 高,受源应用功能限制 高,可有效防止反弹 中等,部分情况下可预防 低,容易出现重复处理
实时处理 高,支持实时数据同步 中等,需及时更新标志 中等,依赖时间戳更新 低,不适合实时处理
事务排序 中等,依赖应用处理逻辑 中等,可按标志顺序处理 低,时间戳顺序可能混乱 高,可按快照顺序处理
按需支持 高,可按需触发同步 低,依赖标志更新 中等,可按时间按需查询 中等,需重新生成快照
删除支持 高,能及时处理删除操作 中等,需标记删除状态 低,难以准确判断删除 高,可对比快照发现删除
保证交付 高,使用消息队列增强能力 高,使用消息队列增强能力 中等,使用消息队列有一定帮助 中等,使用消息队列有一定帮助
多播支持 高,可同时向多个目标发送 中等,需额外配置 中等,需额外配置 低,不适合多播场景

从这个表格中可以看出,不同的净变更模式在各个方面各有优劣。在实际应用中,需要根据具体的业务需求和系统环境来选择最合适的模式。例如,如果对实时性要求较高,应用发布者模式可能是更好的选择;而如果更注重事务排序,快照比较模式可能更合适。

8. 模板定制案例分析

为了更好地理解模板定制的实际应用,我们来看一个具体的案例。假设一家企业使用Scribe模板实现了Microsoft CRM和MS NAV之间的集成,但随着业务的发展,企业需要在集成过程中添加一些自定义字段。

步骤1:确定定制需求
企业发现现有的集成模板没有包含客户的“特殊需求”字段,而这个字段对于业务分析和客户服务非常重要。因此,需要在集成中添加这个字段。

步骤2:查找相关模板文件
通过Scribe控制台的导入/导出功能,找到包含Microsoft CRM和MS NAV集成的模板文件。

步骤3:修改模板
在Scribe Workbench中打开模板,找到与客户信息相关的集成定义。在源字段和目标字段中添加“特殊需求”字段,并确保字段映射正确。同时,检查相关的数据视图和监视器,确保它们也能正确处理这个新字段。

步骤4:测试定制后的模板
在测试环境中运行定制后的模板,创建一些包含“特殊需求”字段的客户记录,检查这些记录是否能正确同步到MS NAV系统中。如果出现问题,根据错误信息进行调整。

步骤5:部署到生产环境
经过测试确认无误后,将定制后的模板部署到生产环境中。同时,通知相关的应用程序用户,让他们了解新字段的使用方法和注意事项。

通过这个案例可以看出,模板定制虽然需要一定的技术知识和操作经验,但只要按照正确的步骤进行,就可以满足企业不断变化的业务需求。

9. 上线流程的优化建议

在上线流程中,为了确保集成解决方案的顺利部署和稳定运行,我们可以提出以下优化建议:

  • 准备阶段

    • 建立代码管理机制:对于系统之间的代码(如货币代码、国家代码等),建立一个统一的代码管理平台,确保代码的一致性和可维护性。定期对代码进行审查和更新,避免因代码不一致导致的集成问题。
    • 自动化日期/时间戳设置:开发自动化脚本,根据业务需求自动设置默认日期/时间戳。这样可以减少人工操作的错误,提高集成的准确性和效率。
    • 提前进行生产环境适配:在开发和测试阶段,尽量模拟生产环境的配置和数据,提前发现并解决可能出现的兼容性问题。同时,制定详细的生产环境部署计划,确保集成解决方案能够顺利上线。
  • 初始同步阶段

    • 分批次同步数据:对于大量数据的同步,可以采用分批次的方式进行,避免一次性同步导致系统资源耗尽。同时,在每批次同步完成后,进行数据验证和错误处理,确保数据的完整性和准确性。
    • 建立数据备份机制:在同步数据之前,对源系统和目标系统的数据进行备份,以防数据丢失或损坏。在同步过程中,如果出现错误,可以及时恢复数据,减少损失。
  • 测试运行阶段

    • 自动化测试脚本:编写自动化测试脚本,对集成解决方案的各个功能进行全面测试。这样可以提高测试效率,减少人工测试的工作量和误差。同时,定期运行自动化测试脚本,确保集成解决方案的稳定性。
    • 实时监控和预警:建立实时监控系统,对集成过程中的关键指标(如消息队列长度、数据同步时间等)进行监控。当指标出现异常时,及时发出预警,以便及时处理问题。
10. 流程图展示

为了更直观地展示上线流程,下面是一个使用mermaid语法绘制的流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(准备阶段):::process
    B --> B1(确保代码一致):::process
    B --> B2(设置默认日期/时间戳):::process
    B --> B3(生产环境适配):::process
    B --> C(初始同步阶段):::process
    C --> C1(分批次同步数据):::process
    C --> C2(数据验证和错误处理):::process
    C --> C3(数据备份):::process
    C --> D(测试运行阶段):::process
    D --> D1(运行自动化测试脚本):::process
    D --> D2(实时监控和预警):::process
    D --> D3{集成是否成功?}:::decision
    D3 -->|是| E([结束]):::startend
    D3 -->|否| F(问题处理):::process
    F --> D

这个流程图清晰地展示了上线流程的三个阶段以及每个阶段的主要步骤。从准备阶段开始,经过初始同步和测试运行,最终根据集成结果决定是否结束流程。如果集成失败,则进入问题处理环节,处理后再次进行测试运行,直到集成成功为止。

11. 总结与展望

通过对Scribe集成组件和模板的全面介绍,我们了解到它们在数据集成领域的重要作用。净变更模式为数据同步提供了多种选择,模板则为集成解决方案的快速搭建和定制提供了便利。上线流程的规范化和优化建议有助于确保集成解决方案的顺利部署和稳定运行。

在未来,随着企业数字化转型的加速,对数据集成的需求将不断增加。Scribe集成组件和模板也将不断发展和完善,提供更多的功能和更好的性能。例如,可能会出现更智能的净变更模式,能够自动根据数据变化情况选择最合适的同步方式;模板的定制功能也将更加灵活,能够满足更多复杂的业务需求。同时,与其他新兴技术(如人工智能、大数据等)的结合也将为数据集成带来新的机遇和挑战。

总之,掌握Scribe集成组件和模板的使用方法,合理运用净变更模式和上线流程,将有助于企业更好地实现应用程序之间的集成,提升业务效率和竞争力。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值