Xml WebService完全实例解析(一)
首先,我们必须了解什么是webservice.就概念上来说,可能比较复杂,不过我们可以有个宏观的了解:webservice就是个对外的接口,里面 有函数可供外部客户调用(注意:里面同样有客户不可调用的函数).假若我们是服务端,我们写好了个webservice,然后把它给了客户(同时我们给了 他们调用规则),客户就可以在从服务端获取信息时处于一个相对透明的状态.即是客户不了解(也不需要)其过程,他们只获取数据.
webservice传递的数据只能是序列化的数据,典型的就是xml数据,这里我们也只讨论xml数据的传输.
有了一些对xml webservice的初步了解后,我们将切入正题,即是用一个具体的webservice事例的形式来讲解具体的webservice用法,用具体的事 例来讲解一个概念我想怎么也要比单纯的说理能让人容易理解吧.
这里,我们将以一个简单的分布式课件搜索系统为例来讲解.使用VS2003为编译环境,C#为语言,SqlServcer2000为数据库.(这个例子来 源于一位网上朋友的文章的启发,觉得很能代表webservice的特点,就按那个想法做了这么个系统来示例了)
首先,明确我们要做什么.我们需要一个对客户的接口,也就是个站点,我们把它称做ServiceGatherSite,它是何种形式都无所谓,甚至它本身 并不需要数据库,它只是提供给用户一个查询的接口,真正的服务,普通用户是不接触到的.然后,这里我们还需要若干个提供服务的站点,我们可以称它们为资源 站,这里为简单起见,假设有两个资源站,分别叫WebSiteA,WebSiteB,它们可以是不对外公布的,只是为了丰富查询数据而存在.最后,是我们 最需要关注的东西---资源站提供给ServiceGatherSite的服务.两个资源站,就有两个服务,我们称为SiteAService和 SiteBService.两个服务间没有任何关系,内部提供的方法也完全没关联,只是需要把方法如何使用告诉ServiceGatherSite,意思 是,服务只提供查询接口,返回的数据如何处理,服务本身并不管,全由使用服务的站点分配.
写了这么多,算是简要的介绍了下有关xml webservice的概念和我们这个例子的结构,下篇文章,我们将开始真正进入代码的设计阶段.