解析COM与CORBA:分布式计算的两大力量

5星 · 超过95%的资源 需积分: 9 18 下载量 10 浏览量 更新于2024-09-26 2 收藏 8KB TXT 举报
本文将深入解读 COM (Component Object Model) 和 CORBA (Common Object Request Broker Architecture) 这两种在分布式计算领域广泛应用的面向对象技术。COM,由微软开发,最初被称为 Common Object Model,后来成为 Component Object Model,主要用于Windows平台上的应用程序组件化开发。DCOM (Distributed COM) 是 COM 的扩展,主要针对分布式环境,支持跨进程和网络通信,使得应用程序可以更容易地在不同计算机之间共享组件和服务。 COM/DCOM 采用了一种基于接口的编程模型,通过COM对象和接口定义语言 (IDL) 来实现对象间的交互。它依赖于注册表中的 CLSID (Class Identifier) 和 GUID (Globally Unique Identifier) 来标识对象,以及 In-process server 和 Local Object Proxy 等机制来管理分布式对象。COM/DCOM 使用诸如 RPC (Remote Procedure Call) 的远程调用技术,但通常不支持事务处理,这限制了其在复杂分布式环境中应用的灵活性。 相比之下,CORBA 是由 OMG (Object Management Group) 开发的标准,旨在提供一个通用的、平台无关的分布式对象中间件架构。它强调了服务请求的统一处理,允许客户端与远程对象交互,而无需了解底层实现细节。CORBA 强调的是交互操作性和可移植性,它支持远程过程调用 (RMI) 和更高级别的事务管理,如 DTA (Dynamic Transaction Adapter) 或 DTC (Distributed Transaction Coordinator),这使得 CORBA 在分布式系统中更具灵活性和可靠性。 在异构系统广泛存在的今天,分布式对象技术愈发重要。COM/DCOM 和 CORBA 都能在连接不同平台和系统间提供基础的互操作性,但在功能特性、性能和适应复杂交易管理方面,CORBA 可能更适合跨平台和高度分布式的应用场景。选择使用哪种技术取决于项目需求、兼容性要求以及团队的技术背景。这两种技术都是构建可扩展、分布式的客户/服务器系统不可或缺的组成部分。