難得在國內(nèi)找到一點有關(guān)這方面較全面的介紹,呵呵。
微電腦世界1999年第2期 Microsoft提供IIS新接口 盡管Internet信息服務(wù)器(Internet Information Server,IIS)現(xiàn)在風(fēng)靡一時,它仍然存在著一個很大的缺陷,即缺乏 自動管理的接口。換句話說,沒有提供允許站點建設(shè)者和管理者使用其他軟件或第三方工具管理Web站點的接 口。從1.0版到3.0版,IIS都缺乏對個人站點可維護性的必要支持。在新近推出的IIS 4.0中,Microsoft終于對此做出了 一些改進和彌補。
在通常情況下,所有的IIS管理都要通過圖形用戶界面來實現(xiàn),而不能輕易地自動化。盡管這在沒有幾個用戶 的單個服務(wù)器的小站點上可以工作得很好,但對于更大、更復(fù)雜的站點來說,則需要更強大的可管理性的支 持。事實是您擁有的服務(wù)器越多,您就必須執(zhí)行重復(fù)多次的管理任務(wù)。想像一下,當(dāng)每次事情發(fā)生變化時都不 得不重新配置20個服務(wù)器,這將是多么重的一個負(fù)擔(dān),然而也許它是大可不必的。對于那些天天和Web打交道的 人們來說,應(yīng)該記住這個名言——變化是永恒的。因此,我們只有期待它會變得越來越好。
在以前版本的IIS中的確存在兩個問題。第一,缺乏一個清晰的、開放的第三方管理產(chǎn)品的接口和一個定制的 常規(guī)管理任務(wù)自動化的可編程接口。第二,需要一個控制目錄服務(wù)以使網(wǎng)絡(luò)上的服務(wù)器能夠互相發(fā)現(xiàn)的機制。 如果這些接口存在,站點創(chuàng)建者可以使用各種類型的工具來編寫各種類型的服務(wù)器管理應(yīng)用。除了用戶管理和 安全性產(chǎn)品外,他們還能創(chuàng)建用于性能管理、安裝和配置的程序。
為了提供這些缺乏的接口,Microsoft在1998年早些時候發(fā)布了一個活動目錄服務(wù)接口(Active Directory Service Interfaces,ADSI)的新版本。ADSI和IIS管理對象(IIS Administration Object,IISAO)一起提供了一個用于控制目錄服務(wù) 和IIS自己的聯(lián)合解決方案。這些產(chǎn)品在Microsoft公司的Windows NT專業(yè)開發(fā)者大會上首次亮相,并且它們已在IIS 4.0中被提供。
ADSI并沒有帶來任何革新性改進。簡言之,它通過一個易于使用的且能和傳統(tǒng)編程工具對話的名為組件對 象模型(Component Object Model,COM)的接口提取了IIS目錄服務(wù)和其他銷售商所提供的目錄服務(wù)。COM允許您用 腳本和程序來控制IIS。
IISAO能夠被使用許多不同語言編制的應(yīng)用所訪問,其中包括C++、Java和VB。除了數(shù)量增長迅速外,第三方站 點管理工具均可以通過ADSI和IISAO更好地掛接到IIS和目錄服務(wù)中。另外,IISAO也可以經(jīng)由一個服務(wù)器端的腳本 引擎和活動服務(wù)器頁面(Active Server Page,ASP)通過Web頁面被訪問。事實上,如果您正使用IIS 4.0管理工具 的HTML版本,那么您已經(jīng)在使用IISAO。IISAO還能從使用Windows腳本主機(Windows Scripting Host,WSH)的命令行 訪問。
和IISAO一樣,ADSI只是一組COM對象,能夠在它們各自的目錄服務(wù)中封裝對象。這在本地目錄服務(wù)和應(yīng)用中 創(chuàng)建了一個抽象層,因此,站點創(chuàng)建者可以通過一個單一的公共接口來控制許多不同的目錄服務(wù)。
IISAO是用ADSI登記的提供者。當(dāng)您正查找IIS信息時,ADSI了解應(yīng)如何用IISAO創(chuàng)建一個接口。通過ADSI 和IISAO能提供一個針對若干個IIS對象的接口,它們可以執(zhí)行幾個不同的管理任務(wù),如IIsFtpServer、IIsWebVirtualDir 和IIsComputer等等,這意味著能夠分別訪問FTP服務(wù)器、虛擬目錄和運行IIS的計算機。
通過COM和一組共享的API,這些新的接口對一些傳統(tǒng)開發(fā)工具開放了IIS和公共目錄服務(wù)的大部分特性。從 這些接口上,站點管理員可以將COM用作進入IIS內(nèi)部的管道,并且通過一組預(yù)定義的COM對象來管理它的服務(wù)。
IIS管理對象提供低級和高級兩種類型的接口。低級對象,也稱作管理基本對象(Admin Base Object),能夠為管理 性API提供服務(wù)。高級對象則隱藏了管理基本對象的復(fù)雜性,比低級對象更容易使用,但它不能提供像低級對象 那樣多的控制。
那么,IISAO好在哪里呢?它的應(yīng)用包括創(chuàng)建一個新的Web服務(wù)器、FTP服務(wù)器和虛擬目錄,以及定制IIS安裝過 程。而且,IISAO還使您能編程改變IIS設(shè)置,并因此改變存儲這些設(shè)置(如值或?qū)傩裕┑脑獛欤∕etabase,類似于注 冊表,但專為IIS而定制)。
IISAO按一個分層結(jié)構(gòu)來組織,并鏡像到元庫和IIS的結(jié)構(gòu)(見圖1)。對象都圍繞著其他對象來創(chuàng)建對象結(jié) 構(gòu)。這一對象分層結(jié)構(gòu)使您能訪問決定特定IIS元素配置設(shè)置的元庫屬性。
圖1 IISAO IISAO由鏡像到元庫和IIS結(jié)構(gòu)的分層結(jié)構(gòu)所組織。
在支持遠(yuǎn)程管理目錄服務(wù)命名空間(Namespace)的ADSI標(biāo)準(zhǔn)中,IISAO是命名空間的提供者。IIS命名空間 由IISAO和元庫組成。ADSI簡單地提供了一個標(biāo)準(zhǔn)語法來為IIS配置數(shù)據(jù)尋址。
站點創(chuàng)建者能夠使用ADSI作為接口來使它們的應(yīng)用和諸如活動目錄(Active Directory)、LDAP和NDS等目錄連接在 一起。每一個供應(yīng)商都提供一組資源,它們被重映射到一個公共接口或一組都使用COM的接口上。例如,使 用ADSI,站點創(chuàng)建者能添加用戶、管理打印機或創(chuàng)建虛擬Web服務(wù)器。然而,我們絕大多數(shù)時候都是通過第三方 工具而不是直接從一個傳統(tǒng)編程語言來使用ADSI。
ADSI在簡化目錄的使用和管理等方面大有幫助,并且能從開放目錄服務(wù)接口(Open Directory Services Interface,ODSI)上獲取很多東西。正如一些人已經(jīng)了解的,ODSI提供一組API來管理多種類型的目錄服務(wù)。
IISAO采用了一個分層結(jié)構(gòu)的對象命名空間,其中每個對象都有一個AdsPath。AdsPath和URL有些類似,例如, 某個AdsPath可以是IIS://DavesComputer/W3SVC。這個AdsPath指的是名為DavesComputer機器上的IIsWebService對象。此對 象和正運行IIS的機器一并是IIsComputer對象并且包含所有其他的IISAO。
如果想要得到一個命名對象的引用,您需要在一個程序(如用Visual Basic編寫而成的程序)中使用GetObject。 例如,您能用如下所示的VB腳本來得到名為DavesComputer的計算機的MaxBandwidth的當(dāng)前值: < % Dim ComputerObj Dim MaxBW Set ComputerObj=GetObject(“IIS:// DavesComputer”) MaxBW = ComputerObj.Get(“MaxBandWidth”) % >
ADSI對象在目錄服務(wù)中可以代表任一項目,如用戶、服務(wù)器、計算機、文件、打印機及打印序列等。網(wǎng)絡(luò)管 理員們每天都要和這些實體打交道。ADSI定義不同類型的對象來代表不同類型的實體。每個對象支持一個或多 個COM接口,使您能夠訪問對象自己的信息(即元數(shù)據(jù),Metadata)和對象所代表的信息(如圖2)。
圖2 ADSI對象模型 每一個ADSI對象支持一個或多個COM接口, 使您能夠訪問對象自身的信息和對象所代表的信息。
ADSI和IISAO聽起來似乎有些復(fù)雜,然而,隨著Windows NT 5.0的上市,它帶來了活動目錄的一線曙光,并揭示 了NT最終支持企業(yè)級系統(tǒng)的潛力。但是當(dāng)我們看到NT和IIS擴展到企業(yè)網(wǎng)絡(luò)水平和當(dāng)服務(wù)器和用戶數(shù)日益增多 時,可管理性則成了一個大問題。
這些接口的過人之處不僅在于它們易于使用的事實,而且在于它們最終能使用任意數(shù)目的語言和工具使管 理任務(wù)自動化。另外,第三方管理工具最終將有一個和它協(xié)同工作的公共接口。
最后,我們必須意識到,關(guān)鍵問題不是如何使IIS成為企業(yè)的首選服務(wù)器,而是何時。看起來Microsoft公司將服 務(wù)器和操作系統(tǒng)捆綁在一起的策略正發(fā)揮著作用,很可能到本世紀(jì)末我們都能在IIS上找到自己的內(nèi)容。
|