Java实现Esb企业服务总线对接

背景:
随着公司的发展,公司内部使用的系统越来越多,一部分公司就会采用Esb技术进行系统间的信息传递。
例如你的信用卡该还钱了,那么银行的主系统就会发送信息给微信服务或者短信服务,你就会接收到该还款的短信和微信消息了。
说明:
Esb同Java服务,MySQL服务一样,也是一个服务,对于一个Java或者其他服务的开发者来说我们无需担心Esb的生命周期,只需要学会怎样把自己的对外接口注册到Esb和如何通过Esb调用其他系统的接口即可;
事实上,怎样把自己的接口注册到Esb上也不需要我们做太多,只需要告诉Esb的维护者我们的接口怎样访问即可,所以下面主要来说我们如何通过Esb调用其他系统的接口
正文:
请求Esb接口我们需要发送XML形式的报文,Esb也会将返回信息转为XML形式发送给我们
一个Esb请求大致分为以下几个部分:
1.将包含操作数据的Model及请求头Model转换为XML
2.通过Socket将请求发出
3.将返回的XML报文解析为我们需要的Model

请求报文一般分为两部分,head和body;Head主要包含请求的接口编号、编号所属系统编号、请求方的机器编号、上送时间、Esb全局流水号等信息;body用于存放主要的业务数据,例如姓名、手机号等信息
发送请求及响应会有对应的JAR包做支持
在对响应报文解析的时候较为麻烦的就是返回了一些集合数据,这个时候需要对list进行多一层的解析

因以下原因,所以暂未贴出具体的实现代码,望谅解:
1.大多Esb为收费服务
2.公司规模达到使用Esb服务的大多都使用内网,我司便是如此
3.不同公司的报文格式有所差异,也有些公司未使用XML报文进行交互

发表评论

电子邮件地址不会被公开。 必填项已用*标注