不使用Web服务写入远程数据库

suj*_*jay 1 database iphone xcode objective-c ios4

我正在开发一个ipad应用程序,我需要将一些数据写入一个远程在线数据库,我可以使用网络服务来做这个,我需要一些建议,,, thanx提前

djn*_*jna 5

从技术上讲,这是可能的,iPhone平台有远程数据库驱动程序,例如Flipper.

但是,我强烈建议使用某种"服务"来进行数据库访问.这可以是完整的SOAP/HTTP WebService,RESTful服务,甚至只需要通过http或https调用的一点点php.不要担心开发这个"服务"会有很多工作,需要花费不到一两个小时.事实上,对于像Worklight这样的产品,使用Worklight SQL适配器花了我15分钟.(免责声明我在IBM工作,我们最近收购了Worklight.)

有几个原因需要使用中间服务而不是从客户端直接访问数据库.这是一对夫妇:

  1. 可扩展性.每个用户与数据库的连接都会消耗服务器端资源,如果您的应用程序被广泛使用,那么最终可能会有数万个并发连接.服务方法使用面向Web的电话连接,使用(例如)为大量并发会话设计的Web容器,然后汇集到几个数据库连接.即使非常繁忙的网站也倾向于使用(并重复使用)少量(几十个)数据库连接.
  2. 安全.强烈建议避免将数据库直接访问互联网.这是一个很大的主题,但如果数据库包含任何类型的有价值的数据,那么服务面向数据库的模式可以大大降低漏洞.