我想编写一款移动应用程序,以便访问存储在我们局域网上并被网络中的应用程序访问的数据库。我知道可以打开防火墙中的端口来重定向来自移动设备的流量到达数据库,但我担心安全问题。为了确保仍然允许本地网络应用程序访问,我应该考虑哪些方法来提供安全的移动访问数据库?
在这种情况下,我会为移动用户提供类似WCF(REST / JSON /等)的接口来访问数据库。最终,您甚至可以将其转换为用于局域网和Web的接口。结果将是更好的安全性。以下是一些如何实现此目标的示例:Java RESTful Web Services Guide - http://www.oracle.com/technetwork/articles/javase/index-137171.html WCF指南 - http://msdn.microsoft.com/en-us/netframework/dd939784 SOAP概述 - http://www.w3schools.com/soap/default.asp
由于Firebird提供了许多连接选项(JDBC、.Net、Python),因此您可以根据需要选择/灵活部署Web服务接口。如果您想使用Java进行部署,我建议您考虑使用AXIS(http://axis.apache.org/axis/);如果是.Net,则可以使用WCF(http://msdn.microsoft.com/en-us/library/dd203052.aspx)。RESTful或SOAP/XML-RPC接口的选择取决于您要向谁公开哪些功能。如果您想向广大受众提供公共API,则最好采用RESTful接口(例如Twitter、Flickr等)。如果它是封闭/专有接口,则可能会选择SOAP路线。然而,根据我的经验,在移动应用程序开发框架中,消费RESTful Web服务比SOAP更好。对于原生iPhone应用程序,我认为您必须自己编写SOAP接口。一些应用程序加速器工具同时支持SOAP和REST客户端。