企业服务总线(ESB)技术与革新
发布时间:2006-10-14 8:00:21   收集提供:gaoqian
——用异步消息传递和智能路由选择扩展Web服务


  · 由于更大任务所带来的要求,消息传递技术现在正处于发展之中。为了给当今的实时企业提供其所需的灵活性,就需要一种混合的消息传递模型将 Web 服务的优点与传统的异步消息传送结合在一起。

  传统消息排队中间件将很快被企业服务总线(ESB)技术所取代,从而将消息传递带到新的高度。新的ESB骨干(催生了下一代集成和应用平台产品)将显著改善多数企业的软件基础架构。行业正转向消息传递和ESB,并以此作为核心应用平台基础架构模型,这将标志着一个转折点:围绕企业对其信息资源的使用而触发了新的一轮巨大的革新浪潮;企业都正在利用事件架构。这都将消除最近人们对 IT 在战略性业务区分中可扮演关键角色的所有疑虑。

  简介

  在过去的10年中,竞争压力和日新月异的技术根本地改变了企业的运行节奏。在过去,企业可以根据月底的成批报告来进行决策。现在,实时流程意味着如果原材料在早上出现问题,或者有停电事故发生,那么就会造成下午无法交付和托运成品。于是,企业不得不以越来越快的速度应对突发事件――否则,它就要靠边站了。“零时延企业(zero latency enterprise)”的时代已经来临。

  当今的企业环境正在一点一点的发展以应对这个挑战。异构存储、网络和硬件支持着“孤岛计算”(应用程序与数据相互孤立或者条块分割),这导致环境的利用和管理都过度复杂,并使之变为资源密集型。对于企业所必须面对的大多数关键挑战而言,这种复杂性无疑是一种障碍,这些挑战包括:

  满足对利用多渠道传递大量信息服务的不断增长的需求。

  实时管理基础架构以满足不断变化的业务需求。

  使业务多样化以促进业务灵活地增长,并降低与固定产品线相关的经济风险。

  确保对客户、合作伙伴和雇员的信息服务请求做出快速且高质量的响应。

  在过去几年中,EAI、B2B和应用开发等方面的迅速发展推动了几种关键技术和标准的发展,这些技术和标准又推动了基础架构领域的显著进步:

  XML 作为通用的、自解释的数据交换格式,已经为大多数应用程序所采用。面向 Web 的信息交换以及其后的基础架构,与 XML 一起使 Web 服务的使用成为不可避免的事情。

  Java 已经作为用于服务器端的一个主要技术而被接受,并且J2EE 已经作为应用服务器的标准而被接受。

  企业服务总线在事务性消息交换和实时事件通知领域的使用已经围绕 Java 消息服务(JMS)而被标准化了。

  通过 Java 管理扩展(JMX)标准已经实现了服务器端组件的公共管理框架。

  基础架构必须像业务一样运转

  瞬息万变的市场需要通过多渠道传递大量的信息服务。下一代的企业要求松散耦合的资源能够共享跨越多领域的公共通信和管理基础架构。企业基础架构不得不像有形的业务那样运转,允许对资源进行动态管理以应对客户和合作伙伴的需求波动,同时处理系统资源的供应和可用性变化。企业应用程序也需要一个基于标准的协作模型以最大程度地利用该基础架构。为此,实时企业使用了来自实时基础架构的最好做法和服务器端的网格技术(gridtechnology)。

  实时企业的组件

  形成实时企业的一些概念与用于定义服务器端网格环境的概念相同,用来描述其核心组件(见表1)的结构类似于Gartner的 5 层网格技术模型。

  一个建立在现有的而且是被广泛采用的技术和开放标准之上的ESB可为服务协作、管理和控制提供一个可适应的分布式架构。ESB支持在企业内部的任何地方进行业务服务的运行时部署,并提供协作和通知服务作为其核心基础架构的一部分。让我们看一下 ESB 技术是如何映射到 Gartner 的 5 层模型的。



  基础架构资源和虚拟操作系统

  第0层由基础架构资源组成,包括网络、服务器、存储和每台服务器的操作系统环境。第1 层位于基础设施层之上,并建立了一个多资源的分布式操作系统,它支持的功能如进行工作计划、将资源名集成到总体结构中以及确保不同系统间的一致认证。

  尽管Gartner将J2EE 作为一个第 2 层的技术,我们相信分布式 JMX 和一台基于 J2EE 的应用服务器的结合会具有虚拟操作系统的特点。使用对所有组件和服务提供部署和完全 JMX 管理的容器或者微内核,从而允许对服务进行远程激活和管理。

  JMX作为一种技术最初设计用于管理单个代理,如一台应用服务器。JMX通过与JMS 的结合,其范围就可以扩展到管理单个代理、群集或松藕合的联合体(如果您喜欢,亦可称之为超级群集),允许对联合的 ESB 基础架构进行全生命周期和部署管理。由于 JMX 同时也集成了许多传统的管理协议,如 SNMP,因此ESB 基础架构可以为 Java、Web 服务和传统平台提供随需应变的(on-demand)的热部署和自我修复(self-annealing)式的基础架构。

  分布式编程模型

  分布式编程模型构成了实时企业的第1层:可在应用程序和服务(无论是内部还是外部)之间进行协作和通知的核心基础架构。ESB提供事件通知、动态路由选择和事务性确保传递;并且使用一个定义明确的过程语言以使应用程序通过一个公共 API 进行活动协调。

  实时企业要求在恰当的时间将正确的数据传递到正确的位置;JMS(Java消息服务)提供事件分布和事务性确保传递的方法。同时也需要智能数据结构(datafabric),它可以在需要的时候在网络范围内进行信息分发,目的是提高吞吐量和降低宝贵的后台系统的负载。该结构的骨干是通过JCache (Java 通用缓冲框架)所形成的。

  一个类似于Linda的元组空间(tuplespace)将消息队列的“一个且只有一个”传递语义与发布/订阅的广播功能和对等系统的松藕合结合到一起。元组空间就如同由无限数目的进程所共享的相连内存。进程可以向该空间中添加元组(本质上就是数据对象),或者从中取出元组来以独占的方式工作――如果需要的话,可以一直处于等待状态,直到匹配对象的出现。进程也可以读取元组而不需要将其从空间中删除。该范例(将消息队列的“一个且只有一个”传递语义与发布/订阅的广播功能和对等系统的松藕合结合到一起)被映射到 Jcache 的顶部,它提供一个该概念的高性能分布式实现。

  这也可以和一个业务流程模型引擎(例如,jBpm:www.jbpm.org)结合起来以提供一套丰富的分布式编程域。进程之间独立工作——从元组空间那里获得适当的输入,并将输出放回元组空间以便进行后续任务。进程在元组上的执行顺序比在传统工作流系统上的执行顺序所受到的约束要少。该模型提供分布式共享内存、通用的群集、并行计算以及分布式工作流和BPM 的基础。

  应用程序

  构成实时企业第3层的应用程序依赖于企业基础架构的资源,以及使用协作编程模型进行相互通信。架构师们已经意识到更松散藕合的和多层组件模型的优越性,而不是开发独立的或简单的两层客户/服务器(C/S)应用程序。为定义、发现和实际执行该模型(例如WSDL、UDDI 以及用于 Web 服务的 SOAP)而采用的标准有助于面向服务架构的实现。

  作为虚拟操作系统基础的J2EE应用服务器为基础架构提供了一个基于事务性的安全服务的集成点。由于分布式ESB 是一个像网格一样的使能技术,所以基于 OGSI 源代码组织定义的 Web 服务接口是一个很自然的选择。OGSI 当前是外化网格技术的事实标准,它允许在一个环境下所书写的网格服务可以很容易地部署在其他环境中。

  此外,ESB可以提供一个基于优化Tete算法的可扩展规则引擎。外化业务规则使得在较低层对迅速变化的业务流程、决策机制进行管理以及使消息过滤和路由选择变得可能,而不需要对基础应用程序进行代码级的改变。它将业务从对缓慢的代码开发周期的依赖中解放出来,允许精通业务的分析师进行必要的变化以支持新产品或法规需求的引进,而无需中断系统的运行。

  “在过去的10年中,竞争压力和日新月异的技术根本性地改变了企业运营节奏”

  管理支持

  实时企业要求服务在宏观和微观两个层面上管理和协调应用程序及其服务。第4层提供了实现安全策略、定义资源使用指南和集成操作流程所需的管理支持。基本功能包括:

  监视:整理事件和统计数据以了解应用程序的性能、资源使用情况和操作行为。它允许对整个基础架构进行模拟、错误判定以及对资源利用进行手动和自动平衡。

  反应协调:需要通过启发分析、动态规则和灵活的工作流对应用程序进行智能管理、控制、自我修复以及微调。通过使用有效的动态拓扑布局(在正确的位置运行正确数量的应用程序)、实时企业管理利用负载,并选择正确的硬件和位置来运行应用程序。

  ESB管理结构将分布式JMX与统计事件收集和对比与用在应用级的基于相同标准的 Java 规范框架进行了结合。这为资源使用、性能监视和警告通知提供了位置透明性、发现、远程控制和统计数据的整理。这些技术允许对在整个实时企业中的智能性资源可视化、协同合作和供应环境进行预言性的决策,从而为 IT 经理和业务经理赋予了洞察力。

  结束语

  使用一个分布式企业服务总线,企业可以通过利用标准以提供灵活实时的“按需服务”基础架构来最大化利用其在硬件和软件的现有投资,。该灵活的基础架构包括:

  提供可主动调整 IT 资源的技术,使业务领导可以转变核心信息服务以满足不断变化的市场

  创建一个基于开放标准的统一 IT 基础,它可灵活变化以满足未来的需求。

  降低 IT 基础架构的成本,同时保持高水平的性能。

  这些目标是通过企业消息传递、实时缓冲以及分布式主动管理技术的大量结合而实现的。结果就是一个具有更低总体成本和具有更高应对业务变化能力的IT基础。通过依赖于标准,实时基础架构将不同的技术结合到一个连续的结构中,这个结构提供了快速调整软件和硬件基础架构以满足企业实时业务需求的方法。


----《通信世界》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50