当 1993 年初第一次引入自动化时,它只能在运行于同一台计算机上的应用程序之间使用。但是,由于自动化与其他 OLE 共享相同的基础,即 COM(组件对象模型),因此当 COM 本身被更新为包括远程处理能力时,也总是希望自动化能成为“具有远程能力的”。并且按原来的计划,从纯粹的本地操作转换为分布式操作只需对现有模式做些微更改或不做更改。
那么“远程处理”的意思是什么?本地 COM 规定接口的使用者需驻留在该接口的提供程序所在的同一台计算机上并在其上执行。例如,Microsoft Visual Basic 可以控制您的台式机上 Microsoft Excel 的副本,但无法管理其他计算机上 Excel 的执行。随着分布式 COM 的发展,接口的使用者不再需要驻留在执行接口提供程序所在的同一台计算机上。
采用 COM 跨网络工作后,不受本地执行模型约束的任何接口(一些接口对本地计算机设备生来就有依赖性,如那些方法包含参数形式的设备上下文句柄的绘图接口)都将具有分布的能力。接口使用者请求给定的接口;该接口可以由正在不同的计算机上运行(或将要运行)的对象实例提供。COM 内部的分布机制将使用者连接到提供程序,使使用者所做的方法调用出现在提供程序的结尾处(方法将在这里执行)。任何返回值然后都被发送回使用者。就任何意图和目的而言,分布的行为对使用者和提供程序都是透明的。
文章来源于领测软件测试网 https://www.ltesting.net/