SOA概念由BEA公司首先提出,并很快得到全球著名的市场研究机构、软件厂商和企业用户的一致赞同和认可。在06年7月11-15日同期举办的“2005 IEEE Web服务国际会议(ICWS)”和“服务计算国际会议(SCC)”上,BEA公司AquaLogic 产品线首席架构师Paul Patrick博士和BEA公司IT系统负责人Yogish Pai共同做了题为“服务基础架构:帮助企业实现SOA的利器”的主题演讲,他们所介绍的服务基础架构的概念和实现方式得到了与会计算机及业务专家们的一致认同。
服务基础架构的概念和作用
在给出定义之前,让我们首先观看一个在企业合并中经常遇到的场景。
两家大型企业已达成合并协议,其财务系统也随之需要进行整合。让IT部门感到高兴的是两家企业使用的财务系统都出自同一厂商,并且是同一产品,因此IT部门相信该软件的整合工作会相对快速和简单。然而,工作的最终期限已过去两年,该项目仍然未能完成,预算也超支了200%。到底发生了什么?
企业应用系统包括了多个版本和例程——这大大增加了集成复杂性。两家企业虽然采用了相同的财务系统,但各自的会计业务流程却大不相同,因此分别对应用系统进行了不同的定制。由于定制的业务逻辑隐藏在应用中,因此进行系统合并时必须深入了解复杂的底层技术,这需要开发团队耗费数月编写代码。
以上场景并不是凭空想像的,而是众多国内外企业经常要面对的现实。
应对以上挑战的最佳途径是建立企业级的服务基础架构!服务基础架构的建立使业务逻辑可以在基础架构中进行安全的抽象,并能够采用XML实现快速标准化;应用服务被编译为端到端的工作流,而不是系统间脆弱的连接。这将使合并后的企业能够专注于合并业务流程,而不需要再开发数千行的集成代码。
服务基础架构顾名思义,就是以服务为核心建立起来的基础架构,它是一种全新的企业软件类别,帮助用户部署面向服务的架构,使得信息能够在企业内外自由地流动。服务基础架构的出现是为了应对大规模实施SOA所面临的挑战。它提供了在SOA的整个生命周期里部署、配置、保护和管理异构服务所需的全部功能(图1)。利用服务基础架构,IT部门可以将运行在任何平台(而不仅仅是Java上)上的服务部署在一个共享消息、管理、数据集成和安全服务的基础架构之上;业务流程、安全和数据专家则可以利用现有的服务组合出新的复合应用,无需要求IT部门编写新的代码。
对企业来说,“服务基础架构”是实现IT与业务同步的关键,它提供了一个能在异构环境中快速、准确、无缝工作的独立平台,可以充分保护客户的IT投资,防止厂商垄断,助于让业务流程、信息和服务在异构的业务环境中安全地流动,并能同时提升专有系统之上的业务逻辑。
图1 服务基础架构的作用 |
◆服务使能―服务基础架构能确保基于标准的服务可以被重新组合和利用,并成功地用于典型企业应用环境中的各种系统中;
◆生命周期管理―服务基础架构使IT系统能更精确地追踪服务及其属性,并同时提供生命周期工具来发现、组合、安全、部署和更有效地管理服务;
◆消息代理―服务基础架构使服务骨干网能提供松耦合的连接,而不是过去那种令众多企业痛苦不堪的手工编码的、紧耦合的、脆弱的点对点连接。通过将自定义的逻辑(例如安全规则)从应用中剥离出来,并放入服务骨干网中,就可以将它们作为独立的策略在企业范围内很方便地管理它们;
◆数据服务层―服务基础架构提供了一个公共的基础设施,利用它,应用程序可以很方便地访问、转化和更新存储在多个异构数据源中的数据。
◆安全服务层―服务基础架构可以将安全作为服务传递,从而使业务流程或应用组件可以通过公共框架使用公共的安全服务(例如验证和授权服务);
◆可伸缩性―服务基础架构可提供元数据级的复合框架,从而允许您无需经过冗长的编程过程就可以改变业务策略,而在过去的企业IT环境里,业务策略的改变通常都无法避免冗长的编程过程。
服务基础架构的演进
服务基础架构的出现实际上是企业应用基础架构的自然演进。20世纪90年代初期,企业若想定制网络操作系统的功能,就需要自己对系统进行编码。基于HPUX、Solaris或AIX的应用或扩展都包含在各自的系统代码中,这就形成了不具有重用性的孤岛系统。这种方式带来的必然结果是企业IT系统变得越来越依赖于同种设备,久而久之就会导致厂商垄断——企业变成了HP专卖店,或是IBM、SUN的设备专营店。
同样的一幕在若干年后随着企业应用软件的出现再次重演。企业为使其SAP供应链应用系统或PeopleSoft人力资源系统适应内部业务流程而进行相应定制时,开发人员需要在SAP或PeopleSoft应用系统内部进行编码。如果企业需要将Siebel CRM解决方案和Oracle数据库进行集成,那么集成代码必须被包含到Oracle或Siebel应用中。企业自己的业务逻辑再次成为了厂商专有软件的内部“财产”。
为了将业务逻辑从樊篱中解放出来,企业应用基础架构应运而生。最初的企业应用基础架构是分布式事务处理系统。1995年,BEA推出了Tuxedo平台,它提供了在异构环境中构建和集成C、C++和COBOL应用的框架。通过使用API和集成服务,Tuxedo对技术的底层复杂性进行了有效抽象,从而将功能从底层编码中提取出来。随后,Internet的广泛普及要求企业应用能够与基于浏览器的前端协同工作。应对这一挑战,BEA WebLogic Server 和BEA WebLogic Platform为此类应用的开发、集成和管理提供了业界第一个统一框架,使企业能够从容构建对业务成功至关重要的企业应用。
有了用于扩展操作系统和企业应用的平台之后,企业应用开始向面向服务的架构转变:将一个系统表示为一整套可重用的服务,使其他系统能够对该系统进行访问。这种方式产生了一个全新的应用类别——复合应用——它定义了跨越多个应用的业务流程,并允许流程间的功能共享。然而,复合应用的推进面临着很多现实的阻碍,企业IT环境由于多种应用平台(IBM、BEA、Microsoft、SAP、Oracle等)和异构环境(J2EE、.NET、原有大型机等)的并存而变得复杂和混乱。这些因素都对复合应用提出了挑战,因为“组合”过程需要大量的编程,从而加大了系统集成的成本。
面向服务的架构(SOA)给这一问题的解决带来了希望,它可以将包含在企业应用中的离散业务功能提取出来,将其组合为可互用的、基于标准的服务。但随着SOA从试用阶段转向实际应用,用户逐渐发现他们需要一种新的软件基础架构来帮助他们快速地组合、发布、配置和管理服务,特别是那些建立和部署了50个以上Web服务的客户对此的需求尤为迫切,因为Web服务的增加会导致“服务蔓延”,从而需要不断地集成并使规模化的难度加大。
BEA的服务基础架构恰好能满足这一需求,它提供了在异构环境中运行和管理业务及IT服务所需的全生命周期功能,包括消息骨干网、数据集成服务、用户界面服务、安全框架、业务流程管理、Web服务管理、服务仓库和集成的配置环境。它使应用系统的开发从开发代码转换为组合跨越整个企业甚至Internet的业务流程。采用服务基础架构,企业就能够基于异构技术创建应用,并同时将业务逻辑提升到专有应用之上。企业的IT系统再也无需在Java、.NET或SAP间做出选择,而是能够综合利用Java、.NET、SAP和企业中现有的其他任意技术。服务基础架构为整个SOA生命周期提供了一个平台,使企业能够将SOA从小规模试用项目推广为大规模普及。
带来的好处
服务基础架构给企业带来的好处是显而易见的,它简化了复合应用的提供,使企业能够更快速地提升响应能力。它可以为企业带来以下好处:
◆更高的效率
业务流程从孤立、重复的流程转换为可高度利用、共享的服务,维护成本更低。
◆响应能力更强
关键的企业服务能够快速适应和提供,以及时满足公众需求、迅速捕捉市场机会。适应性:更为有效的满足业务需求的变化,将复杂性和相关努力降到最低限度,以节约时间和费用。
对IT机构来说,服务基础架构也带来了很多关键的好处,包括:
◆降低复杂性 基于标准的兼容性减少了复杂和耗时的点到点集成需求。
◆增加重用性 先前开发的服务可以被重复重用,实现了“一次组合,多次利用(COLA,Compose-Once-Leverage-Anywhere)”的高效性。
◆更低的生命周期成本 将原有应用作为可重用服务的能力大大降低了维护和集成成本。
未来前景
服务基础架构建立在企业应用基础架构之上,它的出现使企业IT迈入SOA时代有了现实的保障。实际上,服务基础架构扩展了原有的“企业服务总线(ESB)”的概念,将“服务总线”上升到“基础架构”层面,帮助企业建立以服务为核心的基础架构平台,真正实现“弥合业务服务与IT服务之间的鸿沟”。
正是看到“服务基础架构”对企业SOA实施带来的巨大促进作用,全球著名的IT咨询机构都纷纷发表评论。Gartner Group称,“BEA的远见卓识反映了技术行业的当前趋势,无论是对BEA的客户还是软件行业来说,这都有着重大,因为BEA长期以来一直是J2EE平台的领导者。”Current Analyst则称:“我们非常看好BEA的服务基础架构软件,它可以更好地满足正在实施SOA的客户的需求。”
目前,BEA已经推出了最新的服务基础架构产品――BEA AquaLogic,它包括六条产品线,已经正式发布有三条,分别是BEA AquaLogic消息产品线、BEA AquaLogic数据产品线、和BEA AquaLogic安全产品线。这些产品可以帮助企业用户利用组合与管理工具,来发现、保护、管理和组装建立在异构平台上的服务,从而使应用专家和IT专业人员能够从繁复的代码编写中解放出来,把精力放在构建跨企业和跨Internet的业务流程上,使企业能够更快地为员工、客户、合作伙伴和供应商提供新服务。对最终用户而言,这意味着无需等待漫长的开发周期,就可以创建出满足其特定需求的应用。
(责任编辑:城尘 68476636-8003)