因此,我们正在构建一个本地(在客户站点)托管,自定义销售点系统,没有太多与众不同的东西。它的所有.NET,C#和SQL Server。
其中一个要求是系统允许通过互联网接收订单。 由于各种原因(连接可靠性/速度,备份,稳定性,维护等),Web门户将在非现场托管,与一些标准的Web托管公司。
产品详细信息位于本地数据库中,因此我们需要以某种方式将外部网站数据库与此数据同步。它显然必须是安全的,而不是太多的带宽。
我们提出了一种解决方案,可以最大限度地减少本地数据库暴露于外部世界:
所以我们考虑使用这样的设计,使用Web服务,只是在web应用程序上定义基本操作,如addProduct(id,blah blah blah)
但是我们必须编写例程以保持内容同步,例如从本地应用程序中删除产品,但外部应用程序暂时不可用等等......
这是一种合理的方法,还是有更好的方法?
答案 0 :(得分:1)
这是SOA似乎适用于我的情况。我将研究使用WCF从POS应用程序中公开某些功能。这至少有以下几点:
通过这种方式,您最终会为POS系统增加一些价值,而不是在POS和网站之间进行一次性连接。
要了解有关WCF的更多信息,我可以向Juval Lowy推荐Programming WCF services
答案 1 :(得分:0)
不直接回答你的问题......我试图在两个站点之间建立VPN隧道,如果你不能,尝试使用SSH隧道?
除了安全性方面的好处之外,根据我的经验,一旦VPN存在,就会开辟更多的选择,因为以前过于不安全的事情正在考虑中。
答案 2 :(得分:0)
@olle 这很有希望。一个问题是连接黑白在线门户和本地应用程序不可靠。但是,我们仍然希望能够在链接断开时接受订单。 所以,我认为我们将在webapp中使用WCF从服务器读取数据,并将其缓存在本地表中。 Web应用程序将通过中间层请求数据,如果WCF调用在短时间内没有返回,则该中间层为缓存的表中的内容提供服务。如果确实成功返回,则将删除缓存并替换为结果。 听起来像一个计划?