[TOC]
第一章 ESB介绍
本博客介绍一款ESB产品,IBM WebSphere ESB。ESB(Enterprise Service Bus)也即企业服务总线。ESB有很多产品,IBM的IBM WebSphere就是其中一款。ESB是传统中间件技术与XML、Web服务等技术结合的产物。虽然现在基于RPC的微服务结构兴起,但是ESB作为传统的解耦合技术。在一些企业里还是有应用的。
1.1 为什么使用ESB
在一个企业里必然有很多系统,但是不是操作系统之间的数据传输格式、传输协议等等都是不相同的。这样的话,不同系统之间调用肯定是非常复杂的,接口的维护费用肯定是很庞大的,这时企业服务总线ESB应运而生。
1.2 ESB担任的角色
中介、路由转发、格式转换、协议转换、安全控制
1.3 ESB提供的服务
- 传输服务
安全、可靠的数据传输
持久性/非持久性
同步/异步 - 仲裁服务
基于内容路由
数据格式转换
通信协议转换 - 事件服务
事件发现和发布
事件的触发和传递
第二章 IBM WebSphere ESB开发
2.1 IBM WebSphere的优势
交易完整性保证
支持不同层次的交易完整性要求,例如:可以设定整个消息流为一个完整的交易,当某一环节发生错误时,整个消息流回滚,保证数据一致性;高可靠性和高扩展性
单节点:
多节点:强大的Cluster功能具有理解和管理各类系统的能力
支持统一的监控和管理框架:Common Event Infrastructure
利用Tivoli相关产品进行全面的系统监控和管理开发简单
2.2 IBM WebSphere ESB开发
开发软件的话可以去IBM官网下载https://www.ibm.com/developerworks/cn/,因为IBM的产品是非开源的,一般是通过企业合作的。
本博客介绍IBM IIB创建一个基本的ESB消息流,本指南所有涉及到的相关技术点都是围绕该消息流展开描述的。使用IBM IIB可以很快的实现。
【创建工程】
第一步:创建工程
启动IIB Tookit ,建个名称为StoreMdata的工程
第二步:创建消息流
创建名为StoreMdataFlow的消息流,这样一个没有任何功能的ESB消息流就创建好了
第三步:创建消息集
创建名为StoreMdataMessageSet的消息集,鼠标右键点击工程名StoreMdata,找到菜单:【新建】->【其他】双击弹出如下图对话框,选择消息集
点击下一步,输入名称
可以看出此时消息集还处于“独立资源”中,我们要把它合并到工程“StoreMdata”中去,点击项目,右键,找到Manage included projects(管理应用程序中包含的项)
将之前创建好的消息集(StoreMdataZMessageSet)勾选上,点击ok,然后消息集就添加到工程中来了。
【ESB消息流开发】
在IIB中提供了诸多节点可供选择,比如
- 基于Web Service的SOAPInput节点:
- 基于Websphere MQ的MQInput节点:
- 基于Websphere适配器的SAPInput节点:
- 基于Http的HTTPInput节点:
IIBToolkit来开发是很简单的,只要在开发界面右侧组件栏中选择适当的组件,通过拖拽放入消息流中,便可轻松的完成消息流框架的开发,后续就需要通过连接线将所有组件串接起来,组装成一个可以提供服务并对消息进行处理,转换和路由的ESB消息流了