




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于Exchange Server 的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)( 一) - Miicroosofft EExchhangge SServver 是Miccrossoftt 的BacckOffficce 套套件產(chǎn)品中面向企業(yè)應(yīng)用的群件系統(tǒng)。在當(dāng)前的企業(yè)應(yīng)用市場上,主流的群件產(chǎn)品為Excchannge Serrverr 和Lottus Nottes,這兩個(gè)產(chǎn)品的功能相仿,我們很難說孰優(yōu)孰劣,但是它們的應(yīng)用開發(fā)模式差異很大,用戶使用起來也會有完全不同的感受。本文重點(diǎn)討論Excchannge Serrverr 以及用Excchannge Serrverr 作為平臺建立起來的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)方案,并涉及了
2、若干相關(guān)的技術(shù)、相關(guān)的軟件系統(tǒng),以及這些系統(tǒng)的協(xié)作方案。- 為了便于說明,我們把用Excchannge Serrverr 作為平臺建立起來的企業(yè)應(yīng)用系統(tǒng)簡稱為Excchannge Serrverr 企業(yè)系統(tǒng)或者Excchannge Serrverr 企業(yè)應(yīng)用。對于小型的企業(yè)應(yīng)用,也許一臺服務(wù)器就可以滿足需要,但是對于規(guī)模較大的企業(yè)來說,往往需要多臺服務(wù)器、甚至多套企業(yè)應(yīng)用系統(tǒng)才能保證企業(yè)的計(jì)算機(jī)系統(tǒng)正常運(yùn)行,而現(xiàn)代的大型企業(yè)更要求這些企業(yè)系統(tǒng)分布在不同的物理區(qū)域,區(qū)域之間可能通過慢速網(wǎng)絡(luò)連接起來。Exxchaangee Seerveer 的的基本結(jié)構(gòu)是客戶 服務(wù)器(CllienntSServv
3、er)模型,但是它所支持的企業(yè)系統(tǒng)可以是分布式的,而且這種分布式特性對于系統(tǒng)管理員和用戶是透明的,這使得Excchannge Serrverr 的使用更為簡單,而且對于大型企業(yè)有更好的適應(yīng)性。- 由于Excchannge Serrverr 系統(tǒng)的特殊性,Exxchaangee Seerveer 企企業(yè)應(yīng)用的開發(fā)與一般的CliienttSeerveer 應(yīng)應(yīng)用有所不同。一方面,Exxchaangee Seerveer 已已經(jīng)為企業(yè)應(yīng)用提供了大量的常規(guī)服務(wù),例如郵件系統(tǒng)、地址簿管理、任務(wù)管理等,Clliennt 端端應(yīng)用Outtloook 是是用戶的桌面辦公系統(tǒng),幾乎不用做任何開發(fā),Exxchaa
4、ngee Seerveer 和和Outtloook 就就已經(jīng)構(gòu)成了一個(gè)完整的企業(yè)應(yīng)用系統(tǒng);另一方面,Exxchaangee Seerveer 允允許用戶在它本身提供功能的基礎(chǔ)上進(jìn)行定制或增加新的應(yīng)用邏輯,得到功能更為強(qiáng)大、更適合于特定企業(yè)的應(yīng)用系統(tǒng)。這就是Excchannge Serrverr 企業(yè)應(yīng)用的基本特點(diǎn),本文將著重討論這類企業(yè)應(yīng)用的設(shè)計(jì)和開發(fā)。一、Exxchaangee Seerveer 介介紹- Miicroosofft EExchhangge SServver 既可以作為企業(yè)的Intternnet 郵件系統(tǒng),也可以作為企業(yè)內(nèi)部的消息系統(tǒng)平臺。19997 年11 月Miccross
5、oftt 發(fā)布了Excchannge Serrverr 5.5 版版本,該產(chǎn)品在功能和性能方面都非常優(yōu)秀,為Winndowws 操操作系統(tǒng)提供了良好的企業(yè)應(yīng)用基礎(chǔ)平臺,而隨后在19998 年年發(fā)布的Serrvicce PPackk 1 使其更趨完善。- Exxchaangee Seerveer 內(nèi)內(nèi)部建立了一套功能強(qiáng)大的消息傳遞機(jī)制,同時(shí)也提供了它與其他許多系統(tǒng)之間的透明連接。其總體結(jié)構(gòu)框架如圖1 所示。圖1 EExchhangge SServver 結(jié)構(gòu)框架- Exxchaangee Seerveer 作作為一個(gè)消息系統(tǒng)平臺,它包含一系列與消息有關(guān)的服務(wù),圖1 給出了基本的結(jié)構(gòu)圖。Exxch
6、aangee Seerveer 的的核心包括4 個(gè)系統(tǒng)服務(wù):信息存儲服務(wù)、目錄服務(wù)、消息傳輸代理和系統(tǒng)助理服務(wù),當(dāng)我們在服務(wù)器上安裝了Excchannge Serrverr 之后,這些服務(wù)會自動(dòng)被啟動(dòng)。以后客戶連接到Excchannge Serrverr 時(shí),這些服務(wù)協(xié)同完成客戶的請求。其功能分別如下:- 信息存儲服務(wù)(Innforrmattionn Sttoree):它提供對消息數(shù)據(jù)庫的存儲和讀取訪問,Exxchaangee Seerveer 的的信息存儲分為公共信息存儲和私有信息存儲。公共信息存儲包含所有的公共文件夾信息,私有信息存儲包含當(dāng)前服務(wù)器上的所有用戶的郵箱信息。- Exxchaa
7、ngee Seerveer 是是一個(gè)半結(jié)構(gòu)化的信息存儲系統(tǒng),它可以保存各種類型的信息,如各種文檔、消息、會議請求、聯(lián)系人信息、普通文件、多媒體資料等。信息存儲服務(wù)是Excchannge Serrverr 最基本的服務(wù),其他幾乎所有的服務(wù)都建立在信息存儲服務(wù)的基礎(chǔ)上。所以Excchannge Serrverr 對信息存儲服務(wù)進(jìn)行了優(yōu)化處理。一方面,所有的消息采用單實(shí)例存儲機(jī)制,以便節(jié)約存儲空間;另一方面,信息存儲服務(wù)對最近訪問過的消息做了緩存處理,以便提高平均響應(yīng)速度;最后,信息存儲服務(wù)對創(chuàng)建消息、刪除消息或者修改消息采用了事務(wù)機(jī)制,既提高了性能也增強(qiáng)了可靠性。- 2 目錄服務(wù)(Diirecct
8、orry SServvicee):Exxchaangee Seerveer 的的目錄機(jī)制為我們管理Excchannge Serrverr 的內(nèi)部對象提供了一致的層次結(jié)構(gòu)。其中包括Excchannge Serrverr 組織(Orrgannizaatioon)、站點(diǎn)(Siite)和服務(wù)器(Seerveer)的所有配置信息,目錄也包含了地址簿信息。利用目錄服務(wù),管理員可以查找到所有的郵箱信息。- 目錄機(jī)制是Excchannge Serrverr 中信息的組織結(jié)構(gòu),而目錄服務(wù)保證了這套機(jī)制能夠有效地把大量的信息甚至是分布式的信息管理起來。Exxchaangee Seerveer 中中的所有信息都通過
9、目錄結(jié)構(gòu)呈現(xiàn)在用戶或者管理員面前,這為用戶查詢信息或者管理員管理信息都提供了極大的方便。- 當(dāng)我們在分布式系統(tǒng)中使用Excchannge Serrverr 時(shí),目錄信息自動(dòng)復(fù)制到所有的服務(wù)器上,以便保證所有的Excchannge Serrverr 服務(wù)器有同樣的配置信息。目錄信息的一致性是Excchannge Serrverr 信息位置透明性的基礎(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 消息傳輸代理(
10、Meessaage Traansffer Ageent,MTAA):MTTA 是是Excchannge Serrverr 中消息流動(dòng)的基礎(chǔ)。它既對站點(diǎn)內(nèi)部的服務(wù)器傳輸消息,同時(shí)也為其他站點(diǎn)的服務(wù)器傳輸消息。MTTA 作作為Excchannge Serrverr 的內(nèi)部消息傳遞機(jī)制,它提供了很強(qiáng)的控制功能,比如管理員可以控制消息的大小、消息傳送的路由表等。- 4 系統(tǒng)助理(Syysteem AAtteendaant):系統(tǒng)助理是個(gè)輔助性的服務(wù),但是Excchannge Serrverr 的許多工作由它來完成,列舉如下:- (1)當(dāng)管理員添加新郵箱時(shí),系統(tǒng)助理會產(chǎn)生與郵箱有關(guān)的目錄地址和E-mma
11、ill 地址。- (2) MTTA 傳傳輸消息時(shí)可能會用到系統(tǒng)助理來解析收件人地址,或者把目錄中的分發(fā)表(Diistrribuutioon LListt)展開成一組收件人地址。- (3)檢查目錄復(fù)制的一致性。- (4)保存和管理郵箱的數(shù)字簽名和加密信息。- (5)為MTAA 創(chuàng)建路由表。- Exxchaangee Seerveer 的的核心服務(wù)是系統(tǒng)正常運(yùn)轉(zhuǎn)的基礎(chǔ),當(dāng)我們在一臺服務(wù)器上安裝了Excchannge Serrverr 之后,這些服務(wù)都會自動(dòng)啟動(dòng)。以后我們就可以使用Excchannge Serrverr 作為我們的消息平臺了。但是在實(shí)際使用時(shí),情況往往要復(fù)雜得多,Exxchaange
12、e Seerveer 還還需要與其他的系統(tǒng)交換信息,比如我們要通過Excchannge Serrverr 收發(fā)Intternnet 郵件,或者利用Excchannge Serrverr 作為企業(yè)的討論公告區(qū),這時(shí)我們就需要其他一些可選服務(wù)。Exxchaangee Seerveer 支支持大多數(shù)標(biāo)準(zhǔn)的或者常見的消息系統(tǒng),從圖1 我們也可以看到這一點(diǎn)。- 常用的可選服務(wù)有以下一些:郵件服務(wù)務(wù):利用此服務(wù),Exxchaangee Seerveer 的的用戶可以收發(fā)Intternnet 郵件。新聞服務(wù)務(wù):提供基本的新聞服務(wù),企業(yè)可以利用新聞服務(wù)建立內(nèi)部討論組或公告牌。事件服務(wù)務(wù):事件服務(wù)是運(yùn)行在Exc
13、channge Serrverr 服務(wù)器上的代理系統(tǒng),它可以監(jiān)測到對一個(gè)目錄中消息的操作情況,比如新建消息、刪除消息、修改消息或者定時(shí)消息。我們可以利用Excchannge Serrverr 的事件服務(wù)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。鑰匙管理理服務(wù):管理組織中用戶的數(shù)字簽名和加密消息的安全信息。一組連接接器服務(wù):包括X.4400 連接器、CCC Maail 連接器、MSS Maail 連接器、Lootuss Nootess 連接器、IBBM SSNADDS 連連接器等,通過這些連接器,Exxchaangee Seerveer 組組織中的用戶可以與其他系統(tǒng)中的用戶互相交換信息。- 從Excchannge S
14、errverr 的框架結(jié)構(gòu)我們可以看出,Exxchaangee Seerveer 本本身是一個(gè)功能強(qiáng)大的分布式消息系統(tǒng),同時(shí)它也可以與其他的消息系統(tǒng)互操作,外掛式的連接器保證了一個(gè)企業(yè)中可以有多個(gè)消息系統(tǒng)存在。- 下面我們來看看Excchannge Serrverr 客戶端的情況。Exxchaangee Seerveer 的的標(biāo)準(zhǔn)客戶軟件為Outtloook,Outtloook 不不僅是Excchannge Serrverr 的基本客戶軟件,同時(shí)也是Excchannge Serrverr 企業(yè)應(yīng)用的開發(fā)環(huán)境,管理員的某些日常管理工作也可以通過Outtloook 來來完成。Ouutloook 和
15、Excchannge Serrverr 構(gòu)成了標(biāo)準(zhǔn)的客戶 服務(wù)器模型,它們之間直接通過RPCC 進(jìn)行通信。Exxchaangee Seerveer 的的用戶也可以使用其他的通用客戶軟件,因?yàn)镋xcchannge Serrverr 支持常見的Intternnet 協(xié)議,如LDAAP(目錄服務(wù)訪問協(xié)議)、SMTTP(簡單消息傳輸協(xié)議)、POPP3 和和IMAAP4(收取郵件協(xié)議)、NNTTP(新聞傳輸協(xié)議)。利用這些協(xié)議我們可以訪問Excchannge Serrverr 上相應(yīng)的服務(wù),但是Excchannge Serrverr 上有些功能只能使用Outtloook 才才能實(shí)現(xiàn),比如日歷功能、任務(wù)管
16、理等專用于企業(yè)內(nèi)部的、Innterrnett 標(biāo)準(zhǔn)協(xié)議不能實(shí)現(xiàn)的特性。圖2 EExchhangge SServver 系統(tǒng)服務(wù)示意圖- Exxchaangee Seerveer 的的所有服務(wù)均以系統(tǒng)服務(wù)的形式存在,所以我們可以通過Winndowws NNT 的的 服務(wù)管理器 檢查Excchannge Serrverr 的服務(wù)活動(dòng)情況,如圖2 所示。管理員通過Excchannge Serrverr 的管理程序配置組織和站點(diǎn),也可以用它來管理郵箱,實(shí)際上我們可以用Excchannge Serrverr 管理程序管理組織中的整個(gè)目錄。管理程序的用戶界面如圖3 所示,左邊的樹狀窗格就是整個(gè)組織的目錄結(jié)
17、構(gòu),在組織中的任何一臺Excchannge Serrverr 服務(wù)器上都會看到同樣的樹狀目錄結(jié)構(gòu),右邊的窗格對應(yīng)于左邊被選中項(xiàng)的詳細(xì)信息。圖3 EExchhangge SServver 管理程序用戶界面- 以上是Excchannge Serrverr 的基本結(jié)構(gòu)和服務(wù),最后我們來看一下Excchannge Serrverr 的幾個(gè)與企業(yè)應(yīng)用相關(guān)的特性:分布式特特性:分布式特性是實(shí)現(xiàn)大型復(fù)雜企業(yè)應(yīng)用的保證,Exxchaangee Seerveer 中中目錄對象的位置透明性簡化了系統(tǒng)的管理。與操作系系統(tǒng)的緊密結(jié)合:這可能是Excchannge Serrverr 的最大優(yōu)勢。一方面,Exxchaan
18、gee Seerveer 的的服務(wù)都以系統(tǒng)服務(wù)的形式實(shí)現(xiàn),提高了系統(tǒng)的處理效率;另一方面,Exxchaangee Seerveer 中中的所有用戶都與NT 的域用戶綁定,直接利用了操作系統(tǒng)的安全機(jī)制。與操作系系統(tǒng)提供的許多工具緊密結(jié)合:比如實(shí)時(shí)備份、錯(cuò)誤日志、性能監(jiān)測等等,除此之外,Exxchaangee Seerveer 也也提供了其他一些管理工具。可伸縮性性:Exxchaangee Seerveer 的的信息存儲服務(wù)支持16TTB 的的存儲容量,我們幾乎可以認(rèn)為這是一個(gè)無限的數(shù)據(jù)容器。而單實(shí)例存儲又節(jié)約了大量的存儲空間。在性能方面,Exxchaangee Seerveer 內(nèi)內(nèi)置了SMPP
19、 支持。高可靠性性:一方面,Exxchaangee Seerveer 支支持群集特性,保證了系統(tǒng)可以不間斷工作;另一方面,MTTA 采采用了事務(wù)機(jī)制保證操作的可恢復(fù)性,而且,Exxchaangee Seerveer 中中的郵件總是可靠遞交的。- 在介紹了Excchannge Serrverr 的功能和特性之后,下一部分我們將討論如何以Excchannge Serrverr 作為平臺建立企業(yè)應(yīng)用,以及建立什么樣的企業(yè)應(yīng)用。- (未完待續(xù))- (作者地址:北京大學(xué)計(jì)算機(jī)科學(xué)技術(shù)研究所,10008771)基于Exxchaangee Seerveer 的的企業(yè)應(yīng)用用系統(tǒng)設(shè)計(jì)和開發(fā)( 二) - 二、用E
20、Exchhangge SServver 建立企業(yè)應(yīng)用方案- 企業(yè)應(yīng)用不同于一般的應(yīng)用系統(tǒng),它不僅要滿足企業(yè)的基本應(yīng)用需要,也要滿足企業(yè)發(fā)展的需要,所以我們在選擇企業(yè)應(yīng)用平臺時(shí)要充分考慮平臺系統(tǒng)的開放性和可擴(kuò)展性。Exxchaangee Seerveer 作作為Winndowws 平平臺上的群件系統(tǒng),它不僅提供了基本的企業(yè)應(yīng)用特性,也具有很好的可擴(kuò)展性。- 首先我們來看一看現(xiàn)代企業(yè)應(yīng)用的一般性要求。大致來說,可以分成以下5 類:- 1 消息傳遞系統(tǒng):消息系統(tǒng)是企業(yè)運(yùn)作的基礎(chǔ)。現(xiàn)代企業(yè)中員工的行為往往是相互關(guān)聯(lián)的,隨著社會信息化的不斷深入,員工之間的協(xié)作越來越重要。消息系統(tǒng)是保證協(xié)作的基礎(chǔ),任何其
21、他的通信系統(tǒng)(比如電話系統(tǒng))都比不上消息系統(tǒng)的靈活和高效。Exxchaangee Seerveer的核心就是一個(gè)消息系統(tǒng),它為企業(yè)員工之間的通信提供了安全、可靠、快速的途徑,而且通過Intternnet 郵件服務(wù)連接器,企業(yè)的消息系統(tǒng)可以擴(kuò)展為Intternnet 郵件系統(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 知識庫管理系統(tǒng):知識庫是現(xiàn)代企業(yè)快速發(fā)展的經(jīng)驗(yàn)寶庫,企業(yè)應(yīng)用中的知識庫系統(tǒng)可以有效地提高企業(yè)對現(xiàn)有知識和經(jīng)驗(yàn)的利用水平。Exxchaangee Seer
22、veer 提提供的公共信息存儲可以作為知識庫管理系統(tǒng)的基礎(chǔ),配合Outtloook 提提供的表單定制和消息檢索功能,我們可以快速實(shí)現(xiàn)一個(gè)知識庫管理系統(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)系信息,例如客戶信息、合作部門信息等等。Exxchaangee Seerveer 的的目錄結(jié)構(gòu)可以有效地把企業(yè)組織的地址簿建立起來,而且Excchannge Serrverr 目錄的全局一致性和位置透明性使企業(yè)用戶使用和管理地址信息
23、都非常方便。- 5 企業(yè)的實(shí)時(shí)應(yīng)用系統(tǒng):我們知道,基于網(wǎng)絡(luò)的應(yīng)用分為同步和異步兩種方式。異步方式使得應(yīng)用非常靈活,用戶可以不受時(shí)間、地點(diǎn)限制;而同步方式限定通信雙方必須同時(shí)進(jìn)入現(xiàn)場操作。雖然同步方式的靈活性要差一點(diǎn),但對于一個(gè)企業(yè)應(yīng)用系統(tǒng)來說,同步的、實(shí)時(shí)的部分也是必不可少的,例如,網(wǎng)絡(luò)會議、對話服務(wù)等。- Exxchaangee Seerveer 較較好地滿足了這些需要,而且在使用方便性和系統(tǒng)擴(kuò)展能力方面還有所增強(qiáng)。在使用Excchannge Serrverr 平臺建立的企業(yè)應(yīng)用中,管理員日常管理工作的多數(shù)操作可以在客戶端軟件Outtloook 中中完成;而且開發(fā)人員大量的開發(fā)工作也可以在客
24、戶端軟件Outtloook 中中完成,比如表單制作,甚至連服務(wù)器端的腳本代碼也要在Outtloook 程程序中導(dǎo)入。所以我們在提起Excchannge Serrverr 企業(yè)應(yīng)用時(shí),總是離不開Outtloook。盡管我們在Excchannge Serrverr 企業(yè)應(yīng)用中看到的大多數(shù)特性都是在Outtloook 中中體現(xiàn)的,但這些特性的本質(zhì)仍然在于Excchannge Serrverr,這就如同客戶/ 服務(wù)器模型的數(shù)據(jù)庫系統(tǒng)的服務(wù)器程序決定了數(shù)據(jù)庫的基本功能和特性,數(shù)據(jù)庫客戶程序只是操作數(shù)據(jù)庫中的數(shù)據(jù)而已。圖1 EExchhangge SServver 企業(yè)應(yīng)用框架結(jié)構(gòu)- 首先我們看一看Exc
25、channge Serrverr 企業(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)常可能發(fā)生變化的數(shù)據(jù),這些數(shù)據(jù)在企業(yè)應(yīng)用的運(yùn)行過程中往往短程有效,比如流程活動(dòng)過程中的消息。在圖1 給出的企業(yè)應(yīng)用框架中,前一種數(shù)據(jù)往往保存在后臺數(shù)據(jù)庫系統(tǒng)中,比如SQLL Seerveer 或或者Oraaclee 等專門的數(shù)據(jù)庫系統(tǒng),這樣做的好處是,應(yīng)用系統(tǒng)可以充分發(fā)揮數(shù)據(jù)庫系統(tǒng)的索引檢索功能、高效率批量訪問等優(yōu)勢;后一種數(shù)據(jù)往往直接存放在Excchan
26、nge Serrverr 的信息存儲中,因?yàn)椴坏獷xcchannge Serrverr 非常適合于處理這種半結(jié)構(gòu)化的數(shù)據(jù),而且Excchannge Serrverr 中的許多業(yè)務(wù)處理也需要直接訪問這些數(shù)據(jù),尤其是流程信息,更是離不開這些短程數(shù)據(jù)。- Exxchaangee Seerveer 可可以通過兩種不同的途徑訪問后臺數(shù)據(jù)庫,可以直接通過ADOO(Acttivee Daata Objjectt)訪問數(shù)據(jù)庫中的記錄,或者通過Acttivee 對象訪問數(shù)據(jù)庫中的記錄。Exxchaangee Seerveer 作作為企業(yè)應(yīng)用的基礎(chǔ)平臺,大量的業(yè)務(wù)處理工作是由各個(gè)子系統(tǒng)自動(dòng)完成的,一般情況下我們并
27、不需要對這些子系統(tǒng)進(jìn)行擴(kuò)展,比如MTAA 子系統(tǒng)會自動(dòng)為我們傳遞消息,但是,在某些情況下我們也可能會要求加入自己的業(yè)務(wù)處理操作,比如在事件服務(wù)子系統(tǒng)中加入對某個(gè)公共文件夾的事件處理。Exxchaangee Seerveer 的的擴(kuò)展支持Scrriptt 語言,VBBScrriptt 或者JavvaSccrippt 均均可,只要服務(wù)器上安裝有相應(yīng)的腳本引擎。在這些腳本代碼中,我們可以通過自動(dòng)化(Auutommatiion)技術(shù)訪問ADOO 對象或者Acttivee 自動(dòng)化對象,從而達(dá)到訪問數(shù)據(jù)庫的目的。因此,Exxchaangee Seerveer 企企業(yè)應(yīng)用中的數(shù)據(jù)庫支持技術(shù)并不復(fù)雜,對開發(fā)人
28、員的技術(shù)要求并不高。- 然后我們再看一看客戶端如何與Excchannge Serrverr 協(xié)同工作。首先,Ouutloook 是Excchannge Serrverr 企業(yè)應(yīng)用的標(biāo)準(zhǔn)客戶端程序,也是這種應(yīng)用的開發(fā)環(huán)境。Ouutloook 中復(fù)雜的功能體現(xiàn)了Excchannge Serrverr 的強(qiáng)大協(xié)作能力,這些功能可以分為兩類:基于郵件的功能和信息管理功能。分別列舉如下:- 郵件功能:郵箱別名解析、郵件重要性級別支持、郵件跟蹤、HTTML 郵件、郵件附件支持、多種協(xié)議的支持(POOP3,IMAAP4,LDAAP,NNTTP,MAPPI)等。- 信息管理功能:日歷、全球地址簿、任務(wù)管理、日
29、記、服務(wù)器端和客戶端的規(guī)則、郵件檢索等。圖2 在在Intternnet Expplorrer 中訪問Excchannge Serrverr 示意圖- 使用Outtloook 作作為Exchhangge SServver 企業(yè)應(yīng)用的客戶端軟件可以全面發(fā)揮Excchannge Serrverr 的功能,而且軟件廠商對其所作的開發(fā)與Excchannge Serrverr 幾乎完全融合在一起,用戶在使用時(shí)感覺不到二次開發(fā)的痕跡,這是Excchannge Serrverr 企業(yè)應(yīng)用的特殊性。概括起來說,Exxchaangee Seerveer 為為企業(yè)應(yīng)用提供了一種通用的模式,軟件商可以根據(jù)應(yīng)用的特點(diǎn)對
30、Excchannge Serrverr 進(jìn)行擴(kuò)展,配置或者添加業(yè)務(wù)規(guī)則,為企業(yè)用戶提供通用或者專用的功能。- 當(dāng)然用戶也可以不使用Outtloook 作作為客戶端軟件,特別是當(dāng)用戶通過慢速網(wǎng)絡(luò)訪問Excchannge 服務(wù)器的情況下,用戶可以使用通用的郵件客戶軟件,比如Outtloook EExprresss或者Nettscaape Messsenngerr 等,通過POPP3 或或者IMAAP 協(xié)協(xié)議訪問用戶的郵箱,通過LDAAP 協(xié)協(xié)議訪問目錄服務(wù)。受到這些標(biāo)準(zhǔn)協(xié)議功能的限制,這時(shí)Excchannge Serrverr 提供的功能并不能完全發(fā)揮出來,但用戶可以完成一些基本的郵件操作。- 訪
31、問Excchannge Serrverr 的另外一條途徑是使用Excchannge Serrverr 提供的OWAA(Outtloook WWeb Acccesss)模塊。OWWA 是是一個(gè)IISS(Miccrossoftt Innterrnett Innforrmattionn Seerveer)目錄,它與Excchannge Serrverr 可以運(yùn)行在不同的服務(wù)器上。實(shí)際上,OWWA 也也是一個(gè)ASPP 工程,它把Webb 客戶的訪問請求轉(zhuǎn)移給Excchannge Serrverr,再把Excchannge Serrverr 的響應(yīng)結(jié)果返回給Webb 客戶。由于OWAA 返回給客戶的是包
32、含JavvaSccrippt 的的HTTTP 頁頁面,所以大多數(shù)的瀏覽器都可以通過OWAA 訪問Excchannge Serrverr。但是由于HTTTP 描描述數(shù)據(jù)能力的限制以及瀏覽器中頁面交互操作的局限性,OWWA 并并不能實(shí)現(xiàn)Outtloook 的的所有功能。圖2 是在Intternnet Expplorrer 中訪問Excchannge Serrverr 的界面示意圖。(未完待續(xù))基于Exxchaangee Seerveer 的的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)( 三) 潘愛民- Exxchaangee Seerveer 不不僅提供了強(qiáng)大的協(xié)作功能,而且也提供了訪問這些功能的編程接口-CCDO(
33、Colllabboraatioon DDataa Obbjecct)。與ADOO 類似,CDDO 也是一套自動(dòng)化對象庫,它完全暴露了Excchannge Serrverr 的功能。我們可以用腳本語言訪問CDOO 對象,OWWA 就就是利用CDOO 來訪問Excchannge Serrverr 的。CDOO 的底層是MAPPI(Messsaggingg Apppliicattionn Prrogrrammmingg Innterrfacce),MAPPI 是是一組供低級語言(如C/CC+ 語言)調(diào)用的接口和函數(shù)以及相關(guān)的常數(shù)和數(shù)據(jù)結(jié)構(gòu)等,它涵蓋了Excchannge Serrverr 的所有功能
34、。因?yàn)镃DOO 和MAPPI 是是公共的編程接口,有詳細(xì)的文檔和眾多例程,如果軟件商覺得Outtloook 不不能滿足應(yīng)用的需要,或者需要在其他的系統(tǒng)中訪問Excchannge Serrverr 的功能,可以直接利用CDOO 或者M(jìn)APPI 進(jìn)進(jìn)行客戶端程序的開發(fā)。- 最后,我們總結(jié)Excchannge Serrverr 企業(yè)應(yīng)用的一些特點(diǎn):- 1 Excchannge Serrverr 和Outtloook 奠奠定應(yīng)用的基本框架,并且Excchannge Serrverr 和Outtloook 又又提供了非常靈活的擴(kuò)展機(jī)制,所以最終的企業(yè)應(yīng)用將是Excchannge Serrverr + O
35、uttloook 與與擴(kuò)展部分的緊密結(jié)合。- 2 Excchannge Serrverr 的目錄結(jié)構(gòu)不僅簡化了企業(yè)中地址簿的管理,也簡化了企業(yè)中所有信息的管理。遠(yuǎn)程客戶可以通過LDAAP 訪訪問目錄信息,應(yīng)用程序也可以通過ADSSI(Acttivee Diirecctorry SServvicee Innterrfacce)訪問目錄信息。- 3 提供強(qiáng)大的信息處理機(jī)制。Exxchaangee Seerveer 內(nèi)內(nèi)置的郵件功能以及公共文件夾功能可為企業(yè)應(yīng)用提供足夠靈活的信息處理能力,Exxchaangee Seerveer 與與關(guān)系型數(shù)據(jù)庫的有機(jī)結(jié)合是企業(yè)應(yīng)用的最佳存儲體系。- 4 提供多協(xié)議
36、的支持。- 5 直接建立在Winndowws NNT 的的安全機(jī)制基礎(chǔ)上。- 6 可建立分布式企業(yè)應(yīng)用系統(tǒng)。位置透明的特性使得管理更加簡便,利用站點(diǎn)建立起來的數(shù)據(jù)復(fù)制體制能很好地適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境。- 7 提供客戶端的靈活選擇。用戶除了選擇Outtloook 作作為客戶端軟件之外,也可以選擇Intternnet 瀏覽器或者郵件客戶軟件作為客戶軟件,還可以開發(fā)自己的客戶軟件。三、用OOutllookk 開發(fā)Excchannge Serrverr 企業(yè)系統(tǒng)中的協(xié)作應(yīng)用- 在客戶/ 服務(wù)器結(jié)構(gòu)的企業(yè)應(yīng)用系統(tǒng)中,業(yè)務(wù)邏輯既可以在客戶方完成,也可以在服務(wù)器方完成。Exxchaangee Seerveer
37、 企企業(yè)應(yīng)用的大量業(yè)務(wù)邏輯位于服務(wù)器方,因?yàn)榛A(chǔ)消息平臺是Excchannge Serrverr 的主要功能特征。盡管如此,客戶程序是企業(yè)應(yīng)用的關(guān)鍵,因?yàn)樽罱K用戶面對的只是客戶程序,應(yīng)用的效率和功能都通過客戶程序體現(xiàn)出來。Ouutloook 不僅是Excchannge Serrverr 的標(biāo)準(zhǔn)客戶軟件,也是Excchannge Serrverr 企業(yè)應(yīng)用的開發(fā)環(huán)境,所以,這一部分我們討論使用Outtloook(本文統(tǒng)一使用Outtloook 998)開發(fā)企業(yè)系統(tǒng)中協(xié)作應(yīng)用的全過程。- 在討論Outtloook 開開發(fā)之前,我們先簡單看一下協(xié)作應(yīng)用的基本模型,如圖1 所示。圖1 協(xié)協(xié)作應(yīng)用基本模
38、型- 任意一個(gè)有相應(yīng)權(quán)限的用戶都可以給指定的公共文件夾發(fā)送請求消息,公共文件夾是服務(wù)器上的消息處理器,它接收到用戶的請求后,根據(jù)消息中的內(nèi)容執(zhí)行有關(guān)的處理。對應(yīng)于不同的業(yè)務(wù)規(guī)則,消息的處理過程有所不同,典型情況有:消息處理器根據(jù)一定的規(guī)則直接把消息轉(zhuǎn)送到指定角色的用戶郵箱中;消息處理器對接收到的消息進(jìn)行預(yù)處理,并生成新的消息提交給其他用戶;消息處理器根據(jù)原始消息中的指定名單或者內(nèi)置的流程名單使消息順序流動(dòng)。把公共文件夾當(dāng)作消息中心處理器,我們幾乎可以實(shí)現(xiàn)各種形式的協(xié)作應(yīng)用,其不同僅在于用戶發(fā)送給公共文件夾的消息種類和公共文件夾的業(yè)務(wù)邏輯規(guī)則。- 協(xié)作應(yīng)用可以有兩種不同的使用模式:- 1 群組工
39、作模式用戶直接把消息發(fā)送(POOST)到公共文件夾中,消息可以采用自定義表單,也可以使用系統(tǒng)的標(biāo)準(zhǔn)表單。這種模式與新聞組的張貼工作方式類似。比如,投票選舉就可以采用這種工作模式。- 2 工作流模式用戶利用一個(gè)自定義的表單,把消息發(fā)送(SEEND)到一個(gè)公共文件夾中,自定義表單可以把發(fā)送的目標(biāo)文件夾路徑隱藏起來,用戶不必關(guān)心公共文件夾的位置。公共文件夾會按照指定的業(yè)務(wù)規(guī)則處理用戶的請求。從而實(shí)現(xiàn)工作流模式的協(xié)作應(yīng)用。- 協(xié)作應(yīng)用的開發(fā)包括兩部分內(nèi)容:- 1 表單的設(shè)計(jì)表單的設(shè)計(jì)完全在Outtloook 中中完成,在設(shè)計(jì)過程中允許為消息添加自定義的域,也允許把域與界面上的控制元素綁定在一起。讀表單
40、和寫表單分離設(shè)計(jì)。在表單設(shè)計(jì)時(shí)可能也需要編寫一些腳本代碼。- 2 文件夾的設(shè)計(jì)文件夾的設(shè)計(jì)包括視圖設(shè)計(jì)、業(yè)務(wù)規(guī)則定義和訪問控制。視圖設(shè)計(jì)比較簡單,通過對話框操作就可以完成;業(yè)務(wù)規(guī)則要復(fù)雜一些,涉及到服務(wù)器端的腳本代碼;訪問控制比較容易實(shí)現(xiàn),只要指定相關(guān)的訪問權(quán)限即可。- 下面我們分別討論表單的設(shè)計(jì)和文件夾的設(shè)計(jì)。在進(jìn)入表單設(shè)計(jì)模式之前,我們先打開或者新建一個(gè)消息,Ouutloook 已經(jīng)為我們提供了一組標(biāo)準(zhǔn)表單,通常我們創(chuàng)建的新表單以某一個(gè)標(biāo)準(zhǔn)表單為基礎(chǔ),到底以哪個(gè)表單為基礎(chǔ)取決于協(xié)作應(yīng)用的類型。比如我們選擇郵件表單作為基礎(chǔ),那么我們可以新建一個(gè)郵件。在郵件的表單窗口中,我們選擇菜單命令 工具
41、* 窗體* 進(jìn)入該窗體,于是進(jìn)入表單的設(shè)計(jì)狀態(tài)。如圖2 所示。圖2 進(jìn)進(jìn)入設(shè)計(jì)狀態(tài)的表單窗口- 在設(shè)計(jì)表單過程中,我們必須清楚兩個(gè)概念- 域和控制,它們分別與消息和表單相對應(yīng)。表單的作用是表達(dá)消息,是暫時(shí)存在的,而消息是永久的,它存在于某個(gè)公共或者私有文件夾之中。域是消息的數(shù)據(jù)屬性,有如數(shù)據(jù)庫中的域與數(shù)據(jù)表的關(guān)系一樣,每個(gè)標(biāo)準(zhǔn)表單所對應(yīng)的消息都有一套標(biāo)準(zhǔn)域。比如,郵件消息包含收件人、發(fā)件人等域;而控制則是表單的組成元素,一個(gè)不包含任何控制的表單是沒有意義的,控制與域不一定要有對應(yīng)關(guān)系,但表單中總有一些控制是反映域的,比如,郵件表單中的收件人編輯框反映了郵件消息的收件人域,正文編輯框反映了郵件消
42、息的內(nèi)容。- 當(dāng)我們從一個(gè)郵件表單進(jìn)入到設(shè)計(jì)狀態(tài)之后,我們實(shí)際上繼承了郵件消息的所有域。現(xiàn)在我們可以添加新的域、刪除原有的域,每一個(gè)域都有一個(gè)字符串域名作為域的標(biāo)識,域的類型可以是字符串、整數(shù)、布爾型等。在表單設(shè)計(jì)過程中,對域的增、刪、改操作比較容易實(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)表單。- 然后我們設(shè)計(jì)表單的界面布局,這個(gè)過程與Vissuall Baasi
43、cc 的表單設(shè)計(jì)或Vissuall C+ 中中對話框的設(shè)計(jì)非常類似,利用控制工具條上提供的各種工具,在表單中增加控制,并調(diào)節(jié)控制的位置,使表單的總體布局盡可能美觀、合理。值得注意的幾點(diǎn)是:- 1 在控制的屬性對話框(如圖3)中,我們可以為控制設(shè)置初始值,也可以使控制與某個(gè)域綁定??刂婆c域的綁定功能對表單設(shè)計(jì)非常有意義,一旦綁定之后,控制就代表了域的值,控制的初值就是域的初值,表單執(zhí)行了 保存 命令之后,控制的值自動(dòng)會保存到域中。圖3 表表單設(shè)計(jì)過程中控制的屬性對話框- 2 表單是針對消息而設(shè)計(jì)的,但是由于消息是流動(dòng)的,同樣的消息可能會面對不同的用戶,用戶對消息的操作也會不同。典型情況下,發(fā)送郵
44、件的用戶使用的表單與閱讀郵件的用戶使用的表單是不同的,所以,在Outtloook 中中設(shè)計(jì)的表單允許讀操作使用的表單與寫操作使用的表單分離開,相當(dāng)于設(shè)計(jì)兩個(gè)不同的表單供同一個(gè)消息使用。菜單命令 窗體* 分離讀寫版面 可以幫助我們實(shí)現(xiàn)這一點(diǎn),工具條上的 編輯撰寫頁 和 編輯閱讀頁 按鈕可讓我們在兩個(gè)表單之間進(jìn)行切換。- 3 表單可以是多頁的,利用菜單命令 工具* 顯示該頁 我們可以決定是否顯示當(dāng)前頁。頁標(biāo)簽帶有圓括號表示該頁不顯示。在表單窗口中,我們除了可以看到表單中指定的控制之外,在工具條上我們還可以看到一些按鈕,這些按鈕代表各種不同的動(dòng)作,比如 發(fā)送、 答復(fù)、 轉(zhuǎn)發(fā) 等。我們在設(shè)計(jì)表單時(shí),有
45、一頁名為 動(dòng)作,可對每個(gè)動(dòng)作的屬性進(jìn)行定義。(未完待續(xù))基于Exxchaangee Seerveer 的的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)( 四) 潘愛民- 對于簡單的表單,按上期講座中所述的步驟就可以完成設(shè)計(jì)工作。但是對于復(fù)雜的表單,或者有特殊要求的表單,我們還需要編寫一些腳本代碼,以便實(shí)施更為精細(xì)的控制。利用表單的腳本支持,我們可以在某些控制點(diǎn)上加入腳本代碼,比如,在消息被 發(fā)送 之前檢查各個(gè)域的數(shù)據(jù)有效性,或者當(dāng)打開表單時(shí)顯示或者隱藏某些特殊的控制。腳本代碼的編寫如同我們在Vissuall Baasicc 中編寫事件處理函數(shù)類似。- Ouutloook 提供了一套對象庫,如圖1 所示。我們在表單的
46、事件處理函數(shù)中,可以通過這套對象庫訪問到表單、視圖對象,乃至Outtloook 當(dāng)當(dāng)前應(yīng)用實(shí)例中任何一個(gè)可通過對象庫到達(dá)的對象。圖1 OOutllookk 對象庫- 當(dāng)我們設(shè)計(jì)完成表單之后,最后需要做的工作是將表單發(fā)布到合適的地方,對于以公共文件夾為消息處理中心的協(xié)作應(yīng)用來說,我們既可以把表單發(fā)布到公共文件夾中,也可以把表單發(fā)布到團(tuán)體表單庫中。如果我們把表單發(fā)布到某個(gè)公共文件夾中,那么以后當(dāng)我們在文件夾視圖窗口中選中該文件夾時(shí),Ouutloook 的 動(dòng)作 菜單中會出現(xiàn)新建此類消息的菜單項(xiàng)。如果我們把表單發(fā)布到團(tuán)體表單庫中,那么所有的用戶都可以通過團(tuán)體表單庫新建此類消息。表單的發(fā)布對話框如圖2
47、 所示。圖 2 表單發(fā)布對話框- 上面我們介紹了表單的設(shè)計(jì)和發(fā)布,現(xiàn)在我們來討論協(xié)作應(yīng)用的表單應(yīng)該如何設(shè)計(jì)。首先,協(xié)作應(yīng)用的原始表單應(yīng)該由用戶發(fā)送到公共文件夾中,所以我們在表單的 收件人 域中指定為目標(biāo)文件夾的名稱,而且這個(gè)域所對應(yīng)的控制不可編輯,用戶不能改變域的值。其次,用戶可能會根據(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ì)者擁有對團(tuán)體表單庫的操作權(quán)限。- 表單設(shè)計(jì)
48、完成以后,我們再進(jìn)一步考慮Outtloook 的的視圖設(shè)計(jì)。視圖設(shè)計(jì)比表單設(shè)計(jì)要簡單得多,首先我們從菜單 視圖* 當(dāng)前視圖 中選擇 自定義當(dāng)前視圖 或者 定義視圖 命令。自定義當(dāng)前視圖更為簡捷的操作是,在當(dāng)前視圖的列上右鍵點(diǎn)擊,從彈出的菜單中選擇各種操作即可。如圖3 所示。圖3 自自定義當(dāng)前視圖- 當(dāng)我們選擇了菜單命令 定義視圖 后,我們就可以利用視圖定義對話框定義各個(gè)視圖,或者增加、刪除視圖。- 視圖定義完成之后,我們就可以改變當(dāng)前文件夾的視圖了。我們也可以為該公共文件夾指定初始視圖,操作非常簡單,打開公共文件夾的屬性對話框,在 管理 頁面上選擇文件夾的初始查看方式即可,如圖4 所示。圖4
49、在在公共文件夾的屬性對話框中選擇初始視圖- 以上我們介紹了Outtloook 協(xié)協(xié)作應(yīng)用的表單設(shè)計(jì)和視圖設(shè)計(jì),限于篇幅,我們僅僅介紹了設(shè)計(jì)過程的基本要點(diǎn)。由于Outtloook 提提供的開發(fā)環(huán)境并不要求設(shè)計(jì)人員必須具有專業(yè)的開發(fā)技術(shù),只要有一些基本的Winndowws 應(yīng)應(yīng)用設(shè)計(jì)概念就可以勝任這項(xiàng)工作。當(dāng)然,如果設(shè)計(jì)人員有一定的Vissuall Baasicc 開發(fā)經(jīng)驗(yàn),那是再好不過的了。- 到現(xiàn)在為止,我們還只是完成了協(xié)作應(yīng)用的客戶端部分,客戶端部分是消息的表現(xiàn)形式,要想使消息流動(dòng)起來還需要服務(wù)器端的配合。下一部分討論協(xié)作應(yīng)用在服務(wù)器端的開發(fā)。四、Exxchaangee Seerveer 企
50、企業(yè)系統(tǒng)中協(xié)作應(yīng)用的服務(wù)器部分- 協(xié)作應(yīng)用的服務(wù)器部分并沒有涉及到用戶界面,Exxchaangee Seerveer 也也沒有提供專門的開發(fā)工具,但是Excchannge Serrverr 仍然提供了很好的擴(kuò)展機(jī)制,允許開發(fā)人員把自己的代碼插入到Excchannge Serrverr 的消息處理邏輯中。- Exxchaangee Seerveer 的的服務(wù)器邏輯擴(kuò)展也是以文件夾為基礎(chǔ),它所提供的事件服務(wù)與MTAA 緊密聯(lián)系起來。MTTA 在在傳輸消息的過程中,根據(jù)文件夾的屬性設(shè)置,有選擇地激發(fā)某些事件,包括新建消息事件、刪除消息事件、修改消息事件和定時(shí)事件。Exxchaangee Seerve
51、er 處處理事件的機(jī)制如圖5 所示。圖5 EExchhangge SServver 事件機(jī)制結(jié)構(gòu)圖- 所以,我們要在Excchannge Serrverr 服務(wù)器端添加業(yè)務(wù)邏輯, 實(shí)際上就是添加針對文件夾的事件處理函數(shù)。在添加事件處理函數(shù)之前,我們首先要保證設(shè)計(jì)人員或者管理人員具有添加事件的權(quán)限,這可以通過Excchannge Serrverr 的管理程序來完成,如圖6,我們在管理程序的左邊窗格的目錄中選擇Puubliic FFoldderssEvventts RRoott 目目錄下對應(yīng)于某臺服務(wù)器的EveentCConffig_XXXX 目錄,然后在目錄的屬性對話框中,利用Clliennt
52、PPermmisssionns 按鈕添加適當(dāng)?shù)臋?quán)限。圖6 EExchhangge SServver 管理程序中Evventts RRoott 目目錄- 我們再回到Outtloook 中中來。為了在Outtloook 中中看到公共文件夾的事件屬性,要求在Outtloook 中中安裝 服務(wù)器腳本運(yùn)行 加載項(xiàng)( 可通過Outtloook 的的 選項(xiàng) 對話框的 高級選項(xiàng) 中的 加載項(xiàng)管理器 添加得到)。一旦我們安裝了 服務(wù)器腳本運(yùn)行 加載項(xiàng),并且具有腳本添加權(quán)限之后,我們在Outtloook 的的文件夾列表中選擇待添加事件的文件夾。打開其屬性對話框,就可以看到,在屬性對話框上,新增加了 代理 頁,如圖
53、7 所示。圖7 公公共文件夾的 代理 屬性頁- 利用文件夾的屬性對話框 代理 頁,我們可以為文件夾增加相應(yīng)的事件腳本代碼。當(dāng)然為了保證事件確實(shí)能夠被激發(fā)起來,Exxchaangee Seerveer 服服務(wù)器上的系統(tǒng)服務(wù)Miicroosofft EExchhangge EEvennt SServvicee 必必須被啟動(dòng)。- Exxchaangee Seerveer 的的事件機(jī)制非常簡單,它只是為我們提供了幾個(gè)入口點(diǎn)控制而已。我們可以非常靈活地應(yīng)用這些入口點(diǎn)函數(shù),在文件夾的事件處理函數(shù)中,雖然我們只能編寫一些腳本代碼,但實(shí)際上通過腳本代碼我們幾乎可以完成任何一件在權(quán)限許可范圍內(nèi)的事情。一方面,在
54、事件函數(shù)中,利用EveentDDetaailss 對象,我們可以訪問到Excchannge Serrverr 當(dāng)前環(huán)境下的數(shù)據(jù)和操作。比如,EvventtDettaills.SSesssionn 代表了Excchannge Serrverr 事件服務(wù)預(yù)先建立起來的會話對象,它代表了腳本作者的郵箱標(biāo)識;EvventtDettaills.FFoldderIID 是是事件發(fā)生所在的文件夾的內(nèi)部ID;EveentDDetaailss.MeessaageIID 是是事件所對應(yīng)的消息的內(nèi)部ID。另一方面,如果我們要在事件函數(shù)中實(shí)現(xiàn)更為復(fù)雜的業(yè)務(wù)邏輯,那么最好把這些邏輯封裝到自動(dòng)化對象中,然后在腳本代碼中調(diào)
55、用這些自動(dòng)化對象。這種模式使我們可以靈活選擇編程語言,而不必拘泥于腳本代碼。在低級編程語言如C+ 中,我們可以實(shí)現(xiàn)一些底層的功能,這是腳本語言所不能代替的。- 因此,通常情況下,事件腳本代碼比較簡單。事實(shí)上,調(diào)試這些腳本代碼并不方便,越是短小、簡單的代碼,其出錯(cuò)的可能性也越小。但是調(diào)試自動(dòng)化對象則要容易得多,我們可以把這些自動(dòng)化對象放到MTSS 進(jìn)程中去運(yùn)行,這樣做可以帶來三方面的好處:便于調(diào)試試。要調(diào)試Excchannge Serrverr 的事件服務(wù)進(jìn)程并不容易,但調(diào)試單獨(dú)的MTSS 進(jìn)程則要容易得多。保護(hù)Exxchaangee Seerveer 的的事件服務(wù)進(jìn)程不會受到錯(cuò)誤代碼的危害。如
56、果對象的代碼發(fā)生嚴(yán)重錯(cuò)誤,那么MTSS 進(jìn)程終止后不會影響到Excchannge Serrverr 的事件服務(wù)進(jìn)程。對象代碼碼可以運(yùn)行在另一個(gè)用戶的安全身份下。如果我們要在事件業(yè)務(wù)邏輯中訪問特殊的受保護(hù)資源,這一條可能會非常重要。- 我們在編寫服務(wù)器端的腳本代碼時(shí),必須清楚地認(rèn)識到,這些代碼將會在服務(wù)器上被執(zhí)行,而不是在客戶端。如果腳本代碼調(diào)用到了自動(dòng)化對象,那么我們必須保證服務(wù)器上已經(jīng)注冊了這些自動(dòng)化對象。如果要調(diào)試自動(dòng)化對象,則必須在服務(wù)器上進(jìn)行。- 雖然服務(wù)器端的腳本代碼為我們提供了很大的靈活性,但是,由于這些腳本代碼運(yùn)行在服務(wù)器上,所以一定要避免濫用Excchannge Serrverr 的事件服務(wù),以便減輕服務(wù)器的負(fù)擔(dān)。這是我們在設(shè)計(jì)協(xié)作應(yīng)用時(shí)應(yīng)該注意的問題。五、Exxchaangee Seerveer 企企業(yè)應(yīng)用的擴(kuò)展- 以上我們介紹了Excchannge Serrverr 企業(yè)系統(tǒng)中協(xié)作應(yīng)用的設(shè)計(jì)過程。協(xié)作應(yīng)用是一個(gè)企業(yè)的業(yè)務(wù)核心,它構(gòu)成了企業(yè)的基本運(yùn)作方案。但是對于一個(gè)大型的或者分布式的企業(yè),僅僅這些協(xié)作應(yīng)用還不夠,我們在設(shè)計(jì)企業(yè)系統(tǒng)時(shí)還應(yīng)該考慮到企業(yè)系統(tǒng)的可擴(kuò)展性和開放性,根據(jù)本文第一、第二部分的介紹,我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流業(yè)無人機(jī)配送技術(shù)應(yīng)用方案
- 房地產(chǎn)業(yè)合伙經(jīng)營協(xié)議書
- 典當(dāng)合同典當(dāng)行借款合同
- 取土場施工方案
- 西寧抗風(fēng)門施工方案
- 環(huán)境影響評價(jià)及保護(hù)方案手冊
- 四干渠電站施工方案
- 空心方樁施工方案
- 醫(yī)院智能化施工方案
- 電梯消防施工方案范本
- 虛勞中醫(yī)護(hù)理方案
- 2024至2030年中國調(diào)味品市場前景預(yù)測及投資研究報(bào)告
- 江蘇省南通市通州區(qū)通州區(qū)育才中學(xué)2023-2024學(xué)年英語八下期末檢測試題含答案
- 【美妝產(chǎn)品的直播帶貨營銷策略探究:以花西子彩妝為例12000字(論文)】
- 靜配中心腸外營養(yǎng)液TPN藥物配置的操作方法課件
- 2024年浙江省寧波市外事服務(wù)中心招聘2人歷年(高頻重點(diǎn)復(fù)習(xí)提升訓(xùn)練)共500題附帶答案詳解
- 廢活性炭管理制度范文
- YYT 0972-2016 有源植入醫(yī)療器械 植入式心律調(diào)節(jié)設(shè)備用四極連接器系統(tǒng) 尺寸和試驗(yàn)要求
- 公司變更法人協(xié)議書模板
- DL-T5161.17-2018電氣裝置安裝工程質(zhì)量檢驗(yàn)及評定規(guī)程第17部分:電氣照明裝置施工質(zhì)量檢驗(yàn)
- 2024年共青團(tuán)入團(tuán)積極分子結(jié)業(yè)考試題庫及答案
評論
0/150
提交評論