使用Web服务进行编程
摘要:本文主要阐述一个基于Web Service技术的旧货回收行业系统的设计与实现,并研究其基于Web Service的技术在其中的应用方式和该系统的设计方案和实现过程。首先对Web Service技术进行技术知识阐述,再对以上述技术为基础的服务集成技术进行探讨,最后通过软件系统的设计和实现来说明服务集成平台的构建过程。
关键词:Web服务;服务架构;项目使用
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 03-0000-02
Programming with Web Services
Xu Xin
(Soochow University,Suzhou215006,China)
Abstract:This paper describes a System Design and Implementation of Web Service technology flea recycling industry and to study its technology based on Web Service application and the system design and implementation process.Technical knowledge described first Web Service technology,the technology-based services integration technology to explore,and finally through the design and implementation of software systems to illustrate the build process of service integration platform.
Keywords:Web services;Services architecture;Project uses
一、Web服务概述
Web服务是一个能提供特定功能元素(例如应用程序逻辑)的可编程实体,可供使用通用Internet标准(例如XML和HTTP)的任意数目的潜在独立系统访问。Web服务主要依赖广泛接受XML及其他Internet标准来创建支持应用程序互操作性的基础结构,其支持级别解决了以前妨碍这类尝试的很多问题。
Web服务可以由单个应用程序内部使用,也可以通过互联网对外是开放的任意数量的应用。由于Web服务可以通过标准接口服务,因此它允许多个异构系统作为一个单独的计算网络一起工作访问。
Web服务不追求代码的可移植性的一般功能,但提供了一个可行的解决方案为数据和系统的互操作性。Web服务使用基于XML的消息作为数据通信的基本形式,以帮助减少组件模型之间的区别,操作系统和编程语言不一致的系统。开发人员可以创建应用程序,从各种渠道融合的Web服务,大致相同的方式,他们用来创建分布式应用程序组件时使用。
Web服务的核心功能之一,是一个抽象实施和使用服务之间的高度过程。创建和访问机制将基于XML的消息服务,Web服务客户端和Web服务提供者,只要知道对方的输入,输出和位置,你不用再了解有关的任何其他信息。
Web服务为分布式应用程序开发开创了一个新时代。这里不再有对象模型冲突,也无需比较编程语言的美观程度。在使用专有基础结构紧密耦合系统时,是以牺牲应用程序的互操作性来实现的。Web服务在全新的层次上提供互操作性,令这些妨碍效率的对手黯然失色。作为Internet的下一个革命性成果,Web服务将成为链接起所有计算设备的基础结构。
二、Web服务方案
(一)简单的服务
Web服务实现的最基本方案是为其客户端提供一些基本功能,以供其使用。例如,电子商务应用程序面临的一个挑战是,需要计算送货选项的某一分类的费用。此类应用程序将需要在这些计算中使用每个送货公司的当前送货成本表。
或者,应用程序可以使用标准传输协议(如HTTP)通过Internet向送货商的成本计算Web服务发送基于XML的简单消息。该消息可能提供包装的重量和尺寸、发货方或送货目的地以及其他参数,如服务类别。然后,送货商的Web服务将使用最新的成本表计算送货费用,并通过基于XML的简单响应消息将此金额返回给调用应用程序,以便在为客户计算费用总额时使用。
(二)应用程序集成
可以用一种综合方式来使用Web服务,以便集成似乎完全不同的一组现有应用程序。在大多数公司中,几乎每个部门都在广泛采用自定义软件,这就产生了大量有用的数据和业务逻辑“孤岛”。由于软件各自不同的开发环境以及技术不断发展的本质,在这些应用程序的基础上创建一个有效的分组是一项艰巨的任务。
使用Web服务,每个现有的应用程序的功能和数据可以作为Web服务公开。然后,您可以创建一个复合应用程序,应用程序使用此Web服务集来实现弥补您的应用程序之间的互操作性。
三、Web服务基础结构
若想在复杂的网络中顺利执行,Web服务必须不受所选用的操作系统、对象模型和编程语言的影响。另外,若想让Web服务像其他基于Web的技术那样受到广泛采用,就必须满足下列条件:
1.松耦合:如果对两个系统所施加的唯一要求是了解上述基于文本的自述消息,则这两个系统将被视为松耦合。相反,紧密耦合的系统在进行通信时会消耗大量的自定义开销,并需要两个系统之间增强了解。
2.无所不在的通信:目前或不久的将来,人们所构建的操作系统一般都能够连接到Internet,从而提供一个无处不在的通信渠道。因此,如果具备这种几乎能够将任何系统或设备连接到Internet的能力,即可确保这类系统和设备可广泛地供任何连接到Internet的其他系统或设备使用。
3.通用的数据格式:通过对专用的闭环通信方法采用现有的开放标准,任何支持相同开放标准的系统都能够了解Web服务。通过利用Web服务及其客户端无需知道每个基础系统的构成即可共享的自述性文本消息,可以在独立系统与其他系统之间进行通信。Web服务便是使用XML来实现此功能。
Web服务使用的基础结构提供下列内容:用于查找Web服务的发现机制、用于定义服务用法的服务说明以及通信所使用的标准连网格式。下面的插图显示了这种基础结构的一个示例。
四、Visual Studio中的Web引用
为简化Web服务客户端应用程序的开发过程,Visual Studio提供了Web引用。Web引用与传统的引用和组件不同;Web引用不引用安装在本地计算机上的组件或类库,而是提供对特定资源的访问,这种资源是通过Internet协议(如SOAP或HTTP)提供的。
事实上,Web引用是通过Web服务暴露本地生成的代理类的功能。代理类定义代表Web服务暴露实际的方法。应用如果你创建一个代理类的实例,你可以调用Web服务方法,如Web服务,是一个在本地可用的组件。
生成的代理类的编程语言与该代理类所表示的Web服务的编程语言相同。如果您独立于Visual Studio创建代理类(例如,通过使用.NET Framework工具),则编程语言取决于使用的工具。例如,如果使用WSDL.exe,则在命令行上将编程语言指定为C#或Visual Basic。如果使用SProxy.exe,则编程语言是Visual C++。
在设计时,该代理类允许使用Web服务方法的语句结束。在运行时,对代理对象方法的调用作为SOAP请求消息被处理和编码。如果Web服务不支持SOAP,则该代理类使用HTTP GET和HTTP POST。然后,消息被发送到目标Web服务进行处理。如果服务说明定义了响应消息,则代理对象处理此消息并将响应返回给应用程序。
1.管理Web引用。可以重命名或修改Web引用,如果引用的Web服务进行了更改,也可以更新Web引用。
2.“URL行为”属性。项目中的每一Web引用都与一个代理类进行交互,该代理类用于访问Web服务。可以使用Web引用URL属性来指定Web服务的URL。在ASP.NET 1.1中,Web引用可以使用静态URL或动态URL。在ASP.NET 2.0及更高版本中,Web引用动态包含URL。
当使用“添加Web引用”对话框在Visual Studio中创建Web引用时,默认情况下此属性设置为所选Web服务的URL,它是一个静态URL。如果不更改对URL行为所设置的静态默认值,则在创建该代理类的实例时,该类会使用硬编码URL来设置URL属性。
如果将Web引用的URL行为设置为动态的,则应用程序则会在运行时从应用程序配置文件的appSettings元素中获取该URL。
如何:添加和移除Web引用
Web引用使项目能够使用一个或多个Web服务。使用“添加Web引用”对话框以在本地、局域网或Internet上搜索Web服务。
为当前项目添加Web引用后,就可以调用通过Web服务公开的任何方法。
将Web引用添加到项目
1.在解决方案资源管理器中,右击要添加Web服务的目标项目的名称,然后单击“添加Web引用”。
显示“添加Web引用”对话框。
2.在“URL”框中输入要使用的Web服务的URL。如果不知道URL,则请使用浏览窗格中的链接查找所需的Web服务。
3.在“位于此URL上的Web服务”框中选择要使用的Web服务。
4.验证项目是否能够使用Web服务以及提供的所有外部代码是否可信。
5.在“Web引用名”字段中输入一个名称,您将在代码中使用该名称以编程方式访问所选择的Web服务。
6.单击“添加引用”。
7.如果您的网站还没有App_WebReferences文件夹,Visual Studio会创建一个。然后会用您在第5步中提供的名称创建代理类所需的文件。
如果项目不再需要对XMLWeb服务的Web引用,可以将其从项目中移除。
从项目中移除Web引用
在解决方案资源管理器中,右击该Web引用,然后单击“删除”。
所有的引用信息都从项目和本地存储区中移除。
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《使用Web服务进行编程》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】