《基于soa架构的集成方法研究与应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
中南大学硕士学位论文基于SOA架构的集成方法研究与应用姓名:尹兆冰申请学位级别:硕士专业:计算机科学与技术指导教师:王加阳20100526 摘要当前,伴随着经济建设的步伐,企业信息化得到了快速发展。但是,企业内也积累了许多分散孤立的应用系统,形成一个个的“信息孤岛”,所以集成这些应用系统成为当今企业的迫切需要。在这种背景下,面向服务构架应运而生。它为企业应用集成提供了一种动态、可扩展的架构方案,同时Web服务、服务组件架构和服务数据对象技术的成熟为面向服务架构以及企业应用集成提供了技术支持。本文提出一种新的方案来解决基于面向服务架构的企业应用集成。首先阐述了实现企业应用集成的面向服务架构理论以及Web服务、服务组件架构、服务数据对象技术。在阐述功能层集成思想的基础上,深入研究了基于而向服务架构的企业应用集成,分析了Web服务应用集成原理并设计了一个Web服务集成架构、讨论了Web服务应用集成的优点、同时分析了服务组件架构应用集成以及该应用集成的优势。然后,结合对基于面向服务架构的企业应用集成的分析,将Web服务、服务组件架构技术相结合,设计了一个基于服务组件架构、服务数据对象和Web服务技术的企业应用集成架构,该架构解决了集成中的服务组装和数据编程问题。重点对该架构进行了分析并对SCA组件调用、服务合成与匹配、服务组件架构设计理念及策略、数据访问服务进行了深入的研究。最后,根据设计的集成架构来设计和实现个人房屋贷款系统,同时详细分析了开发中涉及的技术问题。关键词面向服务的架构,Web服务,服务组件架构,服务数据对象,企业应用集成 ABSTRACTCurrently,Enterpriseinformationhasdevelopedrapidlyalongwiththeeconomicconstruction.However,enterprisesalsohaveaccumulatedmanyisolatedapplicationsystemswhichleadtoserial"informationisolatedislands",SOintegrationoftheseapplicationsisbecomingtheutmostneedsofenterprisestoday.Underthissituation,service—orientedarchitectureisdeveloped.Meanwhile,thematurityofservicecomponentarchitecture,servicedataobjectandwebservicestechnologiesprovidethetechnicalsupportforenterpriseapplicationintegration.Thethesisproposesanewsolutionofenterpriseapplicationintegrationbasedontheservice—orientedarchitecture.Firstly,itdiscussesthetheoryofservice—orientedarchitecture,thetechnologiesofwebservices,servicecomponentarchitectureandservicedataobjectindetail.Onthebasisofanalyzingtheintegrationoftheservicelayer,itmakesanin-depthstudyoftheenterpriseapplicationintegrationbasedontheservice.orientedarchitecture.Itanalyzestheprincipleofapplicationintegrationbasedonwebservices,designsanintegrationarchitecturebasedonwebserivicesanddiscussestheadvantagesofitsintegration.Meanwhile,itanalyzestheapplicationintegrationbasedonservicecomponentarchitectureanddiscussestheadvantagesforitsintegration.Secondly,Combiningwiththeanalysisoftheenterpriseapplicationintegrationbasedontheservice—orientedarchitecture,itdesignsanenterpriseintegrationarchitecturebasedonservicecomponentarchitecture,servicedataobjectandwebservicestechnologies.Thearchitectureresolvestheproblemsofserviceassemblyanddataprogramming.Itpaysmoreattentiontoanalyzethearchitectureandmakesanin.depthstudyontheinvokingofservicecomponent,servicecompositionandmatch,servicecomponentarchitecturedesignandstrategy,dataaccessservice.Finally,itdesignsandimplementstheindividualhousingloansystemaccordingtothedesignedintegrationarchitecture.Meanwhile,itanalyzesthetechnicalissuesintheprocessofdevelopment.1I KEYWORDSservice—orientedarchitecture,webservices,servicecomponentarchitecture,servicedataobject,enterpriseapplicationintegration!11 硕一l:学位论文第一章绪论当前,企业信息技术发展迅猛,其发展的~个主要趋势是企业应用集成(EnterpriseApplicationIntegration,EAI),企业应用集成是实现企业业务自动化的基础。企业应用集成已经成为最近几年应用程序和信息系统开发的驱动力。面向服务架构(Service—OrientedArchitecture,SOA)为传统的企业应用集成带来了一场革命,它能提供一种面向功能层的企业应用系统集成方式。这种方式不仅能保证遗留系统的数据安全性和逻辑安全性,而且还能实现各系统之间的松散藕合,这样可以最大限度的集成现有的遗留应用。1.1研究背景当前,大多数企业都有各种各样的系统、应用程序以及不同时期和技术的体系结构,通过使用这些应用系统,达到降低管理成本、规范业务流程和提高服务质量的目的。而这些应用系统彼此之问并不是孤立的,通常它们彼此之间需要信息交互,通过它们之间的相互协作来更好地完成企业分配的任务,这就需要探索一种新的软件开发方法,通过这种新的开发方法将现有的各个应用系统整合起来,从而达到整合企业资源的目的。这样,企业应用集成的研究由此展开。传统的企业应用集成解决方案按采用的方法学分类分为几种。点对点集成方法,是通过少数不同应用系统之问的直接硬代码集成。面向消息的中间件集成方法,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行网络应用系统的集成【¨。但是,传统的企业应用集成方法很复杂,成本高,而且不具备灵活性。此外,传统的企业应用集成方法也不能很好的支持企业转向以业务过程为中心的经营模式。在不改变原有企业应用系统的基础上,基于面向服务架构的企业应用集成开发方案被提了出来,企业应用集成进入面向服务架构的新时代。它通过发布可发现的接口为其它的应用程序提供服务,而其中的服务可以通过网络进行调用。采用面向服务的架构,我们可以最大程度地减少系统间的耦合,从而提高可重用性。当前,已经存在许多实现面向服务架构的方式。Web服务技术是其中之一,目前是一种的主流方式。它的若干实现技术基于XML标准接口,从而使得它具有良好的业务封装机制、标准的协议规范、松散藕合集成机制以及高度的可集成性等特点,能够很好的满足面向服务架构应用模式需求。通过在企业应用集成中引入面向服务架构和W曲服务的相关技术(如SOAP/WSD圳DDI等),可以实现面向服务的企业应用集成。但是,面向服务架构并不一定是通过Web服务技术来实现,而且一个基于Web服务技术开发出来的应用系统也不一定就代表一个基于面向服务架构的应用,Web服务技术只是实现 硕l:学位论文第一章绪论面向服务架构的具体方式之一。而服务组件架构、服务数据对象编程技术的相继出现,为面向服务架构提供了一种新的实现方式。两者有着密切的联系,相互协作,为企业应用集成提供了很好的支持。服务组件架构为开发者提供了单一的、使用服务的编程模型,服务数据对象为丌发者提供了单一的、展现和使用数据源的编程模型。本文正是基于服务组件架构、服务数据对象和Web服务技术构建了一种面向服务的、相粒度、松散耦合的、位置和传输协议透明的集成架构解决方案。1.2国内外研究现状20世纪60年代,企业应用集成伴随着信息技术的发展而出现。企业应用集成的理念就随着企业信息化程度的不断提高得到不断的发展,其关注的焦点也不停地变化。到80年代初,企业规模丌始不断扩大,业务和数据闩趋复杂,一些公司丌始意识到企业应用集成的价值和必要性,许多公司的专业技术人员试图在企业系统整体概念的指导下对现有的应用系统进行重新设计,以期将它们集成在一起。这时,一种点对点(Point.to.Point)的集成技术开始出现,在各个应用系统之间通过各自不同的接口进行点对点的简单连接,实现信息和数据的共享。80年代术到90年代初,随着企业规模的进~步扩大,应用系统不断增加,简单的传统点对点集成已经很难满足企业不断增长的业务要求,企业迫切需要新的集成方案。它以较少代码编写、低成本的开发来实现集成,可以将各种遗留系统和新系统无缝集成起来。利用CORBA、DCOM、MOM等面向信息的中间件技术【2】,实现了对企业信息系统的集成,~定程度上促进了企业的进一步发展,但其不足在于数据与传输紧密的耦合,不便于重用13】。当前,企业应用集成技术在国内外的应用已经处于一个高速发展的时期。企业应用集成不受行业的限制,它广泛应用于国防、汽车、金融服务、新闻、电信、高科技、咨询、法律、政府等机构和行业,主要应用范围涉及企业应用系统问的数据整合、流程整合、异构系统集成、电子商务数据交换等诸多企业应用集成领域。在国外,以Microsott、BEA的企业应用集成解决方案最有代表性。目前,国内企业提供企业应用集成的解决方案并不多,用友、金蝶等国内大的软件公司的产品竞争力也不很强。近几年来,成为研究热点的面向服务架构和Web服务技术的诞生,为企业内部及外部系统以及面向服务的集成提供了理论支撑和技术支持。在国外,面向服务架构已经不一个新鲜的概念。早在1996年此概念就已经出现了,不过受当时技术发展的限制,并不能完全地实现面向服务的架构。因此,面向服务架构在相当一段时间内没有得到大家的重视。2002年的12月,Gartner再次提出“面向服务的体系结构”是现代应用开发领域最重要的课题之后,不仅国内外计算机专家学者对此表现出极大的兴趣,而且以IBM和BEA为代表的各大lT厂商也纷纷加入研究面向服务架构的行列。目fi{f面向服务架构的理论研究主要集中在以下几个方面。2 硕十学位论文第一章绪论(1)理论模型。为了更好地促进未来应用系统间的交互,需要规范和指导基于面向服务架构的企业应用系统的开发。从事面向服务架构参考模型研究的意义正在于此。各个研究机构和各个公司提出了若干概念参考模型,作为面向服务的体系结构的指导方针。OASIS在2006年初提出了面向服务架构参考模型【4l,各大公司IBM、BEA也有自己的面向服务架构参考模型【5,61。(2)服务设计。服务的构件要考虑到当前大量使用面向对象或面向构件方法开发出来的大量遗留构件的复用问题,因此将现有的非面向服务的构件转化或者扩展为服务组件,为复用大量现有构件提供有效的途径。除了要兼容以前的遗留构件外,服务的设计研究主要应该是使用新的技术和标准来开发服务构件,在这个方面已经有了一些研究成果。比如OSOA联盟的服务组件架构、服务数据对象规范,Microsoft的WCF以及SUN公司的JBI规范。这些规范为服务的设计和丌发提供了方法、规范,促进了面向服务的设计和开发的发展,是目前服务设计和开发方面的主流,也是整个面向服务的软件体系结构方面实质性的探索和研究。(3)服务组合。它足面向服务的体系结构的研究中的热点和重点。目前基于流程的研究大多基于BPEL(BusinessProcessExecutionLanguage,业务流程执行语言)17J,BPEL是最有影响力,最广泛接受的流程语言,并已经成为标准。此乡,bOWL-St81,是一个比较有名的基于语义的流程语言,在学术研究中占有重要地位。此外还有基于语义的方法、基于形式化方法、基于规划的方法的研究。文献【9】提出了一种基于领域本体的服务动态组合算法。该方法利用领域本体及其推理能力,生成一个优化的服务组合图,然后基于该图给出了一个高效的服务组合算法。(4)服务发现。互联网上存在着大量的w曲服务,但是我们所需要的只是其中的少量W曲服务,W曲服务发现研究目的就在于此,使用w曲服务发现方法查找出满足要求的服务。服务调用的质量由服务发现的效果来决定,同时,服务发现的效果也影响服务组合的相容性和可替换性,关系到能否真正实现服务的即插即用。由于传统的Web服务发现机制查准率较低,w曲服务发现的研究者引入了语义网(SemanticWeb)技术加强服务描述信息的机器可理解性,支持用户需求和服务能力之间的逻辑推理匹配;利用P2P技术来处理服务元数据的交捌Ⅻ,克服传统UDDI(UniversalDescription,DiscoveryandIntegration,统一描述、发现和集成)技术中服务元数据集中注册、集中存放对搜索广度带来的限制。值得一提的是,文科Il】是国内比较系统的总结和研究服务发现的文献,它系统地总结了服务发现的相关技术,并在此基础上提出了基于服务质量QoS的服务匹配算法,服务选择模型,提出了Web服务发现的体系结构,提出了w曲服务发现的原型系starWSDS。服务发现是面向服务的体系结构的研究热点,也是难点,这方面需要解决的问题还很多,未来几年内仍然会有很多研究针对这个方面。在面向服务的体系结构的应用方面,各大软件厂商在推行面向服务架构时一般结合3 第一章绪论自己产品平台进行。IBM作为业界科技创新的领导厂商,早在面向服务架构领域投入了大量精力,提出面向服务架构的IBM解决方案,使客户能够快速实施面向服务的架构,并帮助企业全面丌发面向服务架构的潜能,从而实现随需而变的业务。在通过面向服务架构实现真正业务价值的过程中,IBMWebSphere在IBM中间件的基础上强化了很多应用接口。正如IBM所强调的“总线”概念,它关注的领域是系统领域,为企业用户提供全套的架构服务【121。此外,BEA、SAP等软件厂在商推出了自己的面向服务架构产品。它们都是站在自己的角度,所提的概念也不尽相同,很难形成统一的标准,这导致目前面向服务架构的实践处于一种较为混乱的局面。在国内,对面向服务架构的研究仍然处于探索阶段。国内科研机构的理论研究成果也并不多,对于面向服务架构的著作更是少见。中国企业正在寻求解决动态lT应用整合的问题,越来越多的企业己经了解到面向服务架构的价值及重要性。尽管受到全球金融危机的影响,面向服务架构在会融、电信、交通行业【l3】等其它领域的应用有很大的进展。在2007年3月,面向服务架构核心组件标准SCA/SDO标准1.O正式发布,中国的企业普元软件第一次在软件架构层面参与全球标准制定,其研发的PrimetonEOS产品,是基于J2EE技术实现企业级应用开发、运行、管理、监控、维护的中问件平台【14】,其开发与集成技术接近于国外IT巨头面向服务架构产品的水平。EOS采用面向构件构建应用系统的模式,一定程度上体现了面向服务架构的思想。但从总的来说,国内对面向服务架构的实践仍处于较为初步而零散的局面。1.3本文主要工作为了能够更好的解决企业应用集成的问题,人们不断的提出新的解决方案,这些新的解决方案在一定程度上能够弥补以往的不足,从而达到一种更加完美的解决方案。软件体系结构的出现克服了软件危机中的问题,降低了软件开发的复杂度。伴随着经济的飞速发展,企业的规模在不断的壮大,企业信息化所需的软件复杂度也在增加,传统的软件体系结构暴露出了它们的弊端,新的体系结构正在崭露头角,解决了过去软件开发中出现的种种问题。面向服务架构正是为软件体系结构注入了新的生命活力,实现了应用程序间良好的互操作性、可扩展性以及高度的集成性。基于面向服务架构的企业应用集成解决方案,将企业中不同业务功能的应用程序集成在一起。从而构建一个可供数据交流共享和应用沟通的中心系统,达到现有的应用系统能够在新的环境中良好运行的目的,使我们可以从另外一个角度来看待企业内部的信息资源,新的企业信息和企业原有的信息资源融合在一起,使得它们能够在新的平台上交互,从而一起发挥集成效应。本文从面向服务架构的企业应用集成角度出发,深入阐述了面向服务架构模型以及w曲服务、服务组件架构、服务数据对象等技术。在研究了W曲服务应用集成、服务组4 硕+l二学位论文第一章绪论件架构应用集成的基础上,结合本人硕士阶段参与的软件项目的经验和一些体会,进而提出了一种基于面向服务架构的企业应用集成方案。主要研究工作如下:(1)阐述了面向服务架构理论以及Web服务、服务组件架构和服务数据对象技术,对其中的概念、模型、特征、优势等方面进行了深入的分析,将它们与企业应用集成联系起来,为最终的企业应用集成解决方案和架构设计提供理论依据。(2)深入研究了基于面向服务架构的企业应用集成,包括分析了集成的层次,重点研究了w曲服务、服务组件架构技术来实现基于面向服务架构的企业应用集成。分析了w曲服务工作原理并设计一个基于w曲服务的企业应用集成架构。同时,分析了基于服务组件架构的企业应用集成并阐述了该集成的优势。(3)提出一个基于面向服务架构的企业应用集成新方案,该方案最大的特点在于整合了w曲服务、服务组件架构和服务数据对象技术。设计了一个基于w曲服务、服务组件架构和服务数据对象的企业应用集成架构SSWSOA,其不同于W曲服务以及服务组件架构各自来实现企业应用集成。重点对该架构进行架构分析,深入分析架构中每层的功能及实现的技术,并对架构中的SCA组件调用、服务合成与匹配、服务组件架构策略框架以及设计理念、数据访问服务进行了分析。(4)结合设计的SSWSOA,设计和实现了个人房屋贷款系统并对开发中涉及的主要问题进行了分析。1.4内容组织本文以基于面向服务架构的企业应用集成的研究为出发点,通过对面向服务体系架构理论以及实现基于面向服务架构的企业应用集成的技术Web服务、服务组件架构以及服务数据对象分析,提出一个企业应用集成解决新方案,该方案基于面向服务架构,充分体现了面向服务架构的思想,并根据这些技术设计了一个企业应用集成架构SSWSOA。本文分六章进行论述:第一章绪论,阐述了论文研究背景、研究意义和目的;详细分析了国内外研究现状以及阐述了论文的内容组织。第二章面向服务架构理论与技术,主要阐述了面向服务架构理论以及用于实现基于面向服务架构的企业应用集成的Web服务、服务组件架构、服务数据对象技术。第三章面向服务架构的企业应用集成,首先分析了企业应用集成层次,针对功能层集成优势,引出基于面向服务架构的企业应用集成解决方案。然后,研究了Web服务、服务组件架构技术来实现基于面向服务架构的应用集成。分析了Web服务工作原理,设计一个集成架构并阐述Web服务集成之优点;研究了服务组件架构应用集成并分析了其集成带来的优势。第四章面向服务架构的集成架构设计,主要内容是创新性的提出一个基于面向服5 硕士学位论文第一章绪论务架构的企业应用集成解决方案,该方案融合了基于Web服务的企业应用集成以及基于服务组件架构的企业应用集成方法,设计了一个基于服务组件架构、服务数据对象和Web服务技术的企业应用集成架构SSWSOA。并对框架进行以及其中每层中的问题进行研究。第五章面向服务架构的企业应用集成架构应用,主要通过个人房屋贷款系统的设计和实现展示基于面向服务架构的企业应用集成架构SSWSOA的应用。首先分析了个人房屋贷款系统的业务背景,对目的支持服务组件架构的编程环境的集成环境与工具进行了分析并选择丌发技术与工具。接着,基于设计的集成架构SSWSOA对系统进行总体设计并分析了每层所使用的技术。然后,从数据访问、业务功能、模块设计以及客户端调用几个角度对系统进行实现。最后,论述了系统开发中的一些技术性问题。第六章总结与展望,是对本文的工作进行总结,并对未来作出展望。1.5本章小结面向服务架构及其实现技术的不断发展越来受到人们的关注,如何设计与应用一种符合企业本身的集成架构成为了研究的热点。本章首先介绍了企业应用集成的研究背景,指出本文将基于面向服务架构的企业应用集成研究作为出发点。然后,较为深入地分析了面向服务架构及其企业应用集成的国内外研究现状。最后,讨论了论文的主要研究就工作以及内容组织安排。6 硕-J:学位论文第_二章面向服务架构理论‘j技术第二章面向服务架构理论与技术为了实现应用系统问的集成,企业最初主要采取紧耦合的集成方法,最典型的就是点对点的集成,这种集成方法有着很多的弊端。不仅需要对应用系统做较大的改动,还需要编写大量的代码,并且当再有一个新系统需要集成时,系统需要再次重新设计,不仪加大了集成的难度,而且提高了集成的成本。为了有效的降低集成难度,减少集成的成本,成功的实现多个应用系统间的无缝集成,并且能保证系统集成的松散耦合性、开放性。本文设计了一个基于面向服务架构的企业应用集成架构,该集成架构采用了一些实现面向服务架构的技术,充分体现了面向服务架构的思想。对此,本章将主要对面向服务架构理论以及实现面向服务架构的技术Web服务、服务组件架构和服务数据对象予以阐述,为下面几章进行企业应用集成分析以及架构设计打下基础。2.1面向服务架构随蓿信息技术的不断发展,特别是分布式计算技术和因特网的飞速发展使企业拥有了大量基于网络的大型分布式应用系统。而这些应用系统之间的数据很难共享,从而不可避免的形成了一个个的“信息孤岛”。SOA,即面向服务架构正是为处理这个复杂问题而提出的有效解决方案。这种体系结构思想起源于“把软件作为服务(SoftwareasaService)”的观点。2.1.1概念及模型Gartner在1996年提出面向服务架构的概念,只是作为一种架构理念。2002年12月,Gartner3L提出面向服务架构是“现代应用开发领域最重要的课题’’,并预测到2008年,面向服务架构将成为占有绝对优势的软件工程实践方法。许多的学者提出了自己的面向服务架构的概念与定义。文献【l5】提到服务有八条基本原则,其中,自治性、松散耦合、抽象、以及需要正式契约被视为形成面向服务架构根本基础的核心原则。文献【I6】定义面向服务架构是一种设计方式,它指导着业务服务在其生命周期中包括创建和使用的方方面面。面向服务架构也是一种定义和提供IT基础设施的方式,它允许不同应用相互交换数据、参与业务流程,无论它们各自背后使用的是何种操作系统或采用了何种编程语言。其中文献【17】定义面向服务架构是一个软件架构,它包含四个关键概念:应用程序前端、服务、服务库和服务总线。一个服务包含一个合约、一个或多个接口和一个实现。IdeaGroup对比了面向服务的体系结构和现存技术的不同和相同之处,用参照的方式陈述了面向服务架构的概念。7 硕l:学位论文第二章面向服务絮构理论oj技术Service-architecture.tom将面向服务架构定义为,“质上是服务的集合。服务间彼此通信,这种通信可能是简誓的数据传送,也可能是两个或更多的服务协调进行某些活动。服务问需要某些方法进行连接【l引。所谓服务就是精确定义、封装完善、独立于其它服务所处坏境和状态的函数”。总体来说,面向服务架构是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。面向服务架构模型描述了三种角色(服务提供者,服务请求者,服务注册中心),三种基本活动(发布,查找,绑定),这与基本的Web服务架构相同[19】。图2.1描述了面向服务架构的参考模型。图2-1面向服务架构模型下面对面向服务架构模型中的三个基本活动进行分析。发布(Publish)H艮务,服务提供者向服务注册中心发布服务描述,以使服务使用者可以发现和调用,发布的信息包括与该服务交互必要的所有内容,如服务路径,传输协议以及消息格式等圆】;查找(Findl服务,服务请求者直接检索服务描述或在服务注册中心来查找和定位满足其标准的服务,查找服务的操作由用户或者其它服务发起;绑定和调用(BindandInvoke)服务,在检索服务描述之后,服务消费者继续根据服务描述中的信息来调用服务。对应于这三种活动,涉及至.tl--种基本角色【2¨。服务提供者(ServiceProvider),即服务的创建者和拥有者,是一个可以通过网络访问的实体,它将自己的服务和服务描述发布到服务注册中心,以便于服务请求者来定位,也可以因为用户需求的改变而取消服务;服务请求者(ServiceRequester)从服务注册中心定位其需要的服务,向服务提供者发送一个消息来启动服务的执行。它可以是一个请求的应用、服务或者其它类型的软件模块,完成发现提供所需服务的WSDL文档,以及与服务通信的功能;服务注册中,t】,(ServieeRegistry)作用是服务提供者在此发布自己的服务描述,服务请求者查找服务并获得服务的绑定信息。实现增加、删除、修改己发布的服务描述以及从注册表中查询服务的功能。由模型图可以看出,面向服务的体系结构中的主要构件包括服务和服务描述。服务8 硕。f二学位论文第-二章面向服务架构理论与技术(Service)是一个由服务描述来描述的接口,而服务描述的实现就是该服务。服务是一个软件模块f221,独立于技术的业务接口,可在不同业务过程中被重复调用,而且具体的服务实现不依赖特定实现语言与工具;服务描述(ServiceDescription),其本质是服务内容的标准化描述,提供了服务内容、绑定类型、传输协议和服务地址等,生成相应的完全的文档,发布给服务请求者或服务注册中心。2.1.2基本特征面向服务架构是一种粗粒度、松耦合的服务架构,其服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。这种架构特征归纳如下。(1)松散耦合。面向服务架构是“松散藕合”的组件服务,这一点区别于大多数其它的组件架构。归纳起来,在面向服务架构中松散耦合包括三个方面。接口藕合是将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。服务提供者和服务使用者间松散藕合背后的关键点是服务接口作为与服务实现分离的实体而存在1151。这使服务实现能够在完全不影响服务使用者的情况下进行修改。技术耦合强调服务请求者和服务提供者的实现和运行不需要依赖与特定的某种技术,可以使用不同的技术实现。流程耦合强调服务不应与具体的业务流程相关,以便能够用于多种不同的业务流程与应用,体现了服务的可重用性。(2)粗粒度服务。服务所公开功能的范围,即为服务粒度(servicegranularity)。一般分为细粒度(fine—grainedservice)和粗粒度(coarse-grained)两种。细粒度服务提供较小的功能单元。粗粒度服务针对复杂的业务逻辑,封装了大块的业务。服务粒度在设计时应该选择合适的大小,必须在服务粒度设计上维护一种平衡,以获得成本降低、灵活响应的好处。设计中在满足一致性的前提下尽可能地进行粗粒度建模。(3)标准化的接口。面向服务架构通过服务接口的标准化描述,使得该服务可以提供给任何异构平台和任何用户接口使用。这一描述囊括了与服务交互需要的全部细节,包括消息格式、传输协议和位置【231。该接E1隐藏了实现服务的细节,允许独立于服务基于的软硬件平台和编写服务所用的编程语言。2.2Web服务技术W曲服务是由W3C(WoddWidew曲Consortium,万维网联盟)制定的一套开放的标准技术规范,其基于XML的三大关键技术SOAP,WSDL和UDDI,其最大的特点是允许不同的软件应用程序能相互操作,无论这些程序是用什么编程语言实现、运行在什么样的操作平台或架构技术上。Web服务能使应用程序以一种松散耦合的方式组合起来,并实现复杂的交互。9 第二:章面向服务粲构理论’j技术2.2.1Web服务原理及概念Web服务体系工作组对Web服务提供了如下的参考定义:W曲Serviceprovidesastandardmeansofinteroperatingbetweendifferentsoftwareapplications,runningonavarietyofplatformsandframeworks。对Web服务更精确的解释是【241,Web服务是建立可互操作的分布式应用程序的新平台。Web服务平台是一套标准,定义了一套标准的调用过程。从定义可以知道,Web服务在不同的软件应用之问提供了标准的交互方式,使原来各孤立的站点之问的信息能够相互通信、共享,而不用考虑应用程序的实现技术以及运行平台。学术界对Web服务技术的研究趋于成熟,因此对其定义的解释很多。本文在此提出对Web服务的理解,WebService=SOAP+H1]四+WSDL。其中,SOAP(SimpleObjectAccessProtocol,简单对象访问协议)是Web服务的主体。WSDL(WebServiceDescriptionLanguage,web服务描述语言)是一个XML文档,它通过H丌P向公众发布,公告客户端程序关于某个具体的Web服务的URL信息、方法的命名,参数,返回值等。2.2.2Web服务协议栈在Web服务环境中,工作任务是通过面向服务架构模型的三个角色之间的相互合作来完成的,要完成这种跨平台的交互,必须有一套标准的Web服务规范,如服务描述格式、通讯格式、数据交换格式以及其它方面的规范,这就构成了web服务架构的协议栈嘲,如图2.2所示。一f:作流业务处理WSFLBPEL4WS蔓UDDI垒兀服’司WSDL数磐象SOAP握:磕.’官:晷鸯图协议栈层次结构从这样的层次结构可以看出,由底向上,依次为基础网络层、传输层、信息包装层、服务描述层、服务发现发布层、业务描述层。此外,服务质量、安全性、事物性、可靠性和可管理性贯穿了整个协议栈。W曲服务是建立在、和lO 硕-J二学位论文第二章面向服务架构理论’j技术基础上的分布式技术【26】。Web服务需要通过网络来访问和调用,所以Web服务协议栈的基础层是网络层,使用HTTP标准网络通讯协议。Web服务还可以支持其它的因特网协议,如SMTP、FTP等。信息包装层采用的主要协议是SOAP,是基于XML的消息传递,是一个用于在分布式环境下数据交换的简单、轻量级协议,它与编程语言、对象模型以及操作系统平台都无关【2。71。服务描述层,采用的是Web服务描述语’言(WSDL),是用XML文档来描述web服务的标准,是Web服务的接口定义语言,描述了服务所提供的操作、参数和参数类型;服务发布、发现层定义了服务如何公丌它们自己以及如何在网络上相互发现,对于要相互查找的服务,统一描述、发现和集成为查找和访问服务定义了注册中心和相关的协议,本质是服务的公共网址【281。由于WSDL文件中已经定义了web服务的地址URL,外部可以直接通过WSDL提供的URL进行相应的Web服务调用,所以UDDI不是W曲服务必须的一个组成部分。最后一层是业务描述层,采用Web服务流语言(wsFL)、Web服务业务流程执行语言(BPEL4WS),WSFL作为叙述网络服务流程的语言,定义了服务操作的顺序,服务间的交互方式;BPEL4WS定义了一起进行分布式事务处理的工作流操作、web服务事务(ws.Transaction)、Web服务协调(ws—Coordination),集成并替代了IBM的Web服务流语一言-(WSFL)和微软的XLANG规范,用于应用程序和流程的集成【291。2.2.3Web服务实现技术面向服务架构是建立在分布式计算技术的基础上,它使得分布在网络上的软件组件可以被发布,相互之间可以发现和调用。组件所提供的服务可以在任何地方、为任何人所获得。Web服务是一种优秀的分布式计算技术,在因特网或者企业内部网上通过使用标准的XML协议和信息格式来展现商业应用服务。通过使用开放的因特网标准:SOAP简单对象访问协议(用来服务调用)、WSDL(Web服务描述语言,用来服务描述)和UDDI(统一描述、发现和集成规范,用来服务的发布和集成1,使得服务发布者、Web服务平台等相互独立,从而消除了现存解决方案(如CORBA和DCOM)中的不足方面。(1)数据表示为XML。即ExtensibleMarkupLanguage(n-I"扩展标注语言),是基于文本的、自描述的结构化语言,完全独立于平台和编程语言,所以特别适合作为不同应用之间进行数据交换和消息传递的数据载体。它是是由W3C于1998年2月发布的一种标准,是SGML(StandardGeneralizedMarkupLanguage,标准通用标注语言)的一个简化子集f30‘。XML具有可扩展、自描述性、独立于平台和应用等特点f311。需要注意的是XML不是HTML的替代品,XML和HTML是两种不同用途的语言。XML是用来描述数据,如何存放数据的,而HTML是用来显示数据的,侧重描述如何显示数据;HTML是与显示信息相关的,而XML则是与描述信息相关的。 硕I:学位论文第二章面向服务架构理论oi技术(2)消息传输方式SOAP。即SimpleObjectAccessProtocol(简单对象访问协议),是一种轻量的、简瞥的、基于XML的分布式计算协议,它允许在一个分散、分布式的坏境中交换信息。SOAP具有跨硬件平台、操作系统、编程语言和网络硬件平台的高度互操作性。Web服务就是采用SOAP作为标准通信协议。SOAP规范由四部分组成:SOAPenvelop(SOAP信封)、encodingrules(soAP编码规则)、SOAPRPCrepresentation(SOAPRPC表示)和SOAPbinding(SOAP绑定)【32J。SOAP信封结构是SOAP消息的信息框架。对于SOAP的工作机理,可以理解为一个开放协议SQ"=RPC+H1]rP+xML。XML作为数据传送的格式,RPC作为一致性的调用途径以及HTTP作为底层通讯协议,允许服务提供者和服务请求者经过防火墙在因特网进行通讯交互。如图2.3所示。图2-3SOAP工作原理(3)描述方式WSDL。即W曲ServiceDescriptionLanguage(Web服务描述语言),是Web服务描述语言。简单的说,就是一个XML文档,它将Web服务描述定义为一组服务访问端点,客户端可以通过这些服务访问端点对包含面向文档信息或面向过程调用的服务进行访问。本文在集成应用一章中将会阐述WSDL文件的创建。一个完整的WSDL文档包括五个部分【331。types元素表示W曲服务中使用的数据类型,它是独立与机器和语言的类型定义,这些数据类型被
此文档下载收益归作者所有