网络通信 频道

服务基础架构:成功实施SOA的基础

  服务基础架构(Service Infrastructure)是一种全新的企业软件类别,其基本目标是帮助企业建立以服务为中心的基础架构,推动面向服务的架构(SOA)从试验阶段进入大规模实施阶段。这一概念由BEA公司首先提出,并很快得到全球著名的市场研究机构、软件厂商和企业用户的一致赞同和认可。在今年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投资,防止厂商垄断,助于让业务流程、信息和服务在异构的业务环境中安全地流动,并能同时提升专有系统之上的业务逻辑。

  服务基础架构的主要功能包括以下一些,它可以完成从服务发现、合作直至操作、管理的全生命周期管理:

  ·服务使能――服务基础架构能确保基于标准的服务可以被重新组合和利用,并成功地用于典型企业应用环境中的各种系统中;

  ·生命周期管理――服务基础架构使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从小规模试用项目推广为大规模普及。

0
相关文章