且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《PHP精粹:编写高效PHP代码》——3.5节设计一个Web服务

更新时间:2021-10-16 03:16:39

3.5 设计一个Web服务
当你创建一个Web服务时有一些关键点你必须牢记。本节将贯穿创建一个高效实用的服务时需要关注的要点。
首先要决定你将采用哪种服务形式,如果你的服务和表述数据结合很紧密,你可能会选择RESTful服务。对于计算机之间的数据交换,你可能选择XML-RPC或SOAP,特别是在你确信SOAP已被人们透彻理解的企业环境下。当我们从JavaScript传输异步请求或者传输数据到移动设备时,JSON也许是一个更好的选择。
当你使用Web服务时,要始终牢记用户总会将一些毫无意义的内容传入服务中,这并不是说用户都是白痴,但有时候我们会误解(或忽略)这个提示,或者犯明显的错误。这种情况下服务如何响应是衡量它好坏的标准。一个健壮性和可靠的服务将对非破坏性的失败做出反应,而且把在哪里发生错误的信息反馈给用户。在我们讲完该主题准备向前继续时,要做的最重要一点是:错误消息应该以同样的格式返回,如同一个成功的输出将会到达。
有一个设计原则我们称其为KISS(Keep It Simple, Stupid, 保持简单、无趣),就API设计而论少即是多。要当心避免创建一个广泛的、不规则的、不稳定的API。只有我们真正需要的时候才添加功能,并且要确保新功能和其他API实现的方式保持一致。
一个Web服务直到交付相关文档它才算完整。没有文档,用户很难使用你的服务,其中很多都不会使用。好的文档将消除障碍,并允许用户在你暴露的功能上建立属于自己的精彩内容。
归根结底,暴露一个API,不是从内部就是作为一个面向服务内容结构的一部分,都是关于增强他人的能力和信心使用有效信息的内容。无论这个“他人”指软件还是指人、内部还是外部,这个基本目标不会改变。Web服务和Web应用程序的基础都是相同的,另外本章中所涉及的一些特定方面和技能也都是相同的。