浅析SOA的应用实现及部署

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:dalianmaowh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:SOA的概念已经诞生多年,业界对其商业模式也处于不断的讨论和摸索中,SOA可以译为面向服务的体系架构。普遍认为,SOA是面向全部IT资产的一种体系架构,通过以特定的规格将这些资产以服务的形式进行描述,可以实现服务的重复应用,从而提高IT资产的适应能力并更好地发挥效用。文章介绍了SOA的基础,包括SOA的体系架构及描述方法,通过实例分析了如何应用SOA进行软件的开发以及实现,以及如何有效的通过渐进式方法来部署SOA架构。
  关键词:SOA;SOAP;WSDL;渐进式部署
  中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c
  
  Analysis the Application and Deployment of SOA
  WEN Jian-guo, LI Xiong
  (Information Occupation Technique Institute of Hunan, Changsha 410001,China)
  Abstract: Before many years, the conception of SOA has invented, and many experts always study on their pattern of commerce. Commonly, SOA is an architecture oriented the resource of all information technology, the resource was descript using specifically standard by service, the service can be reuse and improved the adaption of the resource of IT. This paper introduces the base of SOA, include the descript method of SOA architecture, analysis how to develop and implement the software based SOA, and how to effectively deploy the architecture of SOA by gradually method.
  Key words: SOA; SOAP; WSDL; Gradually Deploy
  
  1 引言
  
  SOA的概念已经诞生多年,其应用一直都很“神秘”,业界对其商业模式也处于不断的讨论和摸索中,但难掩用户对SOA应用的高涨热情。当前,许多专家和用户们认识到SOA并非仅仅是一套工具或一次服务实践,而是涵盖方法论、工具、多个切入点、最佳实践以及对整个生命周期进行改革的整套架构。
  SOA给企业用户带来了许多诱人的“愿景”,包括:更有效的软件构造模式、广泛的重用、提高系统的集成能力、规范资源建设及资源(动态)优化利用、节约成本、更好的应变和系统重构能力等等。然而,近几年SOA在迅猛发展的同时也不断地受到质疑,人们对于未来基于SOA的商业模式一直都在讨论和摸索,而SOA带来的一些问题,如服务质量、效率、服务安全、部署、编程模式、工程方法,特别是SOA的业务规范及标准等问题都存在着极大的不确定性。尽管如此,当前绝大多数企业仍然在积极地寻求SOA落地的更好方法,可见企业用户真正参与到SOA的部署之中的需求更加迫切,SOA应用热潮正一浪高过一浪。
  
  2 SOA基础
  
  SOA(Service-Oriented Architecture的简写),可以译为面向服务的体系架构。普遍认为,SOA是面向全部IT资产的一种体系架构,通过以特定的规格将这些资产以服务的形式进行描述,可以实现服务的重复应用,从而提高IT资产的适应能力并更好地发挥效用。
  目前SOA可以通过很多种技术进行实现,不同的厂商提供了不同的解决方案,但是从基础技术层面分析,SOA还是拥有自己惯用的或者说主要的一组技术,下面我们分别讲解在构建SOA的过程中经常应用的一些技术。
  2.1 异构服务交互
  在最初版本的SOAP当中,这个概念是指简单对象访问协议,不过随着时间的推移,无论是开发人员还是这项标准的缔造者都已经不再满足于将其仅仅应用于对象了。SOAP的规范目前已经将目标转移到基于XML进行消息处理的框架上面,根据较新的SOAP规范定义,SOAP是一种用于在分布式环境中交换结构化信息的轻量级协议。基于XML技术,SOAP定义出一种容易扩展的消息处理框架,基于该框架用户可以在各种不同的底层协议上完成消息的交换,令用户可以使用任何技术机制进行实现。SOAP并不是SOA完成消息交换的强制实现,但是由于在需要协作的用户之间往往具有不同的IT基础设施结构,为了发挥SOA在弥合异构平台方面的核心作用,SOAP是支持异构服务交互的一种非常有效的方法。
  2.2 描述Web服务
  WSDL是Web服务描述语言的简称,用于描述Web服务。从本质上来讲,WSDL是提供Web服务间交互的基础。在Web服务应用的过程中,一个很重要的特性就是Web服务之间的互相发现,这就要求不同供应商所提供的Web服务要具有统一的规范,即基于同样的样式进行描述[1],这正是WSDL所起到的作用。当不同的服务通过WSDL标识了自己,就意味着其他Web服务可以发现并理解自己,从而最终对自己进行调用。这个基于WSDL生成的对于Web服务的描述信息,可以经由SOAP来完成交换[2]。在SOA当中之所以大量地使用Web服务所使用的技术,核心原因在于Web服务能够解决很多CORBA这样以组件为基础的体系中的一些问题。例如,面向组件的体系相对比较复杂,CORBA有一套自己的编程体系,如果需要使用CORBA就必须学习一系列全新的知识和规范[3]。而Web服务无需开发人员转换到另一种开发模型当中,使用自己惯用的Java或者.NET开发技术都可以直接进行Web服务的开发。事实上,Web服务提供了一种接口或者中介,它能够更加轻松和透明地将已有的业务导入到新的模式当中。另外,Web服务基于HTTP协议的通信和基于XML的定义方式都是标准实现,可以轻松地提供SOA所需的跨平台特性。当然,在需要的时候Web服务也可以应用很多其他的协议来实现。因此说,在某些层面是SOA选择了Web服务,而从发展的角度来看,SOA也是建构在Web服务上的,是一种对Web服务的延伸,绝大部分在Web服务中使用的开发技术都可以直接应用于构建SOA[5]。
  2.3 开放信息交换体系
  企业服务总线(Enterprise Service Bus,ESB)是实现SOA的一组最为重要的技术,很多SOA的构建和实施都是基于企业服务总线完成的[4]。从本质上看,ESB是一种开放的、基于标准的消息交换体系,可以使用SOAP,也可以使用其他符合标准要求的消息机制来实现。通过提供接口,ESB可以在服务层面以及比服务更细致的组件层面实现互操作[6]。一般来说,ESB内涵消息处理、服务通信、服务质量、安全等诸多方面的功能,也提供建模、自主管理、基础架构智能等更高的支持。ESB从服务的构建开始,更好地管理服务的整个生命周期,可以最大限度实现服务之间的整合。在很多的ESB实现当中也应用了中间件技术,基于中间件的实现与基于Web服务的实现相比,能够更加降低体系的耦合度。图1描述了SOA的基本架构。
  
  图1 SOA基本架构图
  
  3 SOA应用实现
  
  虽然面向服务的体系结构不是一个新鲜事物,但它是更传统的面向对象的模型的替代模型。面向对象的模型是紧耦合的,已经存在20多年了。虽然基于SOA的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计是面向服务的。当然,现在的SOA已经有所不同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensible Markup Language,XMI)为基础的。当使用基于XMI的语言(称为Web服务描述语言,Web Services Definition Language,WSDL)来描述接口时,服务已经转到更动态且更灵活的接口系统中,非以前CORBA中的接口描述语言(Interface Definition Language,IDL)可比了。
  Web服务并不是实现SOA的惟一方式。而CORBA是另一种方式,这样就有了面向消息的中间件(Message-Oriented Middleware)系统。但为了建立体系结构模型,所需要的并不只是服务描述。这就需要定义整个应用程序如何在服务之间执行其工作流,尤其需要找到业务操作和业务所使用的软件的操作之间的转换点。因此,SOA应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新您的零件数据库等却是技术流程。因而,工作流还可以在SOA的设计中扮演重要的角色。
  此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制的外部合作伙伴进行的操作。因此,为了提高效率,就需要定义应该如何得知服务之间关系的策略,这种策略常常采用服务级协定和操作策略的形式。
  最后,所有这些都必须处于一个信任和可靠的环境之中,以同预期的一样根据约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何SOA中都起着重要的作用。
  对SOA的需要来源于使业务IT系统变得更加灵活的需要,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。
  下面举一个具体的例子。一个服装零售组织拥有500家国际连锁店,它们常常需要更改设计来赶上时尚的潮流。这可能意味着不仅需要更改样式和颜色,甚至还可能需要更换布料、制造商和可交付的产品。如果零售商和制造商之间的系统不兼容,那么从一个供应商到另一个供应商的更换可能就是一个非常复杂的软件流程。通过利用WSDL接口在操作方面的灵活性,每个公司都可以将它们的现有系统保持现状,而仅仅匹配WSDL接口并制订新的服务级协定,这样就不必完全重构它们的软件系统了。也就是说,它们改变的是合作伙伴,而所有的业务操作基本上都保持不变。
  另一种形式是内部改变。在这种改变中,零售组织现在决定它还将把连锁零售商店内的一些地方出租给专卖流行衣服的小商店,这可以看作是采用店中店(store-in-store)的业务模型。这里,虽然公司的大多数业务操作都保持不变,但是它们现在需要新的内部软件来处理这样的出租安排。尽管在内部软件系统可以承受全面的检修,但是它们需要在这样做的同时不会对与现有的供应商系统交互产生大的影响。在这种情况下,SOA模型保持原封不动,而内部实现却发生了变化。这样就可以将新的方面添加到SOA模型中来,如加入新的出租安排的职责,但是正常的零售管理系统继续如往常一样。
  总之,适应SOA系统的改变能力是最重要的部分。对于开发人员来说,这样的改变无论是在他们工作的范围之内还是在他们工作的范围之外都有可能发生,这取决于是否知道接口是如何定义的以及它们相互之间如何进行交互的。与开发人员不同的是,架构师的作用就是实现对SOA模型大的改变。这种分工,就是让开发人员集中精力于创建作为服务定义的功能单元,而让架构师和建模人员集中精力于如何将这些单元适当地组织在一起。
  
  4 SOA的渐进式部署
  
  “很长一段时间以来,我们都把IT认为是一个集中式的体系,如大型主机和C/S(服务器/客户机)、B/S(浏览器/服务器)时代,但是这种模式是有局限性的。”分布式SOA架构的总设计师、IONA科技公司首席技术官Eric Newcomer在日前接受采访时告诉记者:“实际上,分布式的IT系统更高效。这一点上,我们可以参考一下互联网,由于采用了分布式的体系,互联网效率非常高,成本效益也非常高,可扩展性非常好。”
  Eric Newcomer表示,SOA在本质上就是一种分布式架构。作为SOA的核心要素之一,服务的目的是要实现与另一项服务的远程通信,尤其是要实现数据互享。用户部署SOA架构的目的也是要改变IT系统的构建方式,由原来建立专有的单一应用变为建立更为高级和整合的应用,这种应用的显著特点就是充分利用已有的、可以共享和重复使用的功能,也就是服务。”
  与集中式的SOA架构相比,分布式SOA架构能更好地应对不断变化的技术和业务环境。比如,与过去流行的EAI(企业应用集成)方式相似,集中式的SOA由于在项目建设之初,需要先建立一个集中的控制点(如消息总线),哪怕是再小的项目也是如此,这往往会提高项目门槛,抑制用户部署SOA的积极性,特别是中小企业用户。而分布式SOA没有集中的控制点,允许客户按照自己的计划渐进地部署服务,比如一次部署一两个服务,在未来根据具体的业务需要,再为系统扩容,如增加服务编排、注册/贮存、管理等各项高级功能。
  “在部署和使用可共享和重复使用的服务方面,分布式SOA架构更简单易行,从而对目前业界普遍认同的渐进式的部署提供了更好的支持,同时,具备更强的部署灵活性、适应性和可维护性(例如,一个服务与整个应用来比,对服务的验证和升级要容易得多)。”Eric Newcomer说。
  
  参考文献:
  [1]张广胜,蒋昌俊,汤宪飞,等.面向服务的企业应用集成系统描述与验证[J].软件学报,2007(12).
  [2]Shan TC.Wachovia,C.Hua WW. Service-Oriented solution framework for intemet banking. The Int’l Journal of Web Services Research(JWSR),2006,3(1):29-48.
  [3]苗哲,张黎宁,孙万砚.基于Web服务的高校教务管理系统的设计与实现[J].教育信息化,2006(11).
  [4]田霖,于建军,王剑白,康建初. WebService技术在教育资源整合中的研究与实现[J].计算机工程与设计,2004,(12) .
  [5]靳风荣,郑雪峰,孙国辉.SOAP协议及其在企业信息集成中的应用研究[J].微计算机信息,2004,(04).
  [6]吴家菊,刘刚,席传裕.基于Web服务的面向服务(SOA)架构研究[J].现代电子技术,2005(14).
  
  收稿日期:2008-01-12
  作者简介:温建国,男,助教,主要研究方向:计算机网络、体系结构;李雄,男,硕士,主要研究方向:软件工程、软件体系结构,软件可靠性等。
其他文献
供给侧改革更重要的是强调提高经济增长效率和金融服务的总体效率  深化金融供给侧结构性改革要以服务实体经济,服务人民生活为本,货币政策调控要围绕供给侧结构性改革这条主线,抓住完善金融服务、防范金融风险这个重点,增强金融服务实体经济的能力,推動经济高质量发展。  金融供给侧结构性改革必须依托、依靠整个经济的供给侧结构性改革来确定,改革的最终目标是通过金融结构的调整,金融产品和金融服务的创新,助力发挥市
一年前还仅仅是概念的5G时代,2019年真的已经扑面而来了。这个一夜之间被人们追捧热议的5G,具有大连接、高可靠性和低时延三大特征,明显有别于给我们带来移动互联革命的4G,并给我们创造出一个巨大的想象空间——AI、大数据、云、超级计算……这些原来被狭窄的4G通道限制得死死的基础技术和万物互联产生的数据可以无拘无束地尽情地流动,再通过成功的应用释放出无穷大的魔力。  然而,当前最受关注的是,我国在5
中国的标志性外交政策项目——“一带一路”倡议,已经取得了诸多成就。目前,已有超过125个国家签署了“一带一路”合作文件,许多项目正在亚洲、欧洲、非洲及其他地区实施。今年4月召开的第二届“一带一路”国际合作高峰论坛,重申了中国政府对该倡议的承诺,以及中国应对大规模跨境基础设施所内蕴的独特挑战的意愿。  但迄今为止,各界关于“一带一路”倡议是否能够改善贸易、增加收入和减少贫困方面的讨论,仍缺乏扎实的证
摘要:本文运用文献资料法、实验法、数据处理法等,以羽毛球正手发高远球的学习过程为切入点,探讨不同形式的追加反馈对正手发高远球技能学习的效果,旨在为高校体育教学质量改革提供建设性建议。结果表明,语言 录像的复合反馈较单一的语言反馈、录像反馈教学效果更好,P0.05,说明三个班身体素质没有显著性差异,符合实验条件。  2.2不同形式的追加反馈对羽毛球正手发高远球技术的效果分析  实验过程中教师的语言反
关键词:长期股权投资 新会计准则 管理 决策  一、基本概念  2014年财政部发布的《企业会计准则第2号—长期股权投资》,将“投资企业对被投资单位不具有共同控制或重大影响,并且在活跃市场中没有报价、公允价值不能可靠计量的”那部分资产,重新归入可供出售金融资产。按照对被投资单位的影响程度形成以下分类:  (1)控制:即对子公司的投资。控制,是指投资企业为了一定的目的,对被投资企业施加的权力,这种权
摘要:中职学生体质如同他们的文化成绩一样处于弱势,但他们毕业后基本就业于生产一线的蓝领岗位,需要有较强身体体能作为工作的前提.如何解决这一矛盾,一是我们教育者要认知到上述状况,二是仅靠每周两节体育课的锻炼根本不够,需要在人力物力财力时间等多方面加大投入,确保在理念和行动上改进中职学生的阳光体育活动,从而让中职生身心得到全面的改进和发展。  关键词:中职学校、 体育、教改、探微  中图分类号:G80
关键词:平衡计分卡 绩效管理 战略规划  一、引言  随着资本市场的进一步开放,各国有企业集团纷纷瞄准相关政策,建立了自身的中长期发展规划,以期抓住有利时机,实现跨越式发展。但是,许多国有企业在战略规划管控的过程中,暴露了“重制定,轻执行”的弊病,执行过程中往往出现实际行动与企业战略脱节,绩效管理与战略管理脱钩等问题,制定好的战略规划难以落地。在当前不断推进的改革中,国有企业正面临管控模式、竞争策
摘要:本文采用文献资料法、问卷调查法和统计法,以近三年三峡大学体育学院跆拳道专项毕业生为调查对象,对其就业情况进行调查,结合当前就业形势与现实,针对跆拳道专项毕业生就业所存在的问题和不足,提出相应对策与建议。  关键词:跆拳道;毕业生;就业分析  中图分类号:G807 文献标识码:A 文章编号:2095-2813(2016)11(c)-0000-00  随着社会经济不断快速发展,我国高校大学毕业生
摘 要:文章通过问卷调查法对铜仁市参加高中生联赛的36支球队400余人进行了问卷调查,通过对调查数据的研究分析发现,高中这一阶段,在现阶段训练状况下,学生参加足球训练对学习的积极影响远大于消极影响,这一结论同传统的认识有了冲突和颠覆,其原因是在这一阶段,学生的学习压力较大,适当的有规律的体育锻炼,能够在一定程度上缓解学生的学习压力,在学习到体育运动技能的同时提高学习成绩,事实证明,学习和训练并不冲
摘要:本文简要介绍了IPv6数据包处理流程,重点阐述了嵌入式IPv6的核心协议:IPv6协议、ICMPv6协议和邻居发现协议的设计与实现。  关键词:IPv6;ICMPv6;邻居发现协议  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-00ppp-0c    The Design and Implementation of Embedded IPv6 Stack