ESB介绍讲座PPT
ESB方式的系统整合ppt课件
Body Layer
<Body messageName=’test.txt’ encoding=’base64’> z/vPoX3M/fz7XNs1AxMQ0K </Body> </Message>
应用系统接入要求及限制
标准适配器 专用适配器 商用适配器 文件传输适配器
消息结构 消息示例
应用系统接入要求 消息大小
信息交换总线系统组成
信息交换中心
消息路由 消息转换 消息备份
适配器
标准适配器 专用适配器 商用适配器 文件传输适配器
监控系统
查询消息状态 提供消息流量统计分析,如各服务系统的日交易量,各请求系统的
IBM的WebSphere Message Broker 或 BEA的AquaLogic Service Bus
WebSphere MQ
内容提要
信息交换总线系统综述
信息交换总线系统接口标准
建立基于XML的消息格式标 准,并考虑与总行的消息格 式标准相对应。
应用系统接入要求及限制
系统架构 数据流
图例说明 消息流 控制信息流
Worker Manager
Adapter Controller
Dispatcher
应用 系统
Worker
APP Connector
MsgBus Connector
专用适配器
信
息
交
本
地
队 列
接收消息
接收队列
换 中
心
发送队列 发送消息
MQ
适配器(3)-- 商用适配器
IBMESBMB技术介绍.ppt
▪什么是企业服务总线 ▪IBM的企业服务总线 ▪如何进行系统集成 ▪实例参考
2
© 2008 IBM Corporation
IBM Software Group | WebSphere
企业服务总线与SOA
▪ ESB:Enterprise Service Bus
▪ An ESB is software infrastructure that simplifies the integration and flexible reuse of business components within a Service-Oriented Architecture.
企业应用互联
Web app
Existing Infrastructure Packaged Applications BPO Services
© 2008 IBM Corporation
IBM Software Group | WebSphere
SOA – ESB:Enterprise Service Bus
业务绩效管理服务 WebSphere Business Monitor
流程服务
WebSphere Process Server
信息服务
WebSphere Information Integrator
企业服务总线 WebSphere MQ WebSphere Message Broker
WebSphere ESB
Claims Management CBS
Policy Administration CBS
用户整合展现 服务治理
业务流程管理
组件和服务
(Modular, location independent)
MuleESB总线讲解PPT课件
Surveillance solutions & services
➢ 无状态的服务设计 服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请
SOA面向服务架构-元素
1、服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服务的另一个服
务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务请
6
求者根据接口契约来执行服务。
2020/11/20
2、服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自请求者的 请求。它将自己的服务和接口契约发布到服务注册中心,以便服务请求者可以发现和访问 该服务。
3、服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储库, 并允许感兴趣的服务请求者查找服务提供者接口。
面向服务的体系结构中的每个实体都扮演着服务提供者、请求者和注册中心这三种角色中 的某一种(或多种)。
Surveillance solutions & services
面向服务的体系结构中的操作包括: 发布:为了使服务可访问.需要发布服务描述以使服务请求者可以发现和调用它。 查询:服务请求者定位服务.方法是查询服务注册中心来找到满足其标准的服务。 绑定和调用:在检索完服务描述之后,服务请求者继续根据服务描述中的信息来调用服务 。
求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时 ,它们可以定义成通用业务流程、函数和 数据模型。
➢ 基于开放标准 当前SOA的实现形式是Web服务,基于的是公开的W3C及其他公认标准.采用第一 代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现 SOA。
ESB介绍材料课件
申请
承保
核保 核心业务流程
ESB
购
数据
买
保
险
服
数据
电子商务系统
务
数据
路由
数据
数
适
据
配
器
数
据
数据
适 配 器
数据
数据
适
安系 数配
全统 据器
数据
管监转
理控换
保险公司A 保险公司B
公司CRM
11
EESSBB应应用用场场景景————数数据据整整合合
背景:
航空公司有多个独立的 管理系统。其中订票系统、 运费系统、结算系统、地 服系统、收益管理系统等 都需要获取航班数据。但 是航班数据是在另一个独 立的系统——航空公司运控 AOC系统中维护的。也就是 说航班信息在AOC系统中维 护,并及时同步到其它系 统中。
运控系统
访问1
订票系统
访问2
收益管理 系统
访 问 3
数据接收服务 订票系统 运费系统 结算系统 地服系统
收益管理 系统
运费系统
结算系统
地服系统
点对点方式,每对系统都要开发一套访问程序。 可扩展性差:新增一个系统,原系统改变协议时
都要处理。 协议、格式没有统一标准,很难产品化。 对于异构系统来说,之间的交互会更复杂。 各个系统分别访问运控系统,导致数据的不一致。 缺少统一的管理和监控。
消息验路证用由户证书
LD安AP全
通过安全处理,监我控们可和以管验理证用户身份,确保系
统安全。
功能7:监控和管理 ESB
1.路由 2.转换 3.安全 4.连接
通过系统监控管理,可以记录和监控系统运行 情况,方便解决问题。
ESB企业服务总线解决方案ppt课件
控制台安全性
策略
传输 SDK
服务
服务
服务
服务
11
正文·第二章
E
S
B企
架 构
业 服 务
体总
系
线 整
体
架
构
第二节
12
正文·第二章
E
S
B企
架 构
业 服 务
体总
系
线 整
体
架
构
第二节
•数据库 •服务聚合 •遗留系统和应用程序适配 器 •EAI 中间件的连接性 •服务映射 •协议转换 •应用程序服务器环境(如 J2EE 和 .NET) •服务调用的语言接口(如 Java /C/C++/C#)
16
正文·第三章
E
S
BE
实S
施B
方 法 论
项 目 实 施
过
程
第二节
1
采用统一规划,迭代式开发,分步实施的策略;
2
仔细制定各系统边界,以防需求蔓延;
3
合理选择第一批上线系统,保证进度,增强客户信心;
4
合理规划现场、基地工作,降低项目成本;
5
易导致ESB项目失败的主要因素:
➢ – 系统定位不清
➢ – 对项目支持力度不足
功能差异的开发或修改
• 对内置服务,比如流水和冲正,客户可能会有不同的需求;也会有部分 功能产品未提供,需要项目组现场开发
3 开发阶段 22
正文·第三章
开发阶段-开发模型
E
S
BE
实S
施B
方 法 论
项 目 实 施
过
程
第二节
3 开发阶段
1第一批次中,设计及编码可在基地完成, 同时现场执 行接口分析;此过程要求现场与基地建立 顺畅、及时地沟通渠道 2 第一批次中,尽可能收集银行后期接入系 统使用的通 讯协议和报文格式;并把客户的功能需求 尽可能收集完 整 3 第一批系统上线后,基地开发人员可减少 甚至撤出, 后期的项目工作将主要是确定接口,测试 交易联通性。因此,此后工作建议现场项 目组全部完成
ESB介绍篇精品PPT课件
ESB常用技术与规范
XML/SOAP Web Service(技术与相关规范) JMS/Servlet/EJB JBI /SCA
– 服务边界清晰 – 服务自治,低耦合 – 服务通过Schema和Contract发布,而不是Class和
Type
SOA将业务应用拆分为动态的和 可重用的服务
传统应用程序
组件化的应用程序 组合的应用程序
1
2
3
因需求重新组合 的应用程序
1、将应用分解为模块和可重用的函数以及服务;
2、组合服务和模块以符合业务需求;
对象建模 通用业务对象建模 数据格式库 B2B 集成的公共与私有模型 开发和部署工具
10、基础架构智能
业务规则 (EIP)
策略驱动的行为,特别是对于服务级别、服务 功能的安全和质量(例如 Web 服务策略(WSPolicy))
最简单ESB功能构成
支持SOA的最低功能的ESB
实现原则
– ESB 是一种逻辑体系结构组件,它提供与 SOA 的原则保持一致的集成基础架构。
软件开发的演变历程
面向机器语言(Monolithic)的开发模式 面向过程(Procedure)的开发模式 面向对象(Object)的开发模式 面向组件(Component)的开发模式 面向服务(SOA)的模式
什么是SOA
Service Oriented Architecture 一种以服务为基础的架构
– 控制服务寻址和命名的管理功能
– 至少一种形式的消息传递范型(例如,请求/响应、发布/订阅 等等)
– 支持至少一种可以广泛使用的传输协议
集成
– 支持服务提供的多种集成方式,比如 Java 2 连接器、Web 服 务、异步通信、适配器等等
ESB企业服务总线解决方案(ppt 32页)
科技股份有限公司
目录页
1 2 3 4
ESB架构简介 ESB架构体系 ESB实施方法论
成功案例
过度页
第一章
ESB架构简介
正文·第一章
E
S
B
架 构
什 么
简是
介E
S
B
第一节
ESB全称为Enterprise Service Bus,即企业服务总线。
一个ESB是一个预先组装的SOA实现,它包含了实现SOA 分层目标所必需的基础功能部件。
Multicast SMTP
HTTP
标准和消息格式
ACORD XML FIX AL3
EDI-FACT SWIFT HL77 EDI-X.12
Custom Formats HIPAA ebXML
COBOL Copybook
Word/Excel/PDF
错误恢复与事务完整性
过度页
第三章
ESB实施方法论
正文·第三章
线 整
体
架
构
第二节
•数据库 •服务聚合 •遗留系统和应用程序适配 器 •EAI 中间件的连接性 •服务映射 •协议转换 •应用程序服务器环境(如 J2EE 和 .NET) •服务调用的语言接口(如 Java /C/C++/C#)
•性能 •吞吐量 •可用性
•身份验证 •授权 •不可抵赖性 •机密性 •安全标准
应用之间点对点的连接 实现简单、基本的信息交
互和数据传递
ESB构架 面向服务体系架构
通过企业服务总线实现服务的整 合集中和流程实现
借助标准的接口灵活地连接,实 现真正的随需应变
过度页
ESB背景、介绍、定义
ESB作者: 佚名, 出处:IT专家网,责任编辑: 徐蕊,2007-05-14 18:06 企业服务总线(Enterprise Service Bus),以下简称ESB,是过去消息中间件的发展。
ESB 采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。
ESB定义:ESB是一种在松散耦合的服务和应用之间标准的集成方式。
它可以作用于:面向服务的架构-分布式的应用由可重用的服务组成面向消息的架构- 应用之间通过ESB发送和接受消息事件驱动的架构- 应用之间异步地产生和接收消息ESB就是在SOA架构中实现服务间智能化集成与管理的中介。
ESB来由背景过去几年里,美国企业的经营理念在竞争加剧和IT发展的驱使下,开始朝着实时型企业(real-time enterprise)的管理模式发展。
实时型企业是Gartner公司提出来的概念。
要想成为一个实时型企业,企业就必须能对发生在任何地方和任何时间的关键业务和事件做出最迅速的反应,其反应速度必须是瞬间,即零延时的。
一个实时型企业必须具备实时处理突发事件的能力。
显然,实时型企业希望能够在事件发生时,就立刻做出相应的反应。
它使得企业管理不再是被动地对所出现的状况进行反应,而是能进行主动及时地反应,在商机出现时,实时地完成商务运作,在零延时的状况下抢占市场先机。
实时型企业的管理和运转已呈现出了由事件实时驱动管理能力和反应能力的态势。
一个具备实时反应能力的企业对信息系统的整合提出了前所未有的高要求,因为分割和零散的系统将阻碍其成为实时型企业。
对大型企业而言,想整合现有的系统本身就是一项巨大的工程,加之还要在整合中兼顾企业发展的新需求,这就难上加难。
可见,想在维持企业正常工作的环境中,同时兼顾新旧系统之间的融合、解决各分支机构和各部门间的信息沟通和数据共享,真正转变为一个实时型企业的难度很大。
ESB_技术规范PPT
ESB基本法--接入原则
服务消费者: 1. 非标准报文接入
主要是针对改造代价大的存量系统,ESB开发接入适配器(Connector)适配现有通讯报文 和协议。从而避免CONSUMER端的改造。系统如:ATM、主机等。
2.
ESB标准报文接入
针对新建系统和J2EE架构的存量系统,ESB提供基于HTTP的JAVA API供CONSUMER使用 。对于使用C、C++等语言的系统,ESB提供C语言的API供CONSUMER使用。
安全机制
A系统 报文 ESB 接受报文/摘要 密文
MD5
摘要密文 请求报文
MD5
交易拒绝
N
MD5校验码 3DES加密
USER WORKDATE
摘要密文3DES 解密
USER,WORKDATE
摘要校验
Y
当前密钥信息 (WORKDATE WORKKEY MAC_KEY)
密钥池 (工作密钥,MAC密 钥)
FJESB项目技术规范—流水号设计
流水号使用规则 系统间流水号的使用规则如下: • 交易系统需要预留3个流水号域,业务流水号,请求方交 易流水号和本系统交易流水号。 • 交易发起方系统:登记和生成业务流水号和交易流水号, 并且传送到服务系统。 • 服务提供方系统:记录请求系统发过来的业务流水号和交 易流水号,并且登记和生成本系统交易流水号。 • 对各系统的要求 新建系统必须遵从全行流水号规则。存量系统可不进行改 造仅上送原系统使用的流水号。
1 2 3
技术规范的目的及意义 ESB基本法 FJNXBSD服务规范
4 5
6
FJESB项目技术规范 安全机制 ESB与外围系统的工作流程
ESB与外围系统协作流程
《ESB介绍材料》课件
人工智能技术的应用与ESB相结合,为企业提 供智能化的业务流程管理和决策支持。
总结
ESB的意义和价值
ESB是实现系统集成和业务流程优化的重要工具,为企业的数字化转型提供强大支持。
ESB的未来展望
随着技术的不断发展,ESB将更加智能化、可扩展化,并适应不断变化的企业需求。
Q&A
留下时间解答关于ESB的问题,帮助听众更好地理解和应用ESB。
路由器
用于决定消息在ESB中的传递路径,根据消息的 内容、标识和路由策略实现灵活的消息路由。
ESB的应用场景
企业信息化
ESB可以整合企业不同 系统的数据和业务流 程,提升信息化建设 的效率和效果。
SO A
作为SOA 架构的重要 组成部分,ESB能够协 调和管理各个服务间 的通信和交互。
数据集成
ESB可实现不同数据源 的集成和转换,提供 数据仓库和实时数据 分析的支持。
3 ESB的安全
ESB提供身份验证、消息加密和访问控制等安全机制,保护信息和系统免受威胁。
ESB的发展趋势
1 微服务
2 云计算
微服务架构与ESB相结合,提供更灵活、可扩 展的服务编排和管理。
ESB的云端部署和服务化,与云计算技术的发 展相结合,实现更高效的系统集成和应用交 付。
3 大数据
4 AI
ESB与大数据技术的融合,实现实时数据流处 理和分析,帮助企业更好地理解和利用数据。
ESB的核心概念
消息
通过ESB传递的数据单元,包 含信息的内容和格式,实现 不同系统间的交互和通信。
服务
用于提供特定功能和业务逻 辑的组件,通过ESB的服务调 用实现不同系统间的功能共 享。
连接器
用于实现不同系统与ESB的连 接和集成,包括适配器、协 议转换器等,确保系统间的 互操作性。
11.ESB技术与产品
5
IBM WebSphere ESB
•IBM 提供了三种 ESB 产品: •IBM WebSphere ESB •WebSphere ESB 是一种基于平台的 ESB,作为集成的 SOA 平台, 针对 WebSphere 应用服务器进行了优化。 •IBM WebSphere Message Broker •WebSphere Message Broker 是跨平台的 ESB,是为异构 IT 环境中 的统一连接和转换而构建的。 •IBM WebSphere DataPower Integration Appliance XI50。 •WebSphere DataPower Integration Appliance XI50 是一种基于设备 的 ESB,是为简化的部署和更强的安全性而构建的。
7
Microsoft ESB
•微软通过其应用平台提供了全面的ESB服务: •Windows Server® 2003,.NET Framework, BizTalk® Server 2006 R2. 应用平台提供了一个基础架构,基于此可以灵活和安全地重复使 用架构和商业服务,并具有协调原有的服务整合到新的端到端的业务 流程中的能力。
13
ServiceMix
•ServiceMix是一个建立在JBI (JSR 208)语法规则和APIs上的开源ESB项目。 •它是开源的基于JBI语义和API的ESB和SOA工具包,以Apache许可证方式 发布。 •它是轻量的ESB实现,易于作为嵌入式ESB使用; •集成了对Spring技术的支持;可以在客户端或服务器端运行; •可以作为独立的ESB提供者,也可以作为另外ESB的服务组件; •可以在JavaSE或JavaEE服务器中使用; •ServiceMix同Apache Geronimo以及JBoss服务器完全集成,并且在Apache Geronimo服务器中可以直接部署JBI组件和服务。 *Java Business Integration (JBI,Java业务集成)技术规范定义了SOA的服务导 向集成的内核和组成架构。它对公共讯息路径架构、服务引擎与捆绑的插件 程序接口,以及复合型服务描述机制等都进行了标准化,这样就将多种服务 结合成为一个单一的可执行的和可审核的工作单元。
ESB系统介绍及开发流程培训PPT课件
➢渠道标准接入
➢渠道非标准接入
➢Provider端服务调度
➢Processor队列
➢通讯接入(Connector)
➢调度器(Dispatcher)
扩展服务 调度
服 务 识 别
数
服
据
务
映
调
射
度
通 讯 接 出
HTTP HTTP TCP ……
标准数据结 构映射定义
19
NEXT
➢系统的启动和加载
➢系统的基本框架
➢渠道标准接入
➢渠道非标准接入
➢Provider端服务调度
➢Processor队列
➢通讯接入(Connector)
➢调度器(Dispatcher)
➢系统的启非标准接入
➢Provider端服务调度
➢Processor队列
➢通讯接入(Connector)
➢调度器(Dispatcher)
➢拆包组包(Converter)
➢数据映射(Mapping)
➢通讯接出(Adapter)
➢设计原则
23
通讯接入
• Connector就是接收通讯请求的入口,其主要功能是:
• 该Connector主要应用于系统的非标准接入 • 其配置信息是:
– tcpconnector_config.xml – component.xml – connector.xml – urn-conf.xml
• Connector收到信息后传给调度器进行处理
25
HttpConnector
• HttpConnector采用Http协议并通过 Servlet技术实现
➢调度器(Dispatcher)
➢拆包组包(Converter)
ESB 配置、应用ppt课件
精品课件
Web Services
Web服务 是服务器端的服务,实现应用和应用的 通讯 可以用被广泛接受的协议跨越网络访问 用XML来描述 通过XML交互 可以通过注册中心来定位 完全的跨平台并且是松耦合
精品课件
ESB
ESB全称为Enterprise Service Bus,即企业服务总线。 它是传统中间件技术与XML、Web服务等技术结合的产物。 ESB提供了网络中最基本的连接中枢,是构筑企业神经 系统的必要元素。ESB的出现改变了传统的软件架构, 可以提供比传统中间件产品更为廉价的解决方案,同时 它还可以消除不同应用之间的技术差异,让不同的应用 服务器协调运作,实现了不同服务之间的通信和整合。 从功能上看,ESB提供了事件驱动和文档导向的处理模 式,以及分布式的运行管理机制,它支持基于内容的路 由和过滤,具备了复杂数据的传输能力,并可以提供一 系列的标准接口。
精品课件
业务系统 业务系统 业务系统
精品课件
业务系统 业务系统 业务系统
业务系统 业务系统 业务系统
ESB
精品课件
业务系统 业务系统 业务系统
精品课件
Aqualogic
BEA Aqualogic Service Bus 是一个基于配 置和策略驱动。以服务为导向以集成为目的,对各种 Web Service进行集中管理。为异构IT系统环境提供信 息处理。可以提供信息路由和信息格式的转换以实现应 用服务的无缝集成。
精品课件
ESB接入Web Service
建立Project 导入wsdl 、应用
精品课件
Soa
面向服务的体系结构 (SOA)是一个组件模型,用 于开发基于组件的应用程序,可使用标准接口通 过网络(Internet 或其他网络)访问这些应用程序。
ESB概述
ESB概述企业服务总线企业服务总线,即ESB全称为(Enterprise Service Bus),指的是传统中间技术与XML,Web服务等技术结合的产物。
ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要的元素。
定义:面向服务的体系结构已经逐渐成为IT集成的主流的技术。
面向服务的体系结构(Service-oriented architure,SOA)是一种软件系统设计方法,通过已经发布的和可发现的接口为终端用户应用程序或其他服务提供服务。
面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者更迅速、更可靠、更具重用性地架构整个业务系统。
较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。
SOA 把 IT 架构分为组件层、Web 服务层、业务流程层等。
组件层:包括各种应用组件,它们通常是技术相关的具体实现,各种具体的分布式组件技术(CORBA、COM/DCOM、J2EE) 都可以用于实现组件层的应用组件。
通常复杂的IT 环境中的组件层都同时使用了多种分布式组件技术,而不同实现技术之间的互联性障碍给应用集成带来了极大的困难,进而形成了一个个信息孤岛。
SOA 引入了Web 服务层来解决此种情况下的应用集成问题。
Web 服务:是独立于各种分布式组件技术的,它使用标准的基于XML 的服务描述语言(Web Service Description Language,WSDL)来定义和封装离散的业务功能,各种支持Web 服务的分布式组件技术能够将其上的业务组件发布成 Web 服务并产生相应的 WSDL 文档,并且只需要依据 WSDL 描述的信息就能够调用 Web 服务,即 WSDL 所描述的业务功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
协议变换:允许服务请求者使用各种交互协议或 API(如 SOAP/HTTP、 JMS 和 MQ Integrator——MQI)发送其消息。将请求代码转换为目标 服务提供者的格式。可以应用到交互的请求者端或提供者端,或同时应 用到两端或两者之间的任何位置。 转换:将消息的有效负载(内容)从请求者的模式转换为提供者的模式。 可以包含包封、反包封或加密。 充实:通过添加来自外部数据源的信息(如由中介定义的自定义参数或 者来自数据库查询的自定义参数)来增加消息的有效负载。 路由:更改消息的路由,可从支持请求者的意图的服务提供者中选择。 选择标准中可以包含消息内容和上下文、以及目标服务提供者的功能。 分发:将消息分发到一组相关方,通常由订阅者的相关概要驱动。 监视:在信息通过中介时观测其是否发生改变。可以用于监视服务水平; 帮助确定问题或对用户进行后续支付使用的货币单位;或记录企业级事 件(如价值超过一定数额的购买行为)。还可以用于将消息记入日志, 以供审核和后续数据挖掘之用。 相关:从消息或事件流中派生复杂事件。包括模式标识规则和响应模式 发现的规则(例如,通过生成派生自触发事件流的内容的复杂事件)。
交互模式:允许服务交互点将消息发送到总线或从 总线接收消息。 中介模式:允许对消息交换进行操作。 部署模式:支持将解决方案部署到联合基础设施中。
ESB 允许端点通过总线以其本机交互模式进行交互。它支持各种端点 协议和交互方式。交互模式的例子包括: 请求/响应:处理端点间的请求/响应方式的交互。此 ESB 基于消息 传递模型,因此由两个相关的单向消息流对请求/响应交互进行处理, 一个用于请求,一个用于响应。 请求/多响应:上述类型的变体,可以发送多个响应。 事件传播:事件可以匿名分发到由 ESB 管理的相关方列表。服务可 以将自身添加到该列表中。
中介模式处理总线上的动态消息(请求或事件)。 由请求者发出的消息会转换为稍微有些不兼容的提 供者(从潜在的端点集中选择)能够理解的消息。 这些中介操作单向消息而不是请求/响应对,因为 ESB 将交互模式放在中介模式上。
中介有多种基本模式,更为复杂的模式可以通过组合简单模式构建:
ESB 支持许多交互类型,包括单向、请求/响应、 异步、同步和发布/订阅。 它还支持复杂事件处理(在复杂事件处理中,可能 会观测到一系列事件),以产生一个事件作为该系 列中的关系的结果。
消息流过将各个通信参与方相互连接在一起的总线。 某些参与方会调用其他参与方提供的服务;而其他参与 方则会向感兴趣的使用者发布信息。 端点与 ESB 交互的位置称为服务交互点 (SIP)。例如, SIP 可以是 Web 服务端点、WebSphere MQ 队列或 RMI 远程对象的代理。 服务注册表将捕获描述以下内容的元数据:SIP 的要求 和功能(例如,提供或需要的接口)、它们希望与其他 SIP 的交互方式(例如,同步或异步,通过 HTTP 或 JMS)、它们的 QoS 要求(例如,首选的安全、可靠 交互)以及支持与其他 SIP 交互的其他信息(例如,语 义注释)。
将总线插入参与方之间,提供了将它们的交互通过 称为中介 的构造进行协调的机会。 中介对请求者和提供者之间动态传递的消息进行操 作。 对于复杂的交互,可以按顺序将中介连在一起。
中介模式部分讨论了实现这些虚拟化、QoS 和管理概念的常用中介模式。
通过研究创建和管理 SOA 解决方案的用户的角色及任 务,可以进一步深入了解 ESB 模式。ESB 工具和运行 时将 SOA 解决方案的生命周期划分为四个阶段: 发现与描述:对可以在整个 ESB 中进行互连的 SIP 进 行标识和描述。这包括创建新的服务、发现现有服务、 以及描述其接口、要求和功能。 建模与构建:通过新建的或现有的中介进行 SIP 互连, 以描述解决方案的端到端交互。 配置与部署:针对特定的运行时拓扑配置解决方案的抽 象声明,并对其进行部署,同时创建必要的运行时构件。 监视与管理:通过 SIP 和中介的行为监视和管理解决方 案。此阶段将使用 ESB 运行时中的检测和控制点、以 及观测和响应消息流的中介。
ESB 是一种体系结构模式,支持在SOA体系结构中 虚拟化通信参与方之间的服务交互,并对其进行管 理。它提供服务提供者和请求者之间的连接,即使 它们并非完全匹配,也能够使它们进行交互。此模 式可以使用各种中间件技术和编程模型实现。 在 ESB 模式中,服务交互的参与方并不直接交互, 而是通过一个总线交互,该总线提供虚拟化和管理 功能来实现和扩展 SOA 的核心定义。
解决方案管理可以选择多种 ESB 拓扑。下面是一些常见的例子: 全局 ESB:所有服务共享一个名称空间,每个服务提供者对环境 (异构、集中管理但分布在多个地理位置)中所有服务请求者均 可见。供部门或小型企业使用,其中,所有服务都可能在整个组 织中应用。 直接连接的 ESB:公共服务注册中心使几个独立的 ESB 安装中的 所有服务均可见。用于由业务部门提供和管理服务但整个企业中 均可使用这些服务的场合。 代理 ESB:桥接服务有选择地将请求者或提供者公开给其他域中 的合作伙伴,从而控制多个 ESB 安装(每个安装都管理自己的名 称空间)间的共享。ESB 间的服务交互通过实现桥接服务的公共 代理进行。供各个部门使用,这些部门开发和管理自己的服务, 但共享其中部分服务或者有选择地访问企业提供的服务。 联合 ESB:将多个依赖 ESB 联合到其中的主 ESB。服务使用者和 提供者连接到主 ESB 或某个依赖 ESB,以访问整个网络中的服务。 供希望在一个监管部门的保护下联合有适度自治权的部门的组织 使用。
可以在解决方案中显式地配置中介。例如,集成开发人 员可以配置一个 enrich 中介来修改消息内容。解决方 案管理员可以配置一个 route 中介来允许其将某个服 务提供者切换到脱机状态。 其他中介由 ESB 设置,以满足服务请求者和服务提供 者的 QoS 要求。例如,如果服务提供者的安全策略声 明要求使用加密消息,则 ESB 可以自动配置一个 encryption 中介。 策略同样也是服务的属性,解决方案管理员可以为交互 (或交互集)设置策略。例如,为了将要发送到特定外 部提供者或交易值超过 1 百万美元的所有消息记录到 日志中。ESB 将通过配置中介(在本例中为monitor 中 介)来实现策略。
位置和标识: 参与方不需要知道其他参与方的位置或标识。例如,请求者不需要知 道请求是否可以由某个提供者提供服务。您可以随意添加或删除服务 提供者,而不会带来任何干扰。 交互协议: 参与方不需要采用相同的通信协议或交互方式。表达为 SOAP/HTTP 的请求可能由仅理解 Java 远程方法调用 (RMI) 的提供者提供服务。 接口: 请求者和提供者不需要就公共接口达成协议。ESB 可以通过将请求消 息转换为提供者所期望的格式来处理此类差异。 (交互)服务质量 (QoS): 参与方声明其 QoS 要求,包括性能和可靠性、请求的授权、消息内 容的加密/解密、服务交互的自动审核以及如何对请求进行路由(如 根据工作负载分布标准将请求路由到可用的实现)。描述请求者和提 供者的 QoS 要求和功能的策略可以由服务自己实现或者由进行不匹 配补偿的 ESB 实现。
集成开发人员和解决方案管理员会使用一组模式对 SOA 解决方案进行设计和部署。
基本 ESB 模式的元素-图三
基本 ESB 模式将应用程序组件抽象为一个服务集,这 些服务通过总线进行交互(而不是通过直接的点到点通 信交互)。 某个给定的服务既可以是提供者,也可以是请求者,或 者同时兼有两个角色。 任何 SOA 实现都会支持基本虚拟化,允许在不影响依 赖请求者的情况下替换等效提供者实现。 ESB 模式通过其对请求者/提供者交互的显式管理提高 了此基本 SOA 功能。 只要能提供与请求者所需的功能相似的功能,且 ESB 能对其进行协调,任何提供者都可以由另一个提供者替 代。
SOA 提供了一种灵活的、可扩展且可组合的方 法来重用和扩展现有应用程序以及构造新的应用 程序。 服务声明它们实现的或期望其他服务实现的接口, 并且声明控制潜在伙伴交互的策略,从而公布各 种功能(包括提供的和请求的)。 Web 服务描述语言(Web Services Description Language,WSDL)和其他 Web 服务标准(如 WS-Policy)提供了用于这些声明 的词汇。
业务功能的虚拟化(SOA 的一个主要目标)是通过 将服务的定义和使用与服务的实现分离开来而实现 的。 我们可以使用各种技术实现服务,这些技术包括 IBM WebSphere® MQ、IBM CICS® 或 IBM IMS™、 Java™ 2 Platform Enterprise Edition (J2EE) Enterprise JavaBeans (EJB)、Java 类、IBM DB2® 查询、Java 消息服务 (JMS) 或 Microsoft® .NET。 服务请求者将请求发送到提供其所需功能的服务提 供者,而不必考虑它如何实现。
ESB 模式使得服务请求者不用了解服务提供者的物理实 现——从应用程序开发人员和部署人员的角度来看均是 如此。 ESB总线负责将请求交付给提供所需功能和 QoS 的服 务提供者。 服务提供者接收他们要响应的请求,而不知道消息的来 源。 ESB 本身对使用它的服务请求者和提供者均不可见。 应用程序逻辑可以使用各种编程模型和技术调用或交付 服务,而无需考虑是直接连接还是通过 ESB 传递的。 连接到 ESB 是部署决策,应用程序源代码不会受到影 响。
中介模式和交互模式可以进行组合,以实现更为 复杂的模式。