【问题标题】:Is Corba the same as SOA?Corba 是否与 SOA 相同?
【发布时间】:2011-01-28 12:42:22
【问题描述】:

我最近一直在关注 SOA。 CORBA 和 SOA 不完全一样吗?

【问题讨论】:

    标签: soa corba


    【解决方案1】:

    除了已经提到的事实之外,SOA 是一种架构,而 CORBA 是一种特定的实现。

    CORBA 没有实现 SOA

    主要区别在于 CORBA 是 Object 面向或 Component 面向,而 SOA 是 Service 面向

    主要的技术区别(在我看来)是在 SOA 中您传递消息(或数据对象),而在 CORBA 中您可以传递通用对象(可以有方法) 因此,尽管您可以使用 CORBA 实现 SOA(通过将您自己限制为功能的子集),但使用 CORBA 的标准方式并不是面向服务的。

    【讨论】:

    • 说的很好;我认为关键在于 CORBA 是面向组件的而不是面向服务的,当然 CORBA 是某种面向组件的远程架构的具体实现,而 SOA 本身并不是一种实现。
    • 这个答案+1。我在两者之间纠结,但提到 CORBA 是面向组件方向的,这对我来说是正确的。
    • 这必须是问题的最佳答案。
    【解决方案2】:

    CORBA 和 SOA 的区别在于 CORBA 是一种特定的技术,而 SOA 是一种架构风格。

    【讨论】:

    • 难道 CORBA 背后不是也有一套完整的哲学吗?
    • @Zubair 是的 - 指定没有人想要的服务,并使它们尽可能难以实施和使用。第二个目标是避免提供人们可能实际使用的东西的可用参考实现,例如字符串。心怀不满的前 CORBA 程序员(再也不会)说话了。
    • @Neil,我喜欢你的评论 :) 我确实认为大多数 SOA 实现都很复杂,也许有一天会出现一些易于使用的东西
    • @Zubair - 它被称为 REST :-)
    • Corba 只是将不同服务绑定在一起的一种中间件形式。 Web 服务、消息队列等
    【解决方案3】:

    SOA 作为一个概念已经存在多年,但最近才被这样命名。可以说有许多技术可以实现 SOA——要么完全实现,要么部分实现。 CORBA 可以说是其中之一,尽管在创建 CORBA 时还没有这个词。

    CORBA 实现当然是 SOA 表面积的很大一部分,但我认为您不能说它完全如此(无论这意味着什么)。 SOA 可能有点模糊。

    【讨论】:

    • Ophir Yoktan 的回答更加准确。
    【解决方案4】:

    虽然 SOA 没有“官方”定义,但它的部分意义在于将各种服务彼此分离。这包括可能解耦服务中使用的实现(平台和技术)。例如,如果通过 WebServices 公开服务,则任何客户端(无论是 java/python/.Net 等)都可以使用该服务 - 但使用 RPC/远程过程调用框架通常会将您绑定到特定平台/实现中为了调用服务。

    Corba 确实提供了一些 SOA 的承诺,但充其量只是 SOA 的“应有之物”的一个子集

    主要区别在于 SOA 是一个通用架构概念,而 Corba 是 RPC/Remoting 概念的技术实现

    【讨论】:

      【解决方案5】:

      不是真的。 SOA 是一种架构风格,而 CORBA 是一种可以用来实现 SOA 的特殊技术。

      【讨论】:

        【解决方案6】:

        CORBA 和 SOA 都是架构。说 CORBA 是一种实现是错误的。它不是。它是一种架构,一种用对象构建的系统的愿景。 SOA 也是一种架构,一种使用服务构建系统的愿景。它们都是将系统组织为对象或服务的集合的方法。 CORBA 和 SOA 都有特定的实现。

        它们都是技术。它们都为您提供有关构建系统和管理复杂性的收据和建议。第三方开发了一些工具来支持这两种技术。

        通用 ORB 体系结构 (CORBA) 中的对象提供服务,因此您可以考虑在面向服务的体系结构 (SOA) 和通用 ORB 体系结构之间进行转换。它们不是一回事,但可以想象用一个或另一个来实现一个软件系统,从某种角度来看,它们是等效的。

        它们不是一回事,因为面向对象编程和结构化编程或函数式编程不是一回事,尽管人们可以使用上述任何一种编程风格来实现某种功能。

        【讨论】:

          【解决方案7】:

          它们本质上是不同的,因为一个依赖于技术 (CORBA),而另一个不依赖于技术。

          • CORBA 是由 OMG(对象管理组)开发的开放标准,用于使用 ORB(对象请求代理)中间件,重点关注互操作性(软件平台、硬件平台和编程语言)。
          • SOA 是一种软件设计风格,其中应用程序组件通过网络上的通信协议向其他组件提供服务。面向服务架构的基本原则独立于供应商、产品和技术。

          我和你有同样的疑问,因为 SOA 的定义太宽泛了,我可以看到 CORBA 的许多概念可以自然地映射到 SOA 的术语。例如,在 CORBA 中,客户端(对象)通过网络上的通信协议请求服务器(也是对象)做一些工作。此外,CORBA 实现提供了一般服务,如日志记录和事件支持。我觉得this link总结了CORBA和SOA的关系:

          过去,许多人使用的第一个面向服务的架构是使用基于 CORBA 规范的对象请求代理 (ORB)。 CORBA 规范负责真正提高对面向服务架构的认识。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-02-02
            • 2010-09-13
            • 2013-06-21
            • 1970-01-01
            • 1970-01-01
            • 2021-08-17
            相关资源
            最近更新 更多