在企业信息化进程的最初,一个应用软件的使用范围可能仅限于某一个部门或某一种业务,由此而导致的情况是:一个大型的企业可能存在多个大小不一且支撑技术不同的应用软件系统,这些系统可能基于不同的编程语言,运行在不同的硬件上,有着不同的系统平台
但随着企业的壮大,业务的发展,部门和部门之间的关键路径和业务接口逐渐增多,各个应用软件之间的信息交互也越发频繁,同时,企业与上下游合作伙伴之间,数据共享、流程整合的需求也不断催生,在这样的背景下,企业应用集成软件应运而生
至今为止,企业集成软件的发展,可以分为三个阶段:基于标准协议的代码定制这是最初出现的集成软件
一个业务系统和另一个业务系统直接通话,业务接口采取定制代码的方式,通过一些标准的协议,例如Http、Ftp等,紧密的集成在一起
这种集成方式的缺陷不言而喻:缺乏可靠的数据传输保障;系统毫无弹性可言;数据交换时双方必须同时在线;部署模型是非常复杂混乱的网状结构等等
基于消息的代码定制基于消息的异步编程模型,则为企业集成提供了一种新颖的解决方案
传统的消息中间件,能够有效解决数据传输的可靠性、稳定性与安全性,并且,消息提供的异步编程模型,避免了集成双方必须同时在线的问题,于是,人们在原先方式中的数据载体由通过标准协议,换成基于消息,大大提高了数据的可靠性,以及部署上的分布性
但是缺点还是同样明显:路由逻辑和业务逻辑没有分离,系统基本没有扩展性,部署上还是网状结构等等
集线器模式集线器模式在基于消息的基础上,引入了“前置机-服务器”的概念,使用一种集线器/插头(hub-and-spoke)的架构,将消息路由信息的管理和维护从前置机迁移到了服务器上,巧妙的把集成逻辑和业务逻辑分离开来,大大增加了系统弹性
由于前置机和服务器之间不再直接通信,每个前置机只通过消息和服务器之间通信,将复杂的网状结构变成了简单的星型结构
集线器模式在企业集成的过程