Web Service学习笔记一

Web Service的定义
W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。

这里我们从一个程序员的视角来观察web service。在传统的程序编码中,存在这各种的函数方法调用。通常,我们知道一个程序模块M中的方法A,向其发出调用请求,并传入A方法需要的参数 P,方法A执行完毕后,返回处理结果R。这种函数或方法调用通常发生在同一台机器上的同一程序语言环境下。现在的我们需要一种能够在不同计算机间的不同语言编写的应用程序系统中,通过网络通讯实现函数和方法调用的能力,而Web service正是应这种需求而诞生的。

web service的构成组件

web service的工作原理分为两步,第一步是在服务器上创造服务并将其在一台“目录服务器”上注册;第二步是客户端查找并调用该服务。

要在网络使用服务,必须先有人提供服务;如何提供服务,首先必须有一个服务的发布场所;如何发布服务,就是要向“发布场所”声明你有一个服务可以对外提供,这就是服务的注册。就如在淘宝上发布了一件商品,把价格等必要信息写上去,让要的人来买。这个发布的场所是人所周知的,就如淘宝,卖东西的人知道,买东西的人也知道,所以web service的服务端和客户端都必须知道这台注册服务用的服务器。有了市场,就可以开始做生意了,厂商开始生产自己的东西,并拿到市场上去卖,而客户则通过商品目录来查找自己所需要的产品。这其中会涉及到一些买卖术语,厂商要把商品属性通知市场,而市场又要为厂商打广告,把商品目录告知客户,最后厂商和客户交易还需要传递数量、颜色、等级等信息,并且最终交付产品。在网络上,这些交流需要专门的术语,否则就会变成“鸡同鸭讲”了。

一、生成并注册服务

(1)服务器按规格生成服务的类和方法,可以是java的bean,也可以是.net

(2)服务器向“目录服务器”注册自己的这些方法。

(3)“目录服务器”对外发布一个可调用的方法(服务)目录

(4)客户端向“目录服务器”查找这些服务,获得这些服务的地址之后再去请求服务。

在这个过程中,服务器,客户端和目录服务器是三个必需的角色,客户端和服务器都需要知道目录服务器的地址。

二、Client和Server之间交互
(1) client 生成一个XML Web service proxy class的对象
(2) client 调用 Proxy object的一个方法 a method.
(3)该方法和参数被打包(SOAP),串行化后通过网络送到服务期侧。.
(4) 在服务器侧,XML Web Service解包,反串行化,来还原方法和参数。这时候,就要生成一个Web Service的实例,用来调用那个传过来方法和参数。
(5)运行那个神奇的远程方法。
(6) 得到结果后,串行化返回值,通过网络送回Client端。
(7) Client端再反串行化,拿出值来,把这些值送到Proxy 中去。
(8) The proxy object 再把这个值转交给Client。

在这个过程中,参与者有以下几个角色:

服务器:提供web service服务

客户端:调用web service服务

目录服务器:提供web service的地址目录,供服务调用者查找。


web service使用到的技术

XML

SOAP

WSDL

UDDI

你可能感兴趣的:(Web,应用服务器,xml,网络应用,SOAP)