我正在为两家公司设计的EDI系统:A公司和B公司A公司已经存在的小生产企业,乙公司是围绕一个特定的产品形成与业主参与新公司A公司A公司将不得不专有权以产生用于B公司

的产物

我负责一切事物IT和发展与这两个公司。我需要设计一个EDI系统,用于从公司B到公司A,并且反之亦然传送命令和其它信息(确认和状态更新等)。

这类型的东西是相当新的给我,所以我只是在寻找咨询如何从公司B发送一个新的以A公司,并保证它得到那里,存储,并且不会发送多于一次。

我想我可能会与Web服务做到这一点。我应该看看WCF服务还是坚持与ASP.Net Web服务?

我想我会送一个唯一的ID,每个顺序,使A公司的系统会识别不保存它两次,如果有一个组合起来,但我怎么知道肯定公司A获得的信息?

任何其他提示或建议是更受欢迎。

有帮助吗?

解决方案

请参阅微软:ASMX Web服务是一种“传统技术” ,了解为何不与ASMX Web服务的坚持。

不要将订单已经有一些独特的识别?

在任何情况下,在A公司的服务将要保证的顺序安全地加以记录(也许在数据库中),然后才将“发送订单”操作完成。


目前公司A,我会创建一个订单处理服务。到目前为止,那就只需要一个方法:AcceptOrder。这将接受所有的处理订单所需的信息。此操作将先保存的顺序到数据库,并且一旦数据被安全地存储,将返回某种确认代码。

再次发送相同的顺序尝试将失败,因为你会一直在从B公司的唯一订单标识符唯一的密钥。

我们要相信我们的数据库,因此,一旦我们知道数据已经提交,它是安全的回应:“我们已经得到了它!”

也可以使用

其他技术。事务性队列,例如,使用MSMQ。这将有同样的好处,一旦它说它有数据,你可以相信它的数据。

其他提示

发送与web服务呼叫的唯一ID,并具有Web服务返回一个独一无二的确认代码和订单状态。这应该非常掩护你。如果你愿意,你可以在Web服务中添加查询订单状态的方法来让你看看是否有命令之前发送的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top