消息集成和协议转换场景

ESB服务总线的一个重要能力就是面对企业遗留系统和复杂的异构系统,能够提供多种适配器,并实现消息集成,协议转换,包括消息内容的转换和映射等。对于简单的proxy服务代理,前面很多文章都已经谈到过了,下面重点谈下服务适配,消息集成,协议转换等常见的企业应用集成场景。

SOAP WebService和Http Rest间的转换

由于两者都走的Http协议,其实转换的重点会是在协议内容的转换上面。首先源端暴露的soap服务,可以转换为rest服务暴露出去,反之rest服务也可以暴露为soap服务出去。其次对于soap服务传输的xml消息内容,一种是在rest中也传输xml,一种是需要将将xml内容转换为json格式,在转换过程中还需要支持数据映射。

数据库的适配和服务发布

可以新建一个服务,同时将服务适配到数据库表,该服务可以是查询服务即查询数据库中数据,也可以是导入服务即将服务输入消息写入到数据库表中。还有第三种场景即发布一个服务,该服务首先从源服务中查询到数据,然后再将查询到的数据写入到数据库表,这几种常见内容都需要支持。

最终发布的服务既可以是soap服务,也可以是rest服务,对于rest服务消息内容可以是xml也可以是json。

和各种JMS或AMQP消息中间件的集成

这里的重点是是可以发布一个服务,该服务可以将服务调用的输入信息写入到消息中间件中,也可以是发布一个服务,该服务从消息中间件中获取数据并返回,类似于消息订阅。JMS可以进一步和DB进行集成,前提是仍然发布一个服务,该服务可以首先从JMS中读取消息信息,然后将读取到的JMS消息信息再持久化到DB数据库表。

最终发布的服务既可以是soap服务,也可以是rest服务,对于rest服务消息内容可以是xml也可以是json。

HTTP和TCP间的协议转换和适配

如果源端提供的TCP协议的消息流,那么我们可以适配TCP协议,并发布一个http服务,将接口以http服务的方式暴露出去。通过该http接口可以实现和底层TCP消息协议的集成。这种场景在传统的CS应用中比较常见,即对于传统的CS应用的消息集成可以采取该模式,如对遗留的socket接口可以暴露为外部系统更加容易访问的http服务接口。

当然TCP协议获取的消息也可以进一步和JMS消息中间件,DB集成。即获取的消息写入JMS或DB

FTP和文件File的适配

在集成过程中可以支持对FTP协议的适配,即通过FTP适配器接入具体的文件信息,同时可以对文件的结构内容进行解析。即我们可以实现场景的适配文件后将文件的内容解析后写入到JMS或持久化到数据库。

当然我们也可以发表一个http服务,通过该服务来触发FTP的文件传输和集成。这样可以很好的实现文件传输数据流和消息控制流的分离。

和ETL的服务化集成

这个在前面很多文章已经谈到过,比如类似Oracle ODI本质即是WebService+ETL的一种服务化集成。实现服务调用控制流和ETL数据传输流的分离。对于该类集成我们可以发布一个soap服务或Rest服务,通过对该服务的调用来触发ETL操作。

原文 

http://blog.sina.com.cn/s/blog_493a84550102wfwf.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 消息集成和协议转换场景

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址