一:關于CDO對象集合的說明
CDO對象集合是建立協作是應用程序的可靠的API,ADO可以用來存取WEB存儲系統,但是他缺少協同作業最基本的功能,而CDO卻可以處理一般的應用程序和高級的工作流應用程序解決方案,CDO甚至可以提供我們管理exchange的能力,以及與windows 2000的AD通訊。
CDO:collaboration data objects,是一項可以用來建立用途廣泛的協同作業應用程序的技術,能完成如:接受傳送電子郵件、日程安排、聯絡人管理、工作流程以及exchange管理的應用程序。
CDO并不是被封裝成為一個單獨的對象模塊,相反的,它包含了3個不同的對象模塊,每一個都有其特定的用途??梢酝瑫r或者單獨使用這些物件模塊。
三個對象模塊的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
有些介面沒有用以參照的相關屬性,這時因該分情況采取不同措施,如果使用VB,則先宣告一個對象變量作為適當的介面,然后通過將介面對象變量指向對象公開的介面,自動完成參照介面的動作,如CDOEXM的IMailRecipient介面
VB:dim fld as cdo.folder
Dim rcp as cdoexm.imailrecipient
Set rcp=fld
Vbscript,不能為變量預先設定數據類型,必須使用getinterface方法存取介面,幾乎每個CDO對象都公開用以存取介面的GetInterface方法,范例如下:
Set rcp = fld.getinterface(“imailrecipient”)
共2頁: 1 [2] 下一頁 |