"这篇资料主要介绍了COM(Component Object Model)技术及其发展历程,涵盖了从COM到DCOM,再到COM+的演变,以及它们在组件开发中的应用。作者唐好选是哈尔滨工业大学计算机学院的一位专家,他的联系方式也一同给出。"
COM(构件对象模型)是微软提出的一种组件技术,其初衷是为了改进OLE(Object Linking and Embedding)的不足,特别是针对DDE(Dynamic Data Exchange)的效率低下、稳定性差和使用不便等问题。OLE1利用DDE在不同程序间进行通信,但其效率和稳定性问题促使了COM的诞生。
COM的核心在于定义了客户与组件之间的互操作标准,这一标准既包括规约,也包括实现。规约部分定义了组件间的通信机制,这些机制独立于特定语言和操作系统,使得跨语言和跨平台的组件开发成为可能。实现部分则由COM库提供,它为规约的具体实现提供核心服务,如接口管理、引用计数、线程调度等。
尽管COM解决了本地互操作的问题,但它并不支持分布式计算环境。为了解决这个问题,微软推出了DCOM(Distributed Component Object Model),通过网络协议替代本地进程间的通信,增加了位置透明性、网络安全性以及跨平台调用等功能,从而适应了分布计算的需求。
在企业级应用领域,微软推出了MTS(Microsoft Transaction Server),它将COM技术应用到事务处理中,增强了系统的可靠性和并发处理能力。随着Windows 2000的发布,微软整合了COM、DCOM和MTS,形成了更强大的企业级构件技术——COM+。COM+不仅是一种组件模型,也是一种中间件技术,提供了操作系统级别的分布式服务,如事务管理、安全性、生命周期管理等,构成了Windows DNA(Distributed Internet Application Architecture)的重要组成部分。
Windows DNA是微软为构建分布式网络应用程序提供的一个完整框架,包含了开发工具、数据库、操作系统、编程模型和各种应用服务,旨在为企业级应用提供全面的支持。这个框架随着Windows NT/2000/2003的升级和发展而不断演进,体现了微软在组件化、分布式计算领域的持续创新和进步。
COM技术从最初的解决本地互操作问题,到DCOM的分布式计算支持,再到COM+的企业级应用,展现了微软在组件化软件开发上的深度思考和技术积累,对现代软件架构和开发方式产生了深远影响。