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

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

1. 关键净变更模式考量

在数据集成过程中,净变更模式的选择至关重要。以下是四种常见的净变更模式及其在不同设计考量下的表现:
| 关键考量 | 模式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的实现需要注意,其处理时间和效率取决于源中的记录数量以及在预定时间内通常发生变化的记录百分比。为了最大化此过程的效率,该模式要求源结果集按唯一键字段(或一组字段)排序。然后,可以按相同顺序从影子表中检索快照数据,并同步遍历结果集。

2. 模板在Scribe解决方案中的角色

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

2.1 模板介绍

Scribe提供了许多免费模板供下载,其中许多模板利用了Scribe的全套工具。任何人都可以创建模板,创建过程与创建集成的过程并无太大区别。

Scribe中的模板可以整合集成解决方案的所有部分(如集成定义、数据视图、监视器、发布者等),以实现两个应用程序之间的集成。许多Scribe顾问使用导入/导出实用程序将集成解决方案从一个服务器迁移到另一个服务器。例如,从测试服务器迁移到生产服务器时,他们会创建一个包含集成解决方案各个部分的“模板”,导入该“模板”即可在新系统上重新部署解决方案。

创建模板时,可以通过Scribe控制台的导入/导出功能,选择要包含在模板中的项目(如集成定义、数据视图、监视器、发布者等),还可以选择非Scribe项目(如文件系统上的文本文件)。该实用程序将创建一个包含所有选定项目和所需连接列表的单个文件,该文件可以轻松传输和下载,并在系统上“导入”。

2.2 模板的实施

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

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

然而,模板的导入通常只是解决集成问题的第一步。如果客户对模板设计支持的任何一个应用程序进行了定制,则模板很可能需要进行修改以适应这种定制。

3. 模板的定制

模板部署后,需要根据每个客户的独特需求进行更改,这就是为什么它们被称为模板而不是解决方案本身。对于Scribe创建和部署的模板,目标是使两个开箱即用的系统能够通信,而对任何一个应用程序的定制则由实施顾问来处理。

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

4. 上线流程

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

4.1 准备

在准备部署和稳定集成解决方案时,在运行集成之前,您应该注意以下几点(具体取决于您的集成需求和所涉及的业务应用程序):
- 确保所涉及系统之间代码(如货币代码、国家代码、价格列表等)的一致使用。这些代码数量通常较少,并且通常可以手动修改/添加到系统中,而无需创建集成来处理。您应该与应用程序用户合作,确保他们理解新代码,并验证更改现有代码不会破坏他们当前的报告或流程。
- 如果使用基于时间的触发器,请确保设置默认日期/时间戳。例如,如果使用基于查询的发布者,过滤器通常会与时间戳变量关联。在首次运行集成之前,您需要确保该时间戳具有正确的值。

如果您不是在生产系统上开发解决方案(最佳实践是使用开发或测试服务器),请确保对生产应用程序进行必要的更改以确保集成正常运行。对于Microsoft CRM,您可能需要启用集成模式(对于Microsoft CRM v4.x及更早版本,这是一个注册表修改),以便CRM用户可以向后台系统提交订单。您可以通过运行以下DTS文件来启动和停止Microsoft Dynamics CRM 4.x中的集成模式:
- EnableIntegrationMode.dts(启动集成模式)
- DisableIntegrationMode.dts(停止集成模式)

这些文件安装在C:\Program Files\Scribe\Samples\MicrosoftDynamicsCRM中。

4.2 初始同步

初始同步主要是一个迁移事件。在实际执行之前,您需要了解解决方案所依赖的实体。例如,如果您的集成解决方案同步客户信息,可能需要确保两个系统中的货币代码匹配。一旦您列出了这些实体并确保它们在相关系统之间一致,同步事件本身就类似于数据迁移。

由于同步事件通常涉及数百甚至数千(或数万)行数据,Scribe建议使用Scribe Workbench的“拒绝源行”功能,以便更轻松地调试和解决失败的记录。

初始同步完成后,Scribe建议让应用程序用户在将解决方案的实时元素投入使用之前审查同步情况。

4.3 测试运行

初始同步完成后,您可以开始部署集成解决方案的实时元素。Scribe建议逐个启用集成过程/管道的每个步骤,以确认每个步骤都能正常工作后再启用下一步。

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

5. 技巧和窍门
  • 使用监视器 :使用监视器在消息进入PubFailed和其他队列时发出警报。Scribe会在适当的时候将消息转移到PubFailed或ScribeFailed队列,将监视器与这些队列关联,以便在出现问题时通知相关人员。
  • 使用源字段和目标字段属性 :在Scribe Workbench中创建集成时,使用目标字段属性来确保您映射到了正确的字段。您可以通过右键单击字段并选择“字段属性”来查找CRM字段标签。如果CRM字段是下拉列表,单击“显示选择列表”按钮将列出下拉列表的名称 - 值对。为了适应国际化场景,最好使用数值“值”而不是文本“名称”。
  • 使用测试对话框 :使用Scribe Workbench中的测试窗口来验证您是否使用了适当的源字段和任何函数。该窗口将显示源值、推送到目标的最终值(包括与链接关联的公式)以及特定集成文档的步骤控制流程。
  • 创建自定义函数或使用Scribe变量 :在Scribe Workbench中链接源和目标时,如果需要创建相对复杂的公式来表示两个系统之间的数据转换,建议创建Visual Basic 6.0编译函数或使用Scribe中的计算变量。使用计算变量可以重用复杂公式,而创建VB函数将带来更大的灵活性,并具有编译而非解释的额外优势,从而略微提高性能。在%SCRIBE%\Samples\VBFunctions\文件夹中的文档概述了如何创建和注册VB 6.0函数。
  • 扩展模糊逻辑 :Scribe附带的一些“模糊”逻辑类型函数可以帮助您避免创建重复条目。例如,使用STRIPCOMPANY([…])公式可以去除一些无关部分,以减少重复项。您还可以通过在SCRIBEINTERNAL数据库的STRIPCOMPANY表中添加行来扩展该函数的行为,以满足特定需求。
  • 定期清理日志 :随着时间的推移,执行日志和警报日志可能会变得相当大。您可以定期运行Scribe产品附带的SQL脚本(%SCRIBE%\ScribeMaintenance.sql)来清理旧条目。该SQL脚本允许您定义保留条目的时间期限,该脚本可以手动运行,也可以设置为定期运行的SQL作业。
6. Scribe特定模板

Scribe有一些特定于Microsoft Dynamics CRM的模板,最受欢迎的模板包括:
- Scribe ERP到Microsoft Dynamics CRM
- Microsoft Dynamics GP到Microsoft Dynamics CRM
- Microsoft Dynamics NAV到Microsoft Dynamics CRM

这些模板为相关的集成工作提供了便利和参考,能够帮助用户更高效地实现应用程序之间的集成。

通过以上对Scribe集成组件和模板的介绍,我们可以看到Scribe提供了一套全面的解决方案,帮助用户实现应用程序之间的集成。无论是净变更模式的选择、模板的创建和使用,还是上线流程的管理,都有相应的方法和技巧。在实际应用中,用户可以根据自身的需求和业务场景,灵活运用这些功能,以达到最佳的集成效果。

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

7. 各环节关联与流程梳理

为了更清晰地理解Scribe集成过程中各个环节的关联和整体流程,我们可以通过以下的mermaid流程图来展示:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(选择净变更模式):::process --> B(创建或选择模板):::process
    B --> C(实施模板导入):::process
    C --> D(模板定制):::process
    D --> E(上线准备):::process
    E --> F(初始同步):::process
    F --> G(测试运行):::process
    G --> H(使用技巧优化):::process
    H --> I(选择合适模板持续集成):::process

从这个流程图中可以看出,整个Scribe集成过程是一个连贯的流程。首先需要根据项目的具体需求选择合适的净变更模式,这是集成的基础,不同的模式在效率、可靠性等方面有不同的表现。接着,基于选择的净变更模式,创建或选择合适的模板,模板的使用可以大大提高集成的效率和可重用性。

模板实施导入后,根据客户的具体需求进行定制,以适应不同的业务场景。上线准备阶段需要确保系统之间的代码一致性和时间戳的正确性等。初始同步是将数据从一个系统迁移到另一个系统的过程,需要注意数据的一致性和完整性。测试运行则是验证集成是否正常工作的关键步骤,通过逐步启用集成过程的各个步骤,可以及时发现和解决问题。

最后,使用各种技巧和窍门对集成过程进行优化,例如使用监视器、自定义函数等,同时根据业务的发展和变化,选择合适的模板持续进行集成工作。

8. 净变更模式选择决策树

为了帮助用户更准确地选择合适的净变更模式,我们可以构建一个决策树:

graph TD
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A{是否需要实时处理?}:::decision -->|是| B{应用是否支持应用发布者模式?}:::decision
    A -->|否| C{是否需要高可靠性?}:::decision
    B -->|是| D(应用发布者模式):::process
    B -->|否| E{是否对效率要求极高?}:::decision
    E -->|是| F(模式2: 修改标志):::process
    E -->|否| G(模式3: 修改日期/时间戳):::process
    C -->|是| H(模式2: 修改标志):::process
    C -->|否| I{是否需要处理大量删除操作?}:::decision
    I -->|是| J(模式4: 快照比较):::process
    I -->|否| K(模式3: 修改日期/时间戳):::process

这个决策树根据项目的不同需求,如是否需要实时处理、应用是否支持特定模式、对可靠性和效率的要求以及是否需要处理大量删除操作等因素,引导用户选择合适的净变更模式。例如,如果项目需要实时处理且应用支持应用发布者模式,那么应用发布者模式就是首选;如果应用不支持应用发布者模式且对效率要求极高,那么模式2(修改标志)可能是更好的选择。

9. 模板定制与上线流程的详细对比
阶段 模板定制 上线流程
目的 使模板适应客户的独特需求,满足不同业务场景 确保集成解决方案能够稳定、正常地运行在生产环境中
操作内容 - 添加自定义字段
- 更改轮询频率
- 添加额外集成点
- 准备阶段:确保代码一致性、设置时间戳等
- 初始同步:进行数据迁移并确保数据一致性
- 测试运行:验证集成的各个步骤是否正常工作
关键注意事项 - 了解客户的具体需求和业务流程
- 避免过度定制导致模板失去可重用性
- 准备阶段要与应用程序用户密切合作,确保代码更改不会影响现有流程
- 初始同步要注意数据的完整性和一致性
- 测试运行要逐步进行,及时发现和解决问题

通过这个表格可以清晰地看到模板定制和上线流程的区别和联系。模板定制是为了让模板更好地适应客户的需求,而上线流程则是确保定制后的模板能够在生产环境中正常运行。在实际操作中,需要根据项目的具体情况,合理安排模板定制和上线流程的各个步骤。

10. 技巧和窍门的应用场景分析
技巧和窍门 应用场景 具体操作
使用监视器 当需要及时发现消息队列中的异常情况时,如消息进入PubFailed或ScribeFailed队列 关联监视器与相关队列,在监视器属性对话框的步骤3中设置通知的接收组或名称
使用源字段和目标字段属性 在创建集成时,不确定Workbench中的字段与源/目标应用程序中的字段对应关系时 右键单击字段选择“字段属性”,对于下拉列表字段,单击“显示选择列表”按钮查看名称 - 值对
使用测试对话框 验证源字段和函数是否正确,以及了解集成文档的步骤控制流程时 在Scribe Workbench中打开测试窗口,查看源值、最终值和步骤控制流程
创建自定义函数或使用Scribe变量 当需要创建复杂的数据转换公式时 创建Visual Basic 6.0编译函数或使用Scribe中的计算变量,参考%SCRIBE%\Samples\VBFunctions\文件夹中的文档创建和注册VB 6.0函数
扩展模糊逻辑 避免创建重复条目,处理源数据中的相似但不同的名称时 使用STRIPCOMPANY([…])公式去除无关部分,通过在SCRIBEINTERNAL数据库的STRIPCOMPANY表中添加行扩展函数行为
定期清理日志 执行日志和警报日志变得过大,影响系统性能时 定期运行%SCRIBE%\ScribeMaintenance.sql脚本,设置保留条目的时间期限

通过这个表格,用户可以清楚地了解每个技巧和窍门的应用场景以及具体操作方法。在实际的集成工作中,根据不同的场景选择合适的技巧和窍门,可以提高集成的效率和质量。

11. 总结与展望

Scribe集成组件和模板为应用程序之间的集成提供了一套全面而强大的解决方案。通过合理选择净变更模式、灵活使用模板、精心定制模板以及严格执行上线流程,用户可以实现高效、可靠的集成。同时,各种技巧和窍门的应用可以进一步优化集成过程,提高集成的性能和可维护性。

在未来,随着业务的不断发展和变化,集成的需求也会越来越复杂。Scribe可能会不断完善其功能,提供更多的模板和工具,以满足不同用户的需求。例如,可能会增加更多的净变更模式,以适应不同的业务场景;模板的定制功能可能会更加灵活,用户可以更方便地根据自己的需求进行定制。

此外,随着技术的不断进步,Scribe可能会与更多的应用程序和系统进行集成,实现更广泛的业务流程自动化。同时,对于大数据、云计算等新兴技术的支持也可能会不断加强,为用户提供更强大的集成能力。

总之,Scribe集成组件和模板在应用程序集成领域具有广阔的发展前景,用户可以通过不断学习和实践,充分发挥其优势,为企业的发展提供有力的支持。

Kriging_NSGA3_Topsis克里金预测模型做代理模型多目标遗传3代结合熵权法反求最佳因变量及自变量(Matlab代码实现)内容概要:本文介绍了基于克里金(Kriging)代理模型、多目标遗传算法NSGA-III和TOPSIS决策方法相结合的技术路线,用于反求最优的因变量及对应的自变量组合。该方法首先利用克里金模型对复杂系统进行近似建模,降低计算成本;随后通过NSGA-III算法进行三代多目标优化,获得帕累托前沿解集;最后结合熵权法确定各目标权重,并使用TOPSIS方法从解集中筛选出最接近理想解的最佳方案。整个流程在Matlab平台上实现,适用于工程优化中高耗时仿真模型的替代多目标折衷分析。; 适合人群:具备一定数学建模基础和Matlab编程能力的研究生、科研人员及从事工程优化设计的工程师;熟悉代理模型、遗传算法多属性决策方法的学习者优先。; 使用场景及目标:①解决计算昂贵的多目标优化问题,如结构设计、能源系统参数优化等;②掌握克里金代理模型构建、NSGA-III算法应用及熵权-TOPSIS集成决策的流程实现;③复现高水平学术论文中的优化方法,提升科研创新能力。; 阅读建议:建议读者结合提供的Matlab代码逐步调试运行,理解每一步的数据流向算法逻辑,重点关注代理模型精度验证、NSGA-III参数设置及熵权法权重计算过程,以实现对整体方法的深入掌握灵活应用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值