日期:2013-10-19  浏览次数:20534 次


                       Exchange的CDO对象集合

一:关于CDO对象集合的说明

CDO对象集合是建立协作是使用程序的可靠的API,ADO可以用来存取WEB存储系统,但是他缺少协同作业最基本的功用,而CDO却可以处理普通的使用程序和高级的任务流使用程序处理方案,CDO甚至可以提供我们管理exchange的能力,以及与windows 2000的AD通讯。

CDO:collaboration data objects,是一项可以用来建立用途广泛的协同作业使用程序的技术,能完成如:接受传送电子邮件、日程安排、联络人管理、任务流程以及exchange管理的使用程序。

CDO并不是被封装成为一个单独的对象模块,相反的,它包含了3个不同的对象模块,每一个都有其特定的用途。可以同时或者单独使用这些物件模块。

三个对象模块的DLL文件信息:

CDO FOR EXCHANGE 2000 SERVER               CDO.DLL

CDO FOR EXCHANGE MANAGEMENT             CDOEXM.DLL

CDO WORKFLOW FOR EXCHANGE                CDOWF.DLL

 

二:三个对象模块的基本功用

1.  CDO for exchange 2000 server

最常用的CDO对象模块,该物件模块包括了一些协同作业使用程序中最常见的核心组件与接口。也可以使用该对象模块来建立与设定web存储系统中的文件夹,其中最上层的cdo对象常用来建立以下几种处理方案:

文件夹:(folder)在信箱存放区或公用存放区的容器。

人员:(person)WEB存储系统文件夹中的联络人类型的材料,或者是AD中的使用者或联络人对象。

邮件:(message)电子邮件

约会:(appointment)曾经安排的约会或会议

日历信息(日程安排):(calendar message)会议约请

收件者:(addressee)任何方式的电子邮件收件者或会议约请的收件者

出席者:(attendee)包含于约会或者会议中的人员

所有最上层的对象都有两个重要的共同接口(interface)

Iconfiguration:用来定义可以使用于多个对象的行为模块,

Idatasource:每个CDO对象都地下Idatasource接口,用来管理、存放与存储材料。

2.  CDO for exchange management objects

该对象模块是用来建立以及管理exchange信箱与exchange服务器组件的类别和接口所组成。当编写用来管理exchange收件者和信箱的程序代码时,会常用到。使用的对象是:

IMailRecipient:针对使用者指定电子邮件如何传送与管理,此对象也可以使联络人与文件夹不需求信箱便可以接收电子邮件。

IMailboxStore:指定如何建立、挪动、删除exchange信箱,以及如何管理可使用信箱的收件者其可用来管理的属性。如果开发WEB架构的服务器管理工具,该对象模块提供让我们可以全体的管理服务器的对象,这些情况可用的最上层的对象有:

ExchangeServer:管理exchange2000服务器与传回基本信息,如服务器类型与版本。

FolderTree:管理服务其中的文件夹树状结构,包含任何副本。

StorageGroup:管理储存群组,用来组织信箱存放区和公用存放区。

MailboxStoreDB:管理单一使用者的信箱存放区可以使用此对象来连接、挪动或中缀连接信箱存放区,并传回有关存放区数据库的基本信息。

PublicStoreDB:建立、管理与删除公用存放区,并传回有关存放区数据库的基本信息。

3.  CDO Workflow for Exchange

该对象模块是由用来建立以及执行任务流程与路由使用程序的类别和接口所组成。建立任务流使用程序有两种方式:

方式一:使用Workflow designer for Microsoft Exchange 2000 Server

方式二:使用自行建立任务流程事件流程与事件接受的方式。

我们使用前者,使用WorkFlow Designer我们就不需求大部分的任务流程对象,只要当编写回应各式各样任务流程动作的Script时,才需求使用这些对象,在我们的Script中最可能用到的对象如下:

IWorkflowSession:提供任务流程引擎、动作的Script与所处理的任务流程项目(ProcessInstance)之间的执行期(run-time)通讯。

IworkflowMessage:建立任务流程处理中要传送给收件者的通知邮件。

AuditTrailEventLog:于使用程序记录档(log)中,建立有关任务流程事件动态的项目(entries)。

   如果使用Workflow Designer无法提供完成要设计的功用,那就要自行建立事件接受,如果自行建立事件接受还需求熟悉下列对象:

ProcessDefinition:定义任务流程中的逻辑,包含形状与动作。

ProcessInstance:控制、记录与监视挪动于任务流程处理之间、一般独立的任务流程项目的形状。

三:开始使用CDO

1.  由类别建立对象

CDO由多种COM的类别所组成,是用来建立新对象的基础,当一个对象被建立的时候,这些类别会决定对象标准的预设功用。如:CDO的message类别是用来定义新的Message对象,每个Message对象都有相反的标准功用,允许对象被传送与接受。

使用VB创建一个Message对象的例子:

dim msg as cdo.message

set msg=new cdo.message

使用Vbcript创建一个message对象:

dim msg

set msg=server.createobject(“cdo.message”)

这样我们就可以存取此类别预设接口中的属性与方法,以及任何该类别地下的其它接口。

使用完对象变量之后应该释放对象变量占有的内存:set msg=nothing

2.  使用介面(接口)

界面定义了一个由属性和方法封装在一同的集合。

类别通常有多个与其相关联的介面,包含一个预设(default)的介面,此预设介面拥有类别既定的预设功用。预设介面与该对象呈现的名称类似,只是在对象名称前多了一个字母I,表示这是一个绝对于类别对象的介面,如person类别有一个管理所有属性与方法的IPerson介面,特别用来定义与管理联络人类型的信息。这个预设的介面是由其所属对象直接地下,也就是我们可以由对象直接呼叫属性和方法。我们可以直接调用Person对象的e-mail属性,程序代码如下:

dim prs as cdo.person

set prs=new cdo.person

prs.email=someone@domain.com

除了默认介面以外,大部分的类别至少使用一个以上的其他介面,这些预设介面也会被其他类别所使用。参照介面当前才能够存取其属性和方法,可以轻易的经由调用相关属性来实现。如;Idatasource介面经由Datasource被存取,代码如下;(VB)

dim dsrc as Idatasource

set dsrc = prs.datasource