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