專利名稱:在多個(gè)程序之間進(jìn)行數(shù)據(jù)事務(wù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件應(yīng)用程序開(kāi)發(fā)和運(yùn)行時(shí)間環(huán)境。更具體地,本發(fā)明涉及萬(wàn)維網(wǎng)應(yīng)用程序開(kāi)發(fā)和運(yùn)行時(shí)間環(huán)境。
萬(wàn)維網(wǎng)(此后稱為網(wǎng)絡(luò))用途的最近開(kāi)發(fā)對(duì)網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)商提出了不斷增長(zhǎng)的要求。網(wǎng)絡(luò)和網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)的最大增長(zhǎng)領(lǐng)域之一是在因特網(wǎng)上的商務(wù)事務(wù),包括對(duì)顧客的零售事務(wù)和商務(wù)對(duì)商務(wù)事務(wù)兩者。例如,許多傳統(tǒng)商務(wù)已經(jīng)在他們的零售店增加了因特網(wǎng)網(wǎng)站,顧客可以通過(guò)它購(gòu)買(mǎi)物品。此外,許多新商務(wù)已經(jīng)在網(wǎng)上“開(kāi)放”,它沒(méi)有傳統(tǒng)的物理的零售店,而在網(wǎng)上只有商務(wù)事務(wù)(至少是主要的)。這類商務(wù)網(wǎng)站的例子包括主要銷售書(shū)和其他娛樂(lè)媒體的Amazon.com,主要銷售光盤(pán)的CDNow.com,以及主要銷售兒童玩具的Etoys.com。
通過(guò)網(wǎng)絡(luò)的商務(wù)事務(wù)通常稱為電子商務(wù)。在一個(gè)典型的電子商務(wù)中,一個(gè)公司維持和運(yùn)行一個(gè)網(wǎng)站,潛在的顧客可以使用網(wǎng)絡(luò)瀏覽器例如Netscape Navigator或Microsoft Explorer來(lái)訪問(wèn)該網(wǎng)站。用戶可以以正常方式訪問(wèn)零售商的網(wǎng)站,例如從另一個(gè)網(wǎng)站(例如搜索引擎結(jié)果網(wǎng)頁(yè))在超連接上點(diǎn)擊,或者將網(wǎng)站URL(統(tǒng)一資源定位器)鍵入瀏覽器軟件所提供的屏幕顯示上的合適區(qū)域。在其上駐有被請(qǐng)求網(wǎng)頁(yè)的網(wǎng)絡(luò)主服務(wù)器將一頁(yè)網(wǎng)頁(yè)送回至用戶計(jì)算機(jī)(此處稱為客戶機(jī)),后者然后在用戶監(jiān)視器上顯示所選網(wǎng)頁(yè)。
為示例目的,我們假定用戶訪問(wèn)銷售光盤(pán)的電子商務(wù)零售商的主頁(yè)。該主頁(yè)通常包含圖形、文本和與其他網(wǎng)頁(yè)的不同超連接,包括至少一頁(yè)可用于輸入購(gòu)買(mǎi)一個(gè)或多個(gè)光盤(pán)的命令的頁(yè)面。當(dāng)用戶在該特定超連接上點(diǎn)擊時(shí),他使瀏覽器軟件在網(wǎng)絡(luò)上發(fā)送一個(gè)請(qǐng)求至該頁(yè)的相關(guān)的網(wǎng)絡(luò)服務(wù)器。該網(wǎng)絡(luò)服務(wù)器將該頁(yè)送回至客戶機(jī)以便在顧客監(jiān)視器上顯示。該頁(yè)面通常包括多個(gè)問(wèn)題和用于供顧客填入信息以便回答這些問(wèn)題的區(qū)域,例如姓名、地址、電話號(hào)、信用卡號(hào)、所需光盤(pán)的藝術(shù)家和名稱等。
在用戶輸入全部所需信息后,他將在屏幕的按鈕上點(diǎn)擊,以便將他剛才輸入的數(shù)據(jù)送回至網(wǎng)絡(luò)服務(wù)器。這些數(shù)據(jù)主要是光盤(pán)的購(gòu)買(mǎi)命令。此時(shí)電子商務(wù)零售商必須處理該購(gòu)買(mǎi)命令,在大部分情況下零售商處理任何購(gòu)買(mǎi)命令的方式與收到該命令的媒體(通過(guò)因特網(wǎng),通過(guò)郵件命令或者通過(guò)顧客自己走到物理零售店的收銀臺(tái))無(wú)關(guān)。這種處理通常包括至少(1)確認(rèn)信用卡號(hào)和足夠的用于購(gòu)買(mǎi)該商品的信用金,(2)確認(rèn)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)中存在所定購(gòu)的光盤(pán)并且該光盤(pán)是在庫(kù)存內(nèi),(3)輸入所有信息至合適的數(shù)據(jù)庫(kù)中以便為納稅和商務(wù)目的而更新庫(kù)存,以及(4)通知命令處理和發(fā)運(yùn)部門(mén)的相關(guān)人員以便在物理上使購(gòu)買(mǎi)命令得到處理,從而將光盤(pán)郵寄給顧客。
用于生成和顯示網(wǎng)頁(yè)并且與顧客交互操作的軟件,即用戶接口軟件通??梢苑Q為網(wǎng)絡(luò)軟件,而用于執(zhí)行商務(wù)事務(wù)的軟件通常可以稱為商務(wù)軟件。
從此例中可以看出,電子商務(wù)應(yīng)用程序的軟件開(kāi)發(fā)既要求商務(wù)軟件開(kāi)發(fā)又要求網(wǎng)絡(luò)軟件開(kāi)發(fā)兩方面的知識(shí)。然而歷史上商務(wù)軟件開(kāi)發(fā)商和網(wǎng)絡(luò)軟件開(kāi)發(fā)商在不同領(lǐng)域內(nèi)工作。也即,大部分商務(wù)軟件開(kāi)發(fā)商對(duì)網(wǎng)絡(luò)軟件開(kāi)發(fā)知道很少,同時(shí)網(wǎng)絡(luò)軟件開(kāi)發(fā)商對(duì)商務(wù)軟件開(kāi)發(fā)知道很少。作為一個(gè)例子,商務(wù)軟件開(kāi)發(fā)商通常使用例如COBOL或C++等語(yǔ)言來(lái)開(kāi)發(fā)軟件,而因特網(wǎng)軟件開(kāi)發(fā)商通常使用HTML(超文本標(biāo)記語(yǔ)言)和Java編程語(yǔ)言。
此外,一個(gè)公司在開(kāi)始通過(guò)網(wǎng)絡(luò)零售之前,已經(jīng)有更為傳統(tǒng)的商務(wù)事務(wù)方式,例如通過(guò)物理零售店或者郵件命令,他們通常已經(jīng)完全地開(kāi)發(fā)了可靠的和熟悉的商務(wù)軟件包。為通過(guò)網(wǎng)絡(luò)進(jìn)行商務(wù)事務(wù),這類公司通常需要開(kāi)發(fā)完全新的基于HTML的軟件包以便開(kāi)展電子商務(wù)。因此,嚴(yán)格地進(jìn)行電子商務(wù)的公司以及擴(kuò)大至電子商務(wù)領(lǐng)域的公司兩者都必須雇傭網(wǎng)絡(luò)軟件開(kāi)發(fā)商來(lái)開(kāi)發(fā)用于在網(wǎng)上開(kāi)展他們商務(wù)的軟件。這類開(kāi)發(fā)商通常具有很少的商務(wù)軟件方面的必要知識(shí)。因此,公司或者必須雇傭通常不懂網(wǎng)絡(luò)軟件開(kāi)發(fā)的商務(wù)軟件開(kāi)發(fā)商,同時(shí)又雇傭不懂商務(wù)軟件開(kāi)發(fā)的網(wǎng)絡(luò)軟件開(kāi)發(fā)商,或者雇傭其中一類開(kāi)發(fā)商并且花費(fèi)很大努力來(lái)在開(kāi)發(fā)商不懂的領(lǐng)域內(nèi)培訓(xùn)他們。在任何一種情況下,在軟件開(kāi)發(fā)方面是效率不高的。
有不少可用的機(jī)制可供電子商務(wù)的商務(wù)軟件部分與網(wǎng)絡(luò)軟件部分進(jìn)行交互操作。例如,許多電子商務(wù)開(kāi)發(fā)商利用用于在網(wǎng)絡(luò)瀏覽器與商務(wù)應(yīng)用程序之間進(jìn)行接口的CGI(公共網(wǎng)關(guān)接口)。CGI是一個(gè)程序,用于將網(wǎng)絡(luò)用戶的請(qǐng)求送至應(yīng)用程序并且接收自應(yīng)用程序送回的數(shù)據(jù)以便送至用戶。當(dāng)用戶填入一個(gè)表格例如定購(gòu)光盤(pán)時(shí),這比要求送回一頁(yè)頁(yè)面的請(qǐng)求的事情更多。具體地,用戶輸入的數(shù)據(jù)必須在公司的網(wǎng)絡(luò)服務(wù)器能送回剪裁的響應(yīng)至用戶瀏覽器之前由商務(wù)應(yīng)用程序處理,例如,所請(qǐng)求的光盤(pán)在庫(kù)存中,它將按一定日期發(fā)運(yùn),以及用戶信用卡將被扣去一定金額。使用CGI類型系統(tǒng)后,網(wǎng)絡(luò)服務(wù)器將用戶輸入的信息送至在網(wǎng)絡(luò)服務(wù)器上運(yùn)行的小商務(wù)應(yīng)用程序,后者然后處理這些數(shù)據(jù),并且向CGI送回一頁(yè)包含確認(rèn)消息的網(wǎng)頁(yè)。
用于在服務(wù)器和商務(wù)應(yīng)用程序之間來(lái)回傳送數(shù)據(jù)的軟件稱為公共網(wǎng)關(guān)接口或CGI,它是網(wǎng)絡(luò)超文本傳輸協(xié)議(HTTP)的一部分。CGI提供一個(gè)用于將數(shù)據(jù)自用戶請(qǐng)求傳送至商務(wù)應(yīng)用程序以及傳送回至用戶的一致方法。由于接口是一致的,編程人員能夠用許多不同語(yǔ)言編寫(xiě)商務(wù)應(yīng)用程序。CGI所用最普通的語(yǔ)言是C,C++,Java和Perl。商務(wù)應(yīng)用程序是一個(gè)正規(guī)程序,它理解HTML,并在接收由用戶輸入的信息后建立一頁(yè)HTML頁(yè)以便送回至用戶。因此,當(dāng)商務(wù)應(yīng)用程序與CGI類型接口一起使用時(shí),能夠組合地完成商務(wù)處理以及網(wǎng)頁(yè)建立,所建立的網(wǎng)頁(yè)將送回至用戶的瀏覽器。
另一個(gè)電子商務(wù)應(yīng)用程序的普通方案是使用Java小服務(wù)器,它在網(wǎng)絡(luò)服務(wù)器上運(yùn)行。Java小服務(wù)器替代CGI并且直接在網(wǎng)絡(luò)服務(wù)器上運(yùn)行。當(dāng)Java虛擬機(jī)在服務(wù)器上運(yùn)行時(shí),能夠使用Java程序語(yǔ)言在服務(wù)器上實(shí)現(xiàn)電子商務(wù)應(yīng)用程序。在服務(wù)器上通過(guò)CGI運(yùn)行Java小服務(wù)器的優(yōu)點(diǎn)是例如它們可以比CGI應(yīng)用程序更快地執(zhí)行。具體地,每個(gè)用戶請(qǐng)求被調(diào)用為單個(gè)示范過(guò)程的一個(gè)線程而不是建立一個(gè)單獨(dú)的程序過(guò)程,這意味著每個(gè)請(qǐng)求的系統(tǒng)開(kāi)銷量是小的。而且,Java小服務(wù)器既完成商務(wù)處理又建立網(wǎng)頁(yè)。
另一個(gè)熟知的方法是使用ASP(有效服務(wù)器頁(yè)面)。一頁(yè)有效服務(wù)器頁(yè)面是一頁(yè)HTML頁(yè),它包括一個(gè)或多個(gè)在該頁(yè)面送至用戶之前在Microsoft網(wǎng)絡(luò)服務(wù)器上處理的文稿。它類似于以上所述的Java小服務(wù)器,即所有涉及的程序全都在服務(wù)器上運(yùn)行。服務(wù)器處網(wǎng)頁(yè)上的文稿則使用輸入的數(shù)據(jù),這些數(shù)據(jù)是作為用戶請(qǐng)求訪問(wèn)來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)的頁(yè)面并且在將它發(fā)送至用戶瀏覽器之前在扉頁(yè)上建立或剪裁該頁(yè)的結(jié)果而接收的。當(dāng)然,ASP再次完成商務(wù)處理和網(wǎng)頁(yè)建立。
在以上所有方案中,需要一支具有網(wǎng)絡(luò)編程、Java、HTML、HTTP等以及商務(wù)軟件開(kāi)發(fā)的知識(shí)的軟件開(kāi)發(fā)隊(duì)伍。此外,公司中現(xiàn)有商務(wù)軟件對(duì)于電子商務(wù)而言可能完全無(wú)用。
因此,本發(fā)明的一個(gè)目的是提供一種運(yùn)行時(shí)間環(huán)境方法和設(shè)備以及電子商務(wù)軟件應(yīng)用程序的框架,用于將商務(wù)軟件開(kāi)發(fā)明確地自網(wǎng)絡(luò)軟件開(kāi)發(fā)中分離出來(lái)。
本發(fā)明是一個(gè)用于應(yīng)用程序規(guī)范和運(yùn)行時(shí)間執(zhí)行的新程序/數(shù)據(jù)結(jié)構(gòu),它便利于將商務(wù)軟件開(kāi)發(fā)自網(wǎng)絡(luò)軟件開(kāi)發(fā)中分離出來(lái)。根據(jù)本發(fā)明,一個(gè)在網(wǎng)絡(luò)服務(wù)器上運(yùn)行的簡(jiǎn)單網(wǎng)關(guān)小服務(wù)器程序用作用戶的瀏覽器、完成所有商務(wù)數(shù)據(jù)處理的后端計(jì)算機(jī)、一個(gè)或多個(gè)Java類包(bean)與一頁(yè)或多頁(yè)Java服務(wù)器網(wǎng)頁(yè)(JSP)之間的接口。當(dāng)用戶輸入信息至一頁(yè)頁(yè)面中并將它發(fā)送回至網(wǎng)絡(luò)服務(wù)器時(shí),此網(wǎng)關(guān)小服務(wù)器接收該信息并且將一個(gè)指定為處理輸入數(shù)據(jù)例如用于證實(shí)數(shù)據(jù)的Java類包加以實(shí)例化。網(wǎng)關(guān)小服務(wù)器將從用戶送回的帶有輸入數(shù)據(jù)的類包加以散布。該類包包括用于在商務(wù)處理軟件對(duì)輸入數(shù)據(jù)進(jìn)行處理之前完成為證實(shí)或者不然就處理輸入數(shù)據(jù)時(shí)所需要的任何步驟的一組方法。這可能包括跨越區(qū)域確認(rèn)數(shù)據(jù)一致性(交叉確認(rèn)),確認(rèn)各區(qū)域內(nèi)的合適字符數(shù)量,確認(rèn)輸入至不同區(qū)域的數(shù)據(jù)是位于可能使用的范圍限度之內(nèi)等,但它不完成商務(wù)處理。該類包向網(wǎng)關(guān)返回一個(gè)PASS/FAIL決定,包括在FAIL情況下關(guān)于FAIL原因的信息。如果是FAIL,則該網(wǎng)關(guān)程序調(diào)用另一個(gè)程序來(lái)向用戶送回一頁(yè)頁(yè)面,以便尋求改正問(wèn)題的方法。
如果是PASS,則網(wǎng)關(guān)發(fā)送輸入數(shù)據(jù)連同信息至后端計(jì)算機(jī),該信息告訴后端計(jì)算機(jī)調(diào)用哪個(gè)商務(wù)程序(或多個(gè)程序)來(lái)處理這些數(shù)據(jù)。后端計(jì)算機(jī)然后使用由網(wǎng)關(guān)小服務(wù)器向它提供的輸入數(shù)據(jù)來(lái)運(yùn)行該程序。當(dāng)該程序已經(jīng)結(jié)束運(yùn)行及生成所需商務(wù)輸出數(shù)據(jù)后,后端計(jì)算機(jī)即將用戶接口(UI)記錄連同輸出數(shù)據(jù)一起加以散布。后端計(jì)算機(jī)發(fā)送UI記錄數(shù)據(jù)至網(wǎng)關(guān)小服務(wù)器。
該網(wǎng)關(guān)小服務(wù)器將已經(jīng)指定為該特定數(shù)據(jù)集/對(duì)象的Java類包實(shí)例化,并且將該UI記錄的數(shù)據(jù)設(shè)置入該類包中。此Java類包定義一組方法,這些方法已經(jīng)被定義為操縱商務(wù)數(shù)據(jù)并且送回關(guān)于商務(wù)數(shù)據(jù)的META信息,但不包括任何關(guān)于如何將數(shù)據(jù)呈現(xiàn)給用戶的智能信息。
網(wǎng)關(guān)小服務(wù)器然后調(diào)用一頁(yè)也駐留在已經(jīng)開(kāi)發(fā)為與該類包一起操作的網(wǎng)絡(luò)服務(wù)器之中的Java服務(wù)器頁(yè)(JSP)。該JSP定義將數(shù)據(jù)呈現(xiàn)給用戶的方式,以及具體地使用以上所述的類包中的信息生成一頁(yè)HTML頁(yè),以便根據(jù)來(lái)自類包的輸出數(shù)據(jù)來(lái)剪裁頁(yè)面并且將該頁(yè)面送回至用戶瀏覽器以供用戶機(jī)器上顯示之用。
以此方式,基于網(wǎng)絡(luò)的用戶接口處理是完全與商務(wù)處理分離的,該商務(wù)處理與數(shù)據(jù)格式化和證實(shí)操作完全分離。商務(wù)處理軟件、格式化軟件、證實(shí)軟件與用戶接口處理之間的交互操作是通過(guò)一個(gè)非常簡(jiǎn)單的網(wǎng)關(guān)小服務(wù)器實(shí)現(xiàn)的。因此,網(wǎng)絡(luò)開(kāi)發(fā)商能夠開(kāi)發(fā)用戶接口(即HTML頁(yè)及它們?nèi)绾伪舜嘶ハ嚓P(guān)聯(lián))而主要不必具有任何用于生成商務(wù)數(shù)據(jù)的商務(wù)軟件知識(shí),以及商務(wù)軟件開(kāi)發(fā)商能夠主要獨(dú)立于網(wǎng)絡(luò)軟件開(kāi)發(fā)商而開(kāi)發(fā)所有商務(wù)處理軟件。軟件開(kāi)發(fā)商甚至還能夠主要獨(dú)立地以Java類包的形式開(kāi)發(fā)輸出數(shù)據(jù)格式化軟件和輸入數(shù)據(jù)證實(shí)軟件。
圖1是用于闡述根據(jù)本發(fā)明的在網(wǎng)上的電子商務(wù)事務(wù)的相關(guān)部件的框圖。
圖2是用于闡述根據(jù)本發(fā)明優(yōu)選實(shí)施例的處理流程的流程圖。
圖1是用于闡述通過(guò)萬(wàn)維網(wǎng)進(jìn)行示例性商務(wù)事務(wù)中涉及的部件的框圖。在客戶機(jī)14上工作的用戶例如使用調(diào)制解調(diào)器20通過(guò)公共電話網(wǎng)18訪問(wèn)服務(wù)器16。服務(wù)器16通常由用戶的因特網(wǎng)服務(wù)供應(yīng)器(ISP)操作。ISP可以具有另一個(gè)用于與用戶調(diào)制解調(diào)器20進(jìn)行接口的調(diào)制解調(diào)器(未示出)。ISP連至網(wǎng)絡(luò)12并且在用戶客戶機(jī)14與由用戶選擇的可以通過(guò)網(wǎng)絡(luò)訪問(wèn)的目的地之間傳輸數(shù)據(jù)。萬(wàn)維網(wǎng)12是一組用于組成主要跨越地球的計(jì)算機(jī)網(wǎng)絡(luò)的開(kāi)關(guān)、路由器和計(jì)算機(jī)的集合。網(wǎng)絡(luò)的一般組織是熟知的,它并不組成本發(fā)明的一部分,因此此處不予討論。例如商務(wù)20的商務(wù)也通過(guò)例如網(wǎng)絡(luò)服務(wù)器22的網(wǎng)絡(luò)服務(wù)器連至網(wǎng)絡(luò),并且維持多頁(yè)可由其他用戶通過(guò)萬(wàn)維網(wǎng)訪問(wèn)的網(wǎng)頁(yè)。為示例目的,我們假定商務(wù)20是一個(gè)光盤(pán)零售商,他在其自己物理的工廠內(nèi)保持其自己的網(wǎng)絡(luò)服務(wù)器,并且直接連至網(wǎng)絡(luò)12而不使用公共電話網(wǎng)。
在客戶機(jī)14上運(yùn)行萬(wàn)維網(wǎng)瀏覽器軟件例如Netscape Navigator或Microsoft Explorer的用戶能夠訪問(wèn)網(wǎng)絡(luò)上的任何頁(yè)面。當(dāng)用戶希望訪問(wèn)網(wǎng)絡(luò)上的一定頁(yè)面例如光盤(pán)零售商的主頁(yè)時(shí),用戶在由瀏覽器軟件呈現(xiàn)的顯示屏的合適區(qū)域內(nèi)鍵入該頁(yè)的通用資源定位器(URL),或者選代地在當(dāng)今正觀看的另一網(wǎng)頁(yè)中點(diǎn)擊一個(gè)超連接,從而將瀏覽器軟件引導(dǎo)至商務(wù)20的主頁(yè)。瀏覽器軟件發(fā)送一個(gè)對(duì)該URL的請(qǐng)求至ISP的服務(wù)器16。ISP的服務(wù)器16將URL轉(zhuǎn)換為字母數(shù)字地址并且在網(wǎng)絡(luò)12上發(fā)送該請(qǐng)求至由該字母數(shù)字地址所識(shí)別的特定服務(wù)器22。響應(yīng)于通過(guò)用戶客戶機(jī)14自用戶瀏覽器軟件收到的請(qǐng)求,ISP的服務(wù)器16和網(wǎng)絡(luò)12及零售商的服務(wù)器22送回一頁(yè)準(zhǔn)備在用戶計(jì)算機(jī)終端上顯示的HTML(超連接標(biāo)記語(yǔ)言)頁(yè)面。主頁(yè)通常不要求用戶輸入任何信息。
主頁(yè)通常包括圖形和文本和一個(gè)或多個(gè)連至零售商的服務(wù)器22上其他網(wǎng)頁(yè)的超連接。至少某些由主頁(yè)上超連接所訪問(wèn)的網(wǎng)頁(yè)通常是用戶可以在其上輸入信息的頁(yè)面,這些準(zhǔn)備發(fā)送至零售商20的信息是購(gòu)買(mǎi)光盤(pán)所必需的(此后稱為輸入信息)。當(dāng)用戶在這些超連接中之一上點(diǎn)擊其鼠標(biāo)(這主要是請(qǐng)求另一個(gè)URL的簡(jiǎn)捷方法)時(shí),新選的網(wǎng)頁(yè)通過(guò)與以上所述的與訪問(wèn)主頁(yè)相同的處理方法被送回至用戶。簡(jiǎn)而言之,在零售商的服務(wù)器22處收到該請(qǐng)求以及該零售商的服務(wù)器送回一頁(yè)頁(yè)面,用戶可在其中輸入為購(gòu)買(mǎi)光盤(pán)所需的一定信息。通常此頁(yè)包括不同區(qū)域,用戶必須在其中輸入合適信息(姓名、地址、所需光盤(pán)、信用卡號(hào)和失效期等)。在用戶輸入所有請(qǐng)求的輸入數(shù)據(jù)后,用戶在一定按鈕(例如發(fā)送按鈕)上點(diǎn)擊其鼠標(biāo),這使瀏覽器軟件將輸入信息送回至零售商的服務(wù)器22。
零售商的服務(wù)器也連至零售商的后端計(jì)算機(jī),在其上運(yùn)行零售商的商務(wù)軟件。例如,后端計(jì)算機(jī)可以是在零售商的商務(wù)位置處的主計(jì)算機(jī)24。
在現(xiàn)有技術(shù)中,用戶接口和商務(wù)處理編程是互相纏結(jié)地運(yùn)行于零售商的網(wǎng)絡(luò)應(yīng)用服務(wù)器上的。在現(xiàn)有技術(shù)中,網(wǎng)絡(luò)服務(wù)器可能訪問(wèn)保持于單獨(dú)的后端主機(jī)中的數(shù)據(jù)庫(kù)。然而,自數(shù)據(jù)庫(kù)獲得的數(shù)據(jù)的實(shí)際處理是在一個(gè)編程環(huán)境中服務(wù)器處完成的,在該編程環(huán)境中用戶接口、輸入數(shù)據(jù)證實(shí)和用于生成輸出數(shù)據(jù)的商務(wù)處理是與輸出數(shù)據(jù)的格式化操作纏結(jié)于相同軟件中(例如通過(guò)CGI應(yīng)用程序或ASP程序)。
根據(jù)本發(fā)明,所有商務(wù)處理能夠留在后端計(jì)算機(jī)中,而所有用戶接口編程(網(wǎng)絡(luò)編程)是在網(wǎng)絡(luò)服務(wù)器內(nèi)由例如Java服務(wù)器頁(yè)面完成的。此外,所有其他既非用戶接口處理又非商務(wù)處理的輸入和輸出數(shù)據(jù)的處理能夠由一個(gè)或多個(gè)其他獨(dú)立的程序例如一個(gè)或多個(gè)Java類包完成。這些其他處理可能包括輸出數(shù)據(jù)的格式化、數(shù)據(jù)的證實(shí)以及輸入數(shù)據(jù)的多個(gè)互相依賴區(qū)域的交叉證實(shí)。所有這些不同程序通過(guò)非常簡(jiǎn)單的網(wǎng)關(guān)小服務(wù)器程序來(lái)彼此接口,該網(wǎng)關(guān)小服務(wù)器程序幾乎不處理數(shù)據(jù)而只是在不同瀏覽器、Java類包、Java服務(wù)器頁(yè)面和商務(wù)處理程序之間接收和發(fā)送數(shù)據(jù)。
以此方式,網(wǎng)絡(luò)軟件開(kāi)發(fā)商和商務(wù)軟件開(kāi)發(fā)商能夠主要地彼此獨(dú)立地進(jìn)行操作,因而允許每個(gè)開(kāi)發(fā)商效率最高地使用他或她的技能而不必操心別人。此外,對(duì)于早已高度開(kāi)發(fā)并且可靠的商務(wù)軟件而言,這類商務(wù)不必為了通過(guò)網(wǎng)絡(luò)開(kāi)展商務(wù)事務(wù)而開(kāi)發(fā)新商務(wù)軟件。相反,它可以簡(jiǎn)單地使用其現(xiàn)有很好地建立起來(lái)的商務(wù)軟件及個(gè)別地開(kāi)發(fā)網(wǎng)絡(luò)的用戶接口軟件。
雖然此處討論的例子涉及商務(wù)軟件駐留在單獨(dú)的后端計(jì)算機(jī)中例如主機(jī)中的情況,但商務(wù)處理軟件恰好可以容易地在網(wǎng)絡(luò)服務(wù)器本身內(nèi)運(yùn)行。除軟件運(yùn)行位置的分離之外,正是商務(wù)處理軟件、網(wǎng)絡(luò)用戶接口軟件、數(shù)據(jù)格式化軟件、輸入數(shù)據(jù)證實(shí)及其他軟件在邏輯上的分離提供本發(fā)明的主要優(yōu)點(diǎn)。
現(xiàn)在參照?qǐng)D2,它是用于闡述在客戶機(jī)14上運(yùn)行的用戶瀏覽器軟件、在零售商的服務(wù)器22上運(yùn)行的不同程序與在零售商的主機(jī)上運(yùn)行的不同程序之間的交互作用的流程圖。為不使本發(fā)明混淆,ISP的服務(wù)器16和網(wǎng)絡(luò)12并不在圖2中闡述。這些交互作用的細(xì)節(jié)是熟知的,因此不組成本發(fā)明的一部分。柱202表示在用戶的客戶機(jī)14上運(yùn)行的瀏覽器軟件。柱204、206和208表示在零售商的網(wǎng)絡(luò)服務(wù)器22上運(yùn)行的軟件。柱204表示根據(jù)本發(fā)明的特定Java小服務(wù)器,此處稱為網(wǎng)關(guān)小服務(wù)器并且將在下面更詳細(xì)地描述。柱206表示一個(gè)或多個(gè)駐留在零售商的網(wǎng)絡(luò)服務(wù)器上的類包。柱208表示一頁(yè)或多頁(yè)用于生成HTML頁(yè)面同時(shí)也是駐留在零售商的服務(wù)器上的Java服務(wù)器頁(yè)面(JSP)。柱210表示零售商的商務(wù)軟件及包括一個(gè)或多個(gè)應(yīng)用程序,后者例如可能在后端主機(jī)24上運(yùn)行。
在步驟222,響應(yīng)于用戶鍵入合適的URL(或點(diǎn)擊超連接),用戶的瀏覽器連至在零售商的網(wǎng)絡(luò)服務(wù)器22上運(yùn)行的網(wǎng)關(guān)小服務(wù)器204。在步驟224,網(wǎng)關(guān)小服務(wù)器用作送回至瀏覽器的零售商的主頁(yè)。在步驟226,用戶在主頁(yè)上選擇一個(gè)超連接以便獲得一頁(yè)頁(yè)面,他可以在其上輸入他的命令和其他相關(guān)的信息,例如姓名、地址、電子郵件地址、所請(qǐng)求的光盤(pán)、信用卡號(hào)、信用卡失效日期、所請(qǐng)求的發(fā)運(yùn)方法、發(fā)運(yùn)地址等。
在步驟228,網(wǎng)關(guān)小服務(wù)器204將該頁(yè)送回至用戶瀏覽器,以供他的瀏覽器在他的終端上顯示之用。在步驟230,用戶在不同區(qū)域內(nèi)填入所請(qǐng)求的信息。用戶然后在該頁(yè)面的按鈕上點(diǎn)擊,這導(dǎo)致瀏覽器將所輸入信息發(fā)送回至零售商的網(wǎng)絡(luò)應(yīng)用程序服務(wù)器處的網(wǎng)關(guān)小服務(wù)器204(步驟232)。如同在現(xiàn)有技術(shù)中,發(fā)送按鈕主要是一個(gè)用于識(shí)別具體URL的偽裝超連接。然而,根據(jù)本發(fā)明,該URL附加地包括對(duì)為處理這些數(shù)據(jù)而必須在后端計(jì)算機(jī)24中運(yùn)行的一個(gè)或多個(gè)程序的識(shí)別。
網(wǎng)關(guān)小服務(wù)器204接收由用戶輸入至數(shù)據(jù)域內(nèi)的信息(今后稱為輸入數(shù)據(jù))。在步驟232,網(wǎng)關(guān)小服務(wù)器將設(shè)計(jì)為按照需要處理輸入數(shù)據(jù)的類包實(shí)例化。在步驟236,網(wǎng)關(guān)將類包以及輸入數(shù)據(jù)加以散布。如同網(wǎng)絡(luò)軟件開(kāi)發(fā)中眾所周知的,Java是一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,其中Java類包是一個(gè)小程序,它是一個(gè)類,也即一組屬性(數(shù)據(jù))和一組方法(如何處理這些數(shù)據(jù))。當(dāng)另一個(gè)程序例如網(wǎng)關(guān)小服務(wù)器將特定類包以及數(shù)據(jù)散布時(shí),即建立該類包的一個(gè)新實(shí)例。該類包的每個(gè)實(shí)例具有不同數(shù)據(jù)(屬性)但卻有相同的過(guò)程(方法)。
根據(jù)本發(fā)明,這些類包不完成商務(wù)處理。然而,它們優(yōu)選地完成所有其他輸入數(shù)據(jù)的處理。這可能包括檢查是否已經(jīng)在任何區(qū)域內(nèi)輸入了合適數(shù)量和/或類型的字符,其中字符數(shù)量必須滿足一定限制。例如,信用卡號(hào)必須具有16個(gè)數(shù)位,并且它們必須都是數(shù)字;姓名必須全部由字母字符組成;日期必須以一定格式輸入;電子郵件地址必須是一定格式;美國(guó)郵政編碼必須具有5或9個(gè)數(shù)位等。此外,某些區(qū)域可能彼此依賴。這類區(qū)域內(nèi)的數(shù)據(jù)的一致性能夠由類包來(lái)證實(shí)。
在步驟238,所選類包運(yùn)行。在運(yùn)行后,在步驟240,類包向網(wǎng)關(guān)小服務(wù)器送回一個(gè)PASS或FAIL標(biāo)示。如果它送回一個(gè)FAIL,則網(wǎng)關(guān)小服務(wù)器必須將同一頁(yè)面發(fā)送回至用戶,并且最好包括一個(gè)標(biāo)志,用于標(biāo)示在輸入數(shù)據(jù)中存在一個(gè)必須加以改正的誤差,以及最好識(shí)別該誤差的特性及其發(fā)生的區(qū)域以便用戶能夠正確地輸入數(shù)據(jù)和再次調(diào)用該頁(yè)面。為簡(jiǎn)化圖2,我們將假定輸入數(shù)據(jù)是正確的,因此在步驟240該類包送回一個(gè)PASS。
由用戶輸入的輸入數(shù)據(jù)必須為商務(wù)目的而進(jìn)行處理,以便例如證實(shí)信用卡號(hào)和合適信貸的可用性,判斷該零售商的庫(kù)存中是否具有所請(qǐng)求的CD,建立一個(gè)購(gòu)買(mǎi)命令,通知合適的人員,生成必須送回至用戶的輸出數(shù)據(jù)例如總價(jià)格和發(fā)運(yùn)數(shù)據(jù)。
在步驟242,響應(yīng)于自瀏覽器收到請(qǐng)求,網(wǎng)關(guān)小服務(wù)器204建立一個(gè)請(qǐng)求對(duì)象。該請(qǐng)求對(duì)象規(guī)定哪個(gè)或哪些程序必須在后端計(jì)算機(jī)上運(yùn)行以便處理數(shù)據(jù)。在步驟244,網(wǎng)關(guān)小服務(wù)器204向后端服務(wù)器發(fā)送由用戶輸入的輸入數(shù)據(jù)連同對(duì)必須運(yùn)行以便處理這些數(shù)據(jù)的一個(gè)或多個(gè)程序的識(shí)別。
在步驟246,后端服務(wù)器運(yùn)行這些必要的程序。在步驟248,后端主機(jī)然后將我們稱為用戶接口(UI)記錄的數(shù)據(jù)結(jié)構(gòu)連同準(zhǔn)備送回至用戶的輸出數(shù)據(jù)加以散布。可以由單獨(dú)的在后端計(jì)算機(jī)上運(yùn)行的程序來(lái)完成UI記錄的散布。選代地,它可能包括于商務(wù)應(yīng)用程序之內(nèi)。在面向?qū)ο缶幊陶Z(yǔ)言中,UI記錄是一個(gè)對(duì)象。
UI記錄是一個(gè)準(zhǔn)備送回至用戶的網(wǎng)頁(yè)的模型。也即,它是一個(gè)用于定義數(shù)據(jù)及與這些數(shù)據(jù)相關(guān)聯(lián)的行為的高層對(duì)象,但不是這些數(shù)據(jù)的布局或表現(xiàn)。如果后端軟件是例如用COBOL語(yǔ)言編寫(xiě)的,則UI記錄可能是一個(gè)COBOL記錄。
在我們已經(jīng)使用過(guò)的例子中,UI記錄可能包含例如所需光盤(pán)的SKU,藝術(shù)家的全名和CD名稱,CD上歌曲清單,CD價(jià)格,接收或拒絕信用卡的標(biāo)志,總價(jià)格,可能需要用戶回答的后隨問(wèn)題等。
由于后端計(jì)算機(jī)除散布UI記錄之外不與用戶接口進(jìn)行交互操作,后端軟件幾乎不需重新設(shè)計(jì)。該UI記錄包含準(zhǔn)備送回至用戶的瀏覽器的數(shù)據(jù),并且規(guī)定對(duì)此應(yīng)該作什麼,但根本不包含關(guān)于如何向用戶進(jìn)行呈現(xiàn)的任何信息。此外,它最好不包含關(guān)于如何進(jìn)行格式化的任何信息。當(dāng)然,在選代的實(shí)施例中,可以在后端計(jì)算機(jī)中完成數(shù)據(jù)格式化。
在后端計(jì)算機(jī)中生成的包含于UI記錄中的數(shù)據(jù)現(xiàn)在必須插入于基于網(wǎng)絡(luò)的用戶接口中。因此,至少某些包含于UI記錄中的涉及應(yīng)該如何處理數(shù)據(jù)的信息能夠識(shí)別類包和準(zhǔn)備用于建立一頁(yè)用于向用戶呈現(xiàn)數(shù)據(jù)的網(wǎng)頁(yè)的Java服務(wù)器頁(yè)面(JSP)。
在步驟250,后端計(jì)算機(jī)送回散布的UI記錄至網(wǎng)關(guān)小服務(wù)器。
在步驟252,網(wǎng)關(guān)將識(shí)別的類包(今后稱為UI類包)實(shí)例化。在步驟254,它將該UI類包連同來(lái)自UI記錄的數(shù)據(jù)加以散布。
在步驟258,網(wǎng)關(guān)小服務(wù)器204調(diào)用識(shí)別的Java服務(wù)器頁(yè)面。該Java服務(wù)器頁(yè)面完全地定義如何在準(zhǔn)備呈現(xiàn)給用戶的網(wǎng)頁(yè)中布置數(shù)據(jù)。因此,在步驟260,JSP訪問(wèn)該類包以便獲得準(zhǔn)備包括入由JSP設(shè)計(jì)的網(wǎng)頁(yè)中的數(shù)據(jù)。如同在網(wǎng)絡(luò)軟件開(kāi)發(fā)現(xiàn)有技術(shù)中眾所周知的,JSP基本上包括在其中貫穿著HTML碼的Java碼。當(dāng)Java碼運(yùn)行時(shí),它發(fā)出所有在其內(nèi)部的HTML碼以便建立一頁(yè)網(wǎng)頁(yè)。該Java服務(wù)器頁(yè)面完全地定義如何在準(zhǔn)備呈現(xiàn)給用戶的網(wǎng)頁(yè)中布置數(shù)據(jù)。最后在步驟262,JSP送回一頁(yè)網(wǎng)頁(yè)至瀏覽器,它包含所有由UI記錄所定義的并且按照J(rèn)SP定義的方式布置以便呈現(xiàn)給用戶的數(shù)據(jù)。
在步驟252和254中實(shí)例化和散布的類包可以是在步驟234中實(shí)例化的相同程序或者是不同程序。在本發(fā)明的優(yōu)選實(shí)施例中,除為在步驟258和260中由JSP建立的網(wǎng)頁(yè)提供輸出數(shù)據(jù)外,它完成除建立用戶接口(網(wǎng)頁(yè))之外對(duì)所有輸出商務(wù)數(shù)據(jù)所必須的處理。
例如,這可能包括數(shù)據(jù)的所有格式化,例如制定光盤(pán)價(jià)格的原始價(jià)格以及用美元符號(hào)($)及價(jià)格的美元數(shù)和美分?jǐn)?shù)之間的小數(shù)點(diǎn)將其格式化或者將一個(gè)數(shù)字?jǐn)?shù)據(jù)碼格式化為“January 11,2000”該類包定義一組方法,用于操縱商務(wù)數(shù)據(jù)并且送回關(guān)于商務(wù)數(shù)據(jù)的META信息,但不包括任何關(guān)于如何將數(shù)據(jù)呈現(xiàn)給用戶的智能信息。操縱方法的例子是如同剛才所討論的用于將數(shù)字?jǐn)?shù)據(jù)格式化為規(guī)定的貨幣的方法,或者是如同結(jié)合步驟238-240所討論的用于證實(shí)用戶輸入的方法。META信息方法的例子是用于送回標(biāo)記或與給定區(qū)域相關(guān)聯(lián)的HELP文本的方法。
以上結(jié)合步驟238-240所討論的與用戶輸入FAIL的給定區(qū)域相關(guān)聯(lián)的誤差消息是在運(yùn)行時(shí)間內(nèi)已經(jīng)建立的META信息的一個(gè)例子。
主要地,Java類包將所有與準(zhǔn)備放在網(wǎng)頁(yè)上的商務(wù)數(shù)據(jù)相關(guān)的信息都包裝起來(lái)而絲毫不涉及如何或何處或以何種形式在該網(wǎng)頁(yè)上顯示這些數(shù)據(jù)。
因此可以看出,根據(jù)本發(fā)明,商務(wù)處理軟件完全與網(wǎng)絡(luò)表現(xiàn)軟件(或用戶接口)分開(kāi),而這些網(wǎng)絡(luò)表現(xiàn)軟件完全與輸入數(shù)據(jù)證實(shí)編程和輸出數(shù)據(jù)格式化編程分開(kāi)。這些不同軟件部分之間的唯一交互操作是通過(guò)UI記錄,后端計(jì)算機(jī)將它送回至網(wǎng)關(guān)及網(wǎng)關(guān)使用它來(lái)散布Java類包。
熟悉技術(shù)的人應(yīng)該知道,根據(jù)本發(fā)明,對(duì)于每一頁(yè)能夠送回至用戶的不同網(wǎng)頁(yè)而言,通常都有不同的JSP和相關(guān)的類包。此外,類包具有持續(xù)性,即它們將部件的狀態(tài)存儲(chǔ)起來(lái)。這允許例如一個(gè)部件(類包)記憶住在早先用戶會(huì)晤中早已輸入的特定數(shù)據(jù)。
因此,提供了一種方法和設(shè)備,它們?cè)试S在電子商務(wù)軟件開(kāi)發(fā)中將商務(wù)處理編程、網(wǎng)絡(luò)用戶接口編程、輸入數(shù)據(jù)證實(shí)編程及輸出數(shù)據(jù)格式化編程分開(kāi)。所有這些軟件部分都可以通過(guò)使用非常簡(jiǎn)單的網(wǎng)關(guān)小服務(wù)器來(lái)彼此進(jìn)行接口。這允許現(xiàn)有商務(wù)更容易地?cái)U(kuò)展為電子商務(wù),因?yàn)閷?shí)際上并不需要重新設(shè)計(jì)現(xiàn)有商務(wù)軟件來(lái)轉(zhuǎn)換為電子商務(wù)應(yīng)用程序。此外,由于可以獨(dú)立于網(wǎng)絡(luò)/用戶接口軟件開(kāi)發(fā)而開(kāi)發(fā)商務(wù)處理軟件,因此可以更容易地為任何商務(wù)開(kāi)發(fā)電子商務(wù)軟件。一個(gè)熟悉3GL或4GL商務(wù)編程語(yǔ)言但不懂網(wǎng)絡(luò)應(yīng)用編程語(yǔ)言例如HTML和Java的軟件開(kāi)發(fā)商因此不會(huì)被排除在網(wǎng)絡(luò)驅(qū)動(dòng)的應(yīng)用程序的軟件開(kāi)發(fā)工作之外。
雖然以上所討論的本發(fā)明具體實(shí)施例全都涉及買(mǎi)主與出售商之間通過(guò)萬(wàn)維網(wǎng)的商務(wù)事務(wù),但本發(fā)明具有大為廣闊的應(yīng)用。例如,它可用于任何數(shù)據(jù)傳輸,即兩個(gè)程序之間的請(qǐng)求/響應(yīng)數(shù)據(jù)交換,并且不是必須限于買(mǎi)主/出售商商務(wù)事務(wù)。此外,本發(fā)明可用于任何計(jì)算環(huán)境并且不是必須限于萬(wàn)維網(wǎng)或甚至網(wǎng)絡(luò)環(huán)境。
在如此地描述了本發(fā)明的數(shù)個(gè)具體實(shí)施例后,熟悉技術(shù)的人明顯知道可以實(shí)現(xiàn)不同更動(dòng)、修改和改進(jìn)。對(duì)于本公開(kāi)內(nèi)容的這類很明顯的更動(dòng)、修改和改進(jìn)雖然沒(méi)有在此明白敘述,但它們本來(lái)是包括于本發(fā)明的實(shí)質(zhì)和范圍之內(nèi)的。例如,以上討論的實(shí)施例具體地涉及Java編程語(yǔ)言并且在本質(zhì)上是示例性的。熟悉技術(shù)的人應(yīng)該理解,本發(fā)明可以應(yīng)用于其他面向?qū)ο缶幊陶Z(yǔ)言的框架之內(nèi)。因此,前述說(shuō)明只是例子而非限制性的。本發(fā)明只受限于所附權(quán)利要求書(shū)及其等效內(nèi)容中所規(guī)定的范圍。
權(quán)利要求
1.一種使用面向?qū)ο缶幊陶Z(yǔ)言編寫(xiě)的用于便利于在第一程序與第二程序之間傳輸數(shù)據(jù)的計(jì)算機(jī)程序,包括用于自第一程序接收包括準(zhǔn)備由第二程序用來(lái)在終端上生成顯示的信息的第一數(shù)據(jù)集的裝置,所述第一數(shù)據(jù)集不包括關(guān)于如何顯示所述信息的任何信息;及用于處理所述第一數(shù)據(jù)集以便生成包括準(zhǔn)備由所述第二程序用來(lái)在所述終端上生成顯示的信息的第二數(shù)據(jù)集的裝置,所述第二數(shù)據(jù)集不包括關(guān)于如何顯示所述信息的任何信息。
2.權(quán)利要求1的程序,其中所述程序是所述面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)對(duì)象。
3.權(quán)利要求2的程序,其中所述程序使用Java編程語(yǔ)言編寫(xiě)以及所述程序是一個(gè)Java類包。
4.權(quán)利要求3的程序,其中所述Java類包適合于由Java服務(wù)器頁(yè)面訪問(wèn),以便建立一頁(yè)包括第二數(shù)據(jù)集及定義如何顯示所述第二數(shù)據(jù)集中的所述信息的網(wǎng)頁(yè)。
5.權(quán)利要求4的程序,其中所述數(shù)據(jù)傳輸在萬(wàn)維網(wǎng)上進(jìn)行及所述第二數(shù)據(jù)集包括用于插入于HTML頁(yè)面的數(shù)據(jù)。
6.權(quán)利要求5的程序,其中所述數(shù)據(jù)傳輸涉及買(mǎi)主和出售商之間的商務(wù)事務(wù)及所述用于處理所述第一數(shù)據(jù)集的裝置包括用于將由所述第一程序生成的商務(wù)數(shù)據(jù)格式化的裝置。
7.權(quán)利要求6的程序,其中所述程序不在所述第一數(shù)據(jù)集上完成任何商務(wù)處理。
8.權(quán)利要求7的程序,其中所述第一程序是所述出售商的程序,用于從自所述買(mǎi)主收到的數(shù)據(jù)中生成所述第一數(shù)據(jù)集。
9.權(quán)利要求8的程序,其中所述第一數(shù)據(jù)集包括用于進(jìn)行所述商務(wù)事務(wù)的商務(wù)信息。
10.權(quán)利要求9的程序,其中所述用于接收的裝置適用于通過(guò)Java小服務(wù)器自所述第一程序中接收所述第一數(shù)據(jù)集。
11.一種使用面向?qū)ο缶幊陶Z(yǔ)言編寫(xiě)的用于便利于在第一程序與第二程序之間傳輸數(shù)據(jù)的計(jì)算機(jī)程序,包括用于接收由所述第一程序生成的準(zhǔn)備由所述第二程序處理的第一數(shù)據(jù)集的裝置;用于處理所述第一數(shù)據(jù)集以便保證所述第一數(shù)據(jù)集包含供所述第二程序用于處理的合適信息的裝置;及用于生成用于標(biāo)示所述輸入數(shù)據(jù)集是否包含供所述第二程序用于處理的合適信息的輸出數(shù)據(jù)的裝置。
12.權(quán)利要求11的程序,其中所述用于生成輸出數(shù)據(jù)的裝置包括如果所述第一數(shù)據(jù)集包含不合適信息,則用于標(biāo)示所述第一數(shù)據(jù)集中任何不合適信息的特性的裝置。
13.權(quán)利要求12的程序,其中所述第一數(shù)據(jù)集包括多個(gè)數(shù)據(jù)域及所述用于處理的裝置交叉地證實(shí)對(duì)應(yīng)于所述多個(gè)數(shù)據(jù)域的數(shù)據(jù)。
14.權(quán)利要求13的程序,其中所述處理裝置還判斷對(duì)應(yīng)于所述數(shù)據(jù)域中的至少一個(gè)域的數(shù)據(jù)是否包含合適數(shù)量的字符。
15.權(quán)利要求13的程序,其中所述處理裝置還判斷對(duì)應(yīng)于所述數(shù)據(jù)域中的至少一個(gè)域的數(shù)據(jù)是否包含合適類型的字符。
16.權(quán)利要求15的程序,其中所述程序是所述面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)對(duì)象。
17.權(quán)利要求16的程序,其中所述面向?qū)ο缶幊陶Z(yǔ)言是Java及所述對(duì)象是一個(gè)Java類包。
18.權(quán)利要求13的程序,其中所述用于接收的裝置適用于通過(guò)Java小服務(wù)器自所述第一程序中接收所述第一數(shù)據(jù)集。
19.權(quán)利要求18的程序,其中所述第一程序是網(wǎng)絡(luò)瀏覽器及所述第二程序是商務(wù)處理程序及其中所述數(shù)據(jù)傳輸涉及商務(wù)事務(wù)。
20.權(quán)利要求19的程序,其中所述程序不完成所述第一數(shù)據(jù)集的任何商務(wù)處理。
21.一種用于在第一程序與第二程序之間傳輸數(shù)據(jù)的方法包括以下步驟自第一程序接收包括準(zhǔn)備由第二程序用來(lái)在終端上生成顯示的數(shù)據(jù)的第一數(shù)據(jù)集,所述第一數(shù)據(jù)集不包括關(guān)于如何顯示所述數(shù)據(jù)集的任何信息;及處理所述第一數(shù)據(jù)集以便生成在所述終端上顯示的第二數(shù)據(jù)集,所述第二數(shù)據(jù)集不包括關(guān)于如何顯示所述數(shù)據(jù)的任何信息。
22.權(quán)利要求21的方法,其中所述第二數(shù)據(jù)集包括一組適用于供Java服務(wù)器頁(yè)面訪問(wèn)的Java類包的屬性。
23.權(quán)利要求22的方法,其中所述數(shù)據(jù)傳輸是通過(guò)萬(wàn)維網(wǎng)的,所述第二程序是網(wǎng)絡(luò)瀏覽器及所述第二數(shù)據(jù)集包括插入于準(zhǔn)備傳輸至所述瀏覽器的HTML頁(yè)面內(nèi)的數(shù)據(jù)。
24.權(quán)利要求23的方法,其中所述數(shù)據(jù)傳輸涉及買(mǎi)主與出售商之間的商務(wù)事務(wù)。
25.權(quán)利要求23的方法,其中所述第一程序是所述出售商的商務(wù)處理程序及所述第一數(shù)據(jù)集包括商務(wù)數(shù)據(jù),以及其中處理步驟包括將由第一程序生成的商務(wù)數(shù)據(jù)格式化。
26.權(quán)利要求25的方法,其中所述處理步驟不包括所述第一數(shù)據(jù)集的任何商務(wù)處理。
27.權(quán)利要求26的方法,其中所述接收步驟包括通過(guò)Java小服務(wù)器自所述第一程序接收所述第一數(shù)據(jù)集。
28.一種便利于在買(mǎi)主與出售商之間傳輸數(shù)據(jù)的方法包括以下步驟自第一程序接收準(zhǔn)備由所述第二程序處理的第一數(shù)據(jù)集;處理所述第一數(shù)據(jù)集以便保證所述第一數(shù)據(jù)集包含供所述第二程序用于處理的合適信息;及生成用于標(biāo)示所述第一數(shù)據(jù)集是否包含供所述第二程序用于處理的合適信息的輸出數(shù)據(jù)。
29.權(quán)利要求28的方法,其中所述生成步驟包括以下步驟如果所述第一數(shù)據(jù)集包含不合適信息,則標(biāo)示所述第一數(shù)據(jù)集中任何不合適信息的特性。
30.權(quán)利要求29的方法,其中所述第一數(shù)據(jù)集包括多個(gè)數(shù)據(jù)域及所述處理步驟包括交叉地證實(shí)對(duì)應(yīng)于所述多個(gè)數(shù)據(jù)域的數(shù)據(jù)。
31.權(quán)利要求29的方法,其中所述處理步驟還包括判斷對(duì)應(yīng)于所述數(shù)據(jù)域中的至少一個(gè)域的數(shù)據(jù)是否包含合適數(shù)量的字符的步驟。
32.權(quán)利要求29的方法,其中所述處理步驟還包括判斷對(duì)應(yīng)于所述數(shù)據(jù)域中的至少一個(gè)域的數(shù)據(jù)是否包含合適類型的字符的步驟。
33.權(quán)利要求28的方法,其中所述方法由軟件完成,其中所述軟件是所述面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)對(duì)象。
34.權(quán)利要求33的方法,其中所述面向?qū)ο缶幊陶Z(yǔ)言是Java及所述對(duì)象是一個(gè)Java類包。
35.權(quán)利要求28的方法,其中所述接收步驟包括通過(guò)Java小服務(wù)器自所述第一程序中接收所述第一數(shù)據(jù)集。
36.權(quán)利要求35的方法,其中所述第一程序是網(wǎng)絡(luò)瀏覽器及所述第二程序是商務(wù)處理程序及其中所述數(shù)據(jù)傳輸涉及商務(wù)事務(wù)。
37.權(quán)利要求36的方法,其中所述程序不完成所述第一數(shù)據(jù)集的任何商務(wù)處理。
全文摘要
一種通過(guò)萬(wàn)維網(wǎng)進(jìn)行商務(wù)的方法和設(shè)備,其中商務(wù)編程與網(wǎng)絡(luò)用戶接口編程分開(kāi)。根據(jù)本發(fā)明,網(wǎng)關(guān)小服務(wù)器自顧客處接收輸入信息并且將一個(gè)證實(shí)輸入數(shù)據(jù)已經(jīng)正確地輸入了的Java類包實(shí)例化和散布。它然后將證實(shí)的輸入數(shù)據(jù)送至后端軟件以供商務(wù)處理之用。后端軟件送回用戶接口記錄對(duì)象至網(wǎng)關(guān),后者接著將另一個(gè)Java類包實(shí)例化和散布以便將這些數(shù)據(jù)格式化。網(wǎng)關(guān)然后調(diào)用一頁(yè)與Java類包接口的Java服務(wù)器頁(yè)面生成送至用戶的HTML頁(yè)面。
文檔編號(hào)G06F9/54GK1311476SQ0013556
公開(kāi)日2001年9月5日 申請(qǐng)日期2000年12月14日 優(yōu)先權(quán)日1999年12月29日
發(fā)明者蒂莫西·T.·威爾遜 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司