CORBA、RMI 和 SOA
Posted
技术标签:
【中文标题】CORBA、RMI 和 SOA【英文标题】:CORBA, RMI and SOA 【发布时间】:2011-09-07 00:06:56 【问题描述】:Web 服务是一种面向服务的架构实现。
但是,我们可以说 CORBA、RMI 和 Java EE 平台也是 SOA 的实现吗?
【问题讨论】:
【参考方案1】:如果你说 SOA 意味着 WS-* 标准,那么答案是“不”。
但如果 SOA 意味着分布式组件使用商定的协议进行通信,那么答案是肯定的,您可以将 CORBA、RMI 和 Java EE 视为 SOA。 (我的建议是去掉“2”——它已经消失了很长时间。除非你想显得过时,否则请将其称为 Java EE。)
即使是 Web 服务也至少有两种风格:SOAP 和 REST。您还可以包括 XML-RCP。
所有情况的区别在于协议的选择。
SOAP 使用自己的基于 HTTP 的 XML 请求/响应惯用语。
REST 是直接的 HTTP - 每个请求的 GET、POST、URL。
CORBA 使用 OMG 标准协议。 ORB 之间的互操作性以及每种语言的不同绑定曾经是一个大问题。自从我使用 CORBA 以来已经很长时间了,以至于我对当前的技术状态一无所知。我不知道有谁再使用 CORBA。从我的角度来看,这是一种失败的、死气沉沉的技术。
RMI 是对 CORBA 的纯 Java 解决方案。所有端点都必须用 Java 实现并使用 RMI。
Java EE 使用 RMI 作为 EJB 的基础。
简单而开放的胜利:这就是基于 HTTP 的协议越来越受欢迎的原因。
【讨论】:
非常感谢您提供的清晰信息。就一件事 。当我们谈论 SOA 时,它不是关于任何特定的技术,所以 SOA 不是 WS-* 标准,但 WS-* 是一种 SOA 实现方式,是这样吗? 感谢您的支持 - 我将不胜感激,如果您认为它有帮助,请接受它。 我做到了,再次感谢您。请问我的评论呢:)?【参考方案2】:是的。 WS-* 是实现 SOA 最常用的方法之一。
【讨论】:
以上是关于CORBA、RMI 和 SOA的主要内容,如果未能解决你的问题,请参考以下文章
通过 http 对 RMI 或 Corba 网络流量进行网络检查?
RMI 需要 java.rmi.server.hostname 进行 NAT,那么像 CORBA 这样的其他技术解决 NAT 问题的方法是啥?