04-企业服务总线ESB架构

ESB介绍

ESB 是 SOA 的重要实现手段。ESB 实现 SOA 时,它作为中心、媒介,集成的系统将只与它进行交互。而 ESB 实现与各种系统间的协议转换、数据转换、透明的动态路由功能(基于内容)。
在设计 ESB 时,集中的分发模块会影响性能、可伸缩性、容错能力,所以 ESB 要有良好的可伸缩性,支持集群。

  • IBM 总结了 ESB 的功能,较完整的功能如下:

ESB主要功能

  • 应用程序的位置透明性
  • 传输协议转换
  • 消息格式转换
  • 消息路由
  • 消息增强
  • 安全支持
  • 监控和管理

采用ESB作为集成框架,能够实现灵活的部署结构,包括CS结构、P2P结构等。
采用ESB作为集成框架,待集成系统只需要和总线进行联系,彼此之间不需要互相通信,这样就大大降低了系统的藕合程度
采用ESB作为集成框架,在加入新的待集成系统时,只需要采用插件的试实现传输协议和数据格式的适配即可,系统的可扩展性较强。

ESB架构特性

  • 提供位置透明性的消息路由和寻址服务
  • 提供服务注册和全名的管理功能
  • 支持多种消息传递范型
  • 支持多种可以广泛使用的传输协
  • 支持多种数据格式及相互转换
  • 提供日志和监控功能

ESB总线核心架构

ESB的质量属性

可用性

ESB是企业内应用之间及对外第三方系统之间交互的集中点,它集中管理了交互的所有服务。它还提供服务查找、管理、审计、监控、分析等功能。当ESB服务出现故障,就将会影响企业内所有应用的正常运行。所以,可用被性放在了第一位。

性能

随着企业内部整合的推进,ESB内部的服务交易量应该不会少,高性能对于ESB来说也是非常重要的。

可修改性

因为SOA的企业治理是一个循序渐进的过程,在ESB部署之初,很难准确估计未来的交易量,所以,对性能的扩展性要求也比较高。

在实际的生产运维过程中,我们还是会常常发现,服务可能会出现这样或那样的问题。为了不影响服务消费者对服务的正常使用,快速的修改和部署,是一个很重要的问题。

ESB项目是随着SOA治理的发展而一次次迭代的,这也就要求了很高的可修改性。

可测试性

ESB上线既然是一个迭代的过程,服务会根据SOA理念的深入而增多。在迭代过程中,要保证以前的服务能顺利通过测试,可测试性是一个很重要的保障。

企业内的应用应该只需面向ESB,它们交互时并不需要知道这个服务位于哪里或是谁在使用该服务。这时,ESB测试就是一个很大的问题,因为当一笔交易开始的时候,你可能并不知道它会在哪里,但我们却要保证这笔交易是正确的,这样才能保持服务的正确性。

易用性

实现易用性需要提高服务的开发效率,即能快速开发和部署服务。因为它对生产上的活动没有影响,所以将它放在末尾。

ESB总线架构应用场景

案例一

某银行拟将以分行为主体的银行信息系统,全面整合为由总行统一管理维护的银行信息系统,实现统一的用户账户管理、转账汇款、自助缴费、理财投资、贷款管理、网上支付、财务报表分析等业务功能。但是,由于原有以分行为主体的银行信息系统中,多个业务系统采用异构平台、数据库和中间件,使用的报文交换标准和通信协议也不尽相同,使用传统的EAI 解决方案根本无法实现新的业务模式下异构系统间灵活的交互和集成。因此,为了以最小的系统改进整合现有的基于不同技术实现的银行业务系统,该银行拟采用基于ESB 的面向服务架构(SOA)集成方案实现业务整合。

请说明什么是面向服务架构(SOA)以及ESB 在SOA 中的作用与特点

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是釆用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

  • 1 支撑SOA 的关键是其消息传递架构-企业服务总线(ESB)。ESB 用于实现企业应用不同消息和信息的准确、高效和安全传递。
  • 2 面向服务的元数据管理:他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所握供的服务的描述;
  • 3 通信:服务的发布/订阋、响应/请求、同步/异步消息、路由和寻址等;
  • 4 服务交互:服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等;
  • 5 服务安全:认证和授权、不可否认和机密性、安全标准的支持等。

完善基于SOA 的银行信息系统架构设计方案

基于该信息系统整合的实际需求,项目组完成了基于SOA 的银行信息系统架构设计方案

请从(a)~ (j)中选择相应内容填入图5-1 的(1)~ (6),补充完善架构设计图。
(a)数据层
(b)界面层
©业务层
(d) bind
(e)企业服务总线ESB
(f) XML
(g)安全验证和质量管理
(h) publish
(i) UDDI
(j)组件层
(k) BPEL

针对银行信息系统的数据交互安全性需求,列举3 种可实现信息系统安全保障的措施

  • 1 釆用挑战/应答的认证机制,防止重放攻击。
  • 2 釆用加密技术保证信息在网络传输过程的安全。
  • 3 釆用数字签名技术保证信息传输过程的完整性和不可否认。
展开阅读全文

没有更多推荐了,返回首页