web service 是上个世纪末流行的东西,基于 xml 序列化机制,基于 SOAP 等,但是更重要地是它要建立一套标准的服务发现、服务定义、服务自组织的声明语言。几个美国大公司想一通天下。
然后到了2006年左右,世界上流行起来轻量级的东西了,使用 json序列化机制,反 RPC 机制,不主张去注册和写死什么服务声明语言。实际上简单地东西就够了。就不纠结这些了。比如说任何人用网页上 jquey.post(url, data, function (result){....}) 就能调用这种开放的服务,而不是搞什么 webservice 声明语言。
比如说就算是个小公司,你的“小”老板也许某天看到某个支付红包分销软件很好,让你用1周时间仿制一个出来,那么你打算让几千、甚至可能上万用户从他们那里用一个账号密码就“增删改查”你们服务器上的资金数据库吗?而且你们的网络架构就真的不会有重构、SOA扩展、各种的专业的服务端概念相关设计等等,而只是一帮客户端程序来远程访问一个数据库吗?
这里可以说,许多人工作了20年,跟一个工作1年的程序员的知识差不多,唯一多的也许只是经过10几年从互联网、别人那里抄来了一些源代码。而说的各种架构,等动手开发时手下真正能出产品的,不过只是小办公室OA。
要避免这类情况,你就从对外公开的服务协议入手。你给几十个软件商开放一套协议并实现接入网关api,而你重构和水平扩展服务器集群的架构。真正的 IT 生存之道在于创立一套网络,而你做的最初的客户端软件将来都能送给第三方开放商。