您的位置:首页 > 其它

理解一个简单的Web服务界面

2014-06-04 19:25 197 查看
1. 命名空间和终端的区别:

命名空间和终端是完全不同的概念。终端实际上是位置,但命名空间只是一个独一无二的id号。如果把一个网络服务移动到另一个网络服务,那么它会拥有一个不同的终端,但是这个操作的命名空间依旧保持不变。

2. 远程过程调用:

RPC是 "Remote Procedure Call"的简称,它是程序间通信的一种基本方式,也是一种中间件机制,用于调用远程系统中的过程,远程系统中的过程返回相应的结果。将网络通信和应用程序代码进行了分离,是实现客户/服务器应用的一种最简单的方式。

RPC类型的Web Service显现为客户端应用的一个远程对象,客户端和RPC类型的Web Service之间进行交互,这类交互主要围绕具体服务的接口。客户端将请求作为含有变量集的方法调用,返回的响应将包含返回值。原理如下:

a) 客户端调用客户端存根,存根把相关参数组装成一个或一组消息包,加入服务器端IP地址和执行此过程的进程ID号,形成一条消息;

b) 客户端存根将消息发送至RPC运行时库;

c) 客户端RPC运行时库将消息发送至传输层; 

d) 消息由传输层传送至服务器端;

e) 服务器端传输层将消息发送给服务器端RPC运行时库;

f) 服务器端RPC运行时库将消息发送到Server stub上的一个子程序,由它处理消息;

g) Server stub的子程序拆解消息,解析出参数,并用本地调用方式执行过程。

RPC的一个实例如下:



3. 服务函数:提供对外接口的编程。服务函数针对web service提供特定的定义与实现机制。通过在编译器中的调用来实现服务接口的生成。包括服务程序入口函数,服务对象创建函数,服务程序接口实现函数等。HTTP 函数帮助在 Web 服务内部处理 HTTP 请求。同样,SOAP 函数帮助在 Web 服务内部处理 SOAP 请求。

服务请求:在Web Service中客户机向服务器发出请求。分布在不同网络环境中的主机之间相互提供程序接口,一端向另一端的接口发送请求命令。

服务响应:接受请求的主机提供响应,向另一端提供本机上运行程序所能提供服务的过程。

4.接口类型:本质上是一个抽象接口(类似与JAVA接口定义),由<operation>和<message>定义组成。每一个<message>定义了描述消息的有效载荷,这些消息既可以是由Web Service向外发送的消息,也可以是它所接受的消息。诸如由<part>元素组成,每个<part>元素表示了一个类型的实例。通过接口类型可以声明<operation>元素。每一个<operation>元素包含了许多<message>定义,这些<message>定义描述了它的输入输出参数以及任何出错情况。

绑定:主要用于抽象服务接口的实现;<Binding>元素将端口类型绑定到一个已有的服务实现,并提供有关协议和具体数据格式的信息,不同网络地址上所提供的服务需要这些信息。

端口:是服务接口具体实现中需要的元素,它定义了每个<portType>操作所处的位置,每一个端口元素都与一个端点相关联,例如网络地址或者含有具体WSDL<binding>元素的URL。服务请求必须使用物理端点才能连接到服务,由于<binding>指定了一个<portType>,因此<port>元素有效地将<portType>与一个地址关联起来。

目标命名空间:标识了WSDL中元素的命名空间,并描述了服务特性。对于单个服务,targetNamespace元素通常是唯一的。

5.Web服务描述语言WSDL(Web Services Description Language)是一个推荐标准。用于描述Web服务的技术调用语法。WSDL告诉了服务的使用者如何将请求消息格式化,通过何种通信协议在何处访问web service。 

它描述了web服务的三个基本属性:

① 服务做些什么?Web服务提供的操作,方法,即Web Service接口;

② 如何访问服务?消息格式约定,即数据格式及Web服务所需的必要协议;

③ 服务位于何处?访问地址,即由特定协议决定的网络地址,如URL。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐