Web 服务有两层含义:1、是指封装成单个实体并发布到网络上的功能集合体;2、是指功能集合体被调用后所提供的服务。
Web Service 是为其它应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web 协议和数据格式获得Web Service,如HTTP 、XML 和SOAP 等,每个Web Service 的实现是完全独立的。
简单地讲, Web 服务是一个 URL 资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。
Web 服务的体系结构是基于 Web 服务提供者、 Web 服务请求者、 Web 服务中介者三个角色和发布、发现、绑定三个动作构建的。简单地说, Web 服务提供者就是 Web 服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能; Web 服务请求者就是 Web 服务功能的使用者,它利用 SOAP 消息向 Web 服务提供者发送请求以获得服务 ;Web 服务中介者的作用是把一个 Web 服务请求者与合适的 Web 服务提供者联系在一起,它充当管理者的角色,一般是 UDDI 。这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个 Web 服务既可以是 Web 服务提供者,也可以是 Web 服务请求者,或者二者兼而有之。显示了 Web 服务角色之间的关系 : 其中,“发布”是为了让用户或其他服务知道某个 Web 服务的存在和相关信息 ; “查找(发现)”是为了找到合适的 Web 服务 ; “绑定”则是在提供者与请求者之间建立某种联系。
图 1 Web 服务角色的相互关系
实现一个完整的 Web 服务包括以下步骤:
◆ Web 服务提供者设计实现 Web 服务,并将调试正确后的 Web 服务通过 Web 服务中介者发布,并在 UDDI 注册中心注册 ; (发布)
◆ Web 服务请求者向 Web 服务中介者请求特定的服务,中介者根据请求 查询 UDDI 注册中心,为请求者寻找满足请求的服务; (发现)
◆ Web 服务中介者向 Web 服务请求者返回满足条件的 Web 服务描述信息,该描述信息用 WSDL 写成,各种支持 Web 服务的机器都能阅读;( 发现)
◆ 利用从 Web 服务中介者返回的描述信息生成相应的 SOAP 消息,发送给 Web 服务提供者,以实现 Web 服务的调用;( 绑定)
◆ Web 服务提供者按 SOAP 消息执行相应的 Web 服务,并将服务结果返回给 Web 服务请求者。( 绑定)
附 :
术语解释
SOAP -- Simple Object Access Protocol WSDL -- Web Service Description Language UDDI -- Universal Description Discovery &Integration JAXP -- THE Java API for XML Processing SAX -- Simple API for XML Parsing DOM -- Document Object Model SAX -- The Simple API for XML XSLT -- THE XML Stylesheet Language for Transformations JAXB -- THE Java Architecture for XML Binding JAX-RPC -- Java API for XML-base RPC RPC -- Romote Procedure Calls JAXR -- THE Java API for XML Registries Java WSDP -- Java Web Services Developer Pack JAX-WS -- Stands for Java API for XML Web Services