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