今天,SOA已经成为企业IT系统建设的大趋势,越来越多的企业开始实施SOA。不过,要想真正成功地实施SOA,就需要一个优化的、开放的服务基础设施,它可以让您在无需编码的情况下建立起跨异构系统的复合应用。
服务基础架构(Service Infrastructure)是一种全新的企业软件类别,其基本目标是帮助企业建立以服务为中心的基础架构,推动面向服务的架构(SOA)从试验阶段进入大规模实施阶段。这一概念由BEA公司首先提出,并很快得到全球著名的市场研究机构、软件厂商和企业用户的一致赞同和认可。
究竟什么是服务基础架构?它有什么作用?在给出定义之前,让我们首先观看一个在企业合并中经常遇到的场景。
两家大型企业已达成合并协议,其财务系统也随之需要进行整合。让IT部门感到高兴的是两家企业使用的财务系统都出自同一厂商,并且是同一产品,因此IT部门相信该软件的整合工作会相对快速和简单。然而,工作的最终期限已过去两年,该项目仍然未能完成,预算也超支了200%。到底发生了什么?
企业应用系统包括了多个版本和例程–这大大增加了集成复杂性。两家企业虽然采用了相同的财务系统,但各自的会计业务流程却大不相同,因此分别对应用系统进行了不同的定制。由于定制的业务逻辑隐藏在应用中,因此进行系统合并时必须深入了解复杂的底层技术,这需要开发团队耗费数月来编写代码。
应对以上挑战的最佳途径是建立企业级的服务基础架构!服务基础架构的建立使业务逻辑可以在基础架构中进行安全的抽象,并能够采用XML实现快速标准化;应用服务被编译为端到端的工作流,而不是系统间脆弱的连接。这将使合并后的企业能够专注于合并业务流程,而不需要再开发数千行的集成代码。
什么是服务基础架构?
顾名思义,服务基础架构就是以服务为核心建立起来的基础架构,它是一种全新的企业软件类别,帮助用户部署面向服务的架构,使得信息能够在企业内外自由地流动。
服务基础架构的出现是为了应对大规模实施SOA所面临的挑战。它提供了在SOA的整个生命周期里部署、配置、保护和管理异构服务所需的全部功能。利用服务基础架构,IT部门可以将运行在任何平台(而不仅仅是Java)上的服务部署在一个共享消息、管理、数据集成和安全服务的基础架构之上;业务流程、安全和数据专家则可以利用现有的服务组合出新的复合应用,无需要求IT部门编写新的代码。
对企业来说,"服务基础架构"是实现IT与业务同步的关键,它提供了一个能在异构环境中快速、准确、无缝工作的独立平台,可以充分保护客户的IT投资,防止厂商垄断,有助于让业务流程、信息和服务在异构的业务环境中安全地流动,并能同时提升专有系统之上的业务逻辑。
服务基础架构的主要功能包括以下一些,它可以完成从服务发现、合作直至操作、管理的全生命周期管理。
服务使能 能确保基于标准的服务可以被重新组合和利用,并成功地用于典型企业应用环境的各种系统中。
生命周期管理 使IT系统能更精确地追踪服务及其属性,并同时提供生命周期工具来发现、组合、安全、部署和更有效地管理服务。
消息代理 使服务骨干网能提供松耦合的连接,而不是过去那种令众多企业痛苦不堪的手工编码的、紧耦合的、脆弱的点对点连接。通过将自定义的逻辑(例如安全规则)从应用中剥离出来,并放入服务骨干网中,就可以将它们作为独立的策略在企业范围内很方便地管理它们。
数据服务层 提供了一个公共的基础设施,它可以使应用程序很方便地访问、转化和更新存储在多个异构数据源中的数据。
安全服务层 服务基础架构可以将安全作为服务传递,从而使业务流程或应用组件可以通过公共框架使用公共的安全服务(例如验证和授权服务)。
可伸缩性 服务基础架构可提供元数据级的复合框架,从而允许您无需经过冗长的编程过程就可以改变业务策略,而在过去的企业IT环境里,业务策略的改变通常都无法避免冗长的编程过程。
服务基础架构的演进
服务基础架构的出现实际上是企业应用基础架构的自然演进。20世纪90年代初期,企业若想定制网络操作系统的功能,就需要自己对系统进行编码。基于HPUX、Solaris或AIX的应用或扩展都包含在各自的系统代码中,这就形成了不具有重用性的孤岛系统。这种方式带来的必然结果是企业IT系统变得越来越依赖于同种设备,久而久之就会导致厂商垄断。
同样的一幕在若干年后随着企业应用软件的出现再次重演。企业为使其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迈入SOA时代有了现实的保障。实际上,服务基础架构扩展了原有的"企业服务总线(ESB)"的概念,将"服务总线"上升到"基础架构"层面,帮助企业建立以服务为核心的基础架构平台,真正实现"弥合业务服务与IT服务之间的鸿沟"。
正是看到"服务基础架构"对企业SOA实施带来的巨大促进作用,全球著名的IT咨询机构都纷纷发表评论。Gartner Group称,"BEA的远见卓识反映了技术行业的当前趋势,无论是对BEA的客户还是软件行业来说,这都有着重大意义。"Current Analyst则称:"我们非常看好BEA的服务基础架构软件,它可以更好地满足正在实施SOA的客户的需求。"
目前,BEA已经推出了最新的服务基础架构产品–BEA AquaLogic,它包括6条产品线,已经正式发布有三条,分别是BEA AquaLogic消息产品线、BEA AquaLogic数据产品线和BEA AquaLogic安全产品线。这些产品可以帮助企业用户利用组合与管理工具,来发现、保护、管理和组装建立在异构平台上的服务,从而使应用专家和IT专业人员能够从繁复的代码编写中解放出来,把精力放在构建跨企业和跨Internet的业务流程上,使企业能够更快地为员工、客户、合作伙伴和供应商提供新服务。对最终用户而言,这意味着无需等待漫长的开发周期,就可以创建出满足其特定需求的应用。