【发布时间】:2012-02-20 18:53:25
【问题描述】:
我正在寻找让两个独立系统无缝通信的方法。如上所述,一个是 Oracle DB 上的 .NET Web 应用程序,另一个是 MSSQL DB 上的 .NET Windows 应用程序。由于这种交互必须在桌面应用程序和 Web 应用程序之间进行,因此我们不得不想出为这两个系统创建 Web 服务的想法。
服务 A,将公开从 MSSQL 添加/更新/获取数据的方法 桌面应用程序使用的数据库。
服务 B 将公开从 Oracle 添加/更新/获取数据的方法 Web App 使用的数据库。
Web 应用程序使用服务 A。桌面应用程序使用服务 B。现在我的问题是两个系统保持同步的好方法。例如,如果服务 A 和 Web 应用程序之间发生通信故障,那么在两个系统上确保数据完整性的故障安全方法是什么?
建议使用每天运行的计划窗口服务。但是按需做呢?我们正在讨论更新双方至少 20-25 张桌子的问题。
【问题讨论】:
-
数据多久更改一次?它是在两个系统中发生变化还是仅在其中一个系统中发生变化?数据库触发器可能适用于相对低容量的事务,但如果您触发太多相同的触发器,您可能会用锁压倒数据库。您可能希望将更新发送到第三个中间数据库,并让这两个系统从那里刷新自己。答案很多,但都取决于这些系统的性质。
-
我非常接近投票结束这个,要么太模糊,要么没有建设性。请提供有关这些应用程序之间交互的更多详细信息。特别是,Web 和桌面应用程序都是由用户驱动的;相同的用户会同时使用两者吗?您需要哪种同步方式?
-
这两个应用程序都是由用户驱动的。 Web 应用程序将由一组用户驱动,例如预约调度员、医生、护士等。另一个应用程序将由计费用户驱动。一个典型的场景是这样的——一个程序/检查由 Web 应用程序中的医生安排、执行、完成并最终签字。该点之后的数据必须到达桌面应用程序,以便对从桌面应用程序计费和提交索赔的计费用户进行计费。每次在 Web 应用程序中进行任何更正/更改时,都应在桌面应用程序中反映,以便正确计费。
标签: c# asp.net web-services interface desktop-application