# Web服务架构
### Web服务模型
--
服务提供者、服务请求者、服务注册中心,服务注册中心是一个可选的角色。
现在的Web服务不仅限于WSDL,还有RESTful。
- 服务提供者。即Web服务的所有者,该角色负责定义并实现Web服务,使用WSDL对Web服务进行详细、准确、规范的描述,并将该描述发布到服务注册中心提供服务请求者查找并绑定使用。
- 服务请求者。即Web服务的使用者,虽然Web服务面向的是程序,但程序的最终使用者仍然是用户。从体系结构的角度看,服务请求者是查找、绑定并调用服务,或与服务进行交互的应用程序。服务请求者角色可以由浏览器来担当,由人或程序来控制。
- 服务注册中心。服务注册中心是连接服务提供者和服务请求者的纽带,服务提供者在此发布它们的服务描述,而服务请求者在服务注册中心查找它们需要的Web服务。不过,在某些情况下,服务注册中心是整个模型中的可选角色,如使用静态绑定的Web服务,服务提供者可以把描述直接发送给服务请求者。
3种操作
- 发布。为了使用户能够访问Web服务,服务提供者需要发布服务描述使得服务请求者可以查找它。
- 查找。在查找操作中,服务请求者直接检索服务描述或在服务注册中心查询所要求的服务类型。对于服务请求者,可能会在生命周期的两个不同阶段中牵涉到查找操作。在设计阶段,为了程序开发而查找服务的接口描述;在运行阶段,为了调用而查找服务的位置描述。
- 绑定。在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系并调用服务,从而在运行时与服务进行交互。绑定可以分为动态绑定和静态绑定。在动态绑定中,服务请求者通过服务注册中心查找服务描述,并动态的同Web服务交互;在静态绑定中,服务请求者实际已经同服务提供者达成默契,通过本地文件或其他的方式直接同Web服务进行绑定。
### Web服务架构的优势
--
- 很好的通用性和易用性
- 完全的平台、语言独立性
- 高度的集成性
- 容易部署和发布