2013-05-10 63 views

回答

3

eConnect中提供的大多数功能都通过适用于Dynamics GP的Web服务公开,但有一些例外。例如,使用GP Web服务不可能明确指定销售订单的税收,但这可以使用eConnect完成。我鼓励您查看GP Web服务文档,以确保涵盖您的集成需求。

GP Web Services在eConnect上添加了一个附加层。它在后端使用eConnect。它提供了一个单独的安全层和异常处理程序。如果您有这些需求,这可能对您的环境有好处,但由于GP Web服务的安装和维护不是微不足道的,因此这需要付出代价。

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

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

string CreateCustomer(name, address); 

在我将执行所有eConnect调用和返回所创建的客户号码的服务的逻辑。

最终答案是“这要看情况”。如果我需要以实体为基础的实体(访问销售订单,而不是基于用户的用户购买订单),或者如果我正在构建我想要安装的商业产品,我会选择GP Web服务在多种不同的Dynamics GP安装上。如果GP Web服务已经安装并在客户所在地使用,我会尽可能使用它们来保持一致的环境。

如果客户端还没有安装GP Web服务,并且他们需要一个简单的界面来与Dynamics GP进行交互,那么我可能会选择创建自己的WCF来封装逻辑并为消费者尽可能简化集成的服务。

要考虑的另一件事是,动态GP中有几件事情不能用eConnect或GP Web服务完成,例如现场服务或制造集成。在这些情况下,我会经常创建自己的WCF,并尽可能使用eConnect和SQL更新,但eConnect不涵盖该功能。

一定要考虑您今天的集成需求以及您将来可能需要的内容,以便您的架构决策能够长期保持。

有关在eConnect和GP Web服务之间进行选择的更多详细信息,请阅读此优秀article

+0

我什么时候需要扩展一个Web服务以及何时需要创建一个新的Web服务?用你的例子说,我想包括销售订单的税收。我可以通过扩展Web服务来做到这一点,还是需要创建一个新的Web服务? – James 2016-12-20 21:52:13