我是C#开发的新手,也是Dynamics GP的eConnect和Web Services的新手。从某些来源,我已经认识到Web服务的功能有限,并且有时在eConnect上构建自己的Web服务是必要或可取的。
我想知道,有人可以解释一下这会带来什么样的高水平?
答案 0 :(得分:3)
eConnect中提供的大多数功能都是通过Web服务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更新。
请务必考虑您今天的集成需求以及将来可能需要的内容,以便您的架构决策能够长期保持下去。
另请阅读此优秀article,了解有关在eConnect和GP网络服务之间进行选择的更多详细信息。