SOA是关于集成异构应用程序或从低层服务组合业务流程。
在应用程序跨越部门和所有权边界的大型企业中,我们是否可以在不使用更复杂的ESB产品的情况下,仅使用支持Java和非Java JMS客户端的最先进的JMS提供程序,并在需要时在不同的集成点使用web服务和应用程序服务器,就可以实现完整的SOA解决方案?
具有良好行业经验的集成架构师最适合回答这个问题。
发布于 2011-05-25 02:52:25
是的- ESB不是实现SOA所必需的。
最好使用Web services over JMS来实现您的服务。
ESB通常解决的一些问题,您应该知道:
适配器
当使用不支持相关技术(JMS、SOAP等)的遗留服务提供者或客户端时ESB可以充当它们的适配器-在您的情况下,所有服务和客户端都应该自己支持这些技术,否则您将需要实现一个适配器。
路由
ESB充当路由器,隐藏服务提供商的物理地址。您应该使用严格的队列\主题命名约定,以确保解决方案的一致性和可维护性。在规划命名方案时,请考虑多个环境和版本的共存。
服务注册表
您应该拥有某种类型的注册表,其中包含所有服务的规范。
一些不容易支持的问题包括
基于内容的路由
中心日志记录\策略实施\审核
发布于 2011-06-01 04:57:19
除了Ophir的回答之外:
您的问题可以翻译为:“JMS可以用于连接吗?”是的,它可以是。SOAP --许多SOA解决方案的核心--本质上是一种消息传递协议。这允许异步解决方案,因此JMS符合要求。SOAP需要在另一个会话/应用层协议上运行,JMS可以是这样的协议。
设想如下解决方案:
<>H19响应根据要求而不同,通常是一个单独的响应队列(可能在JMS答复- to 属性中指定),使用者侦听该队列以获取响应。
从本质上讲,服务端口是一个JMS队列。
https://stackoverflow.com/questions/6107631
复制相似问题