"哈尔滨工业大学计算机学院的唐好选教授讲解了COM原理及组件开发的相关内容,涉及COM技术的发展历程、构件对象模型COM/DCOM、基于COM构件的开发以及COM技术在分布式计算环境中的演进,如DCOM、MTS和COM+。"
COM技术的起源与发展:
COM(Component Object Model)是微软为了解决早期OLE1中的DDE(Dynamic Data Exchange)通信效率低、稳定性差的问题而提出的。OLE1利用DDE在不同程序间通信,但其性能和可靠性不足以满足日益复杂的应用需求。COM作为OLE2的基础,它定义了一种标准,使得构件之间的交互不依赖于特定语言或操作系统,实现了客户与构件间的互操作性。
COM的核心特征:
COM规定了构件间的通信机制,包括规约和实现两部分。规约部分定义了如何进行通信,而实现部分则是实际的COM库,提供诸如接口管理、引用计数、线程模型等核心服务。然而,原始的COM只支持本地Windows系统内的互操作,不支持跨网络的分布式计算。
DCOM的出现:
为了扩展COM到分布式计算环境,微软提出了DCOM(Distributed COM)。DCOM利用网络协议替代了本地进程通信,引入了位置透明性、网络安全性以及跨平台调用等功能,适应了更广泛的网络应用需求。
MTS与COM+的发展:
微软事务服务器(MTS)是为了支持企业级应用而推出的,它允许客户程序和COM组件一起工作,处理事务管理和资源管理。随着Windows 2000的发布,微软整合了COM、DCOM和MTS,发展出更强大的COM+。COM+不仅是一种中间件技术,还提供了一系列操作系统级别的分布式服务,如事务管理、安全性、调度和内存管理,使得Windows平台更加适合构建大型企业级应用。
Windows DNA与COM+的关系:
Windows DNA(Distributed Internet Application Architecture)是微软构建分布式网络应用的框架,包含了服务器操作系统、数据库、开发工具等各个层面。COM+是DNA的一部分,它提供了一个全面的、多层的企业应用体系结构,使得开发者可以利用COM+的服务构建高效、可靠且可扩展的企业级应用程序。
总结:
从DDE到COM,再到DCOM、MTS和COM+,微软通过不断的技术演进,逐步完善了组件编程模型,使其能更好地适应分布式计算和企业级应用的需求。理解COM原理和组件开发对于Windows平台上的软件开发者至关重要,因为它提供了标准化的组件重用和集成能力,简化了系统架构并提高了开发效率。