如何将内部数据发布到互联网 – 尽可能简单

我在Staock Overflow问到这个问题,但是我也希望你的意见,因为它与编码一样,与pipe理有很大的关系。

我们有一个.NET 2层应用程序,桌面程序正在与数据库交谈。 我们支持MS SQL Server 2000,2005,2008和Oracle 9,10和11。

应用程序被出售,而不是作为收缩包装,但非常接近。 对于我们而言,安装和configuration非常简单,因为安装说明通常以书面forms提供给客户的内部IT部门。 我们的应用程序通常不被视为IT部门的关键任务,所以我们需要把他们的工作降到最低。

现在我们开始希望在相同的数据之上构buildWeb应用程序。 Web应用程序将由我们托pipe,并作为SaaS应用程序提供。

现在的挑战是如何在Web应用程序和客户内部数据库之间来回移动数据。 正如我所看到的,我们有一些要求:

  • 我们必须准备好处理客户数据库无法从非军事区进入的情况。 我想最简单的解决scheme是所有的通信都是从客户端内部发起的。
  • 尽可能less的防火墙configuration。 最好的是,只要客户局域网的出局stream量不被阻塞,我们就可以在没有任何特殊configuration的情况下运行。 如果我们需要在防火墙中更改某些内容,那么我们必须能够certificate更改是安全的。
  • 它不一定是实时的。 每隔十分钟左右批量移动数据即可。
  • 数据同时移动,但不是相同的表,所以我们不必支持合并。
  • 如果我们不必完全推出我们自己的框架将会很好。

期待听到您的build议。

我不确定为什么这个问题刚刚popup到头版,因为它的年龄,但如果你仍然在寻找build议……为什么不build立从客户端networking到您的服务器的VPN? 使用类似OpenVPN的东西,你会得到一个工具:

  • 只需要一个端口来运行;
  • 只要可以从客户端站点发起传出stream量,就不需要任何防火墙configuration;
  • 连接后,便于您来回移动数据。

您可以设置这些以提供客户之间的高度隔离。

如果我正确地解决了这个问题,那么对于这种需求来说,快速稳定的解决scheme就是可以通过Adobe Flex构build完整的解决scheme。

为您的客户build立一个坐在桌面上的AiR互联网客户端。 这个客户端必须被允许在客户端计算机上的数据所需的权限{如果有限制的话},并且这个客户端将按照你的要求安全地和定期地与你的Web服务通信。