`
snoopy7713
  • 浏览: 1126706 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

【EJB流程】

    博客分类:
  • EJB
阅读更多

1、一般ESB的流程,
先是整理需连接的系统,需要连接的系统功能(一般管它叫服务),确定服务的依赖关系,支持的协议(文件,WebService, RPC,...),调用的方式(同步/异步)
然后使用ESB提供的那些协议组件,一点点串起来就行。串的方式可以参考EIP (www.eaipatterns.com)

你说的两种异步方式的话都可以,

如果是同步的,也可以直接soap -> soap, 不用JMS。 一般用JMS是为了实现异步通讯

2、JMS,至少我接触的ActiveMQ, 是可以支持事务的,发生异常,可以不消费信息


3、协议转换是为了配合你那些需要整合的系统,如果都是SOAP,也就不需要转了。

消息内容转换(格式,内容),一般ESB都提供各种工具的。


4、如果你要做同步转异步,可以在esb上做成ws转jms,然后起到一个缓冲的作用。
最后可以再同步的返回给调用方。


你也可以修改调用方为jms方式,这样就是彻底的异步了,在esb端可以jms转ws,调用业务服务方的ws。
5、esb都支持事务的,jms中如果不确认消息的话,不会从持久存储去delete掉的。
一般的esb。也可以做成是esb消费掉消息,然后存入esb自己内置的jms provider中,这样你再消费的话,也是可靠的。还可以做成补偿机制的,即esb中如何消息处理失败,把消费放回去原来的queue或是一个中间的临时queue,稍后做recover。


6、从esb的不同transport进去的数据,在esb的中介层处理时,其实消息格式都是一致的、通用的。也就是说常见的ws或jms转换在 一般的esb里处理都很简单。如果稍微复杂点,也很容易扩展transformer(比如通过xslt做xml格式转换)来实现数据内容和格式的转换。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics