專利名稱:處理環(huán)球網(wǎng)頁面中用于動(dòng)態(tài)數(shù)據(jù)查詢的機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及網(wǎng)絡(luò)服務(wù)器,比如在互聯(lián)網(wǎng)上的環(huán)球網(wǎng)服務(wù)器(webserver)。更具體地說,本發(fā)明涉及處理環(huán)球網(wǎng)頁面中用于動(dòng)態(tài)數(shù)據(jù)查詢的機(jī)制。
1948年EDVAC計(jì)算機(jī)系統(tǒng)的開發(fā)常常被認(rèn)為是計(jì)算機(jī)時(shí)代的開始。從那時(shí)起,計(jì)算機(jī)系統(tǒng)已經(jīng)演變成極其復(fù)雜的設(shè)備,并且在許多不同的設(shè)置中都能發(fā)現(xiàn)計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)的廣泛普及促進(jìn)了計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,這種計(jì)算機(jī)網(wǎng)絡(luò)使得計(jì)算機(jī)可以進(jìn)行相互通訊。隨著個(gè)人計(jì)算機(jī)(PC)的出現(xiàn),許多人可以進(jìn)行計(jì)算。已經(jīng)開發(fā)出用于個(gè)人計(jì)算機(jī)的網(wǎng)絡(luò),它允許用戶之間相互通訊。
一個(gè)十分重要的計(jì)算機(jī)網(wǎng)絡(luò)就是互聯(lián)網(wǎng)(Internet),它最近已變得十分流行?;ヂ?lián)網(wǎng)是從計(jì)算機(jī)和網(wǎng)絡(luò)的普及產(chǎn)生出來的,并且已經(jīng)發(fā)展成一個(gè)極其復(fù)雜的全世界的計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)。在一個(gè)單獨(dú)的PC機(jī)上試圖訪問Internet的用戶通常使用稱作環(huán)球網(wǎng)瀏覽器(web browser)的軟件進(jìn)行訪問。一個(gè)環(huán)球網(wǎng)瀏覽器通過Internet與稱作環(huán)球網(wǎng)服務(wù)器(web server)的其它計(jì)算機(jī)進(jìn)行連接,并且從該環(huán)球網(wǎng)服務(wù)器中接受信息,該信息顯示在用戶的工作站上。一般將顯示給用戶的信息組織成頁(page),這種頁是使用一種稱作超文本標(biāo)記語言(Hypertext Markup Language-HTML)的特定語言構(gòu)造成的。最初的頁包含靜態(tài)數(shù)據(jù),靜態(tài)數(shù)據(jù)意味著不論誰訪問該頁或什么時(shí)候訪問該頁在該頁的數(shù)據(jù)總是一樣的。最近的環(huán)球網(wǎng)頁包含動(dòng)態(tài)數(shù)據(jù),動(dòng)態(tài)數(shù)據(jù)意味著在該頁的某些部分的數(shù)據(jù)要經(jīng)過變化。動(dòng)態(tài)數(shù)據(jù)的一個(gè)例子是顯示股票行情或其它周期性改變的數(shù)據(jù)。在訪問包含動(dòng)態(tài)數(shù)據(jù)的一頁時(shí),環(huán)球網(wǎng)服務(wù)器必需知道如何以及從哪個(gè)數(shù)據(jù)源檢索出所需要的信息以動(dòng)態(tài)插入HTML頁中。
將動(dòng)態(tài)數(shù)據(jù)插入到一個(gè)HTML頁中的環(huán)球網(wǎng)服務(wù)器通常具有處理HTML頁的特殊軟件。該特殊軟件可以稱作一個(gè)“事務(wù)處理器”,后者處理一個(gè)HTML頁,并且處理特殊的函數(shù)調(diào)用或查詢(即事務(wù)),這些函數(shù)調(diào)用或事務(wù)要求插入到該頁的動(dòng)態(tài)數(shù)據(jù)。這些環(huán)球網(wǎng)服務(wù)器通常具有硬編碼的事務(wù)處理器,后者檢測在該HTML頁數(shù)據(jù)中用于動(dòng)態(tài)數(shù)據(jù)的特殊類型的查詢,并且執(zhí)行對(duì)一專用數(shù)據(jù)源的必需的訪問以檢索動(dòng)態(tài)數(shù)據(jù)。然后將所檢索的數(shù)據(jù)插入到該HTML頁中,從而在該HTML頁中將該動(dòng)態(tài)數(shù)據(jù)顯示給用戶。如果存在多于一個(gè)數(shù)據(jù)源,或者使用多于一種類型的數(shù)據(jù)源,必須對(duì)環(huán)球網(wǎng)服務(wù)器進(jìn)行手動(dòng)再編程以適應(yīng)要訪問的特定數(shù)目和特定類型的數(shù)據(jù)源。
隨著Internet的用戶,供應(yīng)商和環(huán)球網(wǎng)服務(wù)器的數(shù)目繼續(xù)迅速地膨脹,以一種有效的方式使得一個(gè)環(huán)球網(wǎng)服務(wù)器能夠適應(yīng)新的動(dòng)態(tài)數(shù)據(jù)源將會(huì)變得日益重要。沒有對(duì)HTML頁的動(dòng)態(tài)數(shù)據(jù)的處理的方式進(jìn)行改進(jìn),使得環(huán)球網(wǎng)服務(wù)器適應(yīng)新的數(shù)據(jù)源將繼續(xù)是對(duì)環(huán)球網(wǎng)服務(wù)器的性能和效率的阻礙。
根據(jù)本發(fā)明的環(huán)球網(wǎng)服務(wù)器包括一個(gè)事務(wù)處理器,后者讀取一個(gè)配置文件以確定如何處理將要到來的對(duì)于動(dòng)態(tài)數(shù)據(jù)源的查詢。提供了多個(gè)語言處理器以處理對(duì)于動(dòng)態(tài)數(shù)據(jù)的可能的不同類型的查詢。在遇到一個(gè)環(huán)球網(wǎng)頁中的一個(gè)查詢時(shí),事務(wù)處理器從配置數(shù)據(jù)中確定哪個(gè)語言處理器將處理這一特定類型的查詢,并將該查詢傳遞給適當(dāng)?shù)恼Z言處理器。該語言處理器處理該查詢,從該適當(dāng)?shù)臄?shù)據(jù)源中獲得動(dòng)態(tài)數(shù)據(jù),并且將該數(shù)據(jù)傳送回事務(wù)處理器。然后該事務(wù)處理器將該動(dòng)態(tài)數(shù)據(jù)插入到將要送到請求用戶的環(huán)球網(wǎng)瀏覽器的環(huán)球網(wǎng)頁中。
從下面對(duì)本發(fā)明的較佳實(shí)施例的更具體的描述中本發(fā)明的前述以及其它目的,特性和優(yōu)點(diǎn)將更為顯然,這些描述是參照如下附圖進(jìn)行的。
以下將結(jié)合附圖對(duì)本發(fā)明的較佳的示例性實(shí)施例進(jìn)行描述,其中相同的數(shù)字指示相同的部件。
圖1是根據(jù)本發(fā)明的環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)系統(tǒng)的框圖。
圖2是一種典型的Internet連接的框圖。
圖3是適應(yīng)在環(huán)球網(wǎng)頁中的動(dòng)態(tài)數(shù)據(jù)的環(huán)球網(wǎng)服務(wù)器機(jī)制的框圖。
圖4是在圖3的環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)系統(tǒng)中的主存儲(chǔ)器的內(nèi)容的框圖。
圖5是使用圖3的環(huán)球網(wǎng)服務(wù)器機(jī)制所采取的步驟的流程圖。
圖6是根據(jù)本發(fā)明的較佳實(shí)施例的環(huán)球網(wǎng)服務(wù)器機(jī)制的框圖。
圖7是在圖1和6的環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)系統(tǒng)中的主存儲(chǔ)器的內(nèi)容的框圖。
圖8是使用圖6的環(huán)球網(wǎng)服務(wù)器機(jī)制所采取的步驟的流程圖。
圖9是顯示圖6的宏文件(macro file)和配置文件的一些特性的框圖。
本發(fā)明的方法和裝置對(duì)于Internet上的環(huán)球網(wǎng)服務(wù)器具有特殊的應(yīng)用。對(duì)于那些對(duì)Internet環(huán)球網(wǎng)和環(huán)球網(wǎng)瀏覽器不熟悉的人們,這里對(duì)這些概念進(jìn)行簡單的說明。
圖2中輸出了一種典型的Internet連接的一個(gè)例子。希望訪問Internet 170上的信息的用戶通常具有一臺(tái)計(jì)算機(jī)工作站200,該計(jì)算機(jī)工作站執(zhí)行一個(gè)稱作環(huán)球網(wǎng)瀏覽器210的應(yīng)用程序。在環(huán)球網(wǎng)瀏覽器210的控制下,工作站200在Internet上發(fā)送一個(gè)對(duì)于一個(gè)環(huán)球網(wǎng)頁的請求。環(huán)球網(wǎng)頁的數(shù)據(jù)可以是文本形式,圖形形式以及其它信息形式。在Internt上的每一個(gè)環(huán)球網(wǎng)服務(wù)器具有一個(gè)已知的地址,用戶要連接到適當(dāng)?shù)沫h(huán)球網(wǎng)服務(wù)器上就必須向環(huán)球網(wǎng)瀏覽器提供這一地址。由于環(huán)球網(wǎng)服務(wù)器220可以包括不只一個(gè)環(huán)球網(wǎng)頁,用戶也必須在該地址中指定他在環(huán)球網(wǎng)服務(wù)器220上希望觀看的特定環(huán)球網(wǎng)頁。環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)系統(tǒng)220執(zhí)行環(huán)球網(wǎng)服務(wù)器的應(yīng)用122,監(jiān)視器請求,以及它所管理的服務(wù)請求。在一個(gè)請求指定環(huán)球網(wǎng)服務(wù)器220時(shí),環(huán)球網(wǎng)服務(wù)器的應(yīng)用122通常訪問對(duì)應(yīng)于該特定請求的一個(gè)環(huán)球網(wǎng)頁,并且傳送該頁到用戶的工作站200上。
環(huán)球網(wǎng)頁一個(gè)環(huán)球網(wǎng)頁基本上是目的在用戶的工作站200的監(jiān)視器上顯示的可視數(shù)據(jù)。環(huán)球網(wǎng)頁主要是用超文本標(biāo)記語言(HTML)寫成的。在環(huán)球網(wǎng)服務(wù)器220接收到一個(gè)環(huán)球網(wǎng)頁請求時(shí),它將用HTML建立一個(gè)環(huán)球網(wǎng)頁,并且通過Internet發(fā)送給進(jìn)行請求的環(huán)球網(wǎng)瀏覽器210。環(huán)球網(wǎng)瀏覽器210理解HTML和對(duì)之解釋,并輸出該環(huán)球網(wǎng)頁到用戶工作站200的監(jiān)視器上。顯示在用戶屏幕上的這一環(huán)球網(wǎng)頁可以包括文本,圖形和連接(是其它環(huán)球網(wǎng)頁的地址)。這些其它環(huán)球網(wǎng)頁(即由連接所表示的那些頁)可以在同一個(gè)或不同的環(huán)球網(wǎng)服務(wù)器上。用戶可以使用鼠標(biāo)器或其它指點(diǎn)設(shè)備在這些連接上撳按進(jìn)入其它環(huán)球網(wǎng)頁。通過連接到其它服務(wù)器上的其它環(huán)球網(wǎng)頁的跨越世界的環(huán)球網(wǎng)頁的整個(gè)系統(tǒng)就是眾所周知的“環(huán)球網(wǎng)”(World Wide Web)。
環(huán)球網(wǎng)頁中的靜態(tài)和動(dòng)態(tài)數(shù)據(jù)正如在背景部分所討論的,在這一環(huán)球網(wǎng)技術(shù)剛開始時(shí),環(huán)球網(wǎng)頁只包括靜態(tài)數(shù)據(jù)。比如顯示一給定地區(qū)的一個(gè)公司的平衡表的一個(gè)環(huán)球網(wǎng)頁是靜態(tài)的,靜態(tài)就意味著其信息不進(jìn)行改變,因此可以直接放入該頁中。后來所開發(fā)的方法是將動(dòng)態(tài)數(shù)據(jù)引入環(huán)球網(wǎng)頁中。比如,如果要開發(fā)顯示當(dāng)前股票市場行情的一個(gè)環(huán)球網(wǎng)頁,則必須包括顯示當(dāng)前市場指數(shù)的動(dòng)態(tài)數(shù)據(jù)。這種動(dòng)態(tài)數(shù)據(jù)一般可以在一個(gè)數(shù)據(jù)庫中或者在一些數(shù)據(jù)源中獲得。在用戶請求該環(huán)球網(wǎng)頁時(shí),從數(shù)據(jù)源中檢索出動(dòng)態(tài)數(shù)據(jù),確保顯示在所請求的環(huán)球網(wǎng)頁上的動(dòng)態(tài)數(shù)據(jù)是當(dāng)前的。
本說明書的其余部分描述本發(fā)明是如何通過提供一種簡單的方式以允許環(huán)球網(wǎng)服務(wù)器從新的數(shù)據(jù)源訪問動(dòng)態(tài)數(shù)據(jù)而提高環(huán)球網(wǎng)服務(wù)器的靈活性和能力。本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到本發(fā)明同樣可以應(yīng)用于任何一種訪問一個(gè)HTML頁的動(dòng)態(tài)數(shù)據(jù)的環(huán)球網(wǎng)服務(wù)器,而不管該環(huán)球網(wǎng)服務(wù)器或數(shù)據(jù)源的特定配置。
參見圖1,根據(jù)本發(fā)明的一個(gè)計(jì)算機(jī)系統(tǒng)100包括一個(gè)中央處理單元(CPU)110,一個(gè)主存儲(chǔ)器120,一個(gè)大容量存儲(chǔ)器接口140,和一個(gè)網(wǎng)絡(luò)接口150,所有這些由一個(gè)系統(tǒng)總線連接起來。本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到這一系統(tǒng)包含所有類型的計(jì)算機(jī)系統(tǒng)個(gè)人計(jì)算機(jī),中型計(jì)算機(jī)和大型機(jī)等。注意,在本發(fā)明的范圍中可以對(duì)這一計(jì)算機(jī)系統(tǒng)100進(jìn)行增加,修改和刪減。其例子就是計(jì)算機(jī)監(jiān)視器,輸入鍵盤,高速緩存和諸如打印機(jī)的外圍設(shè)備。本發(fā)明作為一個(gè)環(huán)球網(wǎng)服務(wù)器進(jìn)行操作,其主要利用個(gè)人或中型計(jì)算機(jī)而實(shí)現(xiàn)的。
CPU110可以由一個(gè)或多個(gè)微處理器和/或集成電路構(gòu)造而成。CPU 110執(zhí)行存儲(chǔ)在主存儲(chǔ)器120中的程序指令。主存儲(chǔ)器120存儲(chǔ)計(jì)算機(jī)可以訪問的程序和數(shù)據(jù)。在計(jì)算機(jī)系統(tǒng)100啟動(dòng)時(shí),CPU 110開始執(zhí)行操作系統(tǒng)134程序指令。操作系統(tǒng)134是一個(gè)復(fù)雜的管理計(jì)算機(jī)系統(tǒng)100的資源的程序。其中的一些資源是CPU 110,主存儲(chǔ)器120,大容量存儲(chǔ)器接口140,網(wǎng)絡(luò)接口150和系統(tǒng)總線160。
參見圖1和7,主存儲(chǔ)器120包括一個(gè)環(huán)球網(wǎng)服務(wù)器應(yīng)用程序122,一個(gè)事務(wù)處理器124,一個(gè)或多個(gè)宏文件126,一個(gè)配置文件128,一個(gè)或多個(gè)語言處理器130,一個(gè)操作系統(tǒng)134,一個(gè)或多個(gè)應(yīng)用程序136,和程序數(shù)據(jù)138。在操作系統(tǒng)134的控制下CPU110執(zhí)行應(yīng)用程序136??梢允褂幂斎氲某绦驍?shù)據(jù)138運(yùn)行應(yīng)用程序136。應(yīng)用程序136也可以將它們的結(jié)果作為程序數(shù)據(jù)138輸入到主存儲(chǔ)器中。在本發(fā)明中,一個(gè)計(jì)算機(jī)系統(tǒng)100是作為一個(gè)環(huán)球網(wǎng)服務(wù)器而操作的,因此CPU 110在其它事情之外也執(zhí)行環(huán)球網(wǎng)服務(wù)器的應(yīng)用122。事務(wù)處理器124是一個(gè)程序,它處理存儲(chǔ)在一個(gè)或多個(gè)宏文件126中的一個(gè)HTML頁。在初始化事務(wù)處理器124時(shí),它讀取配置文件128以將不同類型的查詢與不同的語言處理器130聯(lián)系起來。當(dāng)在一頁中發(fā)現(xiàn)一個(gè)對(duì)于動(dòng)態(tài)數(shù)據(jù)的查詢時(shí),事務(wù)處理器124從配置數(shù)據(jù)(從配置文件中讀出)確定它應(yīng)當(dāng)調(diào)用哪一個(gè)語言處理器130以處理該查詢。然后適當(dāng)?shù)恼Z言處理器130查詢一個(gè)數(shù)據(jù)源,諸如存儲(chǔ)器或一個(gè)數(shù)據(jù)庫,以檢索動(dòng)態(tài)數(shù)據(jù)。語言處理器130將該動(dòng)態(tài)數(shù)據(jù)傳送給事務(wù)處理器124,后者將該動(dòng)態(tài)數(shù)據(jù)插入到所選擇的頁的HTML數(shù)據(jù)中。
大容量存儲(chǔ)器接口140允許計(jì)算機(jī)系統(tǒng)100從輔助存儲(chǔ)設(shè)備檢索和存儲(chǔ)數(shù)據(jù),諸如磁盤(硬盤,軟盤)和光盤(CD-ROM)。這些大容量存儲(chǔ)器設(shè)備通常稱作直接訪問存儲(chǔ)設(shè)備(Direct Access Storage Device--DASD),并且起到信息的永久存儲(chǔ)的作用。DASD的一種適當(dāng)?shù)念愋褪擒洷P驅(qū)動(dòng)器180,它從和向一個(gè)軟盤186讀和寫數(shù)據(jù)。DASD的信息可以是許多形式的。普通的形式是應(yīng)用程序和程序數(shù)據(jù)。通過大容量存儲(chǔ)器接口140所檢索的數(shù)據(jù)經(jīng)常被放于主存儲(chǔ)器120中,CPU110可以對(duì)其中的數(shù)據(jù)進(jìn)行處理。
雖然主存儲(chǔ)器120和DASD設(shè)備180一般是分開的存儲(chǔ)設(shè)備,計(jì)算機(jī)系統(tǒng)100使用眾所周知的虛擬尋址機(jī)制,它使得計(jì)算機(jī)系統(tǒng)100的程序就好象它們只訪問一個(gè)大的單一的存儲(chǔ)實(shí)體,而不是多個(gè)較小的存儲(chǔ)實(shí)體(比如主存儲(chǔ)器120和DASD設(shè)備185)而運(yùn)行。從而,雖然某些部分示出駐留在主存儲(chǔ)器120中,本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到這些不必同時(shí)完全包括在主存儲(chǔ)器120中。應(yīng)該注意的是,術(shù)語“存儲(chǔ)器”被用于一般性地指計(jì)算機(jī)系統(tǒng)100的整個(gè)虛擬存儲(chǔ)器。
網(wǎng)絡(luò)接口150允許計(jì)算機(jī)系統(tǒng)100向該計(jì)算機(jī)系統(tǒng)所連的任何網(wǎng)絡(luò)發(fā)送數(shù)據(jù)和從中接受數(shù)據(jù)。這一網(wǎng)絡(luò)可以是一個(gè)局域網(wǎng)(LAN),一個(gè)廣域網(wǎng)(WAN),或更特殊的是Internet 170。連接到Internet的適當(dāng)?shù)姆椒òㄒ阎哪M和/或數(shù)字技術(shù),以及在將來開發(fā)的聯(lián)網(wǎng)技術(shù)??梢允褂迷S多不同的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)。這些協(xié)議被具體化為允許計(jì)算機(jī)在網(wǎng)絡(luò)上相互通訊的計(jì)算機(jī)程序。被用于在Inernet上通訊的TCP/IP(傳輸控制協(xié)議/互連協(xié)議)就是適當(dāng)?shù)木W(wǎng)絡(luò)協(xié)議的一個(gè)例子。
系統(tǒng)總線160允許數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)100的不同部件之間傳輸。雖然示出計(jì)算機(jī)系統(tǒng)100只包括一個(gè)主CPU和一個(gè)系統(tǒng)總線,但本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到本發(fā)明可以使用具有多個(gè)CPU和/或多個(gè)總線的計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)。另外,在較佳實(shí)施例中使用的接口可以包括分開的完全編程的微處理器,使用這些微處理器從CPU 110卸載下計(jì)算密集的處理,或可以包括I/O適配器以執(zhí)行類似的功能。
這時(shí),注意到如下情況是十分重要的,即雖然是在完全功能性的計(jì)算機(jī)系統(tǒng)的上下文中已經(jīng)描述(而且將繼續(xù)描述)本發(fā)明,但本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到本發(fā)明可以作為一個(gè)計(jì)算機(jī)產(chǎn)品以各種形式進(jìn)行分發(fā),而且不管被用來實(shí)際完成分發(fā)的攜帶信號(hào)的介質(zhì)的特殊類型如何本發(fā)明同樣適用。攜帶信號(hào)的介質(zhì)的例子包括可記錄型介質(zhì),比如軟盤(即圖1的186)和CD-ROM,以及傳輸型介質(zhì),比如數(shù)字和模擬通訊鏈路。
本說明書的其余部分將描述用于處理環(huán)球網(wǎng)頁中的動(dòng)態(tài)數(shù)據(jù)的兩種方法以及有關(guān)的計(jì)算機(jī)系統(tǒng)。第一種方法是IBM所開發(fā)的,對(duì)于圖3-5所揭示的配置,它使用的程序運(yùn)行在稱作DB2WWW(版本1)的環(huán)球網(wǎng)服務(wù)器上,并且構(gòu)成本發(fā)明的一個(gè)可替代的實(shí)施例。第二種方法和有關(guān)的計(jì)算機(jī)系統(tǒng)是圖6-9所揭示的本發(fā)明的較佳實(shí)施例。在環(huán)球網(wǎng)服務(wù)器上執(zhí)行的用來完成上述任何一種方案的實(shí)現(xiàn)(即事務(wù)處理器124,224和語言處理器130,230)這里將總的稱作環(huán)球網(wǎng)服務(wù)器程序。
在本發(fā)明中,計(jì)算機(jī)系統(tǒng)100作為一個(gè)環(huán)球網(wǎng)服務(wù)器而運(yùn)行。為此,CPU110執(zhí)行一個(gè)環(huán)球網(wǎng)服務(wù)器應(yīng)用122。其它應(yīng)用程序136可以同時(shí)運(yùn)行在計(jì)算機(jī)系統(tǒng)100上,這里假設(shè)其操作系統(tǒng)134是一個(gè)多任務(wù)的操作系統(tǒng)。通常是將環(huán)球網(wǎng)服務(wù)器連接到Internet 170。正如已經(jīng)討論的,Internet是一個(gè)眾所周知的跨越世界的計(jì)算機(jī)網(wǎng)絡(luò),并且為數(shù)以百萬計(jì)的計(jì)算機(jī)所共享。在Internet上有許多環(huán)球網(wǎng)服務(wù)器。每一個(gè)連接到Internet的計(jì)算機(jī)都有一個(gè)它們自己的地址,以在整個(gè)網(wǎng)絡(luò)中與其它計(jì)算機(jī)互相通訊。許多不同類型的數(shù)據(jù)可以沿Internet傳送。其例子是電子郵件,程序數(shù)據(jù),數(shù)字化的語音數(shù)據(jù),計(jì)算機(jī)圖形和環(huán)球網(wǎng)頁。本發(fā)明擴(kuò)展到傳輸任意類型的數(shù)據(jù),這些數(shù)據(jù)的一個(gè)或多個(gè)部分在傳輸?shù)接脩糁笆莿?dòng)態(tài)地改變或者更新,但在這里是通過例示的方式在包括動(dòng)態(tài)數(shù)據(jù)的環(huán)球網(wǎng)頁的上下文中描述的。
在動(dòng)態(tài)數(shù)據(jù)需要在一個(gè)環(huán)球網(wǎng)頁上顯示時(shí),必須采取某些靜態(tài)環(huán)球網(wǎng)頁所不需要的步驟。在圖3和4中,示出了處理動(dòng)態(tài)數(shù)據(jù)的一個(gè)特定的實(shí)現(xiàn),其示出了在IBM開發(fā)的一個(gè)實(shí)現(xiàn)。環(huán)球網(wǎng)服務(wù)器220包括一個(gè)環(huán)球網(wǎng)服務(wù)器應(yīng)用122,一個(gè)或多個(gè)宏文件126和一個(gè)帶有硬編碼(hard-coded)的語言處理器230的事務(wù)處理器224。事務(wù)處理器224表示眾所周知的DB2WWW的IBM環(huán)球網(wǎng)服務(wù)器程序的版本1(Release 1)。將版本1特定地設(shè)計(jì)為處理環(huán)球網(wǎng)頁的動(dòng)態(tài)數(shù)據(jù)的SQL(結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫查詢。SQL是一種眾所周知的數(shù)據(jù)庫格式。在圖4中示出了用于環(huán)球網(wǎng)服務(wù)器220的主存儲(chǔ)器的最顯著的部分。最好參照圖5的流程圖理解環(huán)球網(wǎng)服務(wù)器220的操作。
工作站200的用戶執(zhí)行環(huán)球網(wǎng)瀏覽器應(yīng)用程序210訪問Internet 170。用戶通過在Internet 170上發(fā)送一個(gè)統(tǒng)一資源定位器(Uniform ResourceLocator-URL)請求一個(gè)環(huán)球網(wǎng)頁(步驟510)。URL是一個(gè)眾所周知的尋址環(huán)球網(wǎng)上的資源的協(xié)議。一個(gè)URL包括一個(gè)環(huán)球網(wǎng)服務(wù)器的完整Internet的地址以及指定所要的環(huán)球網(wǎng)頁的附加的參數(shù)。下面就是一個(gè)URL的一個(gè)例子,它被用于展示圖3和4的系統(tǒng)的功能。
http//www.abcxyz.com/cgi-bin/db2www.exe/wbp1.fil/2ndpage其中http//是告知環(huán)球網(wǎng)瀏覽器后面所跟的是一個(gè)環(huán)球網(wǎng)頁的地址的標(biāo)準(zhǔn)文法。
www.abcxyz.com是其環(huán)球網(wǎng)服務(wù)器的地址。
/cgi-bin/db2www.exe告知該環(huán)球網(wǎng)服務(wù)器執(zhí)行和將控制轉(zhuǎn)換給程序db2www.exe,并且將URL的任何剩余部分作為參數(shù)傳遞。
/cgi-bin指的是共同網(wǎng)關(guān)接口(Common Gateway Interface),它是一種眾所周知的環(huán)球網(wǎng)服務(wù)器接口,它允許一個(gè)環(huán)球網(wǎng)服務(wù)器的應(yīng)用程序調(diào)用其它程序以幫助處理環(huán)球網(wǎng)頁請求。在DB2WWW的版本1的例子中,我們假設(shè)db2www.exe是執(zhí)行在環(huán)球網(wǎng)服務(wù)器200上的事務(wù)處理器的程序的名字。在這一意義上,/wbp1.fil/2ndpage是傳送給事務(wù)處理器程序db2www.exe的參數(shù)。事務(wù)處理器程序?qū)⒌谝粋€(gè)參數(shù)“wbp1.fil”解釋為宏文件名,將第二個(gè)參數(shù)“2ndpage”解釋為在宏文件“wbpl.fil”中的HTML的段的名字。
用戶可以通過在一個(gè)環(huán)球網(wǎng)頁的連接上“撳按”鼠標(biāo)發(fā)送一個(gè)URL,或者在環(huán)球網(wǎng)瀏覽器中手動(dòng)地鍵入整個(gè)URL地址。所發(fā)送的URL在Internt170上傳送,到達(dá)(在URL中指定的)環(huán)球網(wǎng)服務(wù)器220(步驟512)。
在環(huán)球網(wǎng)服務(wù)器的應(yīng)用程序122接收到來自用戶工作站200的URL時(shí),其中該URL包括cgi-bin參數(shù),環(huán)球網(wǎng)服務(wù)器的應(yīng)用程序122調(diào)用事務(wù)處理器224,并將控制傳遞給它(步驟514)。然后事務(wù)處理器224對(duì)傳遞給它的參數(shù)(即wbp1.fil和2ndpage)進(jìn)行處理以在對(duì)應(yīng)于所請求的環(huán)球網(wǎng)頁中的宏文件126(wbpl.fil)中找到適當(dāng)?shù)腍TML段(2ndpage)(步驟516)。然后事務(wù)處理器224開始處理在宏文件126中的所選擇的HTML段以構(gòu)造環(huán)球網(wǎng)頁(步驟520)。
下一步是確定所選擇的環(huán)球網(wǎng)頁是否包含動(dòng)態(tài)數(shù)據(jù)。對(duì)于DB2WWW的版本1,是通過掃描用于查詢動(dòng)態(tài)數(shù)據(jù)的SQL的HTML段確定動(dòng)態(tài)數(shù)據(jù)的存在。如果正在處理的HTML段中存在用于動(dòng)態(tài)數(shù)據(jù)的SQL查詢(步驟522=是),則定位該SQL查詢(步驟534),然后將之傳遞給語言處理器230(步驟526)。接著語言處理器230查詢該動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)源132(步驟528)。數(shù)據(jù)源230響應(yīng)該查詢返回該動(dòng)態(tài)數(shù)據(jù)的值(步驟530)。
然后語言處理器230對(duì)該動(dòng)態(tài)數(shù)據(jù)進(jìn)行格式化,并將之放入該環(huán)球網(wǎng)頁中的適當(dāng)域中(步驟534)。通過Internet 170將嵌有該動(dòng)態(tài)數(shù)據(jù)的所處理的HTML數(shù)據(jù)傳送給請求它的用戶(步驟536)。在該環(huán)球網(wǎng)頁上的任何動(dòng)態(tài)數(shù)據(jù)域已被填入從環(huán)球網(wǎng)服務(wù)器獲得的最新的值。用戶的環(huán)球網(wǎng)瀏覽器210將接收該環(huán)球網(wǎng)頁,解釋它和將之顯示在用戶工作站200的監(jiān)視器上。如果遇到該HTML段的結(jié)束(步驟540=是),該環(huán)球網(wǎng)頁被處理結(jié)束。如果還有其它的HTML段要處理(步驟540=否),則處理該HTML段的下一部分(步驟520),直到將整個(gè)HTML頁傳送到用戶(步驟536并且步驟540=是)。
事務(wù)處理器224是一個(gè)應(yīng)用程序,在環(huán)球網(wǎng)服務(wù)器的應(yīng)用程序122接收到用于一個(gè)環(huán)球網(wǎng)頁的請求時(shí),它可調(diào)用事務(wù)處理器224。將該請求轉(zhuǎn)給事務(wù)處理器224。根據(jù)特定的計(jì)算環(huán)境,可以以不同的形式建立事務(wù)處理器224;一些例子是采用可執(zhí)行程序或動(dòng)態(tài)連接庫(DLL)形式。事務(wù)處理器224將在宏文件126中查找所請求的環(huán)球網(wǎng)頁的定義。如果要求在該環(huán)球網(wǎng)頁中放入動(dòng)態(tài)數(shù)據(jù),則調(diào)用語言處理器230。語言處理器230硬編碼為事務(wù)處理器224的一部分。
語言處理器230形成特定于數(shù)據(jù)源132的一個(gè)用于動(dòng)態(tài)數(shù)據(jù)的查詢。從而將語言處理器230設(shè)計(jì)為處理一個(gè)特殊類型的查詢,其類型一般由查詢的格式(即語言)定義。數(shù)據(jù)源132可以是一個(gè)SQL數(shù)據(jù)庫,或者是可執(zhí)行一個(gè)程序并且返回?cái)?shù)據(jù)的一些其它環(huán)境。語言處理器230傳送該請求給數(shù)據(jù)源132。將查詢的結(jié)果(即動(dòng)態(tài)數(shù)據(jù))發(fā)送回語言處理器230。語言處理器230提取出它所需要的動(dòng)態(tài)數(shù)據(jù)并將該數(shù)據(jù)放入事務(wù)處理器224正在處理的環(huán)球網(wǎng)頁中的動(dòng)態(tài)數(shù)據(jù)域中。根據(jù)該環(huán)球網(wǎng)頁中所包含的動(dòng)態(tài)數(shù)據(jù)域的多少,對(duì)于該一個(gè)環(huán)球網(wǎng)頁的一次構(gòu)造可能發(fā)生多次的對(duì)于動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)源132的處理。在處理環(huán)球網(wǎng)頁的時(shí)候,在網(wǎng)絡(luò)上將環(huán)球網(wǎng)頁傳送回用戶的環(huán)球網(wǎng)瀏覽器210(步驟536),用戶的環(huán)球網(wǎng)瀏覽器對(duì)之解釋并將之顯示在用戶工作站200的監(jiān)視器上。
將事務(wù)處理器224的語言處理器部分230編寫為(即硬編碼)特定于一個(gè)特定的數(shù)據(jù)源132的服務(wù)查詢,并且以一種特定的數(shù)據(jù)處理語言(比如查詢類型)編寫。將放入環(huán)球網(wǎng)頁中的動(dòng)態(tài)數(shù)據(jù)局限于數(shù)據(jù)源132和被編程的硬編碼的語言處理器130所理解的語言。本發(fā)明將受限于用于環(huán)球網(wǎng)頁中的動(dòng)態(tài)數(shù)據(jù)的有限數(shù)目和類型的數(shù)據(jù)源和語言的問題克服了。
盡管環(huán)球網(wǎng)服務(wù)器220提供了從一個(gè)數(shù)據(jù)源訪問動(dòng)態(tài)數(shù)據(jù)以及將該動(dòng)態(tài)數(shù)據(jù)插入到一個(gè)HTML頁的一種機(jī)制,它使用在事務(wù)處理器224中的硬編碼的語言處理器230檢索動(dòng)態(tài)數(shù)據(jù)。這一安排要求如果將一個(gè)新的數(shù)據(jù)源標(biāo)識(shí)為一個(gè)動(dòng)態(tài)數(shù)據(jù)源,應(yīng)當(dāng)能夠修改事務(wù)處理器224。如果新的數(shù)據(jù)源包含一種不同數(shù)據(jù)庫格式的數(shù)據(jù),必須修改語言處理器230以容納該新的數(shù)據(jù)源和新的格式。一種更好的方法是允許增加新的數(shù)據(jù)源和對(duì)應(yīng)的語言處理器而不改變事務(wù)處理器,這就是本發(fā)明的較佳實(shí)施例,正如下面所描述的。
現(xiàn)在參見圖6和7,根據(jù)本發(fā)明的較佳實(shí)施例將計(jì)算機(jī)系統(tǒng)100配置為一個(gè)環(huán)球網(wǎng)服務(wù)器。環(huán)球網(wǎng)服務(wù)器100包括環(huán)球網(wǎng)服務(wù)器的應(yīng)用程序122,一個(gè)或多個(gè)宏文件126,一個(gè)事務(wù)處理器124,一配置文件128,和連接到多個(gè)數(shù)據(jù)源132的多個(gè)語言處理器130。參照圖8和9可以更好地理解環(huán)球網(wǎng)服務(wù)器100的操作特征。
首先用戶通過指定頁的一個(gè)URL傳送出一個(gè)環(huán)球網(wǎng)頁的請求(步驟510)。假設(shè)一個(gè)與前面同樣的URL,即http//www.abcxyz.com/cgi-bin/db2www.exe/wbp1.fil/2ndpage并且假設(shè)環(huán)球網(wǎng)服務(wù)器100的地址為abcxyz.com,環(huán)球網(wǎng)服務(wù)器100被連接上(步驟512)。如上述URL所示例的,如果該環(huán)球網(wǎng)頁請求包含動(dòng)態(tài)數(shù)據(jù)的一頁,該頁的URL將包含諸如一個(gè)cgi-bin參數(shù)的一個(gè)特定參數(shù),以通知環(huán)球網(wǎng)服務(wù)器100需要另一個(gè)程序處理該URL。在環(huán)球網(wǎng)服務(wù)器100遇到該URL中的cgi-bin參數(shù)時(shí),它將通過將控制傳遞給db2www.exe調(diào)用事務(wù)處理器124以處理該請求(步驟514),將宏文件名"wbp1.fil"和HTML段名"2ndpage"作為參數(shù)。注在這一URL中的db2www.exe表示根據(jù)本發(fā)明的較佳實(shí)施例編程的事務(wù)處理器124,因此不是上述的DB2WWW版本1的程序。
在事務(wù)處理器124首次初始化時(shí),它讀出配置文件128(步驟810)?,F(xiàn)在參見圖9,在配置文件128中的配置信息通知事務(wù)處理器124在系統(tǒng)中可用的處理不同的函數(shù)調(diào)用的語言處理器130,并且將每一個(gè)函數(shù)標(biāo)識(shí)符(ID)與被編程處理該特定類型的函數(shù)的一個(gè)語言處理器相關(guān)連。環(huán)球網(wǎng)服務(wù)器100從URL中識(shí)別適當(dāng)?shù)暮晡募?wbp1.fil)并且發(fā)現(xiàn)包含所要的環(huán)球網(wǎng)頁(2ndpage)的宏文件126中的HTML段(步驟516),并且開始處理該HTML段(步驟520)。然后事務(wù)處理器124判定該所選擇的HTML段是否具有用于動(dòng)態(tài)數(shù)據(jù)的一個(gè)函數(shù)調(diào)用(步驟522)。如果該所要的環(huán)球網(wǎng)頁具有用于動(dòng)態(tài)數(shù)據(jù)的函數(shù)調(diào)用(步驟522=是),則它使用該函數(shù)調(diào)用的函數(shù)名字(比如圖9的函數(shù)名字)以在宏文件126的函數(shù)定義部分找到具有同樣名字的函數(shù)定義。然后事務(wù)處理器124從該函數(shù)定義中獲得特定的標(biāo)志或標(biāo)識(shí)符(ID)(步驟814)。將從函數(shù)定義中獲得的ID與先前從配置文件128中讀出的數(shù)據(jù)進(jìn)行匹配以確定哪一個(gè)語言處理器應(yīng)當(dāng)處理該函數(shù)調(diào)用,并且將該函數(shù)調(diào)用傳遞給適當(dāng)?shù)恼Z言處理器(步驟816)??偟膩碚f,(參見圖9),在事務(wù)處理器124碰到要求動(dòng)態(tài)數(shù)據(jù)檢索的一個(gè)函數(shù)(即函數(shù)名)時(shí),它將查找宏文件126的函數(shù)定義部分以尋找對(duì)應(yīng)于該函數(shù)名的標(biāo)志或標(biāo)識(shí)符(ID)。然后事務(wù)處理器124從先前讀出的配置文件128的數(shù)據(jù)確定哪一個(gè)語言處理器應(yīng)當(dāng)處理具有特定ID的函數(shù)。
現(xiàn)在再參見圖8,語言處理器130從該函數(shù)調(diào)用中產(chǎn)生對(duì)對(duì)應(yīng)的數(shù)據(jù)源132的查詢(步驟818),數(shù)據(jù)源向語言處理器130返回該所請求的數(shù)據(jù)(步驟530)。該所選擇的語言處理器將動(dòng)態(tài)數(shù)據(jù)放入一種事務(wù)處理器124理解的表格中,然后將該數(shù)據(jù)傳遞給事務(wù)處理器124(步驟820)。接著事務(wù)處理器124將該動(dòng)態(tài)數(shù)據(jù)放入該HTML頁中適當(dāng)?shù)挠蛑?步驟822)。然后將該HTML頁中的這一部分傳送回用戶(步驟536)并且顯示在與用戶的工作站200相連的監(jiān)視器上。
需要說明的是,通過檢測函數(shù)調(diào)用的某些類型而檢測在環(huán)球網(wǎng)頁中動(dòng)態(tài)數(shù)據(jù)的存在只是確定該所選擇的頁包括動(dòng)態(tài)數(shù)據(jù)的許多方式中的一種。這里使用函數(shù)調(diào)用和動(dòng)態(tài)數(shù)據(jù)的相互關(guān)系只是用于清晰地解釋該較佳實(shí)施例的操作,而且不應(yīng)當(dāng)作為限制。任何形式的指示在頁中需要?jiǎng)討B(tài)數(shù)據(jù)的表示都落在本發(fā)明的范圍內(nèi)。
采用較佳實(shí)施例的配置,現(xiàn)在語言處理器130與事務(wù)處理器124相分開。在較佳實(shí)施例中,將每一個(gè)語言處理器130編寫為與一個(gè)特定的數(shù)據(jù)源132相通訊,認(rèn)識(shí)到在替代的實(shí)施例中,兩個(gè)或多個(gè)語言處理器可以訪問一個(gè)數(shù)據(jù)源,或者一個(gè)語言處理器可以訪問多個(gè)數(shù)據(jù)源。語言處理器130可以作為一個(gè)DLL或其它類型的共享庫存在,其真正的實(shí)現(xiàn)取決于操作系統(tǒng)和環(huán)球網(wǎng)服務(wù)器接口。注意數(shù)據(jù)源132可以位于環(huán)球網(wǎng)服務(wù)器100中(如圖6中的數(shù)據(jù)源#1所示),或者位于網(wǎng)絡(luò)上的另一臺(tái)計(jì)算機(jī)上(如數(shù)據(jù)源#2和#3所示)。
采用這里所揭示的機(jī)制,在需要將新的動(dòng)態(tài)數(shù)據(jù)類型或動(dòng)態(tài)數(shù)據(jù)源加到存儲(chǔ)在一個(gè)或多個(gè)宏文件126中的環(huán)球網(wǎng)頁上時(shí),可以將新的數(shù)據(jù)源132和/或語言處理器130加到系統(tǒng)中。為了加入一種新的數(shù)據(jù)源,必須編寫一個(gè)語言處理器130以與該新的數(shù)據(jù)源132進(jìn)行通訊。在較佳的討論中,一種特定類型的每一個(gè)數(shù)據(jù)源具有一個(gè)專用的語言處理器,將該語言處理器編程為對(duì)一個(gè)數(shù)據(jù)源132的函數(shù)調(diào)用(包括查詢)進(jìn)行解釋。在這一討論中,除了增加一種新的數(shù)據(jù)源132之外,增加一種新的查詢類型要求增加一種新的語言處理器130以識(shí)別該查詢。當(dāng)然,本領(lǐng)域的普通技術(shù)人員將理解可以將一個(gè)語言處理器編程為對(duì)于任意數(shù)目和配置的數(shù)據(jù)源的任意數(shù)目不同類型的查詢進(jìn)行解釋。這里所揭示的語言處理器130在圖中單獨(dú)示出,其目的是示出每一個(gè)語言處理器130處理不同類型的查詢。
在加載了一個(gè)新的語言處理器130之后,必須將配置文件128進(jìn)行更新以列出該新的語言處理器130可以處理的函數(shù)的標(biāo)識(shí)符(ID),尤其考慮到其對(duì)應(yīng)的新的數(shù)據(jù)源132。將更新宏文件126中的HTML段以反映在該環(huán)球網(wǎng)頁中的新的動(dòng)態(tài)數(shù)據(jù)。可以將新的函數(shù)增加到宏文件126中以訪問新的數(shù)據(jù)源132。在需要的情況下,也可以將數(shù)據(jù)源132和語言處理器130從系統(tǒng)中省略。通過將語言處理器130與事務(wù)處理器124相分開,以及通過提供在某些類型的動(dòng)態(tài)查詢與該特定語言處理器130(其將處理每一類型的查詢)之間的映象的配置文件128,環(huán)球網(wǎng)服務(wù)器100提供了一種框架機(jī)制,以方便動(dòng)態(tài)數(shù)據(jù)源132和語言處理器130的增加,從而在不改變事務(wù)處理器124的情況下支持對(duì)這些新的數(shù)據(jù)源的新查詢的支持。
注意,即使不使用公共網(wǎng)關(guān)接口調(diào)用事務(wù)處理器,也可以實(shí)現(xiàn)本發(fā)明的將多個(gè)數(shù)據(jù)源集成進(jìn)一個(gè)環(huán)球網(wǎng)服務(wù)器中。本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到可以使用其它的機(jī)制調(diào)用這一事務(wù)處理器。例如,可以將它編寫為一個(gè)“共享庫”,并總是將其加載進(jìn)計(jì)算機(jī)系統(tǒng)中,使得不同的環(huán)球網(wǎng)頁的請求同時(shí)調(diào)用它。
盡管本發(fā)明是參照較佳的示例性的實(shí)施例顯示和描述的,本領(lǐng)域的那些普通技術(shù)人員將會(huì)認(rèn)識(shí)到可以在形式上和細(xì)節(jié)上進(jìn)行各種改變而不偏離本發(fā)明的精神和范圍。例如,盡管較佳實(shí)施例是以HTML頁討論的,本發(fā)明同樣可以包括其它的頁形式和數(shù)據(jù)格式。這里所使用的術(shù)語頁目的是包括任意類型的數(shù)據(jù)處理,這些處理要求在傳輸之前將動(dòng)態(tài)數(shù)據(jù)插入到數(shù)據(jù)中,而不管該頁的數(shù)據(jù)傳輸?shù)慕Y(jié)果是否顯示給用戶。
權(quán)利要求
1.一種環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)裝置,其包括一個(gè)中央處理單元;一個(gè)連接到中央處理單元的存儲(chǔ)器,該存儲(chǔ)器包括多個(gè)頁,該多個(gè)頁包括從多個(gè)數(shù)據(jù)源檢索出的用于插入到該多個(gè)頁中的至少一頁中的動(dòng)態(tài)數(shù)據(jù)的指示,以及至少一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器程序處理所述指示以從該多個(gè)數(shù)據(jù)源中檢索該動(dòng)態(tài)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的計(jì)算機(jī)裝置,其特征在于還包括多個(gè)語言處理器,每一個(gè)語言處理器連接到多個(gè)數(shù)據(jù)源中的至少一個(gè)上,該語言處理器處理該指示,以從對(duì)應(yīng)的數(shù)據(jù)源中檢索出該動(dòng)態(tài)數(shù)據(jù);一個(gè)配置文件,它包含標(biāo)識(shí)該指示與該多個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)配置數(shù)據(jù)處理多個(gè)頁中所選擇的一頁,該事務(wù)處理器從對(duì)應(yīng)的語言處理器中接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇頁的數(shù)據(jù)中。
3.根據(jù)權(quán)利要求2的計(jì)算機(jī)裝置,其特征在于該所選擇的頁是使用一個(gè)統(tǒng)一資源定位器(URL)選擇的。
4.根據(jù)權(quán)利要求2的計(jì)算機(jī)裝置,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
5.一種環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)裝置,其包括一個(gè)中央處理單元;一個(gè)連接到該中央處理單元的存儲(chǔ)器,該存儲(chǔ)器包括至少一個(gè)宏文件,該宏文件包含多個(gè)頁的數(shù)據(jù),多個(gè)頁中的至少一頁包括一個(gè)函數(shù)調(diào)用以從至少一個(gè)數(shù)據(jù)源檢索動(dòng)態(tài)數(shù)據(jù);至少一個(gè)語言處理器,其連接到至少一個(gè)數(shù)據(jù)源,該語言處理器處理從至少一個(gè)數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用;一個(gè)配置文件,它包含標(biāo)識(shí)該至少一個(gè)函數(shù)調(diào)用與至少一個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)配置數(shù)據(jù)處理對(duì)應(yīng)于該多個(gè)頁的所選擇的一頁的宏文件中的數(shù)據(jù),該事務(wù)處理器從該語言處理器中接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇頁的數(shù)據(jù)中。
6.根據(jù)權(quán)利要求5的計(jì)算機(jī)裝置,其特征在于還包括多個(gè)語言處理器和多個(gè)數(shù)據(jù)源,其中每一個(gè)語言處理器處理對(duì)于動(dòng)態(tài)數(shù)據(jù)源的至少一個(gè)函數(shù)調(diào)用,該動(dòng)態(tài)數(shù)據(jù)駐留在至少一個(gè)數(shù)據(jù)源中。
7.根據(jù)權(quán)利要求5的計(jì)算機(jī)裝置,其特征在于該函數(shù)調(diào)用標(biāo)識(shí)需要?jiǎng)討B(tài)數(shù)據(jù)。
8.根據(jù)權(quán)利要求5的計(jì)算機(jī)裝置,其特征在于該所選擇的頁是使用一個(gè)統(tǒng)一資源定位器(URL)選擇的。
9.根據(jù)權(quán)利要求5的計(jì)算機(jī)裝置,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
10.一種程序產(chǎn)品,其包括(A)一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器程序包括多個(gè)頁,該多個(gè)頁包括從多個(gè)數(shù)據(jù)源檢索的用于插入到多個(gè)頁中的至少一頁中的動(dòng)態(tài)數(shù)據(jù)的指示,以及至少一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器程序處理該指示以從該多個(gè)數(shù)據(jù)源中檢索出該動(dòng)態(tài)數(shù)據(jù)。
11.根據(jù)權(quán)利要求10的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括可記錄介質(zhì)。
12.根據(jù)權(quán)利要求10的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括傳輸介質(zhì)。
13.根據(jù)權(quán)利要求10的程序產(chǎn)品,其特征在于還包括 多個(gè)語言處理器,每一個(gè)語言處理器連接到多個(gè)數(shù)據(jù)源中的至少一個(gè)上,該語言處理器處理該指示,并從中制定至少一個(gè)查詢以從對(duì)應(yīng)的數(shù)據(jù)源中檢索出該動(dòng)態(tài)數(shù)據(jù);一個(gè)配置文件,它包含標(biāo)識(shí)該指示與多個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)該配置數(shù)據(jù)處理多個(gè)頁中所選擇的一頁,該事務(wù)處理器從對(duì)應(yīng)的語言處理器中接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇頁的數(shù)據(jù)中。
14.根據(jù)權(quán)利要求13的程序產(chǎn)品,其特征在于該所選擇的頁是使用一個(gè)統(tǒng)一資源定位器(URL)選擇的。
15.根據(jù)權(quán)利要求13的程序產(chǎn)品,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
16.一種程序產(chǎn)品,其包括(A)一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器程序包括(1)至少一個(gè)宏文件,該宏文件包含多個(gè)超文本標(biāo)記語言(HTML)頁的數(shù)據(jù),多個(gè)頁中的至少一個(gè)包括至少一個(gè)函數(shù)調(diào)用以從至少一個(gè)數(shù)據(jù)源檢索動(dòng)態(tài)數(shù)據(jù);(2)至少一個(gè)語言處理器,其連接到至少一個(gè)數(shù)據(jù)源,該語言處理器處理從至少一個(gè)數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用;(3)一個(gè)配置文件,它包含標(biāo)識(shí)該至少一個(gè)函數(shù)調(diào)用與至少一個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);(4)至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)該配置數(shù)據(jù)處理對(duì)應(yīng)于該多個(gè)頁的所選擇的一頁的宏文件中的數(shù)據(jù),該事務(wù)處理器從該語言處理器中接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇頁的數(shù)據(jù)中;以及(B)攜帶信號(hào)介質(zhì)載有該環(huán)球網(wǎng)服務(wù)器程序。
17.根據(jù)權(quán)利要求16的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括可記錄介質(zhì)。
18.根據(jù)權(quán)利要求16的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括傳輸介質(zhì)。
19.根據(jù)權(quán)利要求16的程序產(chǎn)品,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
20.一種基于計(jì)算機(jī)實(shí)現(xiàn)的處理對(duì)于至少一頁的至少一個(gè)請求的方法,該方法包括下列步驟提供多個(gè)頁,這些頁包括從多個(gè)數(shù)據(jù)源檢索出用于插入到該多個(gè)頁中的至少一頁的動(dòng)態(tài)數(shù)據(jù)的指示;該請求選擇要處理的至少一頁;在一個(gè)環(huán)球網(wǎng)服務(wù)器的計(jì)算機(jī)裝置的存儲(chǔ)器中提供一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)裝置執(zhí)行該環(huán)球網(wǎng)服務(wù)器程序,并且對(duì)之響應(yīng)執(zhí)行下列步驟確定所選擇的頁是多個(gè)頁中的哪一個(gè);處理所選擇頁中的任一指示以從多個(gè)數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù);以及將該動(dòng)態(tài)數(shù)據(jù)插入所選擇的頁中。
21.根據(jù)權(quán)利要求20的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
22.根據(jù)權(quán)利要求20的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于該請求包括一個(gè)統(tǒng)一資源定位器(URL)。
23.一種基于計(jì)算機(jī)實(shí)現(xiàn)的處理對(duì)于至少一頁的至少一個(gè)請求的方法,該方法包括下列步驟提供能夠處理一種特定語言形式的查詢的至少一個(gè)語言處理器;提供連接到至少一個(gè)語言處理器的至少一個(gè)數(shù)據(jù)源,每一個(gè)數(shù)據(jù)源對(duì)應(yīng)于至少一個(gè)語言處理器;確定對(duì)應(yīng)于每一個(gè)語言處理器的多個(gè)函數(shù)調(diào)用;該請求選擇要處理的至少一頁;確定該所選擇的頁是否包含對(duì)應(yīng)于動(dòng)態(tài)數(shù)據(jù)的多個(gè)函數(shù)調(diào)用中的至少一個(gè);如果所選擇的頁包含對(duì)應(yīng)于該動(dòng)態(tài)數(shù)據(jù)的一個(gè)函數(shù)調(diào)用,執(zhí)行下列步驟對(duì)應(yīng)于該函數(shù)調(diào)用的一個(gè)所選擇的語言處理器處理該函數(shù)調(diào)用產(chǎn)生一個(gè)查詢以從對(duì)應(yīng)于該所選擇的語言處理器的至少一個(gè)數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù);以及將該動(dòng)態(tài)數(shù)據(jù)插入所選擇的頁中。
24.根據(jù)權(quán)利要求23的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于還包括傳送所選擇的包括該動(dòng)態(tài)數(shù)據(jù)的頁到用戶的步驟,而用戶通過提供一個(gè)統(tǒng)一資源定位器(URL)執(zhí)行選擇至少一個(gè)要處理的頁的步驟。
25.根據(jù)權(quán)利要求23的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于每一個(gè)函數(shù)調(diào)用對(duì)應(yīng)于至少一個(gè)語言處理器。
26.根據(jù)權(quán)利要求23的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于確定對(duì)于每一個(gè)語言處理器的多個(gè)函數(shù)調(diào)用的步驟包括讀出包含配置數(shù)據(jù)的一個(gè)配置文件的步驟,該配置數(shù)據(jù)將每一個(gè)語言處理器與多個(gè)函數(shù)調(diào)用相關(guān)聯(lián)。
27.根據(jù)權(quán)利要求23的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于該所選擇的頁是一個(gè)超文本標(biāo)記語言(HTML)頁。
28.根據(jù)權(quán)利要求23的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于該請求包括一個(gè)統(tǒng)一資源定位器(URL)。
29.一種程序產(chǎn)品,其包括(A)一個(gè)環(huán)球網(wǎng)服務(wù)器程序,該環(huán)球網(wǎng)服務(wù)器程序包括(1)至少一個(gè)宏文件,該宏文件包含多個(gè)超文本標(biāo)記語言(HTML)頁的數(shù)據(jù),多個(gè)頁中的至少一個(gè)包括至少一個(gè)函數(shù)調(diào)用以從多個(gè)數(shù)據(jù)源檢索動(dòng)態(tài)數(shù)據(jù);(2)多個(gè)語言處理器,其連接到多個(gè)數(shù)據(jù)源,該語言處理器處理從對(duì)應(yīng)的數(shù)據(jù)源檢索動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用;(3)一個(gè)配置文件,它包含標(biāo)識(shí)該至少一個(gè)函數(shù)調(diào)用與至少一個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);(4)至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)配置數(shù)據(jù)處理對(duì)應(yīng)于該多個(gè)HTML頁的所選擇的一頁的宏文件中的數(shù)據(jù),該事務(wù)處理器從該多個(gè)語言處理器中的至少一個(gè)接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇HTML頁的數(shù)據(jù)中;以及(B)攜帶信號(hào)介質(zhì)載有該環(huán)球網(wǎng)服務(wù)器程序。
30.根據(jù)權(quán)利要求29的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括可記錄介質(zhì)。
31.根據(jù)權(quán)利要求29的程序產(chǎn)品,其特征在于該攜帶信號(hào)的介質(zhì)包括傳輸介質(zhì)。
32.一種基于計(jì)算機(jī)實(shí)現(xiàn)的在一個(gè)用戶的工作站上顯示一個(gè)所選擇的超文本標(biāo)記語言(HTML)頁的方法,該方法包括下列步驟使得該用戶的工作站執(zhí)行一個(gè)環(huán)球網(wǎng)瀏覽器的應(yīng)用程序;使得一個(gè)環(huán)球網(wǎng)服務(wù)器的計(jì)算機(jī)執(zhí)行一個(gè)環(huán)球網(wǎng)服務(wù)器應(yīng)用程序,該環(huán)球網(wǎng)服務(wù)器計(jì)算機(jī)包括一個(gè)中央處理單元;一個(gè)連接到中央處理單元的存儲(chǔ)器,該存儲(chǔ)器包括至少一個(gè)宏文件,該宏文件包含多個(gè)超文本標(biāo)記語言(HTML)頁的數(shù)據(jù),多個(gè)HTML頁中的至少一個(gè)包括至少一個(gè)函數(shù)調(diào)用以從至少一個(gè)數(shù)據(jù)源檢索動(dòng)態(tài)數(shù)據(jù);至少一個(gè)語言處理器,其連接到至少一個(gè)數(shù)據(jù)源,該語言處理器處理從對(duì)應(yīng)的數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用;一個(gè)配置文件,它包含標(biāo)識(shí)該至少一個(gè)函數(shù)調(diào)用與至少一個(gè)語言處理器之間的對(duì)應(yīng)關(guān)系的配置數(shù)據(jù);至少一個(gè)事務(wù)處理器,該事務(wù)處理器讀出該配置文件并且根據(jù)該配置數(shù)據(jù)處理對(duì)應(yīng)于該多個(gè)HTML頁的所選擇的一頁的宏文件中的數(shù)據(jù),該事務(wù)處理器從該語言處理器中接收該動(dòng)態(tài)數(shù)據(jù)并將其放入所選擇的HTML頁的數(shù)據(jù)中;該事務(wù)處理器讀出該配置文件;確定每一個(gè)函數(shù)調(diào)用與每一個(gè)語言處理器的對(duì)應(yīng)關(guān)系;確定該所選擇的HTML頁是否包含用于該動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用;如果所選擇的HTML頁包含用于該動(dòng)態(tài)數(shù)據(jù)的至少一個(gè)函數(shù)調(diào)用,執(zhí)行下列步驟對(duì)應(yīng)于該函數(shù)調(diào)用的一個(gè)所選擇的語言處理器處理該函數(shù)調(diào)用產(chǎn)生一個(gè)查詢以從對(duì)應(yīng)于該所選擇的語言處理器的至少一個(gè)數(shù)據(jù)源檢索該動(dòng)態(tài)數(shù)據(jù);將該動(dòng)態(tài)數(shù)據(jù)從該所選擇的語言處理器傳送到該事務(wù)處理器;該事務(wù)處理器將該動(dòng)態(tài)數(shù)據(jù)插入到該所選擇的HTML頁中;以及該環(huán)球網(wǎng)服務(wù)器的計(jì)算機(jī)將包含該動(dòng)態(tài)數(shù)據(jù)的所選擇的HTML頁傳送到用戶的工作站上。
33.根據(jù)權(quán)利要求32的基于計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于該請求包括一個(gè)統(tǒng)一資源定位器(URL)。
全文摘要
一個(gè)環(huán)球網(wǎng)服務(wù)器的計(jì)算機(jī)系統(tǒng)包括一個(gè)事務(wù)處理器,提供了多個(gè)語言處理器。在碰到對(duì)應(yīng)于查詢動(dòng)態(tài)數(shù)據(jù)的一個(gè)環(huán)球網(wǎng)頁中的一個(gè)函數(shù)調(diào)用時(shí),該事務(wù)處理器數(shù)據(jù)確定哪一個(gè)語言處理器將處理這一特定的函數(shù)調(diào)用,并將該函數(shù)調(diào)用傳遞給適當(dāng)?shù)恼Z言處理器。該語言處理器處理該函數(shù)調(diào)用,產(chǎn)生適當(dāng)?shù)牟樵?從適當(dāng)?shù)臄?shù)據(jù)源獲得動(dòng)態(tài)數(shù)據(jù),并將數(shù)據(jù)傳送回該事務(wù)處理器。然后該事務(wù)處理器將該動(dòng)態(tài)數(shù)據(jù)插入將要送給進(jìn)行請求的用戶的環(huán)球網(wǎng)頁中。
文檔編號(hào)G06F9/46GK1177150SQ9711142
公開日1998年3月25日 申請日期1997年5月20日 優(yōu)先權(quán)日1996年5月31日
發(fā)明者G·G·施圖爾特 申請人:國際商業(yè)機(jī)器公司