WebService技术及其应用.docx

上传人:b****8 文档编号:11127630 上传时间:2023-02-25 格式:DOCX 页数:53 大小:168.89KB
下载 相关 举报
WebService技术及其应用.docx_第1页
第1页 / 共53页
WebService技术及其应用.docx_第2页
第2页 / 共53页
WebService技术及其应用.docx_第3页
第3页 / 共53页
WebService技术及其应用.docx_第4页
第4页 / 共53页
WebService技术及其应用.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

WebService技术及其应用.docx

《WebService技术及其应用.docx》由会员分享,可在线阅读,更多相关《WebService技术及其应用.docx(53页珍藏版)》请在冰豆网上搜索。

WebService技术及其应用.docx

WebService技术及其应用

 

WebService技术浅析及其实际应用

 

TheTechnicalAnalysisandpracticalapplicationofWebService

 

摘要

随着电子商务技术的快速发展,原来那种基于特定系统和特定环境的开发方式逐渐无法适应新的需求变化。

WebService技术的出现,给异构系统间的商务应用集成带来了前所未有的希望。

本文主要介绍了WebService技术和WebService技术在实际应用中的一个例子。

WebService技术是通过构筑一个通用的、与平台和语言无关的技术层,使得各种不同平台上的应用系统间,实施彼此的连接和集成。

本文首先对WebService技术进行了简介,在了解它的使用情况和优缺点后,对它和目前现有分布式CORBA技术进行了分析和对比,进而对它的体系结构有深入的了解。

其次介绍了WebService技术中的关键技术,其中包括可扩展性标记语言(XML)、简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)注册中心。

最后本文依据WebServices的技术原理、体系架构及关键技术,提出了一个WebServices技术在旅游系统中的应用。

关键词:

WebService技术;CORBA技术;XML;SOAP;WSDL;UDDI协议

Abstract

Withtherapiddevelopmentofe-commercetechnology,thoseoriginaldevelopingmethodswhicharebasedonspecificsystemandenvironmentareunabletoadapttothenewlychangingrequirements.TheWebservicetechnologybringstheunprecedentedprospecttothebusinessapplicationintegrationoftheheterogeneoussystem.

ThisarticleintroducestheconceptofWebservice,andbringsoutanexampleinaparticleapplication.WebServicetechnologyimplementsamutualconnectionandintegrationbetweentheapplicationsystemsinvarietyplatformsthroughbuildinganall-purposetechnologylayerwhichisunrelatedtoanyplatformsandlanguages.WefirstlybriefstheWebservicetechnology,thenmakesancomparisonandanalysisbetweentheWebServiceandthedistributedCORBAafterknowingitsusageconditionanditsadvantagesanddisadvantages,andthenformadeeperunderstandingtoitsarchitecture.Secondly,thekeytechnologiesinWebserviceareintroduced,includingExtensibleMarkupLanguage(XML),SimpleObjectAccessProtocol(SOAP),WebServicesDescriptionLanguage(WSDL)andUniversalDescription,DiscoveryandIntegration(UDDI)registry.Finally,atourismsystemapplicationbasedonthetechnicalprinciples,systematicarchitectureandkeytechnologiesofWebserviceisbroughtforwardinthisarticle.

Keywords:

WebServicetechnology;CORBAtechnology;XML;SOAP;WSDL;UDDIprotocol

 

目录

第一章引言1

1.1选题的背景和意义1

1.2选题的研究现状1

1.3选题要研究的主要内容1

第二章WebService技术的简介2

2.1WebService技术的出现2

2.2WebService技术概述3

2.3WebService技术的体系结构3

2.4WebService技术的工作流程5

2.5WebService技术的优缺点5

2.5.1WebService技术的优点5

2.5.2WebService技术的缺点8

第三章WebService技术与CORBA技术9

3.1CORBA技术的简介9

3.2WebService技术和CORBA技术10

第四章WebService技术中的关键技术12

4.1XML12

4.1.1简介12

4.1.2XML和HTML的差异12

4.2SOAP13

4.3WSDL和UDDI规范14

4.3.1WSDL14

4.3.2UDDI15

第五章WebService技术在旅游信息系统中的应用18

5.1方案论证18

5.1.1旅游信息系统的结构18

5.1.2系统功能方案18

5.2系统功能方案21

5.2.1系统的体系结构21

5.2.2电子地图功能与实现22

5.2.3地图查询功能与实现25

5.2.4信息发布功能与实现30

5.2.5电子商务功能31

5.3系统总结32

第六章结束语33

致谢34

参考文献35

附件36

第一章引言

1.1选题的背景和意义

不断发展的计算机技术使得传媒业发生了巨大的变化,并得以普及。

WorldWideWeb、Java技术以及XML似乎无处不在,这些技术均得以快速应用,而且已成为企业级计算机的主要技术。

Web服务最早出现在1999年,也是不断发展的技术。

Web服务是随着传媒业的巨大扩张而出现的,这项技术已经得到商务活动的认可,并且开始被大量的开发人员采纳。

随着时间的推移,WebService技术也越来越完善,并且渗透于人们生活的方方面面。

1.2选题的研究现状

关于WebService技术已经有不少文献进行了讨论,在有些文献中主要描述了WebService技术的前瞻性,其他一些则把重点描述了WebService技术在生活、军事、气象、医疗等实际应用前景。

对于初涉WebService技术的人们来说这些都比较抽象且不易理解,本文在以上基础上对WebServices技术的研究现状、WebServices应用的关键技术和WebServices技术与CORBA技术的比较这三个方面做出了详细的介绍,可以加深人们对WebServices技术的理解。

1.3选题要研究的主要内容

本文对WebServices所涉及的相关技术进行了剖析,并在此基础上给出了一个WebServices技术的应用实例,主要对以下方面进行了论述:

1.WebServices技术的出现。

2.WebServices技术的基本概念。

3.WebServices技术与CORBA技术的比较。

4.WebServices技术中的关键技术。

5.WebService技术在旅游信息系统中的应用。

 

第二章WebService技术的简介

2.1WebService技术的出现

1999年,惠普公司成为第一个引入Web服务概念的软件厂家。

惠普公司的

e—Speak平台使开发人员可以建立与实现电子Web服务,这是与Web服务相似的程序单元。

但是,e—Speak的基础技术具有专业性质,从而使这个平台没有得到广泛的行业支持。

2000年6月,微软公司正式提出了Web服务的概念,把Web服务作为.NET项目的关键组件,这个项目用的是全新的方法在开发、构建与使用软件,能够牢牢掌握Internet。

微软公司声称将整个公司的命运都压在Web服务上,使Web服务几乎立即成为“下一件大事”。

现在几乎每个主要软件厂家都在推出Web服务工具和应用程序。

随着Web服务的发布,许多人认识到这个技术可能对分布式计算机带来革命。

过去,CORBA与DCOM都已经提交到标准组织,让公司可以选择其中一个标准作为通用分布式计算的标准。

但这种情况并没有发生,因为公司已经在Windows或Java平台上投入大量资金,使用了相应的分布式技术,移植到平台会需要大量业务时间,经费和员工生产率。

行业对相互操作性问题的经验导致了WebService技术开放标准的开发,努力实现跨平台通信。

Web服务使用的主要标准是XML,这是个数据标记语言,使用程序和平台之间可以交换信息。

微软与DevelopMentor公司建立简单对象访问协议(SOAPSimpleObjectAccessProtocol)作为Web服务之间传输信息与指令的消息协议,用XML作为基础协议。

另外两个Web服务规范是Web服务描述语言(WSDLWebServicesDescriptionLanguage)和统一描述、发现与集成(UDDIUniversalDescriptionDiscoveryandIntegration),也用XML作为基础协议。

WSDL提供了描述Web服务及其特定功能的标准方法,UDDI定义建立目录XML规则,公司可以用这个目录对本身及其Web服务进行公告。

尽管Web服务还没有充分发挥所有潜力,但已经对业务通信带来了变革。

在教学、制造、财务服务与旅游等等行业中得以广泛的使用[11]。

2.2WebService技术概述

WebService它不是一种框架,而是一种技术。

WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。

WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务。

各应用程序通过网络协议和规定的一些标准数据格式(HTTP,XML,SOAP)来访问WebService,通过WebService内部执行得到所需结果。

WebService可以执行从简单的请求到复杂商务处理的任何功能。

一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。

官方的解释就是:

WebService主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。

WebServices技术可以理解为:

各个站点之间互相调用方法实现功能,不受操作系统,编程语言等等的限制,比如:

工行的网上银行系统是使用java编写的,中行的网上银行系统是使用.net编写的,可是他们各自提供转账的对外接口,实现跨语言、平台的信息交互。

在工行的提款机上可以使用中行的卡取钱,它其实是调用了人家中行的系统的方法和中行的数据库交互,中行的数据库是不允许工行的程序去访问的。

2.3WebService技术的体系结构

Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。

只要两个等同的服务使用统一标准和中性的方法在网络上宣传自己,那么从理论上说,一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务之中选出一个。

除此之外,一些服务允许在机器之间复制,因而可以通过把有用的服务复制到本地储存库,来提高允许运行在特定的计算机(群)上的应用程序的性能。

WebServices体系结构是面向对象分析与设计(OOAD)的一种合理发展(logicalevolution),同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展(logicalevolutionofcomponentsgearedtowardsthearchitecture,design,implementation,anddeploymentofe-businesssolutions)。

这两种方式在复杂的大型系统中经受住了考验。

和面向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是WebServices中的基本概念,而且,WebServices另外一个基本概念就是:

所有东西都是服务,这些服务发布一个API供网络中的其他服务使用,并且封装了实现细节。

下面就来看一下WebServices的体系结构--面向服务的体系结构(SOA)。

图2-1面向服务的体系结构(SOA)

从图2-1可以看出,SOA结构中共有三种角色:

Serviceprovider:

发布自己的服务,并且对使用自身服务的请求进行响应。

Servicebroker:

注册已经发布的Serviceprovider,对其进行分类,并提供搜索服务。

Servicerequester:

利用Servicebroker查找所需的服务,然后使用该服务。

SOA体系结构中的组件必须具有上述一种或多种角色。

在这些角色之间使用了三种操作:

publish操作:

使Serviceprovider可以向Servicebroker注册自己的功能及访问接口。

find操作:

使Servicerequester可以通过Servicebroker查找特定种类的服务。

bind操作:

使Servicerequester能够真正使用Serviceprovider。

为支持结构中的三种操作(publish、find和bind),SOA需要对服务进行一定的描述,这种服务描述(ServiceDescription)应具有下面几个重要特点:

首先,它要声明Serviceprovider的语义特征。

Servicebroker使用语义特征将Serviceprovider进行分类,以帮助具体服务的查找。

Servicerequester根据语义特征来匹配那些满足要求的Serviceprovider。

(因此,语义特征中重要的一点就是对Serviceprovider的分类)其次,服务描述应该声明接口特征,以访问特定的服务。

最后,服务描述还应声明各种非功能特征,如安全要求,事务要求,使用Serviceprovider的费用等等。

接口特征和非功能特征也可以用来帮助Servicerequester对Serviceprovider的查找。

注意,服务描述和服务实现是分离的,这使得Servicerequester可以在Serviceprovider的一个具体实现(implementation)正处于开发阶段、部署阶段或完成(execution)阶段时,对其(具体实现)进行绑定。

另外,SOA中的组件相互之间必须能够进行交互,才能进行上述三种操作。

所以WebServices体系结构的另一个基本原则就是使用标准的技术,包括服务描述、通讯协议以及数据格式等。

这样一来,开发者就可以开发出平台独立、编程语言独立的WebServices,从而能够充分利用现有的软硬件资源和人力资源。

最后,SOA体系结构没有对WebService的粒度进行限制,因此一个WebService即可以是一个组件(小粒度),该组件必须和其他组件结合才能进行完整的业务处理;WebService也可以是一个应用程序(大粒度)[5]。

2.4WebService技术的工作流程

在使用WebService时,包括三个阶段的通信。

第一阶段的通信被称为发现阶段(Discover),其主要作用是确定在服务器上有哪些服务。

经过发现阶段我们一般可以确定服务器一共提供了哪些服务,在使用这些服务之前我们还必须知道这些服务支持什么样的界面。

第二阶段的通信就是发送请求获得WebService描述语言WSDL。

第三阶段的通信主要是向WebService服务器发送信息服务请求,并等待服务器的应答。

2.5WebService技术的优缺点

2.5.1WebService技术的优点

在以下四种情况下,使用WebService会带来极大的好处。

长项一:

跨防火墙的通信

如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。

因为客户端和服务器之间通常会有防火墙或者代理服务器。

在这种情况下,使用DCOM就不是那么简单,通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中。

传统的做法是,选择用浏览器作为客户端,写下一大堆ASP页面,把应用程序的中间层暴露给最终用户。

这样做的结果是开发难度大,程序很难维护。

举个例子,在应用程序里加入一个新页面,必须先建立好用户界面(Web页面),并在这个页面后面,包含相应商业逻辑的中间层组件,还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把“结果页”送回浏览器。

要是客户端代码不再如此依赖于HTML表单,客户端的编程就简单多了。

如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。

要调用WebService,可以直接使用MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。

不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。

同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。

从经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用WebService这种结构,可以节省花在用户界面编程上20%的开发时间。

另外,这样一个由WebService组成的中间层,完全可以在应用程序集成或其它场合下重用。

最后,通过WebService把应用程序的逻辑和数据“暴露”出来,还可以让其它平台上的客户重用这些应用程序。

长项二:

应用程序集成

企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。

应用程序经常需要从运行在IBM主机上的程序中获取数据;或者把数据发送到主机或UNIX应用程序中去。

即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。

通过WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。

例如,有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于实际货物发送的管理。

这两个程序来自不同软件厂商。

一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物。

通过在订单执行程序上面增加一层WebService,订单执行程序可以把“AddOrder”函数“暴露”出来。

这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。

长项三:

B2B的集成

用WebService集成应用程序,可以使公司内部的商务处理更加自动化。

但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?

跨公司的商务交易集成通常叫做B2B集成。

WebService是B2B集成成功的关键。

通过WebService,公司可以把关键的商务应用“暴露”给指定的供应商和客户。

例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。

当然,这并不是一个新的概念,EDI(电子文档交换)早就是这样了。

但是,WebService的实现要比EDI简单得多,而且WebService运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。

不过,WebService并不像EDI那样,是文档交换或B2B集成的完整解决方案。

WebService只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。

用WebService来实现B2B集成的最大好处在于可以轻易实现互操作性。

只要把商务逻辑“暴露”出来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。

这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。

长项四:

软件和数据重用

软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。

最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。

当前,像表格控件或用户界面控件这样的可重用软件组件,在市场上都占有很大的份额。

但这类软件的重用有一个很大的限制,就是重用仅限于代码,数据不能重用。

原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。

WebService在允许重用代码的同时,可以重用代码背后的数据。

使用WebService,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的WebService就可以了。

举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的WebService,这个WebService就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域。

WebService的提供商可以按时间或使用次数来对这项服务进行收费。

这样的服务要通过组件重用来实现是不可能的,那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。

另一种软件重用的情况是,把好几个应用程序的功能集成起来。

例如,要建立一个局域网上的门户站点应用,让用户既可以查询联邦快递包裹,查看股市行情,又可以管理自己的日程安排,还可以在线购买电影票。

现在Web上有很多应用程序供应商,都在其应用中实现了这些功能。

一旦他们把这些功能都通过WebService“暴露”出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。

将来,许多应用程序都会利用WebService,把当前基于组件的应用程序结构扩展为组件/WebService的混合结构,可以在应用程序中使用第三方的WebService提供的功能,也可以把自己的应用程序功能通过WebService提供给别人。

两种情况下,都可以重用代码和代码背后的数据。

2.5.2WebService技术的缺点

从以上论述可以看出,WebService在通过Web进行互操作或远程调用的时候是最有用的。

不过,也有一些情况,WebService不能带来任何好处。

短处一:

单机应用程序

目前,企业和个人还使用着很多桌面应用程序。

其中一些只需要与本机上的其它程序通信。

在这种情况下,最好就不要用WebService,只要用本地的API就可以了。

COM非常适合于

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1