SOA vs 分布式对象

可以用很多不同的方式处理分布式系统。

其中之一是使用分布式对象,CORBA最初的概念就是来源于此。

这个想法是使外部系统的对象可以被远程访问。

你能远程调用对象的方法,包括那些属性设置和属性读取方法。

也就是说,每访问一次属性,你都在调用远程函数。

---------------------------------------------------------------------------------------------------------------

这类远程系统接口粒度过细,以该方法作为基础,结果就产生出这样的思想:

        用一个通用的业务对象模型覆盖整个分布式系统。

实践证明,这种方法不具备伸缩性。每一个接入的系统都采用同样的业务对象模型时,

        很难管理,也引入了过多的集中,过多的依赖。

实际上,SOA的做法与分布式对象概念刚好相反。SOA在不同系统间交换数据,

       每个系统都在本地(冗余)数据拷贝上工作,使用自己的本地方法和过程。

       与分布式对象不同,这种方法解耦系统,使系统可以伸缩。

--------------------------------------------------------------------------------------------------------------------

注意在CORBA2.3以后版本中引入了值对象,或传值对象(OBV),这使你能从一个系统中

        拷贝一堆数据(对象),然后对数据进行本地处理。你可以用这个技术实现SOA(前提是你

        不使用包含操作的OBV)。这种使用CORBA的方式与分布式对象概念无关。

你可能感兴趣的:(SOA vs 分布式对象)