为什么要用WebService
因为除了调用数据库,还有其他非常多种类型的web service
比如计算,举例的话就是上传图片然后对图片进行处理,灰度或是取边缘抑或识别
所以web service不是仅仅设计用来进行对数据库的操作
故这里的web service是一个抽象接口
现在我们假设现在你的web service就是直接和db打交道
如果我们试想一下把web service这层去掉,情况会是什么?
显而易见,你的客户端和你数据库层紧密耦合
换句话话,一旦你的数据库需要进行相应的改动(这里的改动指表或是存储过程的变更或是数据库从sql server换成oracle抑或是mysql)那么你的客户端都要相应的进行更新
web service就是提取了客户端服务端之间稳定的业务行为,形成一个中间层,其实就是接口的目的
以达到客户端和db松耦合,使客户端的实现依赖于web service这样一个业务逻辑
而不是数据库的具体实现以及如何实现
说到底就是依赖倒置,不要依赖具体实现,对接口进行编程
当然啦,如果你认为你的数据库是绝对稳定,不再发生变化,也不考虑今后需求的变化
ok,那推荐使用在客户端直接操作db
所以我还是要强调一下,任何中间层,接口都会带来性能上的下降,但反过来说他们能给你带来更好的应对变化的能力以及一个良好的架构