为AJAX消费设计Web服务

时间:2009-07-22 19:39:53

标签: ajax web-services architecture

我们正在设计/创建将使用来自各种网页的XHR调用消费客户端的休息Web服务。这些网页将包含将由从Web服务检索的数据填充的组件。

我的问题是,最好是设计Web服务的返回数据以匹配具体客户端组件对每个页面需要什么?因此,只需要一次XHR调用即可检索填充特定AJAX组件或更新特定页面所需的所有数据。或者更可取的是开发符合例如数据库模式的通用Web服务,并且需要多个XHR调用客户端来检索所有数据以填充AJAX组件?第二种方法似乎导致一些混乱的编码将链接调用在一起以检索更新AJAX组件之前所需的所有数据。

希望这是有道理的。

2 个答案:

答案 0 :(得分:1)

您应该始终根据要提供的服务来设计服务。除非您需要从数据库中检索行的服务,否则不要创建一个。您可能会发现需要一个返回完整业务实体的服务 - 它们可能位于多个表中。

或者,您可能只需要一项服务来为UI控件提供数据。在那种情况下,这就是你应该做的。您稍后可能会发现两个操作返回几乎相同的数据,因此您可以将其重构为一个返回两者数据的操作。

答案 1 :(得分:1)

我的一般经验法则是通过ajax调用执行最小的传输。理论上,发送到客户端的数据越多,更新过程就越慢。当然,这必然意味着特定页面的特定服务。