保持 Sharepoint 和 Epicor 数据库同步的最简单方法是什么?

What is the easiest way to keep a Sharepoint and Epicor database in sync?

我在一家小型制造公司进行编程实习,我的任务是向公司的 Epicor ERP 和 Sharepoint 在线平台添加定制,这些平台将 link 两个平台的数据库相互连接。

我认为最好的方法是使用 Odata REST API 为其中一个平台构建自定义,并将其设置为每天同步数据库。不幸的是,虽然我已经构建了基本的 Sharepoint webparts,但我之前没有使用过 Epicor ERP,而且似乎很难找到该平台的文档。

我认为使用 Epicor 定制可能更可取,因为我们不直接托管我们的 Sharepoint 站点,而且公司没有可以确保 Web 部件跟上 Sharepoint 在线自动更新的永久开发人员.

综上所述,我应该如何完成这项任务?

这更像是 SharePoint 和 Epicor ERP 之间的广泛集成问题,但这里有一种可能的方法来分解问题的组成部分。什么是 "Easiest" 将取决于您的技能组合和配置安全证书的经验,但我假设您的 SharePoint 和 Epicor ERP REST API 很容易访问。

问题陈述

将 one-direction 中的部件数据从 SharePoint 推送到 Epicor ERP。

解决方案的组成部分

  1. 创建组件以收集 SharePoint 源数据
  2. 创建组件以写入 Epicor ERP 数据
  3. 创建调度或实时监控组件。

一种可能的解决方案

  1. 编写一个 class 或程序,通过 SharePoint REST 端点读取新的 SharePoint 数据并将该信息写入数据库中的一行。

  2. 编写一个 class 或程序,从您的数据库行中读取信息并通过您的 Epicor ERP REST 端点将其写入您的 Epicor ERP 系统。

  3. 编写一个 class 或程序来执行您的其他两个 classes/programs 并向可配置的分发列表提供状态更新或故障通知。安排此节目 运行 每晚。

建议附加信息:

  1. SharePoint 有一个 REST API 可用于访问文档和元数据。如果这不足以收集写入 Epicor ERP 所需的数据,您可能需要根据使用 SharePoint API.
  2. 检索到的记录执行进一步处理
  3. Epicor ERP 使用封装的业务逻辑写入数据库。如果您的 REST API 服务已配置,您将在类似于以下的 swagger 端点找到它: https://[YourServer]/[YourAppServer]/api/help 这将为您提供完整的可搜索服务列表。您需要 Erp.BO.PartSvc 作为您工作的主要服务。但是,如果您还需要配置物料清单,则需要 Erp.BO.EngWorkBenchSvc。如果您不知道在 Epicor 中创建零件需要执行的步骤,您可以通过启用服务器端跟踪在应用程序中执行跟踪以获得服务调用,这样您就可以通过传递来复制功能JSON 对象中的数据通过 REST API。业务对象和自定义文档不在public 域 中,但作为 Epicor 客户,可以通过您的 EpicWeb 门户访问它们。以下文档将为您提供更多信息:

    • EpicorApplication_UserGuide - 说明如何使用正常的应用程序逻辑
    • 执行 part-related 活动
    • EpicorCustomization_UserGuide - 说明如何在应用程序中执行任何自定义以及如何启用跟踪
    • EpicorICETools_UserGuide - 说明如何使用 Epicor 专有查询和 server-side 自定义工具。
    • ERP_BO_Ref.chm - 提供完整的 Epicor ERP BO 服务清单以及每种方法的作用的详细信息
  4. 当 SharePoint 对象被修改时,您应该能够 运行 触发器上的程序,但我建议在 off-hours 以防零件数量给您的 ERP 系统带来沉重负担,并可能影响 MES 用户和您的制造车间。