畢業(yè)論文-基于Exchange-Server的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(終稿)_第1頁
畢業(yè)論文-基于Exchange-Server的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(終稿)_第2頁
畢業(yè)論文-基于Exchange-Server的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(終稿)_第3頁
畢業(yè)論文-基于Exchange-Server的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(終稿)_第4頁
畢業(yè)論文-基于Exchange-Server的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(終稿)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于ExchangeServer的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(一)潘愛民------------------------------------------------------------------------------------MicrosoftExchangeServer是Microsoft的BackOffice套件產(chǎn)品中面向企業(yè)應(yīng)用的群件系統(tǒng)。在當(dāng)前的企業(yè)應(yīng)用市場(chǎng)上,主流的群件產(chǎn)品為ExchangeServer和LotusNotes,這兩個(gè)產(chǎn)品的功能相仿,我們很難說孰優(yōu)孰劣,但是它們的應(yīng)用開發(fā)模式差異很大,用戶使用起來也會(huì)有完全不同的感受。本文重點(diǎn)討論ExchangeServer以及用ExchangeServer作為平臺(tái)建立起來的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)方案,并涉及了若干相關(guān)的技術(shù)、相關(guān)的軟件系統(tǒng),以及這些系統(tǒng)的協(xié)作方案。----為了便于說明,我們把用ExchangeServer作為平臺(tái)建立起來的企業(yè)應(yīng)用系統(tǒng)簡(jiǎn)稱為ExchangeServer企業(yè)系統(tǒng)或者ExchangeServer企業(yè)應(yīng)用。對(duì)于小型的企業(yè)應(yīng)用,也許一臺(tái)服務(wù)器就可以滿足需要,但是對(duì)于規(guī)模較大的企業(yè)來說,往往需要多臺(tái)服務(wù)器、甚至多套企業(yè)應(yīng)用系統(tǒng)才能保證企業(yè)的計(jì)算機(jī)系統(tǒng)正常運(yùn)行,而現(xiàn)代的大型企業(yè)更要求這些企業(yè)系統(tǒng)分布在不同的物理區(qū)域,區(qū)域之間可能通過慢速網(wǎng)絡(luò)連接起來。ExchangeServer的基本結(jié)構(gòu)是客戶\服務(wù)器(Client\Server)模型,但是它所支持的企業(yè)系統(tǒng)可以是分布式的,而且這種分布式特性對(duì)于系統(tǒng)管理員和用戶是透明的,這使得ExchangeServer的使用更為簡(jiǎn)單,而且對(duì)于大型企業(yè)有更好的適應(yīng)性。----由于ExchangeServer系統(tǒng)的特殊性,ExchangeServer企業(yè)應(yīng)用的開發(fā)與一般的Client\Server應(yīng)用有所不同。一方面,ExchangeServer已經(jīng)為企業(yè)應(yīng)用提供了大量的常規(guī)服務(wù),例如郵件系統(tǒng)、地址簿管理、任務(wù)管理等,Client端應(yīng)用Outlook是用戶的桌面辦公系統(tǒng),幾乎不用做任何開發(fā),ExchangeServer和Outlook就已經(jīng)構(gòu)成了一個(gè)完整的企業(yè)應(yīng)用系統(tǒng);另一方面,ExchangeServer允許用戶在它本身提供功能的基礎(chǔ)上進(jìn)行定制或增加新的應(yīng)用邏輯,得到功能更為強(qiáng)大、更適合于特定企業(yè)的應(yīng)用系統(tǒng)。這就是ExchangeServer企業(yè)應(yīng)用的基本特點(diǎn),本文將著重討論這類企業(yè)應(yīng)用的設(shè)計(jì)和開發(fā)。一、ExchangeServer介紹----MicrosoftExchangeServer既可以作為企業(yè)的Internet郵件系統(tǒng),也可以作為企業(yè)內(nèi)部的消息系統(tǒng)平臺(tái)。1997年11月Microsoft發(fā)布了ExchangeServer5.5版本,該產(chǎn)品在功能和性能方面都非常優(yōu)秀,為Windows操作系統(tǒng)提供了良好的企業(yè)應(yīng)用基礎(chǔ)平臺(tái),而隨后在1998年發(fā)布的ServicePack1使其更趨完善。----ExchangeServer內(nèi)部建立了一套功能強(qiáng)大的消息傳遞機(jī)制,同時(shí)也提供了它與其他許多系統(tǒng)之間的透明連接。其總體結(jié)構(gòu)框架如圖1所示。圖1ExchangeServer結(jié)構(gòu)框架----ExchangeServer作為一個(gè)消息系統(tǒng)平臺(tái),它包含一系列與消息有關(guān)的服務(wù),圖1給出了基本的結(jié)構(gòu)圖。ExchangeServer的核心包括4個(gè)系統(tǒng)服務(wù):信息存儲(chǔ)服務(wù)、目錄服務(wù)、消息傳輸代理和系統(tǒng)助理服務(wù),當(dāng)我們?cè)诜?wù)器上安裝了ExchangeServer之后,這些服務(wù)會(huì)自動(dòng)被啟動(dòng)。以后客戶連接到ExchangeServer時(shí),這些服務(wù)協(xié)同完成客戶的請(qǐng)求。其功能分別如下:----信息存儲(chǔ)服務(wù)(InformationStore):它提供對(duì)消息數(shù)據(jù)庫的存儲(chǔ)和讀取訪問,ExchangeServer的信息存儲(chǔ)分為公共信息存儲(chǔ)和私有信息存儲(chǔ)。公共信息存儲(chǔ)包含所有的公共文件夾信息,私有信息存儲(chǔ)包含當(dāng)前服務(wù)器上的所有用戶的郵箱信息。----ExchangeServer是一個(gè)半結(jié)構(gòu)化的信息存儲(chǔ)系統(tǒng),它可以保存各種類型的信息,如各種文檔、消息、會(huì)議請(qǐng)求、聯(lián)系人信息、普通文件、多媒體資料等。信息存儲(chǔ)服務(wù)是ExchangeServer最基本的服務(wù),其他幾乎所有的服務(wù)都建立在信息存儲(chǔ)服務(wù)的基礎(chǔ)上。所以ExchangeServer對(duì)信息存儲(chǔ)服務(wù)進(jìn)行了優(yōu)化處理。一方面,所有的消息采用單實(shí)例存儲(chǔ)機(jī)制,以便節(jié)約存儲(chǔ)空間;另一方面,信息存儲(chǔ)服務(wù)對(duì)最近訪問過的消息做了緩存處理,以便提高平均響應(yīng)速度;最后,信息存儲(chǔ)服務(wù)對(duì)創(chuàng)建消息、刪除消息或者修改消息采用了事務(wù)機(jī)制,既提高了性能也增強(qiáng)了可靠性。----2.目錄服務(wù)(DirectoryService):ExchangeServer的目錄機(jī)制為我們管理ExchangeServer的內(nèi)部對(duì)象提供了一致的層次結(jié)構(gòu)。其中包括ExchangeServer組織(Organization)、站點(diǎn)(Site)和服務(wù)器(Server)的所有配置信息,目錄也包含了地址簿信息。利用目錄服務(wù),管理員可以查找到所有的郵箱信息。----目錄機(jī)制是ExchangeServer中信息的組織結(jié)構(gòu),而目錄服務(wù)保證了這套機(jī)制能夠有效地把大量的信息甚至是分布式的信息管理起來。ExchangeServer中的所有信息都通過目錄結(jié)構(gòu)呈現(xiàn)在用戶或者管理員面前,這為用戶查詢信息或者管理員管理信息都提供了極大的方便。----當(dāng)我們?cè)诜植际较到y(tǒng)中使用ExchangeServer時(shí),目錄信息自動(dòng)復(fù)制到所有的服務(wù)器上,以便保證所有的ExchangeServer服務(wù)器有同樣的配置信息。目錄信息的一致性是ExchangeServer信息位置透明性的基礎(chǔ)。同一個(gè)站點(diǎn)內(nèi)的服務(wù)器上的目錄信息總是可以及時(shí)同步,因?yàn)橥徽军c(diǎn)內(nèi)的服務(wù)器往往通過快速網(wǎng)絡(luò)連接起來,而不同站點(diǎn)之間的服務(wù)器必須通過目錄橋服務(wù)器保證目錄信息的復(fù)制,系統(tǒng)管理員可以配置復(fù)制計(jì)劃,以便在網(wǎng)絡(luò)速度和復(fù)制效率之間做一折中。----3.消息傳輸代理(MessageTransferAgent,MTA):MTA是ExchangeServer中消息流動(dòng)的基礎(chǔ)。它既對(duì)站點(diǎn)內(nèi)部的服務(wù)器傳輸消息,同時(shí)也為其他站點(diǎn)的服務(wù)器傳輸消息。MTA作為ExchangeServer的內(nèi)部消息傳遞機(jī)制,它提供了很強(qiáng)的控制功能,比如管理員可以控制消息的大小、消息傳送的路由表等。----4.系統(tǒng)助理(SystemAttendant):系統(tǒng)助理是個(gè)輔助性的服務(wù),但是ExchangeServer的許多工作由它來完成,列舉如下:----(1)當(dāng)管理員添加新郵箱時(shí),系統(tǒng)助理會(huì)產(chǎn)生與郵箱有關(guān)的目錄地址和E-mail地址。----(2)MTA傳輸消息時(shí)可能會(huì)用到系統(tǒng)助理來解析收件人地址,或者把目錄中的分發(fā)表(DistributionList)展開成一組收件人地址。----(3)檢查目錄復(fù)制的一致性。----(4)保存和管理郵箱的數(shù)字簽名和加密信息。----(5)為MTA創(chuàng)建路由表。----ExchangeServer的核心服務(wù)是系統(tǒng)正常運(yùn)轉(zhuǎn)的基礎(chǔ),當(dāng)我們?cè)谝慌_(tái)服務(wù)器上安裝了ExchangeServer之后,這些服務(wù)都會(huì)自動(dòng)啟動(dòng)。以后我們就可以使用ExchangeServer作為我們的消息平臺(tái)了。但是在實(shí)際使用時(shí),情況往往要復(fù)雜得多,ExchangeServer還需要與其他的系統(tǒng)交換信息,比如我們要通過ExchangeServer收發(fā)Internet郵件,或者利用ExchangeServer作為企業(yè)的討論公告區(qū),這時(shí)我們就需要其他一些可選服務(wù)。ExchangeServer支持大多數(shù)標(biāo)準(zhǔn)的或者常見的消息系統(tǒng),從圖1我們也可以看到這一點(diǎn)。----常用的可選服務(wù)有以下一些:郵件服務(wù):利用此服務(wù),ExchangeServer的用戶可以收發(fā)Internet郵件。新聞服務(wù):提供基本的新聞服務(wù),企業(yè)可以利用新聞服務(wù)建立內(nèi)部討論組或公告牌。事件服務(wù):事件服務(wù)是運(yùn)行在ExchangeServer服務(wù)器上的代理系統(tǒng),它可以監(jiān)測(cè)到對(duì)一個(gè)目錄中消息的操作情況,比如新建消息、刪除消息、修改消息或者定時(shí)消息。我們可以利用ExchangeServer的事件服務(wù)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。鑰匙管理服務(wù):管理組織中用戶的數(shù)字簽名和加密消息的安全信息。一組連接器服務(wù):包括X.400連接器、CCMail連接器、MSMail連接器、LotusNotes連接器、IBMSNADS連接器等,通過這些連接器,ExchangeServer組織中的用戶可以與其他系統(tǒng)中的用戶互相交換信息。----從ExchangeServer的框架結(jié)構(gòu)我們可以看出,ExchangeServer本身是一個(gè)功能強(qiáng)大的分布式消息系統(tǒng),同時(shí)它也可以與其他的消息系統(tǒng)互操作,外掛式的連接器保證了一個(gè)企業(yè)中可以有多個(gè)消息系統(tǒng)存在。----下面我們來看看ExchangeServer客戶端的情況。ExchangeServer的標(biāo)準(zhǔn)客戶軟件為Outlook,Outlook不僅是ExchangeServer的基本客戶軟件,同時(shí)也是ExchangeServer企業(yè)應(yīng)用的開發(fā)環(huán)境,管理員的某些日常管理工作也可以通過Outlook來完成。Outlook和ExchangeServer構(gòu)成了標(biāo)準(zhǔn)的客戶\服務(wù)器模型,它們之間直接通過RPC進(jìn)行通信。ExchangeServer的用戶也可以使用其他的通用客戶軟件,因?yàn)镋xchangeServer支持常見的Internet協(xié)議,如LDAP(目錄服務(wù)訪問協(xié)議)、SMTP(簡(jiǎn)單消息傳輸協(xié)議)、POP3和IMAP4(收取郵件協(xié)議)、NNTP(新聞傳輸協(xié)議)。利用這些協(xié)議我們可以訪問ExchangeServer上相應(yīng)的服務(wù),但是ExchangeServer上有些功能只能使用Outlook才能實(shí)現(xiàn),比如日歷功能、任務(wù)管理等專用于企業(yè)內(nèi)部的、Internet標(biāo)準(zhǔn)協(xié)議不能實(shí)現(xiàn)的特性。圖2ExchangeServer系統(tǒng)服務(wù)示意圖----ExchangeServer的所有服務(wù)均以系統(tǒng)服務(wù)的形式存在,所以我們可以通過WindowsNT的"服務(wù)管理器"檢查ExchangeServer的服務(wù)活動(dòng)情況,如圖2所示。管理員通過ExchangeServer的管理程序配置組織和站點(diǎn),也可以用它來管理郵箱,實(shí)際上我們可以用ExchangeServer管理程序管理組織中的整個(gè)目錄。管理程序的用戶界面如圖3所示,左邊的樹狀窗格就是整個(gè)組織的目錄結(jié)構(gòu),在組織中的任何一臺(tái)ExchangeServer服務(wù)器上都會(huì)看到同樣的樹狀目錄結(jié)構(gòu),右邊的窗格對(duì)應(yīng)于左邊被選中項(xiàng)的詳細(xì)信息。圖3ExchangeServer管理程序用戶界面----以上是ExchangeServer的基本結(jié)構(gòu)和服務(wù),最后我們來看一下ExchangeServer的幾個(gè)與企業(yè)應(yīng)用相關(guān)的特性:分布式特性:分布式特性是實(shí)現(xiàn)大型復(fù)雜企業(yè)應(yīng)用的保證,ExchangeServer中目錄對(duì)象的位置透明性簡(jiǎn)化了系統(tǒng)的管理。與操作系統(tǒng)的緊密結(jié)合:這可能是ExchangeServer的最大優(yōu)勢(shì)。一方面,ExchangeServer的服務(wù)都以系統(tǒng)服務(wù)的形式實(shí)現(xiàn),提高了系統(tǒng)的處理效率;另一方面,ExchangeServer中的所有用戶都與NT的域用戶綁定,直接利用了操作系統(tǒng)的安全機(jī)制。與操作系統(tǒng)提供的許多工具緊密結(jié)合:比如實(shí)時(shí)備份、錯(cuò)誤日志、性能監(jiān)測(cè)等等,除此之外,ExchangeServer也提供了其他一些管理工具??缮炜s性:ExchangeServer的信息存儲(chǔ)服務(wù)支持16TB的存儲(chǔ)容量,我們幾乎可以認(rèn)為這是一個(gè)無限的數(shù)據(jù)容器。而單實(shí)例存儲(chǔ)又節(jié)約了大量的存儲(chǔ)空間。在性能方面,ExchangeServer內(nèi)置了SMP支持。高可靠性:一方面,ExchangeServer支持群集特性,保證了系統(tǒng)可以不間斷工作;另一方面,MTA采用了事務(wù)機(jī)制保證操作的可恢復(fù)性,而且,ExchangeServer中的郵件總是可靠遞交的。----在介紹了ExchangeServer的功能和特性之后,下一部分我們將討論如何以ExchangeServer作為平臺(tái)建立企業(yè)應(yīng)用,以及建立什么樣的企業(yè)應(yīng)用。----(未完待續(xù))----(作者地址:北京大學(xué)計(jì)算機(jī)科學(xué)技術(shù)研究所,100871)基于ExchangeServer的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(二)潘愛民------------------------------------------------------------------------------------二、用ExchangeServer建立企業(yè)應(yīng)用方案----企業(yè)應(yīng)用不同于一般的應(yīng)用系統(tǒng),它不僅要滿足企業(yè)的基本應(yīng)用需要,也要滿足企業(yè)發(fā)展的需要,所以我們?cè)谶x擇企業(yè)應(yīng)用平臺(tái)時(shí)要充分考慮平臺(tái)系統(tǒng)的開放性和可擴(kuò)展性。ExchangeServer作為Windows平臺(tái)上的群件系統(tǒng),它不僅提供了基本的企業(yè)應(yīng)用特性,也具有很好的可擴(kuò)展性。----首先我們來看一看現(xiàn)代企業(yè)應(yīng)用的一般性要求。大致來說,可以分成以下5類:----1.消息傳遞系統(tǒng):消息系統(tǒng)是企業(yè)運(yùn)作的基礎(chǔ)?,F(xiàn)代企業(yè)中員工的行為往往是相互關(guān)聯(lián)的,隨著社會(huì)信息化的不斷深入,員工之間的協(xié)作越來越重要。消息系統(tǒng)是保證協(xié)作的基礎(chǔ),任何其他的通信系統(tǒng)(比如電話系統(tǒng))都比不上消息系統(tǒng)的靈活和高效。ExchangeServer的核心就是一個(gè)消息系統(tǒng),它為企業(yè)員工之間的通信提供了安全、可靠、快速的途徑,而且通過Internet郵件服務(wù)連接器,企業(yè)的消息系統(tǒng)可以擴(kuò)展為Internet郵件系統(tǒng)。----2.流程管理系統(tǒng):流程管理是現(xiàn)代企業(yè)的辦公業(yè)務(wù)需要,它往往建立在企業(yè)的消息系統(tǒng)基礎(chǔ)之上,同時(shí)也要涉及到企業(yè)的業(yè)務(wù)規(guī)則,例如企業(yè)的采購流程、報(bào)賬流程、報(bào)文審批等。----3.知識(shí)庫管理系統(tǒng):知識(shí)庫是現(xiàn)代企業(yè)快速發(fā)展的經(jīng)驗(yàn)寶庫,企業(yè)應(yīng)用中的知識(shí)庫系統(tǒng)可以有效地提高企業(yè)對(duì)現(xiàn)有知識(shí)和經(jīng)驗(yàn)的利用水平。ExchangeServer提供的公共信息存儲(chǔ)可以作為知識(shí)庫管理系統(tǒng)的基礎(chǔ),配合Outlook提供的表單定制和消息檢索功能,我們可以快速實(shí)現(xiàn)一個(gè)知識(shí)庫管理系統(tǒng)。----4.企業(yè)的地址簿管理:企業(yè)的地址簿系統(tǒng)也是企業(yè)協(xié)作系統(tǒng)的基礎(chǔ)。地址簿包括企業(yè)內(nèi)部員工的個(gè)人信息,包括家庭地址、電話、電子郵件地址、職銜等信息。地址簿的結(jié)構(gòu)往往反映了企業(yè)的組織結(jié)構(gòu)形式。地址簿也可以包括企業(yè)的外部聯(lián)系信息,例如客戶信息、合作部門信息等等。ExchangeServer的目錄結(jié)構(gòu)可以有效地把企業(yè)組織的地址簿建立起來,而且ExchangeServer目錄的全局一致性和位置透明性使企業(yè)用戶使用和管理地址信息都非常方便。----5.企業(yè)的實(shí)時(shí)應(yīng)用系統(tǒng):我們知道,基于網(wǎng)絡(luò)的應(yīng)用分為同步和異步兩種方式。異步方式使得應(yīng)用非常靈活,用戶可以不受時(shí)間、地點(diǎn)限制;而同步方式限定通信雙方必須同時(shí)進(jìn)入現(xiàn)場(chǎng)操作。雖然同步方式的靈活性要差一點(diǎn),但對(duì)于一個(gè)企業(yè)應(yīng)用系統(tǒng)來說,同步的、實(shí)時(shí)的部分也是必不可少的,例如,網(wǎng)絡(luò)會(huì)議、對(duì)話服務(wù)等。----ExchangeServer較好地滿足了這些需要,而且在使用方便性和系統(tǒng)擴(kuò)展能力方面還有所增強(qiáng)。在使用ExchangeServer平臺(tái)建立的企業(yè)應(yīng)用中,管理員日常管理工作的多數(shù)操作可以在客戶端軟件Outlook中完成;而且開發(fā)人員大量的開發(fā)工作也可以在客戶端軟件Outlook中完成,比如表單制作,甚至連服務(wù)器端的腳本代碼也要在Outlook程序中導(dǎo)入。所以我們?cè)谔崞餎xchangeServer企業(yè)應(yīng)用時(shí),總是離不開Outlook。盡管我們?cè)贓xchangeServer企業(yè)應(yīng)用中看到的大多數(shù)特性都是在Outlook中體現(xiàn)的,但這些特性的本質(zhì)仍然在于ExchangeServer,這就如同客戶/服務(wù)器模型的數(shù)據(jù)庫系統(tǒng)的服務(wù)器程序決定了數(shù)據(jù)庫的基本功能和特性,數(shù)據(jù)庫客戶程序只是操作數(shù)據(jù)庫中的數(shù)據(jù)而已。圖1ExchangeServer企業(yè)應(yīng)用框架結(jié)構(gòu)----首先我們看一看ExchangeServer企業(yè)應(yīng)用的基本框架結(jié)構(gòu),如圖1所示。----企業(yè)應(yīng)用往往需要管理大量的數(shù)據(jù),從應(yīng)用邏輯來講,這些數(shù)據(jù)可以分成兩種:一種是結(jié)構(gòu)規(guī)則的永久數(shù)據(jù),通常是我們存放在關(guān)系型數(shù)據(jù)庫中的記錄數(shù)據(jù);另一種則是結(jié)構(gòu)不很規(guī)則甚至經(jīng)??赡馨l(fā)生變化的數(shù)據(jù),這些數(shù)據(jù)在企業(yè)應(yīng)用的運(yùn)行過程中往往短程有效,比如流程活動(dòng)過程中的消息。在圖1給出的企業(yè)應(yīng)用框架中,前一種數(shù)據(jù)往往保存在后臺(tái)數(shù)據(jù)庫系統(tǒng)中,比如SQLServer或者Oracle等專門的數(shù)據(jù)庫系統(tǒng),這樣做的好處是,應(yīng)用系統(tǒng)可以充分發(fā)揮數(shù)據(jù)庫系統(tǒng)的索引檢索功能、高效率批量訪問等優(yōu)勢(shì);后一種數(shù)據(jù)往往直接存放在ExchangeServer的信息存儲(chǔ)中,因?yàn)椴坏獷xchangeServer非常適合于處理這種半結(jié)構(gòu)化的數(shù)據(jù),而且ExchangeServer中的許多業(yè)務(wù)處理也需要直接訪問這些數(shù)據(jù),尤其是流程信息,更是離不開這些短程數(shù)據(jù)。----ExchangeServer可以通過兩種不同的途徑訪問后臺(tái)數(shù)據(jù)庫,可以直接通過ADO(ActiveDataObject)訪問數(shù)據(jù)庫中的記錄,或者通過Active對(duì)象訪問數(shù)據(jù)庫中的記錄。ExchangeServer作為企業(yè)應(yīng)用的基礎(chǔ)平臺(tái),大量的業(yè)務(wù)處理工作是由各個(gè)子系統(tǒng)自動(dòng)完成的,一般情況下我們并不需要對(duì)這些子系統(tǒng)進(jìn)行擴(kuò)展,比如MTA子系統(tǒng)會(huì)自動(dòng)為我們傳遞消息,但是,在某些情況下我們也可能會(huì)要求加入自己的業(yè)務(wù)處理操作,比如在事件服務(wù)子系統(tǒng)中加入對(duì)某個(gè)公共文件夾的事件處理。ExchangeServer的擴(kuò)展支持Script語言,VBScript或者JavaScript均可,只要服務(wù)器上安裝有相應(yīng)的腳本引擎。在這些腳本代碼中,我們可以通過自動(dòng)化(Automation)技術(shù)訪問ADO對(duì)象或者Active自動(dòng)化對(duì)象,從而達(dá)到訪問數(shù)據(jù)庫的目的。因此,ExchangeServer企業(yè)應(yīng)用中的數(shù)據(jù)庫支持技術(shù)并不復(fù)雜,對(duì)開發(fā)人員的技術(shù)要求并不高。----然后我們?cè)倏匆豢纯蛻舳巳绾闻cExchangeServer協(xié)同工作。首先,Outlook是ExchangeServer企業(yè)應(yīng)用的標(biāo)準(zhǔn)客戶端程序,也是這種應(yīng)用的開發(fā)環(huán)境。Outlook中復(fù)雜的功能體現(xiàn)了ExchangeServer的強(qiáng)大協(xié)作能力,這些功能可以分為兩類:基于郵件的功能和信息管理功能。分別列舉如下:----郵件功能:郵箱別名解析、郵件重要性級(jí)別支持、郵件跟蹤、HTML郵件、郵件附件支持、多種協(xié)議的支持(POP3,IMAP4,LDAP,NNTP,MAPI)等。----信息管理功能:日歷、全球地址簿、任務(wù)管理、日記、服務(wù)器端和客戶端的規(guī)則、郵件檢索等。圖2在InternetExplorer中訪問ExchangeServer示意圖----使用Outlook作為ExchangeServer企業(yè)應(yīng)用的客戶端軟件可以全面發(fā)揮ExchangeServer的功能,而且軟件廠商對(duì)其所作的開發(fā)與ExchangeServer幾乎完全融合在一起,用戶在使用時(shí)感覺不到二次開發(fā)的痕跡,這是ExchangeServer企業(yè)應(yīng)用的特殊性。概括起來說,ExchangeServer為企業(yè)應(yīng)用提供了一種通用的模式,軟件商可以根據(jù)應(yīng)用的特點(diǎn)對(duì)ExchangeServer進(jìn)行擴(kuò)展,配置或者添加業(yè)務(wù)規(guī)則,為企業(yè)用戶提供通用或者專用的功能。----當(dāng)然用戶也可以不使用Outlook作為客戶端軟件,特別是當(dāng)用戶通過慢速網(wǎng)絡(luò)訪問Exchange服務(wù)器的情況下,用戶可以使用通用的郵件客戶軟件,比如OutlookExpress或者NetscapeMessenger等,通過POP3或者IMAP協(xié)議訪問用戶的郵箱,通過LDAP協(xié)議訪問目錄服務(wù)。受到這些標(biāo)準(zhǔn)協(xié)議功能的限制,這時(shí)ExchangeServer提供的功能并不能完全發(fā)揮出來,但用戶可以完成一些基本的郵件操作。----訪問ExchangeServer的另外一條途徑是使用ExchangeServer提供的OWA(OutlookWebAccess)模塊。OWA是一個(gè)IIS(MicrosoftInternetInformationServer)目錄,它與ExchangeServer可以運(yùn)行在不同的服務(wù)器上。實(shí)際上,OWA也是一個(gè)ASP工程,它把Web客戶的訪問請(qǐng)求轉(zhuǎn)移給ExchangeServer,再把ExchangeServer的響應(yīng)結(jié)果返回給Web客戶。由于OWA返回給客戶的是包含JavaScript的HTTP頁面,所以大多數(shù)的瀏覽器都可以通過OWA訪問ExchangeServer。但是由于HTTP描述數(shù)據(jù)能力的限制以及瀏覽器中頁面交互操作的局限性,OWA并不能實(shí)現(xiàn)Outlook的所有功能。圖2是在InternetExplorer中訪問ExchangeServer的界面示意圖。(未完待續(xù))基于ExchangeServer的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(三)潘愛民------------------------------------------------------------------------------------ExchangeServer不僅提供了強(qiáng)大的協(xié)作功能,而且也提供了訪問這些功能的編程接口--CDO(CollaborationDataObject)。與ADO類似,CDO也是一套自動(dòng)化對(duì)象庫,它完全暴露了ExchangeServer的功能。我們可以用腳本語言訪問CDO對(duì)象,OWA就是利用CDO來訪問ExchangeServer的。CDO的底層是MAPI(MessagingApplicationProgrammingInterface),MAPI是一組供低級(jí)語言(如C/C++語言)調(diào)用的接口和函數(shù)以及相關(guān)的常數(shù)和數(shù)據(jù)結(jié)構(gòu)等,它涵蓋了ExchangeServer的所有功能。因?yàn)镃DO和MAPI是公共的編程接口,有詳細(xì)的文檔和眾多例程,如果軟件商覺得Outlook不能滿足應(yīng)用的需要,或者需要在其他的系統(tǒng)中訪問ExchangeServer的功能,可以直接利用CDO或者M(jìn)API進(jìn)行客戶端程序的開發(fā)。----最后,我們總結(jié)ExchangeServer企業(yè)應(yīng)用的一些特點(diǎn):----1.ExchangeServer和Outlook奠定應(yīng)用的基本框架,并且ExchangeServer和Outlook又提供了非常靈活的擴(kuò)展機(jī)制,所以最終的企業(yè)應(yīng)用將是ExchangeServer+Outlook與擴(kuò)展部分的緊密結(jié)合。----2.ExchangeServer的目錄結(jié)構(gòu)不僅簡(jiǎn)化了企業(yè)中地址簿的管理,也簡(jiǎn)化了企業(yè)中所有信息的管理。遠(yuǎn)程客戶可以通過LDAP訪問目錄信息,應(yīng)用程序也可以通過ADSI(ActiveDirectoryServiceInterface)訪問目錄信息。----3.提供強(qiáng)大的信息處理機(jī)制。ExchangeServer內(nèi)置的郵件功能以及公共文件夾功能可為企業(yè)應(yīng)用提供足夠靈活的信息處理能力,ExchangeServer與關(guān)系型數(shù)據(jù)庫的有機(jī)結(jié)合是企業(yè)應(yīng)用的最佳存儲(chǔ)體系。----4.提供多協(xié)議的支持。----5.直接建立在WindowsNT的安全機(jī)制基礎(chǔ)上。----6.可建立分布式企業(yè)應(yīng)用系統(tǒng)。位置透明的特性使得管理更加簡(jiǎn)便,利用站點(diǎn)建立起來的數(shù)據(jù)復(fù)制體制能很好地適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境。----7.提供客戶端的靈活選擇。用戶除了選擇Outlook作為客戶端軟件之外,也可以選擇Internet瀏覽器或者郵件客戶軟件作為客戶軟件,還可以開發(fā)自己的客戶軟件。三、用Outlook開發(fā)ExchangeServer企業(yè)系統(tǒng)中的協(xié)作應(yīng)用----在客戶/服務(wù)器結(jié)構(gòu)的企業(yè)應(yīng)用系統(tǒng)中,業(yè)務(wù)邏輯既可以在客戶方完成,也可以在服務(wù)器方完成。ExchangeServer企業(yè)應(yīng)用的大量業(yè)務(wù)邏輯位于服務(wù)器方,因?yàn)榛A(chǔ)消息平臺(tái)是ExchangeServer的主要功能特征。盡管如此,客戶程序是企業(yè)應(yīng)用的關(guān)鍵,因?yàn)樽罱K用戶面對(duì)的只是客戶程序,應(yīng)用的效率和功能都通過客戶程序體現(xiàn)出來。Outlook不僅是ExchangeServer的標(biāo)準(zhǔn)客戶軟件,也是ExchangeServer企業(yè)應(yīng)用的開發(fā)環(huán)境,所以,這一部分我們討論使用Outlook(本文統(tǒng)一使用Outlook98)開發(fā)企業(yè)系統(tǒng)中協(xié)作應(yīng)用的全過程。----在討論Outlook開發(fā)之前,我們先簡(jiǎn)單看一下協(xié)作應(yīng)用的基本模型,如圖1所示。圖1協(xié)作應(yīng)用基本模型----任意一個(gè)有相應(yīng)權(quán)限的用戶都可以給指定的公共文件夾發(fā)送請(qǐng)求消息,公共文件夾是服務(wù)器上的消息處理器,它接收到用戶的請(qǐng)求后,根據(jù)消息中的內(nèi)容執(zhí)行有關(guān)的處理。對(duì)應(yīng)于不同的業(yè)務(wù)規(guī)則,消息的處理過程有所不同,典型情況有:消息處理器根據(jù)一定的規(guī)則直接把消息轉(zhuǎn)送到指定角色的用戶郵箱中;消息處理器對(duì)接收到的消息進(jìn)行預(yù)處理,并生成新的消息提交給其他用戶;消息處理器根據(jù)原始消息中的指定名單或者內(nèi)置的流程名單使消息順序流動(dòng)。把公共文件夾當(dāng)作消息中心處理器,我們幾乎可以實(shí)現(xiàn)各種形式的協(xié)作應(yīng)用,其不同僅在于用戶發(fā)送給公共文件夾的消息種類和公共文件夾的業(yè)務(wù)邏輯規(guī)則。----協(xié)作應(yīng)用可以有兩種不同的使用模式:----1.群組工作模式用戶直接把消息發(fā)送(POST)到公共文件夾中,消息可以采用自定義表單,也可以使用系統(tǒng)的標(biāo)準(zhǔn)表單。這種模式與新聞組的張貼工作方式類似。比如,投票選舉就可以采用這種工作模式。----2.工作流模式用戶利用一個(gè)自定義的表單,把消息發(fā)送(SEND)到一個(gè)公共文件夾中,自定義表單可以把發(fā)送的目標(biāo)文件夾路徑隱藏起來,用戶不必關(guān)心公共文件夾的位置。公共文件夾會(huì)按照指定的業(yè)務(wù)規(guī)則處理用戶的請(qǐng)求。從而實(shí)現(xiàn)工作流模式的協(xié)作應(yīng)用。----協(xié)作應(yīng)用的開發(fā)包括兩部分內(nèi)容:----1.表單的設(shè)計(jì)表單的設(shè)計(jì)完全在Outlook中完成,在設(shè)計(jì)過程中允許為消息添加自定義的域,也允許把域與界面上的控制元素綁定在一起。讀表單和寫表單分離設(shè)計(jì)。在表單設(shè)計(jì)時(shí)可能也需要編寫一些腳本代碼。----2.文件夾的設(shè)計(jì)文件夾的設(shè)計(jì)包括視圖設(shè)計(jì)、業(yè)務(wù)規(guī)則定義和訪問控制。視圖設(shè)計(jì)比較簡(jiǎn)單,通過對(duì)話框操作就可以完成;業(yè)務(wù)規(guī)則要復(fù)雜一些,涉及到服務(wù)器端的腳本代碼;訪問控制比較容易實(shí)現(xiàn),只要指定相關(guān)的訪問權(quán)限即可。----下面我們分別討論表單的設(shè)計(jì)和文件夾的設(shè)計(jì)。在進(jìn)入表單設(shè)計(jì)模式之前,我們先打開或者新建一個(gè)消息,Outlook已經(jīng)為我們提供了一組標(biāo)準(zhǔn)表單,通常我們創(chuàng)建的新表單以某一個(gè)標(biāo)準(zhǔn)表單為基礎(chǔ),到底以哪個(gè)表單為基礎(chǔ)取決于協(xié)作應(yīng)用的類型。比如我們選擇郵件表單作為基礎(chǔ),那么我們可以新建一個(gè)郵件。在郵件的表單窗口中,我們選擇菜單命令"工具"*"窗體"*"進(jìn)入該窗體",于是進(jìn)入表單的設(shè)計(jì)狀態(tài)。如圖2所示。圖2進(jìn)入設(shè)計(jì)狀態(tài)的表單窗口----在設(shè)計(jì)表單過程中,我們必須清楚兩個(gè)概念--域和控制,它們分別與消息和表單相對(duì)應(yīng)。表單的作用是表達(dá)消息,是暫時(shí)存在的,而消息是永久的,它存在于某個(gè)公共或者私有文件夾之中。域是消息的數(shù)據(jù)屬性,有如數(shù)據(jù)庫中的域與數(shù)據(jù)表的關(guān)系一樣,每個(gè)標(biāo)準(zhǔn)表單所對(duì)應(yīng)的消息都有一套標(biāo)準(zhǔn)域。比如,郵件消息包含收件人、發(fā)件人等域;而控制則是表單的組成元素,一個(gè)不包含任何控制的表單是沒有意義的,控制與域不一定要有對(duì)應(yīng)關(guān)系,但表單中總有一些控制是反映域的,比如,郵件表單中的收件人編輯框反映了郵件消息的收件人域,正文編輯框反映了郵件消息的內(nèi)容。----當(dāng)我們從一個(gè)郵件表單進(jìn)入到設(shè)計(jì)狀態(tài)之后,我們實(shí)際上繼承了郵件消息的所有域?,F(xiàn)在我們可以添加新的域、刪除原有的域,每一個(gè)域都有一個(gè)字符串域名作為域的標(biāo)識(shí),域的類型可以是字符串、整數(shù)、布爾型等。在表單設(shè)計(jì)過程中,對(duì)域的增、刪、改操作比較容易實(shí)現(xiàn),直接利用域工具箱(如圖2所示)即可,也可以創(chuàng)建自定義域。----在設(shè)計(jì)表單過程中,我們往往需要在標(biāo)準(zhǔn)表單的基礎(chǔ)上新增加一些自定義域,這些域可以在消息的流動(dòng)過程中傳遞信息。一條基本原則是,我們應(yīng)該盡量使用標(biāo)準(zhǔn)表單提供的域,既可以是當(dāng)前表單所繼承的標(biāo)準(zhǔn)表單,也可以是其他標(biāo)準(zhǔn)表單。----然后我們?cè)O(shè)計(jì)表單的界面布局,這個(gè)過程與VisualBasic的表單設(shè)計(jì)或VisualC++中對(duì)話框的設(shè)計(jì)非常類似,利用控制工具條上提供的各種工具,在表單中增加控制,并調(diào)節(jié)控制的位置,使表單的總體布局盡可能美觀、合理。值得注意的幾點(diǎn)是:----1.在控制的屬性對(duì)話框(如圖3)中,我們可以為控制設(shè)置初始值,也可以使控制與某個(gè)域綁定??刂婆c域的綁定功能對(duì)表單設(shè)計(jì)非常有意義,一旦綁定之后,控制就代表了域的值,控制的初值就是域的初值,表單執(zhí)行了"保存"命令之后,控制的值自動(dòng)會(huì)保存到域中。圖3表單設(shè)計(jì)過程中控制的屬性對(duì)話框----2.表單是針對(duì)消息而設(shè)計(jì)的,但是由于消息是流動(dòng)的,同樣的消息可能會(huì)面對(duì)不同的用戶,用戶對(duì)消息的操作也會(huì)不同。典型情況下,發(fā)送郵件的用戶使用的表單與閱讀郵件的用戶使用的表單是不同的,所以,在Outlook中設(shè)計(jì)的表單允許讀操作使用的表單與寫操作使用的表單分離開,相當(dāng)于設(shè)計(jì)兩個(gè)不同的表單供同一個(gè)消息使用。菜單命令"窗體"*"分離讀寫版面"可以幫助我們實(shí)現(xiàn)這一點(diǎn),工具條上的"編輯撰寫頁"和"編輯閱讀頁"按鈕可讓我們?cè)趦蓚€(gè)表單之間進(jìn)行切換。----3.表單可以是多頁的,利用菜單命令"工具"*"顯示該頁"我們可以決定是否顯示當(dāng)前頁。頁標(biāo)簽帶有圓括號(hào)表示該頁不顯示。在表單窗口中,我們除了可以看到表單中指定的控制之外,在工具條上我們還可以看到一些按鈕,這些按鈕代表各種不同的動(dòng)作,比如"發(fā)送"、"答復(fù)"、"轉(zhuǎn)發(fā)"等。我們?cè)谠O(shè)計(jì)表單時(shí),有一頁名為"動(dòng)作",可對(duì)每個(gè)動(dòng)作的屬性進(jìn)行定義。(未完待續(xù))基于ExchangeServer的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)(四)潘愛民------------------------------------------------------------------------------------對(duì)于簡(jiǎn)單的表單,按上期講座中所述的步驟就可以完成設(shè)計(jì)工作。但是對(duì)于復(fù)雜的表單,或者有特殊要求的表單,我們還需要編寫一些腳本代碼,以便實(shí)施更為精細(xì)的控制。利用表單的腳本支持,我們可以在某些控制點(diǎn)上加入腳本代碼,比如,在消息被"發(fā)送"之前檢查各個(gè)域的數(shù)據(jù)有效性,或者當(dāng)打開表單時(shí)顯示或者隱藏某些特殊的控制。腳本代碼的編寫如同我們?cè)赩isualBasic中編寫事件處理函數(shù)類似。----Outlook提供了一套對(duì)象庫,如圖1所示。我們?cè)诒韱蔚氖录幚砗瘮?shù)中,可以通過這套對(duì)象庫訪問到表單、視圖對(duì)象,乃至Outlook當(dāng)前應(yīng)用實(shí)例中任何一個(gè)可通過對(duì)象庫到達(dá)的對(duì)象。圖1Outlook對(duì)象庫----當(dāng)我們?cè)O(shè)計(jì)完成表單之后,最后需要做的工作是將表單發(fā)布到合適的地方,對(duì)于以公共文件夾為消息處理中心的協(xié)作應(yīng)用來說,我們既可以把表單發(fā)布到公共文件夾中,也可以把表單發(fā)布到團(tuán)體表單庫中。如果我們把表單發(fā)布到某個(gè)公共文件夾中,那么以后當(dāng)我們?cè)谖募A視圖窗口中選中該文件夾時(shí),Outlook的"動(dòng)作"菜單中會(huì)出現(xiàn)新建此類消息的菜單項(xiàng)。如果我們把表單發(fā)布到團(tuán)體表單庫中,那么所有的用戶都可以通過團(tuán)體表單庫新建此類消息。表單的發(fā)布對(duì)話框如圖2所示。圖2表單發(fā)布對(duì)話框----上面我們介紹了表單的設(shè)計(jì)和發(fā)布,現(xiàn)在我們來討論協(xié)作應(yīng)用的表單應(yīng)該如何設(shè)計(jì)。首先,協(xié)作應(yīng)用的原始表單應(yīng)該由用戶發(fā)送到公共文件夾中,所以我們?cè)诒韱蔚?收件人"域中指定為目標(biāo)文件夾的名稱,而且這個(gè)域所對(duì)應(yīng)的控制不可編輯,用戶不能改變域的值。其次,用戶可能會(huì)根據(jù)需要添加新的動(dòng)作,比如"遞交"或者"同意"等面向應(yīng)用本身的動(dòng)作,而其他一些郵件標(biāo)準(zhǔn)動(dòng)作如"答復(fù)"、"轉(zhuǎn)發(fā)"等可能并不需要,我們可以刪除這些動(dòng)作,或者禁止這些動(dòng)作。再次,協(xié)作應(yīng)用的表單最后發(fā)布到團(tuán)體表單庫中,所有的用戶不必關(guān)心消息的中心文件夾到底在哪里。當(dāng)然,這要求表單設(shè)計(jì)者擁有對(duì)團(tuán)體表單庫的操作權(quán)限。----表單設(shè)計(jì)完成以后,我們?cè)龠M(jìn)一步考慮Outlook的視圖設(shè)計(jì)。視圖設(shè)計(jì)比表單設(shè)計(jì)要簡(jiǎn)單得多,首先我們從菜單"視圖"*"當(dāng)前視圖"中選擇"自定義當(dāng)前視圖"或者"定義視圖"命令。自定義當(dāng)前視圖更為簡(jiǎn)捷的操作是,在當(dāng)前視圖的列上右鍵點(diǎn)擊,從彈出的菜單中選擇各種操作即可。如圖3所示。圖3自定義當(dāng)前視圖----當(dāng)我們選擇了菜單命令"定義視圖"后,我們就可以利用視圖定義對(duì)話框定義各個(gè)視圖,或者增加、刪除視圖。----視圖定義完成之后,我們就可以改變當(dāng)前文件夾的視圖了。我們也可以為該公共文件夾指定初始視圖,操作非常簡(jiǎn)單,打開公共文件夾的屬性對(duì)話框,在"管理"頁面上選擇文件夾的初始查看方式即可,如圖4所示。圖4在公共文件夾的屬性對(duì)話框中選擇初始視圖----以上我們介紹了Outlook協(xié)作應(yīng)用的表單設(shè)計(jì)和視圖設(shè)計(jì),限于篇幅,我們僅僅介紹了設(shè)計(jì)過程的基本要點(diǎn)。由于Outlook提供的開發(fā)環(huán)境并不要求設(shè)計(jì)人員必須具有專業(yè)的開發(fā)技術(shù),只要有一些基本的Windows應(yīng)用設(shè)計(jì)概念就可以勝任這項(xiàng)工作。當(dāng)然,如果設(shè)計(jì)人員有一定的VisualBasic開發(fā)經(jīng)驗(yàn),那是再好不過的了。----到現(xiàn)在為止,我們還只是完成了協(xié)作應(yīng)用的客戶端部分,客戶端部分是消息的表現(xiàn)形式,要想使消息流動(dòng)起來還需要服務(wù)器端的配合。下一部分討論協(xié)作應(yīng)用在服務(wù)器端的開發(fā)。四、ExchangeServer企業(yè)系統(tǒng)中協(xié)作應(yīng)用的服務(wù)器部分----協(xié)作應(yīng)用的服務(wù)器部分并沒有涉及到用戶界面,ExchangeServer也沒有提供專門的開發(fā)工具,但是ExchangeServer仍然提供了很好的擴(kuò)展機(jī)制,允許開發(fā)人員把自己的代碼插入到ExchangeServer的消息處理邏輯中。----ExchangeServer的服務(wù)器邏輯擴(kuò)展也是以文件夾為基礎(chǔ),它所提供的事件服務(wù)與MTA緊密聯(lián)系起來。MTA在傳輸消息的過程中,根據(jù)文件夾的屬性設(shè)置,有選擇地激發(fā)某些事件,包括新建消息事件、刪除消息事件、修改消息事件和定時(shí)事件。ExchangeServer處理事件的機(jī)制如圖5所示。圖5ExchangeServer事件機(jī)制結(jié)構(gòu)圖----所以,我們要在ExchangeServer服務(wù)器端添加業(yè)務(wù)邏輯,實(shí)際上就是添加針對(duì)文件夾的事件處理函數(shù)。在添加事件處理函數(shù)之前,我們首先要保證設(shè)計(jì)人員或者管理人員具有添加事件的權(quán)限,這可以通過ExchangeServer的管理程序來完成,如圖6,我們?cè)诠芾沓绦虻淖筮叴案竦哪夸浿羞x擇"PublicFolders\EventsRoot"目錄下對(duì)應(yīng)于某臺(tái)服務(wù)器的EventConfig_XXX目錄,然后在目錄的屬性對(duì)話框中,利用"ClientPermissions"按鈕添加適當(dāng)?shù)臋?quán)限。圖6ExchangeServer管理程序中"EventsRoot"目錄----我們?cè)倩氐絆utlook中來。為了在Outlook中看到公共文件夾的事件屬性,要求在Outlook中安裝"服務(wù)器腳本運(yùn)行"加載項(xiàng)(可通過Outlook的"選項(xiàng)"對(duì)話框的"高級(jí)選項(xiàng)"中的"加載項(xiàng)管理器"添加得到)。一旦我們安裝了"服務(wù)器腳本運(yùn)行"加載項(xiàng),并且具有腳本添加權(quán)限之后,我們?cè)贠utlook的文件夾列表中選擇待添加事件的文件夾。打開其屬性對(duì)話框,就可以看到,在屬性對(duì)話框上,新增加了"代理"頁,如圖7所示。圖7公共文件夾的"代理"屬性頁----利用文件夾的屬性對(duì)話框"代理"頁,我們可以為文件夾增加相應(yīng)的事件腳本代碼。當(dāng)然為了保證事件確實(shí)能夠被激發(fā)起來,ExchangeServer服務(wù)器上的系統(tǒng)服務(wù)"MicrosoftExchangeEventService"必須被啟動(dòng)。----ExchangeServer的事件機(jī)制非常簡(jiǎn)單,它只是為我們提供了幾個(gè)入口點(diǎn)控制而已。我們可以非常靈活地應(yīng)用這些入口點(diǎn)函數(shù),在文件夾的事件處理函數(shù)中,雖然我們只能編寫一些腳本代碼,但實(shí)際上通過腳本代碼我們幾乎可以完成任何一件在權(quán)限許可范圍內(nèi)的事情。一方面,在事件函數(shù)中,利用EventDetails對(duì)象,我們可以訪問到ExchangeServer當(dāng)前環(huán)境下的數(shù)據(jù)和操作。比如,EventDetails.Session代表了ExchangeServer事件服務(wù)預(yù)先建立起來的會(huì)話對(duì)象,它代表了腳本作者的郵箱標(biāo)識(shí);EventDetails.FolderID是事件發(fā)生所在的文件夾的內(nèi)部ID;EventDetails.MessageID是事件所對(duì)應(yīng)的消息的內(nèi)部ID。另一方面,如果我們要在事件函數(shù)中實(shí)現(xiàn)更為復(fù)雜的業(yè)務(wù)邏輯,那么最好把這些邏輯封裝到自動(dòng)化對(duì)象中,然后在腳本代碼中調(diào)用這些自動(dòng)化對(duì)象。這種模式使我們可以靈活選擇編程語言,而不必拘泥于腳本代碼。在低級(jí)編程語言如C++中,我們可以實(shí)現(xiàn)一些底層的功能,這是腳本語言所不能代替的。----因此,通常情況下,事件腳本代碼比較簡(jiǎn)單。事實(shí)上,調(diào)試這些腳本代碼并不方便,越是短小、簡(jiǎn)單的代碼,其出錯(cuò)的可能性也越小。但是調(diào)試自動(dòng)化對(duì)象則要容易得多,我們可以把這些自動(dòng)化對(duì)象放到MTS進(jìn)程中去運(yùn)行,這樣做可以帶來三方面的好處:便于調(diào)試。要調(diào)試ExchangeServer的事件服務(wù)進(jìn)程并不容易,但調(diào)試單獨(dú)的MTS進(jìn)程則要容易得多。保護(hù)ExchangeServer的事件服務(wù)進(jìn)程不會(huì)受到錯(cuò)誤代碼的危害。如果對(duì)象的代碼發(fā)生嚴(yán)重錯(cuò)誤,那么MTS進(jìn)程終止后不會(huì)影響到ExchangeServer的事件服務(wù)進(jìn)程。對(duì)象代碼可以運(yùn)行在另一個(gè)用戶的安全身份下。如果我們要在事件業(yè)務(wù)邏輯中訪問特殊的受保護(hù)資源,這一條可能會(huì)非常重要。----我們?cè)诰帉懛?wù)器端的腳本代碼時(shí),必須清楚地認(rèn)識(shí)到,這些代碼將會(huì)在服務(wù)器上被執(zhí)行,而不是在客戶端。如果腳本代碼調(diào)用到了自動(dòng)化對(duì)象,那么我們必須保證服務(wù)器上已經(jīng)注冊(cè)了這些自動(dòng)化對(duì)象。如果要調(diào)試自動(dòng)化對(duì)象,則必須在服務(wù)器上進(jìn)行。----雖然服務(wù)器端的腳本代碼為我們提供了很大的靈活性,但是,由于這些腳本代碼運(yùn)行在服務(wù)器上,所以一定要避免濫用ExchangeServer的事件服務(wù),以便減輕服務(wù)器的負(fù)擔(dān)。這是我們?cè)谠O(shè)計(jì)協(xié)作應(yīng)用時(shí)應(yīng)該注意的問題。五、ExchangeServer企業(yè)應(yīng)用的擴(kuò)展----以上我們介紹了ExchangeServer企業(yè)系統(tǒng)中協(xié)作應(yīng)用的設(shè)計(jì)過程。協(xié)作應(yīng)用是一個(gè)企業(yè)的業(yè)務(wù)核心,它構(gòu)成了企業(yè)的基本運(yùn)作方案。但是對(duì)于一個(gè)大型的或者分布式的企業(yè),僅僅這些協(xié)作應(yīng)用還不夠,我們?cè)谠O(shè)計(jì)企業(yè)系統(tǒng)時(shí)還應(yīng)該考慮到企業(yè)系統(tǒng)的可擴(kuò)展性和開放性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論