`

(转载)ESB的前世今生(上)

    博客分类:
  • ESB
阅读更多

序言

可能是一家集团企业的CIO,为了维持企业业务正常运转,已经部署了几个,十几个,甚至是几十个不同的IT系统。这些IT系统在运行初期,为提升企业的执行效率发挥了很大的作用,但随着业务内容的不断深入,发觉这些业务系统之间是离散的,是孤立的,你希望将这些系统进行整合。更进一步的,你盼望有一种神奇的魔力,不仅能够有效整合遗留系统,新建的IT系统也能够在这种魔力下获得一体化的支持,你所掌管的IT系统能真正做到随需应变,按需扩充。

你也可能是一家IT公司的CTO,你所带领的团队正在开发一种新的IT应用,你渴望用SOA理念来指导这个新应用的架构设计,但你又不知如何才能使SOA落地;你被灌输了太多的SCASDOBPEL等等的标准与规范,但你却不知道这些标准与规范又该如何运用到具体的项目;你同样希望有一种神奇的魔力,能够让你的团队多年积累下来的业务逻辑形成跨基础架构、跨技术平台的真正可重用的组件库,而这些组件库在流程编排下形成具体的功能模块,解决具体的业务场景。

 
那么,你找到问题的解决方案了吗?我有个主意,它叫ESB,它能让你的SOA真正落地。
是这样的吗?别急,先让我们来了解一下ESB的前世今生......

企业集成软件的发展史

在企业信息化进程的最初,一个应用软件的使用范围可能仅限于一个部门或某一种业务,由此而导致的情况是:一个大型的企业可能存在多个大小不一且支撑技术不同应用软件系统,这些系统可能基于不同的编程语言,运行在不同的硬件上,有着不同的系统平台。但随着企业的壮大,业务的发展,部门和部门之间的关键路径和业务接口逐渐增多,各个应用软件之间的信息交互也越发频繁同时企业与上下游合作伙伴之间,数据共享、流程整合的需求也不断催生,在这样的背景下,企业应用集成软件应运而生。至今为止,企业集成软件的发展,可以分三个阶段:

 

基于标准协议的代码定制

这是最初出现的集成软件。一个业务系统和另一个业务系统直接通话,业务接口采取定制代码的方式,通过一些标准的协议,例如HttpFtp等,紧密的集成在一起。这集成方式的缺陷不言而喻:缺乏可靠的数据传输保障系统毫无弹性可言数据交换时双必须同时在线部署模型是非常复杂混乱的网状结构等等。


于消息的代码定制

 

基于消息的异步编程模型,则为企业集成提供了一种新颖的解决方案。传统的消息中间件,能够有效解决数据传输的可靠性、稳定性与安全性,并且,消息提供的异步编程模型,避免了集成双方必须同时在线的问题,于是,人们在原方式中的数据载体由通过标准协议,换成基于消息,大大提高了数据的可靠性,以及部署上的分布性。但是缺点还是同样明显:路由逻辑和业务逻辑没有分离,系统基本没有扩展性,部署上还是网状结构等等。

<?XML:NAMESPACE PREFIX = V ?>
集线器模式

 

集线器模式在基于消息的基础上,引入了前置机-服务器的概念,使用一种集线器/插头(hub-and-spoke)的架构将消息路由信息的管理和维护从前置机移到了服务器上,巧妙的把集成逻辑和业务逻辑分离开来,大大增加了系统弹性。由于前置机和服务器之间不再直接通信每个前置机只通过消息和服务器之间通信,将复杂的网状结构变成了简单的星型结构。

 

集线器模式在企业集成的过程中取得了很大的成功,但是集线器模式的模型身存在不足:中央服务器的存在导致部署上无法分布开来同时,中央服务器承担了太多的工作和责任,往往会带来压力瓶颈以及硬件投资上的巨额付出。随着基于集线器模式的EAI系统的广泛使用,更多的不足逐渐暴露出来:

1、  集成的各方之间,依然是一种紧密耦合的方式,一方所暴露的业务接口,只能在当前的集成环境下使用,无法提供可复用的业务价值。

2、  业务系统之间的协议都是基于消息的,有时候很难跨越企业的防火墙。

3、  当集成的需求越来越多的时候,不断添加的功能使得集成系统日趋庞大缺乏灵活性且难于管理。

那么有没有一种更好的架构可以解决这些问题,并且能够在完成企业集成的同时,带来更大的业务价值?

分享到:
评论

相关推荐

    ESB的前世今生

    火龙果软件工程技术中心 序言你可能是一家集团企业的CIO,为了维持企业业务正常运转,你已经部署了几个,十几个,甚至是几十个不同的IT系统。这些IT系统在运行初期,为提升企业的执行效率发挥了很大的作用,但随着...

    ESB介绍和案例

    《SOA集成:将ESB上的服务使用者与服务提供者分离》可能会探讨如何通过ESB实现服务使用者和服务提供者的逻辑隔离,从而降低系统变更对整个架构的影响。ESB允许服务消费者只关注服务接口,而无需关心服务的具体实现,...

    ESB原理及Mule ESB实践

    ### ESB原理及Mule ESB实践 ...综上所述,ESB和Mule ESB是现代IT架构中不可或缺的部分,它们为企业提供了一种灵活、高效的服务集成方案。无论是理论层面还是实际应用,掌握ESB原理及Mule ESB实践都是非常有价值的。

    esb简单例子 学习esb的初学者 可以看看

    **ESB(Enterprise Service Bus)** 是企业服务总线,是一种中间件,旨在促进不同系统间的集成和通信。它提供了一种方式,使得各种应用程序和服务能够通过标准接口进行交互,而无需了解彼此的具体实现细节。ESB的...

    mule -esb 源码

    综上所述,Mule ESB的源码包含了丰富的组件和配置,从日志记录到企业级服务,再到安全性和网络代理,涵盖了构建一个强大集成平台所需的各种要素。理解并熟练掌握这些配置文件的用法,对于开发和维护高效、可靠的Mule...

    ESB技术学习教程,适用初学ESB人员

    Enterprise Service Bus (ESB) 技术是一种关键的中间件解决方案,特别适用于构建和整合分布式企业应用。ESB 的核心理念在于提供一个平台,使得不同的服务能够高效、安全地进行交互,实现服务导向架构(Service-...

    IBM ESB 介绍(IBM ESB Story)

    WebSphere ESB和WebSphere Message Broker的区别主要体现在它们的核心关注点上。WebSphere ESB强调服务生命周期管理和服务治理,而WebSphere Message Broker则侧重于高效、安全的消息传输。然而,两者可以协同工作,...

    C# ESB 分布式处理技术 Remote

    **C# ESB 分布式处理技术 Remote** 在软件开发中,企业服务总线(Enterprise Service Bus,ESB)是一种架构模式,它提供了一种在分布式系统中集成和交互服务的方式。C#中的Remote技术是.NET框架提供的一个关键组件...

    talend-ESB是什么?OSGI是什么?TOS-ESB相关组件介绍

    TOS-ESB支持广泛的服务集成方式,并可以运行于多种操作系统之上。Talend提供的图形化设计界面,使得用户可以像在Talend Open Studio中处理数据集成一样,直观地处理服务集成。TOS-ESB的相关组件包括一系列可以实现...

    ESB3实例代码及文档

    1. "ejb3.0实例教程.pdf":这是一个关于EJB3.0的实例教程,EJB3.0是Java平台上的企业级组件模型,用于构建可扩展、高性能和事务处理的服务器端应用程序。EJB3.0引入了许多简化开发的特性,如注解驱动的编程模型,...

    ESB.NET架构方案

    **ESB.NET架构方案** 企业服务总线(Enterprise Service Bus,ESB)是一种软件架构模式,用于构建松散耦合、灵活的企业级应用系统。它作为企业内部不同系统间通信的桥梁,允许服务消费者和服务提供者之间进行高效、...

    esb的简介和优点

    ESB 的简介和优点 ESB(Enterprise Service Bus)是指一种面向服务架构(SOA)中,用于集成多个应用系统和服务的总线式架构,它提供了一个通用的接口,用于连接和集成不同的应用系统和服务,使得不同系统之间可以...

    ESB

    **ESB:企业服务总线** 企业服务总线(Enterprise Service Bus,ESB)是企业级集成中的核心组件,主要用于解决分布式系统之间的通信问题。它提供了一种中间件架构,使得不同系统的服务能够互相交互,实现数据和服务...

    WSO2ESB的详细介绍指南

    2. 启动与配置:进入解压后的bin目录,运行相应操作系统的启动脚本(如Windows上的`carbon.bat`或Linux上的`carbon.sh`)。首次启动后,可以通过管理控制台进行基本配置,如服务器端口、用户管理等。 3. 环境变量:...

    Jboss ESB简介及开发实例

    ESB是过去消息中间件的发展,ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。 ESB是一种在松散耦合的...

    ESB原理架构实现及应用

    摘要:随着面向服务体系结构(s0A)的推出及其深入应用,企业服务总线(EsB)在理论和应用方面成为软件开发、集成与部署的 热点技术。论文分析了ESB的原理,对其体系结构进行了归纳,根据现有的ESB实现平台,重,最介绍...

    企业消息总线(ESB)源代码

    企业消息总线(ESB),全称为Enterprise Service Bus,是企业级软件系统中的一种关键架构组件,用于实现不同系统间的松耦合通信。它通过提供一个中间层来处理消息传递,使得应用程序可以发送和接收消息,而不必直接...

    JBOSS_Esb学习资料

    【JBOSS_Esb学习资料】是一份涵盖了JBOSS ESB基础到进阶学习的综合资源包。JBOSS ESB(Enterprise Service Bus,企业服务总线)是Red Hat公司的开源中间件产品,它提供了服务集成和服务导向架构(SOA)的实现,允许...

Global site tag (gtag.js) - Google Analytics