2

我是 C# 开发以及 eConnect 和 Dynamics GP 的 Web 服务的新手。我从一些资料中了解到,Web 服务的功能在一定程度上受到限制,有时有必要或希望在 eConnect 之上构建自己的 Web 服务。

我想知道,有人可以解释一下这将意味着什么吗?

4

1 回答 1

3

eConnect 中可用的大部分功能都通过 Web Services for Dynamics GP 公开,但有少数例外。例如,无法使用 GP Web 服务明确指定销售订单的税费,而这可以使用 eConnect 完成。我鼓励您查看 GP Web 服务文档,以确保满足您的集成需求。

GP Web 服务在 eConnect 之上添加了一个附加层。它在后端使用 eConnect。它提供了一个单独的安全层和异常处理程序。如果您有这些需求,这在您的环境中可能会有所帮助,但是这是有代价的,因为 GP Web 服务的安装和维护并非易事。

我已经多次开发了您所询问的内容。我只是创建了一个封装了 eConnect 调用的 C# WCF 服务。安装和维护要容易得多,因为我自己控制服务的细节。另外,我能够更好地封装我的逻辑并将其与任何其他应用程序混淆。当然,您需要像您创建的任何其他服务一样考虑安全性和异常处理逻辑。

例如,我的 WCF 服务可能有一个非常简单的操作,例如:

string CreateCustomer(name, address);

在服务逻辑中,我将执行所有 eConnect 调用并返回创建的客户编号。

最终答案是“视情况而定”。如果我需要逐个实体的严格安全性(访问销售订单而不是逐个用户的采购订单),或者如果我正在构建我想要安装的商业产品,我会选择 GP Web 服务在 Dynamics GP 的多个不同安装上。如果 GP Web 服务已经安装并在客户的位置使用,我将尽可能使用它们来维护一致的环境。

如果客户端尚未安装 GP Web 服务并且他们需要一个简单的接口来与 Dynamics GP 交互,我可能会选择创建自己的 WCF 来封装逻辑并使服务使用者的集成尽可能简单。

另一件需要考虑的事情是,Dynamics GP 中有一些事情是 eConnect 或 GP Web 服务无法完成的,例如现场服务或制造集成。在这些情况下,我通常会创建自己的 WCF 并在可能的情况下使用 eConnect,并在 eConnect 未涵盖该功能的情况下使用 SQL 更新。

请务必考虑您今天的集成需求以及将来可能需要什么,以便您的架构决策能够长期有效。

另请阅读这篇出色的文章,了解有关在 eConnect 和 GP Web 服务之间进行选择的更多详细信息。

于 2013-05-11T15:29:54.130 回答