- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOA:构建下一代Web服务的技术架构
作者:李巍 来源:中国计算机报 字体[放大、标准、缩小]
?
Web服务一种作为炙手可热的技术,应用到企业的IT系统和商业流程之中,并给企业带来直接的经济效益,一直以来得到了国内外企业管理者的推崇。而在近两年,伴随着企业需求的不断变化,一种被誉为下一代Web服务的技术架构,再一次引起业内关注,这就是SOA(Service-Oriented Architecture,面向服务架构)。
早在1996年,Gartner最早提出SOA的预言,2002年12月,Gartner又提出了SOA是“现代应用开发领域最重要的课题”,并预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。
更好地支持商业流程
SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用软件很多年了,BEA、IBM等厂商看到了它的价值,并且纷纷跟进。SOA的目标在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise,这是Gartner为SOA描述的远景目标)。而BEA的CIO Rhonda早在2001年6月就提出要将BEA的IT基础架构转变为SOA,并且从对整个企业架构的控制能力,提升开发效率、加快开发速度、降低在客户化和人员技能的投入等方面取得了不错的成绩。
由于SOA是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种规范,这就决定了SOA的广泛性。SOA要求开发者从服务集成的角度来设计应用软件,即使这么做的利益不会马上显现。SOA要求开发者超越应用软件来思考,并考虑复用现有的服务,或者检查如何让服务被重复利用。SOA鼓励使用可替代的技术和方法(例如消息机制),通过把服务联系在一起而非编写新代码来构架应用。经过适当构建之后,这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的响应。
SOA也不仅仅是一种开发的方法论,它还包含管理。例如,应用SOA后,管理者可以方便地管理这些搭建在服务平台上的企业应用,而不是管理单一的应用模块。其原理是通过分析服务之间的相互调用,SOA使得公司管理人员方便地获取什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业管理人员或应用架构师迭代地优化他们的企业业务流程、应用系统。
SOA的一个中心思想就是让企业应用彻底摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要。企业IT架构环境中单个应用程序是无法包容业务用户的(各种)需求的,即使是一个大型的ERP解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口。对市场快速做出反应,商业用户只能通过不断开发新应用、扩展现有应用程序来艰难地支撑其现有的业务需求。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。其结果就是,基于SOA的企业应用系统通常会更加真实地反映出与业务模型的结合。
服务是从业务流程的角度来看待技术的——这是从上向下看的。这种角度同一般的从可用技术所驱动的商业视角是相反的。因为服务的优势很清楚,它们会同业务流程结合在一起,能够更加精确地表示业务模型、更好地支持业务流程。相反,我们可以看到,以应用程序为中心的企业应用模型,迫使业务用户将其能力局限为应用程序的能力。
企业流程(Enterprise Process)是流经企业框架的空气,它赋予业务模型里的组件以生命,并更加清晰地定义了它们之间的关系。流程定义了同业务模型进行交互操作的专门方法。例如,会计可能是企业服务系统的一个组件,但是将发票寄给客户却是一个业务流程。服务被定义用来支持业务流程,因而自始至终地贯穿整个流程:各种服务组件在流程和逻辑实现过程中的装配操作,理解业务流程是定制服务的关键所在。
有利于企业业务的集成
传统的应用集成方法,如:点对点集成、企业消息总线或EAI、基于业务流程的集成等,都很复杂、昂贵,而且不灵活。这些集成方法难于快速适应基于企业现代业务变化不断产生的需求。
基于SOA的应用开发和集成可以很好地解决其中的许多问题。它描述了一套完善的开发模式来帮助客户端应用连接到服务上。这些模式定制了系列机制用于描述服务、通知及发现服务、与服务进行通信。
不同于传统的应用集成方法的是,在SOA中,围绕服务的所有模式都是以基于标准的技术实现的。大部分的通信中间件系统,如RPC、CORBA、DCOM、EJB和RMI,也同样如此。可是它们的实现都不是很完美的,在权衡交互性以及标准定制的可接受性方面总是存在问题。SOA试图排除这些缺陷。因为
文档评论(0)