企业服务总线(ESB)技术揭秘

 一、 概述
为了使企业集成和中间件问题的简单化,出现了企业通信、互连、转换、可移植性和安全等方面的标准。企业服务总线(Enterprise Service Bus, ESB)是一种新的软件架构,成为企业可采用的、基于标准的、作为构建企业应用xxxx系统骨干的技术。这篇文章将澄清ESB技术,并讨论不同供应商实现 之间细微的,但却是非常重要的差别。

二、 介绍
如今的企业网络动辄部署来自几十甚至上百个不同供应商的应用软件系统。在企业系统之间几乎没有标准的通信协议,在不同供应商的应用系统之间交 换数据是非常困难的。这种统一标准的分布式企业应用平台的缺乏,增加了开发和部属企业级解决方案的复杂性和成本。ESB就是用来解决这些问题以及其它问题 的、一种创新的企业应用服务中间件平台。

ESB并不是一个革命性的概念;它是从逐步出现的企业通信、互连、转换、面向服务的应用构建、可移植性和安全性等标准中演化而来的。ESB率先承诺创建一个真正基于标准的企业应用骨干网,用来部署业务过程处理系统、协同系统和分布式业务解决方案。

三、 企业解决方案的需求
企业级解决方案的需求已经完整保持了20多年没有多大变化。典型的企业解决方案是由一个或多个应用系统(也可以叫做服务或组件)组成,这些应用系统联合协同起来,组成一个整体的分布式解决方案,这个方案具有以下特点:

通信
服务需要通过网络相互之间可靠地通信。一个可靠的、可伸缩的、鲁棒的和与位置无关的通信系统,能够极大地减少分布式系统的开发时间,同时增加系统的可靠性。

互连
为了从服务中提取数据,你首先必须能够很容易地联接到这个服务。在缺乏标准的情况下,这将是非常困难的。

转换
一个服务产生的数据一般来说并不容易为另一个服务所理解;为了使数据能够被其他服务所处理,应该首先对数据进行适当的转换。

面向服务的应用架构
分布式系统跨越多个节点和多种操作系统,一般是由一系列独立运行的服务组成,这些服务通过事件驱动的消息系统松散耦合在一起。这种面向服务的应用程序组织方式允许对应用系统进行添加和动态扩展,大大降低了系统维护成本和总体拥有成本(TCO)

可移植性
大部分企业拥有一系列的计算机系统,从瘦客户端、Windows桌面PC、到xx的Unix服务器和主机系统。在不同的操作系统环境之间的可移植性和易于通信一直是企业解决方案所关心的问题。

安全性
{zh1},企业服务之间的连接和通信必须建立在一个企业认可的安全水平之上。因为分布式应用跨越不同的部门和地域,位置可能在防火墙以内,也可能在防火墙以外,所以安全是非常重要的。

四、 早期的集成解决方案
在20世纪90年代中期,一些公司按照上面的设计模式开发了企业应用集成(EAI)解决方案。但不幸的是,所有的这些解决方案都是私有的和封 闭的。WebSphere MQ和TIBCO Rendezvous是这些私有的通信总线的{zh0}的例子。一些公司开发了私有的连接器,用来连接许多打包的企业应用系统(包括 SAP,PeopleSoft,Oracle以及其他一些公司的应用系统)。然而,由于缺乏互连的标准,必须为每个不同版本的企业应用或系统开发新的连接 器,这就造成了很大的维护问题。
由于缺乏转换标准,每个EAI软件供应商都开发了自己的数据转换引擎,造成更多的私有中间件。大部分解决方案用C/C++或其他私有的、无法 移植的语言开发,导致了不断增长的移植和维护费用。{zh1},大部分EAI中间件平台的安全性是采用事后补偿的方式添加进去的,造成了一个破碎的安全模型。
毫无疑问,企业的CIO们感觉到了他们手里有一系列棘手的问题。

五、 标准的出现
企业应用通信、互连、转换、可移植性和安全性标准的出现,极大地简化了企业应用中间件的问题。不管怎么说,企业应该竭力避免依赖于一个单独的 供应商。这可以通过在一个复杂的异构环境中采用真正开放的业界标准而成为可能。基于标准的技术扩大了你的选择范围,同时也降低了成本。这些标准包括:

通信标准
1998年,Java Message Service (JMS)出现并成为企业应用通信的主流标准,当前已经有数以千计的企业实现了这个标准。JMS得到了如此强烈的支持,以至于其它消息中间件,如IBM的 WebSphere MQ也不得不提供JMS接口。JMS流行的秘诀在于它作为一个工业标准,很好地把满足几乎所有垂直市场需求的功能和具有吸引力的价格结合在一起。

互连标准
Web服务标准允许企业系统或应用程序有效地把自己的接口暴露给外部世界,大大简化了企业应用系统之间的互连问题。这些标准包括简单对象访问 协议(SOAP),通用描述、发现和集成(UDDI)和Web服务描述语言(WSDL)。SOAP为XML提供了远程过程调用(RPC)的能力。UDDI 提供了一个便于搜索的XML Web服务的注册库。WSDL是一个基于XML的接口描述语言(IDL),用它来描述XML Web服务。XML是一个Web数据的标准,现在已经作为一个通用的数据格式被用在系统架构的各个层次上。

转换标准
过去几年,扩展标志语言转换(XSLT)和Xquery出现并作为企业数据转换的标准,得到了大多数供应商的支持和全球用户的认可。XSLT 把XML文档从一种元数据格式转换到另一种元数据格式,可以用来实现具有不同XML元数据格式的系统之间的数据交换,或把XML数据映射到输出设备。

面向服务的系统架构(SOA)
SOA的出现,使你可以把复杂的分布式应用系统(分布在多种平台和多种操作系统上)划分为一系列事先定义好的、可以异步调用也可以同步调用的 服务。这样,你就可以把开发和测试过的服务集成为应用系统,这种集成的应用系统可以很容易地通过添加或替换其中的服务来改变或扩展。这直接提高了企业应用 的重用程度,减少了产品面市的时间,降低了系统的总体拥有成本(TCO)。

可移植性
Java编程语言(遍布全球的超过三百万程序员和全球财富1000强的公司均采用这种语言)是创建可移植的企业应用和中间件的标准。使用 Java实现的现代中间件不经改变就可以运行在多种硬件和操作系统平台上,包括Windows、Unix/Linux、主机系统和中型机系统。

安全性
广泛采用的 J2EE 和 LDAP 兼容的安全性,对整个网络中计算机上运行的应用程序或服务,为系统管理员提供了细致的监控能力。另外,基于安全套接字层(SSL)的传输层安全为私密性和 完整性检查提供了一个鲁棒的安全机制。轻量级目录访问协议(LDAP)是设计直接运行在TCP/IP协议栈的X.500协议的一个子集。与X.500一 样,LDAP 也是一个信息模型和一个查询和维护这个信息模型的协议。LDAPv3是{zx1}的版本,由Internet Engineering Task Force (IETF)研发,它解决了以前版本的LDAP在部署时发现的问题。SSL是一个开放的、非私有的在计算机网络中安全传输数据的协议,SSL位于应用层协 议和连接层协议之间。SSL为TCP/IP连接提供服务器认证、消息完整性、数据加密和可选的客户端认证服务。

这些标准的出现刺激了基于标准的企业应用骨干的发展:即ESB。

六、 ESB的定义
一个基于标准的软件架构种类诞生了。ESB是一个实现了通信、互连、转换、可移植性和安全性标准接口的企业基础软件平台。
正在出现的ESB产品一般应该实现:
• 基于标准的消息通信架构(即JMS)
• 基于标准的互连如Web服务、J2EE和.NET适配器 (Sun公司的J2EE和微软公司的.NET是两种在市场占统治地位的分布式计算架构,J2EE提供了一种语言(Java)跨越多种操作系统和硬件平台的 可移植性,.NET支持多种语言但基本上绑定在微软的Windows操作系统和Intel平台上。)
• 基于标准的数据转换引擎(即XSLT和Xquery)
• 应用部署的SOA方式
• 基于标准的安全性(即LDAP和SSL)
现代的ESB产品实现(见图1)一般支持多种开发语言,结合ESB架构本身具有的可移植性,使ESB成为一个真正支持多语言、多平台的企业应用骨干系统。

七、 ESB的优势
ESB把{zx1}的整合技术升华到一个基于标准的、经济易用的软件平台产品。ESB与当前市场上存在的、私有的集成方案相比,具有以下的优势:

扩展的、基于标准的互连技术
ESB包含了一个基于标准的消息系统,使企业内部以及外部整个价值链上的系统之间,可以很容易地通过异步或同步交换信息。ESB通过Web服务、J2EE、.NET和其他标准提供更强的系统互连功能。

灵活的、基于服务的应用组合
基于面向服务的架构(SOA),ESB应用模型允许复杂的分布式应用,包括跨越多个应用程序、系统和防火墙的集成解决方案,由事先开发和测试好的服务灵活组合而成,这为系统提供了易扩展性。

通过提高重用来降低总体拥有成本(TCO)
SOA方式直接提高了重用程度,降低了维护难度,因而降低了系统的总体拥有成本(TCO)

减少面市时间和提高生产率
ESB通过重用组件和服务,以及SOA提供的简便的应用组织方式、基于标准的通信、转换和互连来提高生产率和减少面市时间。

所有这些优势都来源于ESB架构中的每个组件对于通信、互连、转换、移植性和安全性标准的强有力支持。

八、 ESB的实现
不同的ESB供应商会选择不同的实现策略,它们经常会在一些特殊领域增加额外的价值,当评估ESB产品时,应该考虑以下的核心特征:

鲁棒性、可扩展性和性能
虽然大部分ESB产品都支持JMS标准,但在实现的质量上会有很大的差别。{zj1}有扩展性的产品具有xx分布式特点:数据在各个服务组件之间并 行流动,没有单故障点,分布式结构中实现集中控制。扩展性稍差的一些产品支持一个或多个代理中心,因此会产生数据瓶颈,降低效率。

数据路由机制
在ESB框架内参与一个业务过程的服务可以使用不同的方法相互通讯。大多数ESB产品最少实现其中一种方法,有的实现全部:
﹡ 传统的JMS路由,数据路由是组件的业务逻辑的一部分
﹡ 基于内容的路由,根据数据的内容选择路由(一般基于XML)
﹡ 外部路由,数据在组件实例之间的路由对参与的服务来说,是xx透明的,因为路由数据的处理过程与数据产生过程是xx分开的,所以这种方式允许在业务流程之间很容易地重用组件;开发者因而可以忽略数据路由,而把精力集中在业务逻辑的创建上。
﹡ 服务的执行可以位于中心或某个端点

计算密集型服务
计算密集型服务,如数据转换逻辑,可以由中心服务器执行,但会产生一个潜在的性能瓶颈,或者由网络节点执行,允许分布式处理,从而得到更好的 扩展性和性能。流程构建和管理工具:基本的ESB架构提供应用程序编程接口(API),在正在运行的服务之间路由数据。然而,先进的ESB产品,允许由事 先开发和测试好的服务组成业务解决方案,从而提供附加的价值。这样的应用灵活组成程序部署在ESB平台之上,简化了对现存的Web服务、数据库应用程序、 遗留系统和J2EE、.NET软件资产的组件化。这也提高了企业业务流程的重用程度,降低了开发和管理费用。

流程组合和管理工具
基本的ESB结构提供应用程序编程接口(API)在正在运行的服务之间路由数据。然而,先进的ESB产品,允许由事先开发和测试好的服务组成 业务解决方案,从而提供附加的价值。这样的组织应用程序的平台部署在ESB之上,简化了已经存在的Web服务、数据库应用程序、遗留系统和 J2EE、.NET软件资产的组件化。这也增强了企业业务流程的重用程度,降低了开发和管理费用。

九、 结论
利用出现的通信、互连、转换和安全性标准,ESB在整个企业内部和合作伙伴之间提供了一个强大的、可管理的,基于标准的企业骨干系统。ESB 使运行业务的过程变得平滑,节约了时间、人力和集成支持这些业务过程的组件的费用。这种方式的一个强大的优势在于,它允许企业内部的自己的开发小组,利用 已经可供整合的组件,根据具体要求很容易地集成到ESB中,构建新的应用。相关的优势还包括节约昂贵的技术投资,减少面市时间和提高现有软件资产的重用程 度。

词汇表

术语

简介

J2EE

Sun公司的J2EE和微软公司的.NET是两种在市场占统治地位的分布式计算架构,J2EE提供一种语言(Java)在跨越多种操作系统和硬件平台的可移植性。

LDAP

轻 量级目录访问协议(LDAP)是直接运行在TCP/IP协议栈的X.500协议的一个子集。与X.500一样,LDAP 也是一个信息模型和一个查询和维护这个信息模型的协议。LDAPv3是{zx1}的版本,由Internet Engineering Task Force (IETF)研发,它解决了以前版本LDAP在部署时发现的问题。

.NET

微软公司的.NET和Sun公司的J2EE是两种在市场上占统治地位的分布式计算架构,.NET支持多种语言但基本上绑定在微软的Windows操作系统和Intel平台上。

Secure Sockets Layer (SSL)

SSL是一个开放的、非私有的在计算机网络中安全传输数据的协议,SSL位于应用层协议和连接层协议之间。SSL为TCP/IP连接提供服务器认证、消息完整性、数据加密和可选的客户端认证服务。

SOAP

简单对象访问协议, SOAP为XML Web服务提供了基于HTTP/XML的远程过程调用(RPC)的能力。

UDDI

通用描述、发现和集成,UDDI提供了一个便于搜索的XML Web服务以及其相关的URL和WSDL页面的注册库。

WSDL

Web服务描述语言,WSDL是一个基于XML的接口描述语言(IDL),用来描述XML Web服务以及如何使用该Web服务。

XML

XML是一个Web数据的标准,现在已经作为一个通用的数据格式被用在系统架构的各个层次上。现在已经发展了许多特定领域的XML词汇表,用来支持特定的政府和工业应用。

XSLT

扩展标志语言转换,XSLT把XML文档从一种元数据格式转换到另一种元数据格式,可以用来实现具有不同XML元数据格式的系统之间的数据交换,或把XML数据映射到输出设备上。



郑重声明:资讯 【企业服务总线(ESB)技术揭秘】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——