代码之家  ›  专栏  ›  技术社区  ›  yazz.com

corba与soa相同吗?

  •  9
  • yazz.com  · 技术社区  · 14 年前

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

    7 回复  |  直到 7 年前
        1
  •  5
  •   philsquared    14 年前

    作为一个概念,soa已经存在了很多年,但最近才被这样命名。有许多技术可以说是实现了soa——要么是完全实现了,要么是实现了soa的各个方面。corba可以说是其中之一,尽管corba创建时还没有这个术语。

    corba实现当然是soa的一个重要组成部分,但我不认为你可以说它完全做到了(不管这意味着什么)。soa可能有点模糊。

        2
  •  14
  •   Ophir Yoktan    12 年前

    除了前面提到的事实之外,soa是一个体系结构,而corba是一个特定的实现。

    corba没有实现soa

    主要的区别在于CORBA是 对象 面向或 成分 面向和soa是 服务 面向的

    主要的技术差异(在我看来)是在soa中传递消息(或数据对象)和在corba中传递通用对象(可以有方法) 因此,尽管您可以使用corba实现so a(通过将自己限制在功能的一个子集上),但使用corba的标准方法并不是面向服务的。

        3
  •  6
  •   Mitch Wheat    14 年前

    corba和soa的区别在于corba是一种特定的技术,而soa是一种体系结构风格。

        4
  •  4
  •   saret    14 年前

    虽然没有对soa的“官方”定义,但它的一部分要点是将各种服务彼此分离。这可能包括分离服务中使用的实现(平台和技术)。作为一个例子,如果通过WebServices公开服务,任何客户端都是Java/Python/.NET等。可能会使用此服务,但使用rpc/远程过程调用框架通常会将您绑定到特定的平台/实现中,以便调用该服务。

    corba确实提供了一些soa承诺的内容,但充其量只是soa“本意”的一个子集。

    但主要的区别在于,soa是一个通用的架构概念,而corba是rpc/remoting概念的技术实现。

        5
  •  3
  •   Mike Davison    14 年前

    不是真的。soa是一种体系结构风格,而corba是一种可以用来实现soa的特殊技术。

        6
  •  1
  •   Mihai Giurgeanu    7 年前

    corba和soa都是体系结构。说corba是一个实现是错误的。不是这样。它是一个架构,一个用对象构建系统的愿景。soa也是一个体系结构,一个用服务构建系统的愿景。它们都是将系统组织为对象或服务集合的方法。corba和soa都有特定的实现。

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

    公共orb体系结构(corba)中的对象提供服务,因此可以考虑在面向服务体系结构(so a)和公共orb体系结构之间进行转换。它们不是同一件事,但人们可以想象,实现一个软件系统,无论是一个或另一个,使它们,从某个角度,相等。

    它们与面向对象编程不同,结构化编程或函数式编程也不同,尽管可以使用上述任何编程风格来实现特定功能。

        7
  •  0
  •   Renato Sanhueza    7 年前

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

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

    我和您有同样的疑问,因为soa的定义太宽泛了,我可以看到corba的许多概念可以自然地映射到soa的术语中。例如,在CORBA中,客户机(对象)要求服务器(也是对象)通过网络上的通信协议执行一些工作。此外,corba实现提供了日志和事件支持等通用服务。我想 this link 总结了corba和soa之间的关系:

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