知识卡片
把内部数据访问包装成Web服务是对外开放的第一步
内容
Facebook要让外部网站用上用户社会关系数据,第一步既不是开放数据库也不是共享服务器,而是把原本只在内部代码库调用的函数(如取好友列表)包装成可远程调用的Web服务方法。这把内部实现细节和对外暴露能力彻底分开:外部应用只需知道方法契约,访问不到内部真正的数据存储,这是开放平台架构的第一块基石。
参考来源
- 位置:《架构之美》第6章《数据增长:Facebook平台的架构》6.2节《创建一个社会关系Web服务》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0148.xhtml)
- 结论依据:原文明确"实际问题:应用可以利用在Facebook上的用户社会关系数据,但这种数据是不可访问的。数据解决方案:通过一个外部可以访问的Web服务来提供Facebook数据……我们接下来要创建一个简单的Web服务,将通过HTTP的GET和POST输入转换成对内部栈的调用"。
- 原始内容:实际问题:应用可以利用在Facebook上的用户社会关系数据,但这种数据是不可访问的。数据解决方案:通过一个外部可以访问的Web服务来提供Facebook数据……我们接下来要创建一个简单的Web服务,将通过HTTP的GET和POST输入转换成对内部栈的调用。