【问题标题】:when to set up a web service versus just querying the database何时设置 Web 服务而不是仅查询数据库
【发布时间】:2009-08-21 20:00:22
【问题描述】:
我们为几个不同的客户提供多个站点,每个站点都有几个不同的数据库。
有些数据库在客户所在地,有些在我们的网站上。
我的任务是创建一些共享点站点,这些站点将显示来自数据库的信息。
可以从我的共享点站点调用存储过程吗?由于数据库不适用于共享点站点,我觉得该站点不应直接访问数据库,而应通过 Web 服务获取数据。当然,如果数据暴露给另一家公司就会出现这种情况,但既然我们要对所有这些负责,那可以吗?
【问题讨论】:
标签:
wcf
sharepoint
data-access-layer
web-services
【解决方案1】:
在我看来,您只需直接访问数据库就可以避免很多麻烦,因为您可以控制两端。直接访问 DB 也比在两个系统之间编写一些 Web 服务具有更好的性能。
如果其他系统不是你的,我肯定希望它有一个网络服务(或RESTful web services)接口。我的理由是,在大多数软件中,Web 服务实际上是为了集成,因此对它们的更改保持在最低限度。数据库架构更改在软件产品的生命周期中是相当典型的,因此如果其他人直接针对数据库构建集成,则通常不容易改进架构。
【解决方案2】:
不支持直接查询数据库,因此您永远不需要这样做。
最佳实践是使用现有的 Web 服务,或者实现您自己的自定义 Web 服务。