SOA是关于集成异构应用程序或从较低级别的服务组合业务流程。
我们是否可以在大型企业中实现完整的SOA解决方案,其中应用程序跨越部门和所有权边界,仅使用支持Java和非Java JMS客户端的最先进的JMS提供程序,并在各种集成点使用Web服务和应用程序服务器不需要使用更复杂的ESB产品吗?
具有良好行业经验的集成架构师可以最好地回答这个问题。
答案 0 :(得分:2)
是的 - 实施SOA不需要ESB。
最好使用基于JMS的Web服务来实现您的服务。
ESB通常会解决的一些问题,您应该注意:
<强>适配器强>
当使用不支持相关技术(JMS,SOAP,...)的旧服务提供者或客户端时,ESB可以为它们充当适配器 - 在您的情况下,您所有的服务和客户端都应该支持这些技术自我,或者你需要实现一个适配器。
<强>路由强>
ESB充当路由器,隐藏服务提供商的物理地址。 您应该使用严格的Queue \ Topic命名约定来确保解决方案的一致性和可维护性。 在规划命名方案时考虑多个环境和版本的共存。
服务注册表
您应该拥有所有服务规范的某种注册表。
一些不容易支持的问题是
基于内容的路由
中央记录\政策执行\审核
答案 1 :(得分:2)
除了Ophir的回答之外:
您的问题翻译为“JMS可用于接线吗?”是的,它可以。 SOAP - 许多SOA解决方案的关键 - 本质上是一种消息传递协议。这允许异步解决方案,因此JMS符合要求。 SOAP需要在另一个会话/应用程序层协议上运行,JMS可以是。
设想解决方案如下:
实质上,服务端口是JMS队列。