1 组件服务简介
COM+是对COM的一次革命,而不仅仅是一种新版的COM编程模式,而是一种设计和开发组件的崭新的平台。此外,Windows XP的组件服务与Windows 2000中的组件服务有所不同,Windows XP和COM+ 1.5提供的功能也远多于COM+ 1.0。我们在本篇文章中将探讨XP中基本的组件服务。
COM+可以用来在Windows XP平台上实现运行关健任务、企业级的分布式应用程序。在最新的版本中,COM+添加了许多新的特性,面向开发人员和系统管理人员强化了可伸缩性、可用性和可管理性 .
Windows XP中包含的是COM+ 1.5,我们在这篇文章中将讨论它的新特性和功能。微软在COM+的可用性的许多方面都表现不俗,并解决了COM+ 1.0中的一些小缺陷,在现有的服务中添加了一些新的特性。此外,COM+还可以与.NET服务整合使用。当然了,COM+ 1.5与COM+ 1.0完全后向兼容。
在设计和开发企业级的应用程序时,我们有几个原因需要使用COM+。如果是系统管理员,可以对COM+应用软件及其组件进行安装、布置和配置;如果是应用软件开发人员,则可以编写组件并将它们组合成一个应用软件;如果是工具开发商,可以在COM+环境中开发或对工具进行修改,使工具具有更多的功能。
2 为什么需要组件服务?
对于设计和开发人员来说,COM+能够给设计和开发企业级应用程序带来全新的体验,用户可以集中精力解决与业务有关的问题,而无需考虑一些细节问题。
COM+可以简化企业级分布式应用软件的设计和开发。我们必须搞清楚企业级应用程序的真正意思,企业级分布式应用程序必须是能够及时地执行正确的处理关健业务过程的应用程序。此外,这类应用程序有多种不同类型的用户,例如客户、员工和管理人员等。所有的企业级应用程序都是与internet/intranet、带有安全能力的多层网络有关的,微软在开发COM+时的目标之一就是向企业提供多层的应用程序,并尽可能地隐藏其内部的复杂性。过去10年来,微软在创建这种分布式应用程序方面取得了相当的进展。与一般看法不同的是,.NET框架不会取代COM+,我们仍然需要COM+服务━━分布式处理、对象池、运行时激活、同步、队列组件等,来建立在Windows平台上运行的企业级分布式应用程序。在本篇文章中,我将介绍如何创建和布置一个服务组件。
3 组件服务是什么?
我们必须认识到,组件服务就是Windows XP和2000中的COM+,是微软组件对象模型(COM)和微软事务服务器(MTS)的新发展。COM+能够处理许多原来必须由开发人员通过编程处理的资源管理任务,例如,线程安全和分配,通过提供线程池、对象池和运行时对象激活,它可以自动地使应用程序具有更大的可伸缩性。COM+还通过提供对事务的支持,甚至是跨越网络中多个数据库的事务,来保证数据的完整性。
与应用程序一样,作为应用程序一部分的组件也需要运行时间服务,在Windows 2000和XP中,这种服务就是COM+组件服务。COM+是在基本的COM之上又添加了一系列的其他服务,例如事务队列组件(QC)、安全、松偶合事件(LCE)、运行时激活(JITA)、基本侦听服务、对象池等,对COM的增强包括对线程和安全性的改进以及异步COM的引入,新服务包括同步、对象池、队列组件和一种新的分布式应用程序管理和包装服务。对于习惯于COM编程的开发人员而言,COM+中的改进是显著的。COM+中实现了一种被称作中性单元线程的线程模式,它允许一个组件被串行化地访问,并能够在任何线程中运行。除了线程模式外,COM+还提供了基于角色的安全机制、异步对象执行等。
From: http://www.ccw.com.cn/htm/app/course/02_1_31_3.asp