标签:web service
Web Service是一个平台独立的、低耦合的、自包含的、基于可编程的Web应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
在Web Service的体系架构中有三个角色:服务提供者(Service Provider),也叫服务生产者;服务请求者(Service Requester),也叫服务消费者;服务注册中心(Service Register),也叫服务代理,服务提供者在这里发布服务,服务请求者在这里查找服务,获取服务的绑定信息。三个角色之间的关系如图所示。
角色间主要有三个操作:
Web Service规范了体系中的各种关键技术,包括服务描述、发布、发现以及消息传输等,参考模型如图所示。
Web Service的规范包括基本规范(WSDL、SOAP、UDDI)以及扩展规范WS-*(WS-Security、WS-Policy、WS-Addressing、WS-Trust等)。
WSDL(Web Service Description Language/Web服务描述语言)是用XML文档来描述Web服务的标准,通过WSDL可描述Web服务的三个基本属性:
WSDL文档以端口集合的形式来描述Web服务,WSDL服务描述包含对一组操作和消息的一个抽象定义、绑定到这些操作和消息的一个具体协议、以及一个网络端点规范。WSDL文档被分为服务接口(Service Interface/抽象)定义和服务实现(Service Implementation/具体实现)定义,WSDL基本结构如图所示。
WSDL文档中主要元素:
抽象定义
具体定义
portType、message和type描述了Web服务是什么,binding描述了如何使用Web服务,port和service描述了Web服务的位置。
SOAP(Simple Object Access Protocol/简单文件传输协议)是一个轻量的、简单的、基于XML的协议。
SOAP包括四个部分:
SOAP的基本结构包含以下元素:
SOAP格式
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<auth xmlns="http://www.tmp.com/auth">
<name>admin</name>
<password>admin</password>
</auth>
</soap:Header>
<soap:Body>
<ns2:welcome xmlns:ns2="http://www.tmp.com/services/hello">
<name>accountwcx@qq.com</name>
</ns2:welcome>
</soap:Body>
</soap:Envelope>
UDDI(Universal Description, Discovery and Integration/通用描述、发现和集成)主要提供基于Web服务的注册和发现机制,为Web服务提供三个重要的技术支持:
WS-Policy(Web Services Policy Framework/Web服务策略框架)提供了一种灵活、可扩展的语法,用XML表示Web Services系统中实体的能力、要求和一般特性。WS-Policy将策略定义为一组策略替换选项,其中每个策略替换选项又是一组策略断言。WS-Policy将策略断言分为两类,一类指传统的要求和功能,这些要求和功能最终将出现在网络中(如身份验证方案、传输协议选择等)。另一类策略断言并不直接表现在网络中,但却对正确地选择和使用服务至关重要。
WS-Addressing(Web服务寻址)为Web Services提供一种与传输层无关的、传送寻址信息的机制。WS-Addressing主要由两部分组成:传送Web Services端点的引用数据结构,以及一套能够在特定的消息上关联寻址信息的消息寻址属性。
WS-ReliableMessaging定义了一种协议和一套机制,使Web Services开发人员能够确保在两个端点之间可靠的传递消息,该规范具有各种传递保证和健壮性特征。
WS-Security以现有的密码学以及XML加密和签名行业标准为基础,为Web Services应用程序提供了一组全面的安全特性,可以通过WS-Policy和WS-SecurityPolicy来指定特定应用程序可以使用哪些特性,从而允许服务客户机自行配置以访问服务。
WS-Security覆盖以下三方面内容:
WS-Security提供三种主要机制:
WS-SecurityPolicy以WS-Policy为基础,采用声明方式来定义可用于指定安全相关策略的XML元素,声明允许Web Services明确地指定其策略。
JAX-WS(Java API for XML-Based Web Services)是一组XML Web Services的Java API,用于简化使用Java发布Web Services和生成Web Services客户端。JAX-WS提供了完整的Web Services堆栈,可减少开发和部署Web Services的工作量。JAX-WS允许开发者选择RPC-oriented或者message-oriented来实现自己的Web Services。JAX-WS支持WS-I Basic Profile 1.1,还包括Java Architecture for XML Binding(JAXB)和SOAP with Attachments API for Java(SAAJ)。
JAX-WS 2.0的主要特性:
JAX-WS开发Web Services有契约优先方法与代码优先方法,契约优先是指从WSDL生成Java类来实现Web服务。代码优先是指从Java类着手,使用注解来生成WSDL文件。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:web service
原文地址:http://blog.csdn.net/accountwcx/article/details/47279691