一、名词解释
1、SOA(Service Oriented Architecture),面向服务的架构。一种架构,包括了运行环境、编程模型、架构风格和相关方法论等在内的一整套分布式系统构造方法和环境。SOP涵盖了服务的整个生命周期。SOP的架构风格是以服务为最核心的抽象手段。
2、WebServices是一组函数库,与(客户端)项目开发时位于本地的函数库不同,Web服务(WebServices)位于服务提供者的服务器中。Web服务是部署在Web上的对象或应用程序组件。
WebServices的特点:
1)、WebServices是自包含的。客户端不需要附加任何软件,只需要支持HTTP和XML即可。
2)、WebServices是自我描述的。客户端和服务端只需要找到请求和响应信息的格式和内容。
3)、WebServices是跨平台和跨语言的。
4)、WebServices是基于开发标准的。WebServices的主要技术基础是HTTP和XML,而HTTP和XML已是业内标准。
5)、WebServices是可组合的。一个WebServices可以访问另外一个WebServices来组合成一个功能更复杂的服务。
6)、WebServices通过网络进行发布,查找和使用。
特点总结:WebServices提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同程序语言和不同厂商软件开发工具开发的软件,所有可能的已开发和部署的软件,能够利用这一平台实现分布式计算。
二、WebServices体系结构
在WebServices体系结构中有三个角色:服务提供者,服务中介者,服务请求者。同时,涉及到三项动作:发布、查找、绑定。
三个角色简介
1)服务提供者,发布Web服务,等待其他服务或应用程序请求并作出响应。
2)服务中介者,也称服务代理,用来注册已经发布的Web服务提供者,对其分类以提供搜索服务。一般通过UDDI来实现。
3)服务请求者,Web服务的使用者,通过Web服务中介者(服务注册中心)查找到所需要的服务,再利用SOAP向Web服务提供者发送请求,获得服务。
三项动作定义
1)发布,将Web服务提供者向Web服务中介者注册服务提供者的功能及访问的接口。
2)查找,Web服务请求者可以通过Web服务中介者来查找到特定类型的Web服务。
3)绑定,实现服务请求者如何使用服务提供者提供的服务。
三、WebServices应用实例——天气查询Web服务
运行环境:VS2012,C#之WindowsFormsApplication(Windows窗体应用程序)。
操作步骤:
1)创建Windows窗体应用程序,工程名为WinForm
2)在工程名上右键,选择“添加服务引用”,弹出[添加服务引用]对话框。
3)在[添加服务引用]对话框中点击高级,找到“添加Web引用”,弹出[添加web引用]对话框。
4)[添加web引用]对话框的URL,填写:http://www.webxml.com.cn/Webservices/WeatherWebService.asmx。此URL为天气查询WebServices所在位置。
5)在[添加web引用]对话框,更改Web引用名为WeatherWebServices,点击”添加引用“。
6)在应用程序中提供WeatherWebServices类调用其中的方法,具体细节看源码。
运行效果如下图。
附工程源码链接:http://pan.baidu.com/s/1hrMlaao
四、参考文献
彻底理解webservice SOAP WSDL:http://blog.csdn.net/zhuizhuziwo/article/details/8153327
WinForm做的天气查询工具:http://www.cnblogs.com/QinBaoBei/archive/2010/03/30/1700898.html