我正在建立一个网页应用程序,我需要一些指导在设计。我们有一个供应商的应用程序,它使用Server 2005作为数据库。假设供应商的应用程序提供了订单等方面的详细信息。
我正在构建的web应用程序将拥有自己的数据库( Server 2005)。为了让我的应用程序获得关于“订单”的任何细节,它需要通过BizTalk。所以流量如下所示
发布于 2011-06-27 17:54:09
将BizTalk添加到您所描述的应用程序流中将增加大量开销。创建一个位于web应用程序和供应商订单数据库之间的WCF服务可能会更简单、运行更快,而且可能更便宜。
BizTalk提供可靠的消息传递。因此,应用程序流,如问题中所述,应该如下所示:
这样,您就可以获得消息的持久性和可靠性。如果出现故障(例如,供应商的SQL数据库离线),BizTalk中将出现一条挂起的消息,web应用程序将超时等待来自BizTalk的同步响应。或者,您也可以捕获错误并使用BizTalk将其传回web应用程序,并为该过程增加更多的开销。
如果您只获得现有订单(即不创建/更新/删除订单),那么您不需要您的消息/事务如此可靠或昂贵。如果出现故障,用户将看到一个错误,然后再提交一次,直到它正常工作(如果需要,您可以在服务器上记录错误,通知管理员)。
使用类似于WCF服务-perhaps的方法,将实体框架放在供应商数据库的顶部--仍然可以将供应商的数据库从web应用程序中抽象出来,并提供:
发布于 2011-06-28 20:57:00
对于BizTalk来说,这确实不是一个合适的用途。在您的web服务器上编写WCF Serivce来公开SQL数据会更合适。让应用程序直接调用服务。这将满足您的要求,非常快。BizTalk的可靠消息是有代价的..。蠕动点当您请求和接收数据时,BizTalk将多次向数据库写入和读取数据。如果用户提交订单,BizTalk会更好地做到这一点,因为一旦web应用将订单传递给BizTalk,您就可以保证它不会丢失。
另一个简短的说明是,我并不是最新的SQL Server中所有酷酷的新特性,但我相信有一种方法可以让SQL直接将您的数据公开为web服务,供您的web应用程序使用。
https://stackoverflow.com/questions/6495032
复制相似问题