技术开发 频道

现代机场信息化建设ESB的设计



【IT168 专稿】

1.概述
    现代机场信息化建设中存在多则几十个不同的业务系统,不同的业务系统往往由不同的公司采用不同的标准、不同的接口开发而成,这些业务系统之间存在大量的数据交换,在涉及不同业务系统之间数据交换时,就必须用到EAI技术,在当前SOA架构下的EAI与传统的EAI又有所不同,SOA下的EAI技术是采用企业服务总线ESB的方式,并采用统一的标准接口连接不同的业务系统。
    在机场信息化建设中有两个主要的业务模型,一类是发布/订阅,另一类是请求回复,针对这类业务模型,我们选用IBM公司的ESB产品WebSphere Message Broker和WebSphere MQ来构建机场信息化建设的企业服务总线(ESB)平台,并介绍设计过程。
 
2.企业服务总线ESB的演变
企业服务总线ESB来源于EAI技术,EAI发展到ESB经历过三个阶段:
2.1定制连接,两两互连
最早期的EAI解决方案就是将企业中需要互通信息,共享数据的系统两两桥接起来。桥接的技术也是为两个特定系统专门定制通讯链路来转换这两个系统的接口,协议以及数据格式等差异。


图 1 传统点对点模式
缺点:全部使用专门为两个特定系统定制的连接,在企业系统众多的情况下连接急剧增加,难以开发,后期维护更加困难。剧Gartner Group在2003年4月发布的调查结果显示,大约有35%的企业软件预算用于维护大量已经存在的点对点应用连接上。CIO Insight在2003年2月也提出了类似观点,他们发现维护和管理这些点对点连接平均用去企业IT预算的29%。由于这些专用连接完全互相独立,其只能满足系统两两互连通讯的需求,无法实现涉及多个应用系统的复杂业务流程。
2.2星型(Hub/Spoke)架构



图2
由于两两互连方式具有上述明显缺陷,星型架构的解决方案应运而生。该方式提供一个应用集成中心(hub),这个中心具有自己的连接协议,所有需要集成的系统(spoke)都和该中心相连,同时,该集成中心往往通常也作为某个核心业务系统。原来用户每集成一个系统,都要考虑改系统和其他所有系统的点对点连接的协议数据结构的转换,而在星型架构下,用户只需要考虑系统和集成中心的点对点连接上转换。这样,原来n个系统之间的n * (n-1) / 2个点对点连接减 少为n个连接。
缺点:集中式的结构容易造成效率瓶颈,同时存在单点失效的问题。一旦Server崩溃后,整个系统就都不能运行了。在这种模式下,要达到系统的可扩展性只有通过加入多集成Server,这样就造成了附加的结构和管理上的复杂度。同时,对Hub、适配器、工作流的编程与管理较为昂贵,且重用性较低。
2.3总线型架构
随着IT技术的发展,企业应用集成的需求急剧增加,上述朴素的星型结构已不能很好的满足这些需求,总线型企业服务总线(Enterprise Service Bus)的体系结构逐渐浮出水面。这种体系结构继承了星型(hub-spoke)式体系结构将各个系统点对点连接转化为多个系统对中心的连接的理念。但在这种体系结构中,集成中心被扩展成可以分布在多个物理节点上的总线,从而有效解决了中心——辐条模式的单点失效和效率问题。


3总线型架构[ESB/EAI解决方案]
 
ESB技术并不仅仅是简单的将集成中心被扩展成总线。企业服务总线本身提供各种消息路由,数据转换等各种EAI模式的支持。这种总线一般以成熟的应用集成中间件作为其物理消息传递背板,保证消息在分布式环境下可靠高效的传输。同时,企业服务总线作为应用集成系统的基础框架,大多数采用面向组件的技术,这实际上是SOA的雏形。
与Hub-and-Spoke结构相比,总线结构的可扩展性更好,并且能提供更好的性能表现。由于采用总线形结构,当要集成进一个新的应用时,只要加上一个Adapte插入总线即可,可以做到类似即插即用的功能。对于消息的传送来说,集成Server只是起到一个控制的作用,真正的传输是在信息总线上,这样集成Server的负荷就轻了许多。
另外,ESB体系机构中往往包含商业流程管理(BPM)和商业活动监控(BAM)模块的实现。BPM作为ESB的消费者,可以将总线上的各个服务(或组 件,适配器等)按照用户需要的商业逻辑组装起来,使这些服务按照业务逻辑顺序执行,从而实现用户完整的业务功能。而BAM提供对整个ESB,ESB上的服 务和BPM的运行状态进行监控和管理。
SOA(面向服务的体系架构)



4 面向服务的体系架构
面向服务的体系架构(Service Oriented Architecture)是目前EAI领域非常先进的体系结构。实际上,SOA的提出在很大程度上就是为了更好的满足企业应用集成的需求。SOA强调复用和松偶合,注重接口及其标准化描述,这些都为企业应用集成规划了非常好的框架体系结构。除了具有前面ESB结构的优点之外,基于SOA的应用集成系统具有 更好的可扩展性和灵活性,用户可以在对已有系统影响最小的情况下开发应用新的业务模块(服务)或修改已有模块,从而快速满足业务需求的变化。
本质上说,SOA架构对应用集成的基本要求有以下几点:
SOA在相对较粗的粒度上对应用服务或业务模块进行封装与重用。这是对服务提供者本身的要求。
服务间保持松散耦合,基于开放的标准,服务的接口描述与具体实现无关。这是从服务消费者的角度应该看到(了解)的服务提供者的样子。
灵活的架构-服务的实现细节,服务的位置乃至服务请求的底层协议都应该透明。这是对服务消费者消费服务提供者提供的服务的方式的要求。基于SOA架构的EAI产品一般使用企业服务总线(ESB)来满足(实现)这一要求。
可以看到,SOA的体系结构一般来说也需要企业服务总线的支撑,只是它对总线上的服务和总线本身的作用和位置有着更加明确的要求。
好的符合SOA的EAI系统也同样整合了对BPM和BAM的支持。这里特别要指出的是,在符合SOA的EAI系统中对BPM的支持具有更多优点。在传统 ESB系统中,BPM往往是厂家相关的专门模块,这一模块存在于ESB之上并且是不可替换的。而在符合SOA的EAI系统中,BPM模块也作为一种服务 (编排服务)其本质上和其他服务没有差别,这使得用户选择多种服务编排方式(即不同的BPM实现)成为可能。
0
相关文章