1、软件体系结构论文Web服务软件体系结构 系 部 计算机科学系专 业 软件工程指导老师 谢老师姓 名 陈玉李学 号 120071101115引言3第一章 Web服务概述41.1什么是Web服务41.2.Web服务的不同描述61.3.Web服务的特点7第二章 Web服务体系结构模型82.1 Web相关操作82.2Web服务开发生命周期92.3Web服务栈9第三章 Web服务的结构单元103.1 SOAP103.2 WSDL123.3 UDDI12第四章 Web 服务管理问题与技术框架13参考文献13摘要:本文主要介绍了Web服务系统结构的基本概念和结构模型、结构单元和Web服务的管理问题和技术框架
2、。关键字:Web;五个逻辑层;Web特点;生命周期;SOAP;WSDL;UDDI引言Web服务体系结构:随着计算机网络技术和通倍技术的发展。如今可以说网络无处不在。自从Internet(因特网)诞生以来,部署Web服务的应用随着Internet的深人人心并且不断发展。然而,web应用已经走入入们的日常工作和生活活的时候,人们却发现在Web应用与传统服务的应用(例如企业内部的管理情息系统、办公汽动化系统等)之间存在着鸿沟。于是不断地将数据从Web应用迁移到传统桌面应用,或从传统桌面应用将数据迁移列web应用。而且这些迁移工作都要通过手工操作来完成,这成为厂阻碍Web心应用进入主流厂家的巨大的障碍
3、。近年来,电子商务和电子政务迅速倔起,大多数电子商务的应用在处理客户、供应商、市场和服务提供商之间的连接方式上各不相同。如何将这牧应用方便而廉价地连接在一起。从而实现大范围的跨组织的商务应用系统的互联是摆在开发人员面前的一道难题。不同的应用(特别是不同组织的应用)的开发话言不同,部署平台个同。通信协议也可能不同,对外交换的数据格式更可能有很大的差异。如何左面对这畔差异所带来的复杂的系统集成的挑战,是解决这道难题的关键。Web服务(Web scrviccs)作为种新兴的Web,应用模式,是一种崭新的分布式汁算模型,是Web上数据和信息集成的有效机制。从电子商务应用领域来看,复杂的应用链接和程序代
4、码使电子商务应用的维护和更新代价很高,而w山服务恰好能够解决这问题,成为应用环境小最为合理的解决方案。 日前,无论是在丁业界还是在学术界,Web,服务都被认为将导致下代电子商务的革命。Microsoft(微软)公司通过“一切都是服务”来概括Web服务将给IT业带来的冲击。 第一章 Web服务概述XML Web服务体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。有两种使用Web服务的方法,允许访问内部系统功能,把它们向外部世界展示并且作为一个外部Web服务的客户端或者使用者。在这个模型中,Web服务可用来访问一个应用程序中任一层的应
5、用功能。这样,因特网上的任何分布式系统就有可能被整合到一个用户定制的应用程序中。通常,一个Web服务被分为五个逻辑层:数据层(Data Layer)、数据访问层(Data Access Layer)、业务层(Business Layer)、业务面(Business Facade)和监听者(Listener)。离客户端最近的是监听者,离客户端最远的是数据层。业务层更进一步被分为两个子层:业务逻辑(Business logic)和业务面(Business facade)。Web服务需要的任何物理数据都被保存在数据层。在数据层之上是数据访问层,数据访问层为业务层提供数据服务。数据访问层把业务逻辑从底
6、层数据存储的改变中分离出来,这样就能保护数据的完整性。业务面提供一个简单接口,直接映射到Web服务提供的过程。业务逻辑层提供业务面使用的服务。所有的业务逻辑都可以通过业务面在一个直接与数据访问层交互的简单Web服务中实现。Web服务客户应用程序与Web服务监听者交互,监听者负责接收带有请求服务的输入消息、解析这些消息,并把这些请求发送给业务面的相应方法。这种体系结构与.NET定义的n层应用程序体系结构非常相似。Web服务监听者相当于.NET应用程序的表现层。如果服务返回一个响应,那么监听者负责把来自业务面的响应封装到一条消息中,然后把它发回客户端。监听者还处理对Web服务协约和其他Web服务文
7、档的请求。开发者可以添加一个Web服务监听者到表现层中,并且提供到现有业务面的访问权限,这样就能够很容易地把一个.NET应用程序移植到Web服务中。虽然Web浏览器可以继续使用表现层,但是Web服务客户应用程序将与监听者交互。 1.1什么是Web服务web服务是使用标准技术在Internet上运行的商务流程,它可以使用标淮的Internet协议(例如超文本传输协议HTTP和XML,),将功能纲领性地体现在Internet和Intranet(企业内部网)上。通过Web服务集成的应用程序可以用标淮的方法把功能和数据“暴露”出来,供其他应用程序使用,使组织之间的商务处理更加自动化。web服务就像We
8、b上的构件编秤,开发人员通过调用Web应用编积接口。将Web服务集成进他们的应用秩序,就像调用本地服务样。同时,Web服务位开发人员能够在任何平台上使用任何编程语言。创建可实现全球任何客户、供应商和业务伙伴互联的电子商务应用程序。另外、Web,服务还支持异构操作系统之间的连接。企业通过Web服务可以与世界各地的客户、合作伙伴和海员实现无缝、高效的连接。 Web服务还可以实现Internet商不同服务器接口J之间应用程序的相互调用,省去了开发人员为编写每个应用程序的烦琐工作,从而可以集中精力挖掘软件独特的商业价值。 Web服务的关键是Web服务体系结构,它是由平台搭建向提供的基于Internet
9、的应用解决方案,这将方案可以用标准的格式通过Internet进行调用,从而完成对业务的集成。而外部通过Internet调用这些解决方案的特定进程的企业则构成Web服务的客户群。 Web服务技术核心基于可扩展标记语有(extensible,Makekup Language,XML)的标准,包括简单对象访问协议(simple object access protocal ,SOAP)、Web服务描述语言(web services description Language,WSDL)和统一描述、发现和集成协议(universal Description ,discovery and Intergra
10、tion ,UDDI)。Web服务主要是对些以及存在的技术(例如HTTP、SMTP和XMl,)进行包装。因此它是接于现有技术的一种整合技术(选自读秀论文Web服务体系结构第六章172页)。 通常,个Web服务可以分为五个逻辑层,分别为数据层(data Layer)、数据访问层(data acccss layer)、业务层(business layer)、业务面(business facade)和监听者(listener)。离客户端最近的是监听者,离客户端最远的是数据层。其中业务层义可分为两个子层,分别是业务逻辑(business logic)和业务面(business facade)。Web服
11、务需要的任何物理数据都保存在数据层中。在数据层上的是数据访问层,数据访问层为业务层提供数据服务。数据访问层把业务逻辑从底层数据存储的改变中分离出来,就能保护数据的完整性。、儿务面提供一个简单接口,直接映射到Web,服务提供的过程。 业务面模块用来提供一个到底层业务对象的可靠的接口,把客户端从底层业务逻辑的变化中分离出来。业 辑层提供业务面使用的服务。所有的业务逻辑都可以通过业务面在个直接与数据访问层交互的简单Web服务小实现。Web服务客户应用程序与W(ZL服务监听者交互,监听者负责接收带有请求服务的输入消息,解析这峡消息,并把这此请求发送给业务面的相应方法。 这种体系结构与NET定义的N层应
12、用程序体系结构非常相似。web服务监听者相等于NET应用程序的表现层。如果服务返回一个响应,那么监听者负责将业务面的响应封装到一条消息中,然后把它发回客户端。监听者还处理对Web,服务协约和其他Web服务文档的请求。开发者可以添加一个Web服务监听者到表现层中,并臣提供到现有业务面的访问权限,这样就能够很容易地把个NET应用程序移植到Web服务4:。虽然Web浏览器可以继续使用表现层,但是Web,服务客户应用程序将与监听者交互。1.2.Web服务的不同描述 Web服务具村广泛的适应件和应用背景,而且Web服务的很多相关问题仍处在研究过程中,学术界从不同的侧面对web服务有不同的描述,限于篇幅,
13、我们概括了如下几种代表性的Web服务描述。 从功能的角度描述Web服务,认为Web服务基于TCPIP、HTTP、XML等规范而定义,具备如下功能:Web上链接文档的浏览、事务的白动调用、服务的动态发现和发布。 从组成框架及实现日标的角度描述Web服务,认为Web服务作为一种网络操作,能够利用标准的Web,协议及接口进行应用间的交互。 从语义的角度描述Web,服务,认为Web服务是语义Web的种应用,由于考虑了语义信息的描述及表示,Web服务能够更准确地被执行,服务组合(service composition)能够按所期望的目标进行。 从网格计算(grid computing)的角度来看,认为W
14、eb服务能用于Web上的资源发现、数据管理及网格计算平台上:异构系统的协同设计,从而提出网格服务的新概念。 从信息检索的角度来看,认为Web服务是包含了分布策略和路出信息的电子文档之上进行分布式文档检索的服务。从另一方面来看,针对不同的应用背景。Web服务的应用对象也不同,目前广泛应用的Web服务可分为如下四类:面向企业应用(businessoriented)的服务、面向消费者(consumerorieted)的服务,面向设备(device-oriented)的服务和面向系统(systemoriented)的服务。 尽管对Web服务进行描述的出发点或应用类型不同,但是它们均具有如下共同特征:(
15、1)应用的分布式。为适应网络应用中分布式的数据源和服务提供者,分布式的服务响应、松散耦合是Web服务必须具备的特征。在应用中,服务请求者不必关心服务提供者的数据源格式是什么,某一服务请求需调用哪些服务,服务请求在Web上怎样被执行等,即Web服务对用户具有分布透明性。(2)应用到应用的交互。在分布式的环境中若采用集中控制方式,服务器有较大的负荷,并且系统不足有健壮性。因此应用到应用的交互,使得Web服务更具可伸缩性。(3)平台无关性。Web服务的界面、跨Web服务的事务、工作流、消息认证、安全机制均采用规范的协议和约定;由于Web服务采用简单、易理解的标准Web协议作为构件接口和协同描述的规范
16、,完全屏蔽了不同软件平台的差异,因此具有可集成能力。 丁业界和学术界分别沿着两个不同的方向研究Web服务。工业界注重于服务层的模块化,使之能够很快应用到商务系统中;而学术界则注重服务描述的表示。 在本书中,我们认为Web服务是一个可以用URI(universal resource identifier)来标志的软件系统,它采用XML格式的信息来定义和描述对外的公共接口和绑定。Web服务可被其他软件系统发现,并通过使用基于XML的消息,借助Internet协议,依照Web服务中定义描述的方式实现交互。Web服务履行一项特定的任务或一组任务。Web服务可以单独或同其他Web服务一起用于实现复杂的聚
17、集或商业交易。1.3.Web服务的特点就外部使用者的角度而言,Web服务是一种部署在Web上的对象构件,它具备以下些特征.(1)使用标淮协议规范所有Web服务公共协约完全需要使用开放的标淮协议进行描述、传输和交换,这此标准协议具有完全免费的规范,以便由任意组织实现。一般而言,绝大多数规范将最终出W3C或OASIS作为最终版本的发布方和维护方。(2)使用协约的规范性这一特征来源于对象的概念,但相比般对象而言,web服务的界面更加规范化和易于机器理解。百先,作为Web服务,对象界面所提供的功能应当使用标淮的描述语言(比如WSDU来描述;其次,出标淮描述语言描述的服务界面应当是能够被发现的,因此这描
18、述文档需要存储在私有的或公共的注册库里面。同时,使用标准描述语言描述的协约不仅仅是服务界面,它将延伸到Web服务的聚合、跨Web服务的事务、工作流等,而这些又都需要服务质量(QOS)的保障。再者,需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。(3)高度集成能力由于Web服务采用简单的、易理解的标准Web协议作为构件界面描述和协同描述规范,充全屏蔽了不问软件平台的差异,无论是COBRA:DCOM还是EJB,都可以通过这一标淮的协议进行互操作,实现在当前环境下
19、的最高的集成性。(4)完好的封装性Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装件,对于使用者而言,他能且仅能看到该对象提供的功能列表。(5)松散耦合这一特征也是源于对象构件技术,当一个Web服务的实现发少变更的时候。调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现的任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了NET或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦合而言,尤其是在Internet环境下的Web服务而言,需要有一种适合Internet环境的消息交换协议,XMLSOAP正是目前最为适合
20、的消息交换协议第二章 Web服务体系结构模型2.1 Web相关操作与Web服务相关的操作有发布、发现和绑走。(1)发布服务提供者向服务代理发布所提供的服务。发布操作对服务进行定的描述并发布到代理服务器上,进行注册。在发布操作中,服务提供者可以决定发布(注册)或者不发布(移去)服务。(2)发现服务请求者向服务代理发出服务查询请求。服务代理提供规范的接曰来接受服务请求者的查询请求。通常的方法是,服务请求者根据通用的行业分类标准浏览分类或通过关键字搜索,并逐步缩小查找范围,直到找到满足需要的服务为止。(3)绑定服务的具体实现。分析从注册服务器中得到的调用该服务所需要的详细绑定信息(服务的访问路径、调
21、用参数、返回结果、传输协议、安全要求等),根据这些信息,服务请求者就可以编程实现对服务的远程调用。在这里,Web服务是一个由服务描述来描述的接口,服务描述的实现是该服务本身。服务是一个软件模块,它部署在出服务提供者提供的可以通过网络访问的平台上。服务存在就是要被服务请求者调用或者与服务请求者交互。当服务的实现用户需要用到其他Web服务时,它也可以作为一个请求者。服务报述包括服务的接口和实现细节,其中包括服务的数据类型、操作、绑定信息和网络位置,还可能包括可以方便服务请求者发现和利用的分类及其他元数据。服务描述可以发部给服务请求者和服务代理小心。2.2Web服务开发生命周期 Web服务开发牛命周
22、期包括设计和部署以及在运行时对服务代理、服务提供者和服务请求者每一个角色的要求。每个角色对小命周期的每一元素都有特定要求。Web服务开发牛命周期可分为构建、部署、运行和管理凹个阶段,下面分别介绍。(1)构建构建阶段包括开发和测试Web服务的实现,定义服务接口描述和定义服务文现描述。可以通过创建新的Web服务,把现有的应用程序变成Web服务以及由其他Web服务和应用程序组成新的web服务等方式来提供Web,服务的实现。(2)部署部署阶段包括向服务请求者或服务注册巾心发布服务接口和服务实现的定义,以及把Web服务的可执行文件部署列执行环境(典型情况下,是Web应用程序服务器)中。(3)运行在运行阶
23、段,可以调用Web服务。这时web服务已完全部署,可操作,并且服务提供者可以通过网络访问服务。出此,服务请求者就可以进行查找和绑定操作。(4)管理管理阶段包括持续的管理和经紫Web服务应用程序。在此阶段必须解决安全性、可用性、性能、服务质量和业务流程问题2.3Web服务栈使用HTTP通信协议,我们可以从因特网上的一个地方向另一个地方发送消息。通过网络发送的消息可以使用XML结构化,XML协议定义这条消息的格式和语义。SOAP(简单对象访问协议)是定义如何从不同环境中的对象调用函数。使用SOAP,就能够整合不同的操作系统、对象模型和编程语言,使简化整合不同种类的业务处理过程成为可能。HTTP、X
24、ML和SOAP可以看做是Web服务的核心层。这些层定义了Web服务之间交互的方法和途径。这三个协议已经被W3C(World Wide Web联盟)接受做为标准。WSDL协议(Web服务描述语言)描述如何与一个Web服务通讯。在WSDL定义中,允许不同类型的通讯(绑定)。它可以用来开发Web服务,同时也可以用来赚钱。为了实现这个目的,我们需要一个Web服务门户,我们可以在那里发布我们的Web服务,其他的人也能在那里找到它并使用它。这就需要使用UDDI(Universal Description, Discovery and Integration,统一描述、发现和整合规范)。(图1、Web 服务
25、体系结构堆栈)Web服务技术通常可以分为三个关键组成部分:描述堆栈(Description Stack)、发现堆栈(Discovery Stack)和线堆栈(Wire Stack)。描述堆栈处理描述Web服务的各种技术,以便促进B2B关系中的业务处理模型和工作流程结构的通用性。发现堆栈处理那些供目录、发现和审查服务使用的技术。线堆栈由为Web服务运行期引擎提供信息流的技术组成。第三章 Web服务的结构单元Web服务基于开放的因特网标准,它的结构单元是SOAP、WSDL和UDDI。3.1 SOAPSOAP是序列化调用位于远程系统上的服务所需信息的标准方法,这些信息可以使用一种远程系统能够读懂的格
26、式通过网络发送到远程系统,而不必关心远程系统运行于何种平台或者使用何种语言编写。SOAP以XML格式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使SOAP可用于联合各种现有的网络协议和格式,包括HTTP、SMTP和MIME,并可被用于消息传递到RPC的各种系统。SOAP解决了通过防火墙传送往返于远程应用程序的消息的问题。除了通过某些预先设定的作为特定用途的端口,防火墙通常禁止通过其它端口进行远程
27、通讯。这就出现了一个问题,大部分分布式协议不使用分配的端口,而是动态地选择端口。微软SOAP技术实现的解决方案是通过HTTP的80端口传送对远程进程的调用。这个远程调用使用XML定义消息请求或响应的格式,把调用附加到HTTP协议的顶部。这个技术的优点之一就是降低通过防火墙传送消息的复杂性。但是80端口通常还用来作为Web通信之用,所以可能会降低其效率。 SOAP可以用来解决因特网应用程序的交互性问题。你可以使用一种平台无关性方式在远程(或本地)服务器上访问对象和服务。现在的互联网世界由不同的操作系统、不同的防火墙、不同的产生远程过程调用的方法和平台组成。为了跨因特网交互,客户机和服务器都需要了
28、解彼此的安全类型和信任、服务部署模式和实现细节以及平台语言。使用SOAP,这种平台特定性的混乱局面就会结束。基于已被业界广泛接受的HTTP标准和XML标准,SOAP也可与其竞争对象RPC技术连通,并提供用于任何操作系统、程序语言和平台的轻量级消息格式。在SOAP体系结构有四个主要的部分:SOAP信封(envelope):用于描述消息内容和处理方法。SOAP编码规则:定义了一个编码机制用于交换应用程序定义的数据类型的实例。SOAP RPC表示:定义了一个用于表示远程过程调用和响应的约定。SOAP绑定:定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。简单的说,SOAP提供了使用完全
29、独立于平台的访问服务、对象和服务器的技术。通过SOAP,你将能够查询服务、调用服务、与服务通讯并处理服务,而不用去关心远程系统的位置、所在的操作系统或平台到底是什么样的。SOAP本身提供了与Web服务交换信息的方法,但是它没有提供查找Web服务消息的方法。而且它还不提供查找Web服务或与之交涉的方法。3.2 WSDLWeb服务描述语言(WSDL)和SOAP一起构成了Web服务的核心结构单元。WSDL基于XML格式,用来描述Web服务。它描述了Web服务可以执行的操作以及Web服务可以发送或接收的消息格式。WSDL文档可以看成是客户端和服务器之间的一个协约。使用WSDL工具,你可以自动处理这个过
30、程,几乎不用手工编写代码就能够让应用程序整合新的服务。因此WSDL是Web服务体系结构的基础,因为它提供了一个通用语言,用来描述服务和整合这些服务的平台。虽然大部分WSDL文档使用RPC风格的要求/应答语句对,但是WSDL也支持单向的消息。WSDL支持四种SOAP消息操作:单向 (One-way):端点接收消息。 请求响应 (Request-response):端点接收消息,然后发送相关消息。 要求响应 (Solicit-response):端点发送消息,然后接收相关消息。 通知 (Notification):端点发送消息。3.3 UDDIUDDI(统一描述、发现和整合)建了一个平台独立、开放
31、的框架,通过因特网来描述服务,发现业务,并且整合业务服务。它是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。通过使用UDDI的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的Web服务。企业可以通过UDDI商业注册中心的Web界面,或是使用实现了UDDI Programmers API标准所描述的编程接口的工具,来将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企
32、业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其它UDDI根节点,于是就能被任何希望发现这些Web服务的人所发现。 第四章 Web 服务管理问题与技术框架期待 Web 服务能够提供与其他 IT 解决方案相同级别的技术命令和控制功能是合理的。但是,由于目前未对 Web 服务管理技术进行概括和实现,这一期望尚未成为现实。尤其对于 Web 服务而言,管理信息模型必须记录不同的内部服务状态、所需的服务视图(例如,过去一小时中已经访问某个服务的次数),以及对获得这些状态和视图的方式进行控制的规则。因而,可以通过这些管理文档中包含的服务元数据来自动执行和驱动各种管理活动。再如,管
33、理元数据可以说明 Web 服务实例以及相应的可以规范化、配置和部署的软件组件之间的映射。这些组件的属性说明已定义托管 Web 服务以便公开的事件、探测和性能计数器。运营规则集合确定如何处理规范化数据,以及如何路由服务请求以便满足服务级别需求。Web 服务管理问题可用以下方式概括: 控制可以使用、操作和管理 Web 服务的实体。 在企业运营、应用程序和系统级别获得对 Web 服务的性能、使用和运行状况的可见性和控制。 管理 Web 服务的更新和更改的版本控制和部署。 支持上述需求的 Web 服务管理技术框架是围绕下列四个核心技术支柱(它们对应于需要解决的管理问题类别)构成的: Web 服务生存期管理 Web 服务运行状况管理 Web 服务部署管理 Web 服务身份和访问管理 参考文献l 读秀学术论文区l MSDN中文网站l 中文维基百科l 牛振东,软件体系结构13
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922