下一代软件架构--SOA 选择自 donkeyzheng 的 Blog
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 的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商
业服务变化、发展的需要。企业环境中单个应用程序是无法包容业务用户的(各种)需求
的,即使是一个大型的 ERP 解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口,
对市场快速做出反应,商业用户只能通过不断开发新应用、扩展现有应用程序来艰难的支
撑其现有的业务需求。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、
目的性更强的商业流程。其结果就是,基于 SOA 的企业应用系统通常会更加真实地反映出
与业务模型的结合。服务是从业务流程的角度来看待技术的 --这是从上向下看的。这种角
度同一般的从可用技术所驱动的商业视角是相反的。服务的优势很清楚:它们会同业务流
程结合在一起,因此能够更加精确地表示业务模型、更好地支持业务流程。相反我们可以
看到以应用程序为中心的企业应用模型迫使业务用户将其能力局限为应用程序的能力。
企业流程(enterprise process)是流经企业框架的空气,它赋予业务模型里的组件以生命,
并更加清晰地定义了它们之间的关系。流程定义了同业务模型进行交互操作的专门方法。
例如,会计可能是企业服务系统的一个组件 --但是将发票寄给客户却是一个业务流程。服
务被定义用来支持业务流程,因而贯穿整个流程始终的是:各种服务组件在流程和逻辑实
评论2
最新资源