Web services 针对该特定问题的最佳方法或技术?

Web services 针对该特定问题的最佳方法或技术?,web-services,Web Services,我有一个基于网络的界面,用于处理发票、客户记录和其他交易记录,这些记录目前与存储在同一台机器上的上述所有记录的数据库进行交互。可以想象,这是一个非常简单的设置,由一个web应用程序(PHP)和一个数据库(MySQL)组成。但是,理想的方案是将记录保存在当前所在的计算机上(简单),并将web应用程序移动到同一网络中的另一台服务器上(同样简单)。。。但除此之外,在面向公众的网站上提供设施,用于管理客户的账户等等。问题在于,面向公众的web服务器位于完全独立的位置,因为它是由知名ISP提供的专用服务器

我有一个基于网络的界面,用于处理发票、客户记录和其他交易记录,这些记录目前与存储在同一台机器上的上述所有记录的数据库进行交互。可以想象,这是一个非常简单的设置,由一个web应用程序(PHP)和一个数据库(MySQL)组成。但是,理想的方案是将记录保存在当前所在的计算机上(简单),并将web应用程序移动到同一网络中的另一台服务器上(同样简单)。。。但除此之外,在面向公众的网站上提供设施,用于管理客户的账户等等。问题在于,面向公众的web服务器位于完全独立的位置,因为它是由知名ISP提供的专用服务器

在确保所有通信安全的同时,使记录能够从另一台服务器访问的最佳方法是什么。速度不是一个很大的因素,尽管任何一方的中断都应该得到妥善处理。最初我的想法是web服务(XML-RPC/SOAP/),但这些选项似乎存在困难(安全性是主要的,过于复杂)

web应用程序必须保持基于PHP。面向公众的站点也可能基于PHP,尽管Python(可能使用Django)是另一种选择。引入任何其他技术(Java等)都不是问题,不过如果它们是Linux友好的,则更可取(因此.NET在这里不是最合适的)


如果这个问题有点冗长和模糊,我道歉。关于这类问题,我正在试水。感谢您的任何建议。

我也做过类似的事情。您可以将web服务公开到internet,以进行数据库访问,但对该服务的请求必须与强散列和盐渍密码相匹配(该密码将在DMZ中的ISP服务器上进行保护)


要么是这种加密方案,要么是某种公钥/私钥加密方案。

好的,这可能看起来有点傻,但如果您只是使用mysql复制呢


与其使用各种花哨的web服务,不如在一台机器上安装一台主sql server,然后将其复制到另一台服务器上,该服务器上既有从属sql server,也有web应用程序,我必须承认我没有考虑到这一点。然而,我之所以想采用某种服务方式,是因为我不想将整个客户数据库复制到公共web服务器。此外,mysql复制是通过安全连接进行的,还是可以从网络上读取?最好使用现有的经过企业测试的健壮解决方案,而不是自行开发。可以使用SSL保护复制事务,从而有效防止任何嗅探或MitM攻击