專利名稱:面向?qū)ο蟮狞c(diǎn)到點(diǎn)通信的方法及實(shí)施該方法的通信設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子數(shù)據(jù)通信、基于數(shù)據(jù)的有組織的靈活格式的電子數(shù)據(jù)消息管理、客戶服務(wù)器及分布式軟件應(yīng)用領(lǐng)域。
尤其是,本發(fā)明使用關(guān)系數(shù)據(jù)庫(kù)來(lái)描述和管理對(duì)靈活格式的電子數(shù)據(jù)消息的生成、通信、說(shuō)明、顯示和實(shí)時(shí)的響應(yīng)以及作為靈活格式的電子數(shù)據(jù)消息的一個(gè)集合而組織的應(yīng)用,該應(yīng)用可以是有選擇地分布在一個(gè)多個(gè)電子數(shù)據(jù)網(wǎng)絡(luò)上的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上。
背景技術(shù):
一般用途和商業(yè)特殊用途的電子數(shù)據(jù)通信要滿足四個(gè)問(wèn)題,其中每一個(gè)問(wèn)題包括很多的子問(wèn)題,我們將討論關(guān)于商業(yè)通信需要的議題,盡管下面的論點(diǎn)適用于大多數(shù)電子數(shù)據(jù)通信的范疇。這四個(gè)問(wèn)題是1)要發(fā)送和接收的電子數(shù)據(jù)必須清晰地識(shí)別以便確保其含義,每個(gè)公司都有不同的方式來(lái)表達(dá)即使是最基本的商業(yè)信息、定單表格或或發(fā)貨帳單等;2)從另一個(gè)公司接收到一個(gè)電子數(shù)據(jù)并且正確地加以識(shí)別,它就必須集成進(jìn)接收公司的數(shù)據(jù)庫(kù)和業(yè)務(wù)處理程序。在此,又一次,每一個(gè)公司在它們的數(shù)據(jù)庫(kù)的結(jié)構(gòu)上有很大的不同,這意味著它們?cè)谄溆?jì)算機(jī)上表示和存儲(chǔ)他們的電子數(shù)據(jù)的方式的不同;3)如果該電子數(shù)據(jù)必須要顯示給一個(gè)終端用戶并且允許終端用戶的交互,在此再一次,每個(gè)公司可以使用不同類型的計(jì)算機(jī)顯示終端、各種類型的顯示軟件、各種系統(tǒng)要求及商業(yè)要求。通常有必要建立非常昂貴的具有定制的圖形用戶顯示的電子數(shù)據(jù)顯示程序。
4)由于需要使用特定系統(tǒng)服務(wù)的集合及其相關(guān)的數(shù)據(jù)以完成特定的商業(yè)用途,存在著這樣一種需求以一種協(xié)調(diào)的方式執(zhí)行分布在多個(gè)計(jì)算機(jī)系統(tǒng)中的計(jì)算機(jī)化的商業(yè)功能的處理。這意味著在多于一個(gè)的位置上需要有計(jì)算機(jī)化的商業(yè)系統(tǒng),在一個(gè)或多個(gè)位置上分別地運(yùn)行著,但在功能上本質(zhì)上是一個(gè)單一的系統(tǒng)。解決該問(wèn)題的方案通常是作為分布式應(yīng)用而分布,或者,就象最近出現(xiàn)的,作為可按“中間塊”劃分的分布式對(duì)象管理系統(tǒng)。
與問(wèn)題4相關(guān)的有兩個(gè)非常明顯的主要議題,首先是需要或期望一個(gè)公司在多個(gè)不同的系統(tǒng)上使用同一個(gè)商業(yè)應(yīng)用,以避免為每一個(gè)不同的系統(tǒng)重寫(xiě)需要在其上運(yùn)行的商業(yè)邏輯、用戶接口和網(wǎng)絡(luò)通信接口;第二個(gè)議題是需要將一個(gè)單一應(yīng)用的功能在一個(gè)通信網(wǎng)絡(luò)的多個(gè)系統(tǒng)上進(jìn)行劃分,并且使其以一種整體協(xié)調(diào)的方式運(yùn)行。
目前沒(méi)不一個(gè)單一系統(tǒng)能解決所有這四個(gè)問(wèn)題。每年要消耗數(shù)百萬(wàn)美元來(lái)購(gòu)買、建立、重建以及維持電子數(shù)據(jù)通信和存儲(chǔ)系統(tǒng),來(lái)不夠有效、不完善地解決這四個(gè)問(wèn)題的各種組合。
先有技術(shù)問(wèn)題1
為了解決第一個(gè)問(wèn)題,在進(jìn)行實(shí)際的通信之前,必須由所有通信認(rèn)可一個(gè)針對(duì)特定信息類型的一套電子數(shù)據(jù)格式。這種對(duì)格式的認(rèn)可必須通過(guò)使用通信軟件來(lái)進(jìn)行實(shí)效化,而通信軟件也必須使用同一認(rèn)可的格式。EDI(電子數(shù)據(jù)交換)是解決這種問(wèn)題的一個(gè)途徑。EDI對(duì)于很多類型的商業(yè)事務(wù)來(lái)說(shuō)是一套電子數(shù)據(jù)消息格式,這種格式不夠靈活,也就是說(shuō)它們不能夠被用戶改變,同時(shí)也有很多的EDI消息格式的版本。一個(gè)使用EDI消息通信系統(tǒng)的公司可能還不能與使用另外一個(gè)版本的EDI的公司交換數(shù)據(jù)。將已有的系統(tǒng)轉(zhuǎn)換成EDI系統(tǒng)所花費(fèi)的金錢(qián)與時(shí)間是非常大的,在需要時(shí)是很難并且也很昂貴來(lái)改變或增加另一種格式。
使用硬編碼(即,在軟件中定義)消息格式的方法和方案具有與EDI相關(guān)的所有問(wèn)題,其實(shí)質(zhì)上是同一方案,只是具有不同的固定消息格式。每當(dāng)固定的消息格式必須要改變時(shí),就要求在軟件中有類似的改變以及數(shù)據(jù)庫(kù)或用戶接口的改變。即使一個(gè)非常小的改變有時(shí)也可能要耗時(shí)數(shù)月。當(dāng)然,在使用特定格式的每個(gè)商業(yè)計(jì)算機(jī)上也要改變這種電子數(shù)據(jù)格式以確保電子通信能正確地持續(xù)運(yùn)行。
問(wèn)題2第二個(gè)更難于解決,一般地,大多數(shù)的公司都使用大量的數(shù)據(jù)錄入人員,他們讀取印刷的材料并且輸入他們已讀進(jìn)計(jì)算機(jī)程序的數(shù)據(jù),該計(jì)算機(jī)程序運(yùn)行在處理該數(shù)據(jù)的終端上,將其轉(zhuǎn)換成正確的格式并放進(jìn)公司的數(shù)據(jù)庫(kù)。這些使用EDI或類似通用電子消息格式的公司通常要求已經(jīng)為其定制的軟件付出大量的費(fèi)用,這種定制的軟件自動(dòng)地為他們處理并轉(zhuǎn)換通用電子消息格式,并與已有的數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行交互來(lái)進(jìn)行數(shù)據(jù)的存儲(chǔ)和檢索。如果它們需要改變或增加到該通用消息格式,或需要改變或擴(kuò)展其數(shù)據(jù)庫(kù)結(jié)構(gòu),那么他們就必須再一次花大量的時(shí)間和金錢(qián)來(lái)改變和重寫(xiě)其電子消息格式數(shù)據(jù)庫(kù)接口程序。
一個(gè)更新的公共域通用方案以映射特定數(shù)據(jù)項(xiàng)到客戶數(shù)據(jù)庫(kù)或存儲(chǔ)設(shè)備中的特定位置為中心而展開(kāi)。這種映射不是在軟件中生成,而是在與該軟件應(yīng)用和客戶數(shù)據(jù)庫(kù)分離的、更易于改變和靈活的表述中,如軟件應(yīng)用讀取的獨(dú)立的平(flat)文件。這就消除了在數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)表述改變時(shí)需要重新編程和重新建立軟件應(yīng)用的要求。數(shù)據(jù)段映射技術(shù)在很多數(shù)據(jù)庫(kù)公司中廣泛采用,如Progress、Oracle和SQL Base(SQL數(shù)據(jù)庫(kù)查詢語(yǔ)言)。這種已知方法的一個(gè)版本可構(gòu)成溶合進(jìn)本發(fā)明的通信設(shè)備的的功能和方法論的一部份。
問(wèn)題3第三個(gè)問(wèn)題具有很不容易使用的通用方案。一類方案是要求為各種視窗(圖形用戶接口)系統(tǒng)寫(xiě)入大量的軟件代碼,如X-Windows,Microsoft Windows。對(duì)于大量的多功能的商業(yè)應(yīng)用,該方案要求大量的時(shí)間、金錢(qián)和人力,并且使得對(duì)用戶接口的改變和增加非常耗時(shí)耗力。
一種新的且更有希望的方案是因?yàn)樗鼈冇迷赪WW和因特網(wǎng)上,以使用HTML(超文本標(biāo)記語(yǔ)言)和網(wǎng)頁(yè)濟(jì)覽器為中心,它能生成非常好看的圖形用戶接口,通常稱為“網(wǎng)頁(yè)”。這引起了眾多公司的興趣,他們能夠看出利用HTML能快速而又簡(jiǎn)捷地建立非常好看的圖形用戶界面,并且想知道是否能以同樣的方式在與網(wǎng)站瀏覽器系統(tǒng)同樣的網(wǎng)絡(luò)系統(tǒng)上為其電子數(shù)據(jù)通信和處理程序生成該用戶接口。事實(shí)上公司們是希望通過(guò)因特網(wǎng)發(fā)送和接收所有的商業(yè)和個(gè)人數(shù)據(jù)與消息。
目前,有幾個(gè)系統(tǒng)利用HTML和網(wǎng)站瀏覽器可以允許通過(guò)因特網(wǎng)來(lái)進(jìn)行有限的商業(yè)和一般數(shù)據(jù)通信,數(shù)據(jù)通信類型受限的原因是網(wǎng)站服務(wù)器/網(wǎng)站瀏覽器系統(tǒng)沒(méi)有被設(shè)計(jì)成提供完全的數(shù)據(jù)通信服務(wù),它們是被設(shè)計(jì)成為動(dòng)態(tài)文件檢索和顯示系統(tǒng)。它們可檢索由用戶請(qǐng)求首先初始化的信息,它們并沒(méi)有給用戶向一個(gè)或多個(gè)設(shè)計(jì)者發(fā)送信息的能力,除非通過(guò)擴(kuò)展編程。進(jìn)行發(fā)送的能力并非系統(tǒng)所固有。這種類型的例子是Progress公司的Webspeed,IBM的WebEDI和Sappjire公司的PageBlazer。
即使是采用“推出”技術(shù)的網(wǎng)站瀏覽器和網(wǎng)站服務(wù)器也僅允許接收數(shù)據(jù),而不能發(fā)送。而這種接收實(shí)際上又是作為一個(gè)仿真廣播接收器、由網(wǎng)站瀏覽器和網(wǎng)站服務(wù)器系統(tǒng)發(fā)出的對(duì)信息的重復(fù)隱藏請(qǐng)求(輪流檢測(cè))而建立的。擴(kuò)展這項(xiàng)“推出”技術(shù)的計(jì)劃僅包括使用真實(shí)的廣播和多點(diǎn)傳送技術(shù)?!巴瞥觥奔夹g(shù)的示例有Marimba公司的Castanet和Tibco的TIB API,這種“推出”技術(shù)對(duì)于意欲以一種新的方式達(dá)到很大的市場(chǎng)的廣告商來(lái)說(shuō)是很有吸引力的,但對(duì)于希望或需要使用HTML和因特網(wǎng)的高級(jí)文件顯示特性的用戶來(lái)說(shuō),在采用點(diǎn)到點(diǎn)協(xié)議(該協(xié)議可以很容易地集成進(jìn)它們的已有數(shù)據(jù)庫(kù)和商業(yè)系統(tǒng))完全地集成進(jìn)雙路信息通信的環(huán)境下,則沒(méi)有多大的用途。
針對(duì)因特網(wǎng)的網(wǎng)站瀏覽器和網(wǎng)站服務(wù)器接口被建設(shè)成允許最終用戶向另一個(gè)瀏覽器的用戶發(fā)送一個(gè)消息或發(fā)送一個(gè)網(wǎng)頁(yè),通過(guò)電子郵件除外。一個(gè)瀏覽器的用戶決不會(huì)收到一個(gè)特定的消息,如果該消息是沒(méi)有被首先請(qǐng)求的,即便是通過(guò)輪流檢測(cè)請(qǐng)求了所謂的“推出”技術(shù)信息,并且該信息的本質(zhì)特征可以與一個(gè)電視廣播或一個(gè)集群郵件相比較,即使它是定制的。該信息不會(huì)發(fā)送給一個(gè)特定的接收,例如,將其與電子郵件(email)相對(duì)比。作為電子郵件,一個(gè)人可以接收任意數(shù)量的特定的、個(gè)人消息而不用事先向發(fā)送者請(qǐng)求這些信息,也可以向特定的接收用戶發(fā)送任意數(shù)量的特定的、個(gè)人消息而不用事先被請(qǐng)求,這是消息最普通最必要的本質(zhì),但是網(wǎng)站瀏覽器系統(tǒng)卻沒(méi)有設(shè)計(jì)成這樣。
為什么人們樂(lè)于使用這種方式呢?為什么它們不僅使用email呢,答案在于email沒(méi)有內(nèi)建其中的數(shù)據(jù)格式化服務(wù)(而HTML有),也沒(méi)有內(nèi)建其中的任何用戶接口生成系統(tǒng)(而網(wǎng)站瀏覽器有)。一個(gè)email消息僅占用中等數(shù)量的時(shí)間(幾秒到幾天)到達(dá)其終點(diǎn),而有時(shí)可能會(huì)丟失,這對(duì)于標(biāo)準(zhǔn)的商業(yè)電子數(shù)據(jù)通信來(lái)說(shuō)是不能接受的,這就是人們?yōu)槭裁聪矚g網(wǎng)站服務(wù)器和網(wǎng)站瀏覽器系統(tǒng),因?yàn)樗泻芎每吹膬?nèi)建其中的數(shù)據(jù)顯示能力以及中等速度的通信,它是如上面所提到的,但沒(méi)有點(diǎn)到點(diǎn)通信的能力或數(shù)據(jù)表述或映射能力。
在本發(fā)明中,可以將公共域HTML標(biāo)準(zhǔn)集成進(jìn)來(lái),作為生成非常容易建立、快速而又非常靈活的圖形用戶接口的方案。
問(wèn)題4歷史上問(wèn)題4以一種通用的方式來(lái)對(duì)待,直到最近才由關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)加以解決,該類方案受限于解決分布式查詢和分布式數(shù)據(jù)庫(kù)管理的正常功能,而不解決前面所說(shuō)的問(wèn)題4的兩個(gè)主要議題。
另一個(gè)較新的方案可在當(dāng)前稱為“中間塊”或分布式對(duì)象管理系統(tǒng)的系統(tǒng)中找到,其中一個(gè)較好的例子是稱為CORBA(共同對(duì)象請(qǐng)求中間結(jié)構(gòu))的系統(tǒng),關(guān)于CORBA的發(fā)展歷史、目標(biāo)、當(dāng)前功能及CORBA 2.0的不足的文章可在Warren Kayffill的“CORBAmasterminds object management”(DBMS雜志卷10 No.3,P 421997.3)以及在DBMS的同一刊的T.J.Hart的“Questioning CORBA.Bringing Corba-based designs to life faces a multitude ofobstacles”(P52)一文中可以見(jiàn)到。
該類型的解決方案并不致力于數(shù)據(jù)庫(kù)的互操作性,通用的數(shù)據(jù)格式出現(xiàn)在應(yīng)用層或用戶接口層,它單獨(dú)地致力于用標(biāo)準(zhǔn)通信接口寫(xiě)應(yīng)用程序和在通信層上寫(xiě)通信數(shù)據(jù)的能力。有必要為該類型的通信系統(tǒng)提供一個(gè)開(kāi)發(fā)環(huán)境、一個(gè)運(yùn)行環(huán)境和軟件庫(kù)集以便允許程序創(chuàng)建能在任意的系統(tǒng)上運(yùn)行的應(yīng)用程序,然后,在碼(也稱為對(duì)象)中定義了數(shù)據(jù)結(jié)構(gòu)之后,這此數(shù)據(jù)結(jié)構(gòu)也可以與被編碼成識(shí)別和使用那些特定數(shù)據(jù)結(jié)構(gòu)的其它軟件應(yīng)用進(jìn)行交換。
這種功能和能力實(shí)際上與一個(gè)程序員寫(xiě)一個(gè)Java形式的消息通信系統(tǒng)沒(méi)有什么不同,它幾乎可以運(yùn)行在所有系統(tǒng)上,且可以使用EDI消息或其它的雙方認(rèn)可的作為通信媒介的固定消息格式。CORBA系統(tǒng)并不解釋任何消息,而由程序員所寫(xiě)的應(yīng)用程序必須能識(shí)別該消息,這使得CORBA應(yīng)用程序作為一個(gè)EDI或固定消息格式應(yīng)用系統(tǒng)具有同樣的問(wèn)題,即開(kāi)發(fā)、變更和維護(hù)上的費(fèi)時(shí)費(fèi)力。即使CORBA系統(tǒng)所可能具有的分布式功能不是CORBA所固有的,它也能存在于設(shè)計(jì)和編碼該應(yīng)用程序并能使用該CORBA通信庫(kù)的程序員的技能中。實(shí)際上,CORBA系統(tǒng)僅有的好處是在多個(gè)運(yùn)行環(huán)境上的一個(gè)應(yīng)用系統(tǒng)的部件間的互操作性,它能比其它裝置如Java獲得更大的好處。
實(shí)際上,在大多數(shù)的情況下,“中間塊”好像是另一個(gè)電子數(shù)據(jù)通信環(huán)境,該通信環(huán)境可以在多數(shù)的計(jì)算機(jī)上提供標(biāo)準(zhǔn)的通信環(huán)境和某些標(biāo)準(zhǔn)的軟件功能,但卻不能解決軟件應(yīng)用建立的所有方面,而因此要求使用依賴于系統(tǒng)的數(shù)據(jù)庫(kù)接口和用戶接口代碼,因此使應(yīng)用如CORBA這樣系統(tǒng)的目標(biāo)受到挫折。
有一些系統(tǒng)將CORBA的功能溶進(jìn)Java并且包括一個(gè)標(biāo)準(zhǔn)的稱為ODBC(或在Java系統(tǒng)稱為JDBC)的數(shù)據(jù)庫(kù)接口,這是一個(gè)非常有意義的開(kāi)發(fā),但由于ODBC數(shù)據(jù)庫(kù)接口僅對(duì)于只讀查詢是有效的,而不能成功地創(chuàng)建要求能完整地進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)的標(biāo)準(zhǔn)商業(yè)事務(wù)系統(tǒng)。而且,這種組合也不能完全地解決問(wèn)題。而且,由于使用ODBC和CORBA對(duì)象中間(broker)系統(tǒng)的不實(shí)用的過(guò)高管理費(fèi)用,它也不是建立本發(fā)明所期望的平臺(tái)。
另外從以下將要簡(jiǎn)要描述的專利文獻(xiàn)中可以看到某些先有技術(shù)。美國(guó)專利5257369(Tibco Inc)揭示了一種較早出現(xiàn)的“中間件”,而且該文獻(xiàn)也提供了廣播功能并且是基于廣播功能。主要是提供一種方案來(lái)來(lái)解決立即傳送實(shí)時(shí)數(shù)據(jù)給多個(gè)接收者的問(wèn)題,如實(shí)時(shí)股票報(bào)價(jià)或市場(chǎng)信息,并卻并不致力于點(diǎn)到點(diǎn)通信或問(wèn)題2或3。
該消息可以改變并為一個(gè)數(shù)據(jù)結(jié)構(gòu)或?qū)ο筮M(jìn)行定義,如前面在CORBA中所描述的。但這種改變或增加消息格式的能力卻又必須得改變應(yīng)用的代碼,而且也不能將消息格式的數(shù)據(jù)映射到一個(gè)用戶接口或數(shù)據(jù)庫(kù)字段。
WO 96/20553(Alphanet Telecom,Inc)致力于增強(qiáng)電子郵件服務(wù)以包含語(yǔ)音郵件和傳真信息,對(duì)該系統(tǒng)的描述是一個(gè)中心化的服務(wù),用戶可以通過(guò)因特網(wǎng)、連接到同一設(shè)備的電話或傳真機(jī)與其連接以接收語(yǔ)音郵件、電子郵件或傳真。這項(xiàng)發(fā)明并不是特意地針對(duì)問(wèn)題1、2、3或4,但是從通信的觀點(diǎn)來(lái)看,卻提供一種方式使得電子郵件更有效。
WO 96/34341(Charles Bobo II)致力于一個(gè)中心化的服務(wù),其收集、存儲(chǔ)和允許針對(duì)所連接用戶的數(shù)據(jù)訪問(wèn),這完全不同于解決問(wèn)題1至4的點(diǎn)到點(diǎn)通信,以及對(duì)于大多數(shù)的標(biāo)準(zhǔn)商業(yè)應(yīng)用。而且,有很多的商業(yè)可用系統(tǒng)已出現(xiàn)多年,并解決與其同樣的問(wèn)題,如GEIS和IBM專用數(shù)據(jù)網(wǎng)絡(luò)。
EP-0747840 A1,EP-0747841 A1,EP-0747842 A1,EP-0747843 A1,EP-0747844 A1,以及EP-0747845 A1,(都是IBM的)致力于利用某種形式的數(shù)據(jù)訪問(wèn)增強(qiáng)當(dāng)前網(wǎng)站服務(wù)器的功能,因此仍然受限于前面討論的網(wǎng)站服務(wù)器的通信限制,因此該發(fā)明根本不能解決問(wèn)題1和4及只能部份地解決問(wèn)題2和3。而且已經(jīng)有幾個(gè)系統(tǒng)在網(wǎng)站服務(wù)器的增強(qiáng)方面提供與其類似的功能,如Progress DatabaseCorporation的WebSpeed。
WO 95/11560(Sybase,Inc)屬于“中間件”的范疇,它只解決這樣的問(wèn)題,即不管所使用的硬件或軟件如何,它可生成應(yīng)用所使用的連續(xù)的電子數(shù)據(jù)通信軟件接口。該文檔沒(méi)有以任何方式致力于正在通信的電子數(shù)據(jù)的格式,因此該方案與CORBA的極相似,并且從本發(fā)明所致力的四個(gè)問(wèn)題的觀點(diǎn)來(lái)看,它還具有著同樣的限制。
EP 0 421 624 A2(Texas Instruments Incorporate)是諸如CORBA這樣“中間件”系統(tǒng)和應(yīng)用開(kāi)發(fā)環(huán)境的集合。利用一個(gè)數(shù)據(jù)庫(kù)控制和管理軟件開(kāi)發(fā)環(huán)境,該發(fā)明允許程序員開(kāi)發(fā)C、COBOL和SQL的應(yīng)用程序。該數(shù)據(jù)庫(kù)包含允許大群的程序員對(duì)復(fù)雜的數(shù)據(jù)庫(kù)事務(wù)應(yīng)用開(kāi)發(fā)、修改和使用源代碼控制技術(shù)的信息。該數(shù)據(jù)庫(kù)也包含允許該應(yīng)用能在其它硬件系統(tǒng)上進(jìn)行再編輯的信息,并且能在每一種類型的計(jì)算機(jī)上以同樣的方式進(jìn)行工作,盡管在該發(fā)明中僅討論了IBM主機(jī)系統(tǒng)和某些UNIX系統(tǒng),最終的結(jié)果是一系列硬編碼的、編輯的應(yīng)用程序,它觖決了問(wèn)題1和2中的所有議題,但只是部份地解決了問(wèn)題3和4。
EP-0456,249 A2(Hewlett-packard Company)是諸如CORBA這樣的“中間件”系統(tǒng)與一個(gè)部份應(yīng)用開(kāi)發(fā)環(huán)境的集合,該開(kāi)發(fā)環(huán)境主要是連接以不同的高級(jí)開(kāi)發(fā)語(yǔ)言所開(kāi)發(fā)的已有應(yīng)用程序。在該發(fā)明中所引用的高級(jí)語(yǔ)言具有其數(shù)據(jù)的不同的運(yùn)行內(nèi)存內(nèi)的組織形式,并且必須從一種語(yǔ)言的組合形式向另一種形式傳送數(shù)據(jù)。為此目標(biāo),定義了中間數(shù)據(jù)表述和數(shù)據(jù)傳送命令,以便在編譯了該數(shù)據(jù)表述和傳送命令后使得該發(fā)明能從一種語(yǔ)言的運(yùn)行時(shí)表述向另一種傳送所標(biāo)識(shí)的數(shù)據(jù)結(jié)構(gòu)。本發(fā)明并不是致力于包含一個(gè)應(yīng)用獨(dú)立運(yùn)行時(shí)所必須的所有數(shù)據(jù)和命令的消息格式,只是針對(duì)在先前已有的兩個(gè)應(yīng)用間傳送特定數(shù)據(jù)所必須的數(shù)據(jù)和命令。因此,本發(fā)明根本沒(méi)有解決問(wèn)題2和3中所述的問(wèn)題,而且也僅是在編程語(yǔ)言一級(jí)上解決問(wèn)題1和4中問(wèn)題,而不是在這里所討論的應(yīng)用層上解決問(wèn)題。相對(duì)比,在本發(fā)明中,該應(yīng)用完全由消息構(gòu)成,因此沒(méi)有數(shù)據(jù)從一種語(yǔ)言向另一種語(yǔ)言的翻譯,也不需要對(duì)所要求的消息格式或命令的編譯,所有的數(shù)據(jù)保存在消息格式中,而不管它是在傳送中或駐留在計(jì)算機(jī)內(nèi)存中。
在給出上述這些之后,就會(huì)感到急切需要一種針對(duì)單一系統(tǒng)的通信方式,它解決上面討論四個(gè)問(wèn)題中的每一個(gè),并且把這些方案溶合成一個(gè)統(tǒng)一的整體,這對(duì)于那些必須建立復(fù)雜的電子數(shù)據(jù)通信系統(tǒng)和每天必須面對(duì)這些問(wèn)題的個(gè)人與公司來(lái)說(shuō)是非常有益的,這樣的系統(tǒng)和通信方法將大大降低建立、維護(hù)電子數(shù)據(jù)通信系統(tǒng)的時(shí)間、金錢(qián)或復(fù)雜性。
為取得上述的目標(biāo),本發(fā)明聲明一種通過(guò)具有靈活消息格式的消息在一個(gè)發(fā)送者與一個(gè)接收者之間進(jìn)行點(diǎn)到點(diǎn)通信的方法,其特征在于該消息包括一個(gè)頭標(biāo),至少包括消息定義參照、一個(gè)發(fā)送者標(biāo)識(shí)符和一個(gè)終點(diǎn)地址;消息內(nèi)容涉及*字段數(shù)量及任意字段的內(nèi)容,*對(duì)象的數(shù)量及任意對(duì)象的內(nèi)容,*字段映射的數(shù)量及任意字段映射的內(nèi)容,先前確定的字段可使用任意的字段映射;*動(dòng)作(action)的數(shù)量及任意動(dòng)作的內(nèi)容,先前確定的動(dòng)作至少可使用任意一個(gè)事件。
隨后,定義應(yīng)用層功能的所有單元都出現(xiàn)在消息格式中,這些單元早已存在于網(wǎng)絡(luò)通信系統(tǒng)的內(nèi)容中,因此可以很容易地通過(guò)簡(jiǎn)單改變一個(gè)位置及目標(biāo)地址來(lái)進(jìn)行分布。
而且,根據(jù)本發(fā)明,也聲明了一種通信設(shè)備,它包括處理裝置和一個(gè)數(shù)據(jù)庫(kù),其通過(guò)具有靈活消息格式的消息被配置成用于與另一個(gè)通信設(shè)備進(jìn)行點(diǎn)到點(diǎn)的通信,該消息包括一個(gè)頭標(biāo),至少包括消息定義參照、一個(gè)發(fā)送者標(biāo)識(shí)符和一個(gè)終點(diǎn)地址;消息內(nèi)容涉及*字段數(shù)量及任意字段的內(nèi)容,*對(duì)象的數(shù)量及任意對(duì)象的內(nèi)容,*字段映射的數(shù)量及任意字段映射的內(nèi)容,先前確定的字段可使用任意的字段映射;*動(dòng)作的數(shù)量及任意動(dòng)作的內(nèi)容,先前確定的動(dòng)作至少可使用任意一個(gè)事件。
該處理裝置被配置成利用消息定義參照作為預(yù)先確定的消息定義表的參考,查詢存儲(chǔ)在數(shù)據(jù)庫(kù)中的預(yù)先定義的消息定義表。
這樣,在本發(fā)明中定義了一個(gè)靈活的消息格式,它能包含任意類型的數(shù)據(jù)和完全描述該消息本身內(nèi)的數(shù)據(jù)的足夠的信息。任意一個(gè)消息包含消息定義參照,該消息定義參照由一個(gè)接收消息以標(biāo)識(shí)一個(gè)預(yù)先裝載在該數(shù)據(jù)庫(kù)內(nèi)的消息定義的本發(fā)明所聲明的通信設(shè)備所使用。但是,僅管對(duì)于一次或所有情形來(lái)說(shuō),預(yù)先裝載的消息定義不是靈活的,但本技術(shù)是靈活的。在接收該消息的通信設(shè)備內(nèi),通過(guò)插入、更新或刪除關(guān)系數(shù)據(jù)庫(kù)表中的入口項(xiàng),可以生成、編輯或刪除消息格式的特定事例,該入口項(xiàng)完整地描述了該消息并將其與一個(gè)唯一的標(biāo)識(shí)符相參照。而且如果在一個(gè)期望的位置缺少消息的定義,可針對(duì)特定的消息或消息組自動(dòng)地交換整個(gè)數(shù)據(jù)庫(kù)的消息定義,由此為多個(gè)用戶生成易于交換的通用格式消息。本發(fā)明的另一個(gè)優(yōu)點(diǎn)是必要的企業(yè)管理費(fèi)用很少。
在消息定義參照內(nèi)的字段的的例子是一個(gè)用于標(biāo)識(shí)消息的任意部份的消息標(biāo)識(shí)符、一個(gè)用于對(duì)任意消息標(biāo)識(shí)其消息類別的消息類別標(biāo)識(shí)符,例如郵件、商業(yè)消息、定單或發(fā)貨,以及一個(gè)用于標(biāo)識(shí)消息的任意部份的版本號(hào)的消息版本標(biāo)識(shí)符,和一個(gè)用于標(biāo)識(shí)消息的任意部份的創(chuàng)建者的消息創(chuàng)建者標(biāo)識(shí)符。在該消息定義參照內(nèi)的所有字段都在所聲明的通信設(shè)備內(nèi)的消息定義表中有一個(gè)副本。
而且,消息的頭標(biāo)可包括一個(gè)對(duì)加密類型和/或所用壓縮類型的參照,而且所有這些參照都會(huì)在該通信設(shè)備的消息定義表中有一個(gè)副本。
最好,該消息的內(nèi)容通過(guò)數(shù)字簽名的方式加以保護(hù)。
最好,該通信設(shè)備的數(shù)據(jù)庫(kù)是以幾個(gè)表形式加以組織,而對(duì)該表的參照是從消息定義表中來(lái)制取。然后,該預(yù)先確定的消息定義表包括一個(gè)用作為對(duì)該數(shù)據(jù)庫(kù)中的更進(jìn)一步表的參照的消息系統(tǒng)標(biāo)識(shí)符。
這些更進(jìn)一步的表的其中之一是字段定義表,用于容納對(duì)該消息的任意字段的主要定義。
最好這些更進(jìn)一步表的其中之一是一個(gè)字段映射表,該表包含由前面預(yù)先確定的字段所用的映射信息,例如,映射到超文本標(biāo)記語(yǔ)言字段、數(shù)據(jù)庫(kù)字段、平文件字段和其它消息字段。所述的數(shù)據(jù)庫(kù)字段和平文件字段存儲(chǔ)在客戶的數(shù)據(jù)庫(kù)中。然后根據(jù)本發(fā)明的該消息格式不僅包含數(shù)據(jù),也包括針對(duì)用戶接口、客戶數(shù)據(jù)庫(kù)字段的映射命令以及包含計(jì)算和條件邏輯的動(dòng)作序列。隨后,定義應(yīng)用層功能的所有單元都出現(xiàn)在消息格式中,這些單元早已存在于網(wǎng)絡(luò)通信系統(tǒng)的內(nèi)容中,因此可以很容易地通過(guò)簡(jiǎn)單改變一個(gè)位置及目標(biāo)地址來(lái)進(jìn)行分布。而且,以這種方式可以結(jié)合進(jìn)HTML標(biāo)準(zhǔn),用于生成非常容易建立的、快速而又靈活的圖形用戶接口,允許直接映射到由該發(fā)明定義的消息格式或從該消息格式進(jìn)行映射,由所聲明的通信設(shè)備進(jìn)行管理、定義和控制,并與一個(gè)連接到該通信設(shè)備上的用戶終端進(jìn)行交互并在其上進(jìn)行顯示,象一個(gè)微處理器。
另外,這種更進(jìn)一步的表的其中之一是字段動(dòng)作表,它包含由預(yù)先確定的字段所使用的動(dòng)作信息。
最好,這些表是包含要對(duì)接收或發(fā)送的消息進(jìn)行預(yù)先處理而要執(zhí)行的動(dòng)作清單的消息預(yù)先處理表和要對(duì)所接收的消息進(jìn)行后處理而要執(zhí)行的動(dòng)作清單的消息后處理表。
該字段動(dòng)作表、消息預(yù)先處理表和消息后處理表包含對(duì)從下列事件組中選出的動(dòng)作類型的參照動(dòng)作的數(shù)據(jù)類型包含數(shù)學(xué)計(jì)算、賦值、邏輯操作、條件操作的動(dòng)作邏輯類型和命令等。
最好在本發(fā)明中,應(yīng)用被定義為一個(gè)或多個(gè)消息的所謂的組。為此,消息定義表包含一個(gè)用于標(biāo)識(shí)所接收的消息是否是一個(gè)應(yīng)用的第一消息的應(yīng)用字段和一個(gè)用于參照該應(yīng)用的名稱的應(yīng)用名字段。
按照本發(fā)明,所聲明的通信設(shè)備最好被配置成如果所接收到的消息參照的消息定義沒(méi)有出現(xiàn)在它的數(shù)據(jù)庫(kù)中,則向發(fā)送者請(qǐng)求一個(gè)新的消息定義,并且從所述的發(fā)送者接收所述的新的消息定義并將其存儲(chǔ)在所述數(shù)據(jù)庫(kù)的消息定義表中。
該通信設(shè)備的處理裝置可配置為或者將所接收到的消息與一個(gè)HTML文件相溶合,或者如果該處理裝置沒(méi)有找到所指定的HTML文件就生成一個(gè)缺省的動(dòng)態(tài)HTML文件。但是,作為替換,該通信設(shè)備的處理裝置也可以指示一個(gè)連接的終端來(lái)進(jìn)行這些功能。因此本發(fā)明也涉及一種包含上面所描述的通信設(shè)備和連接到該通信設(shè)備的終端的系統(tǒng),該終端包括一個(gè)終端處理器、一個(gè)顯示單元、一個(gè)由用戶進(jìn)行數(shù)據(jù)輸入的輸入裝置,該通信設(shè)備被配置成向該終端傳遞所接收的數(shù)據(jù),如果該終端已在該消息中指明是最終地址的話,并且,該終端處理器可配置為或者將該消息與一個(gè)指定的HTML文件相溶合,或者如果該終端處理器沒(méi)有找到所指定的HTML文件就生成一個(gè)缺省的動(dòng)態(tài)HTML文件。
這樣,接收一個(gè)該終端處理器對(duì)其沒(méi)有相應(yīng)的消息定義的消息的用戶終端就可以根據(jù)系統(tǒng)的自動(dòng)說(shuō)明和顯示來(lái)進(jìn)行應(yīng)答,其中的顯示基于所接收的消息內(nèi)包含的自我描述信息。如果由該消息所參照的數(shù)據(jù)庫(kù)消息定義能夠找到的話,同一個(gè)自我描述信息就可以被該終端處理器用來(lái)自動(dòng)生成一個(gè)缺省數(shù)據(jù)庫(kù)消息定義。這種缺省的數(shù)據(jù)庫(kù)消息定義可以被編輯和適應(yīng)于該終端用戶的本地系統(tǒng)。
本發(fā)明包含一個(gè)對(duì)問(wèn)題2和3的技術(shù)方案的陳述(state),它以一種獨(dú)特的方式與全新的針對(duì)問(wèn)題1和4的方案綜合在一起,它們都是維繞一個(gè)獨(dú)特、靈活的格式電子數(shù)據(jù)消息管理系統(tǒng)而建立,而該系統(tǒng)又是由所聲明的靈活消息格式和通信設(shè)備組成。
本發(fā)明的消息管理系統(tǒng)(是由存儲(chǔ)在一個(gè)關(guān)系數(shù)據(jù)庫(kù)中的表內(nèi)的詳細(xì)的信息定義和控制的)能以更靈活的格式實(shí)現(xiàn)更有效、完整、簡(jiǎn)單易用的傳送電子數(shù)據(jù),該靈活的消息格式可能包括任何形式的電子數(shù)據(jù)。該靈活消息格式包含允許接收者說(shuō)明、理解和顯示該消息的內(nèi)容的信息,即使是在以前它從沒(méi)有接收過(guò)。該接收器也可以把這種未知的消息格式加到它自己的消息數(shù)據(jù)庫(kù)中并很容易、快速地將其連接進(jìn)其商業(yè)數(shù)據(jù)庫(kù)和HTML用戶接口,而不必編寫(xiě)或改變?nèi)魏诬浖?。在沒(méi)有特別聲明的、先前已創(chuàng)建的HTML文件的情況下,也可以由任何終端的軟件動(dòng)態(tài)地生成一個(gè)HTML用戶接口。這解決了第一個(gè)議題。
在本發(fā)明中,提供了一個(gè)與主要關(guān)系數(shù)據(jù)庫(kù)的ANSI標(biāo)準(zhǔn)的SQL接口,該接口提供自動(dòng)地將用戶選擇的一個(gè)數(shù)據(jù)消息的字段鏈接到一關(guān)系數(shù)據(jù)庫(kù)中的該字段的服務(wù),以便隨后的存儲(chǔ)或檢索。這種數(shù)據(jù)映射接口也可以鏈接到平文件格式,如固定長(zhǎng)度字段和CSV(逗號(hào)分隔值)文件。這種數(shù)據(jù)映射接口也可擴(kuò)展為將消息數(shù)據(jù)字段鏈接到多種其它的格式,如用于自動(dòng)處理控制的SNMP和制造協(xié)議。該數(shù)據(jù)映射字段由在ILMDB中的入口項(xiàng)定義并由ILMS控制,這解決了第二個(gè)問(wèn)題。
在本發(fā)明中提供了一個(gè)消息控制用戶接口終端,其中一個(gè)用戶可生成、編輯、發(fā)送和查看消息。該消息控制用戶接口與一個(gè)網(wǎng)絡(luò)和利用本發(fā)明事先配置的消息管理服務(wù)器進(jìn)行通信。本質(zhì)上,本發(fā)明替換了針對(duì)那些需要完全數(shù)據(jù)通信能力的個(gè)人或公司的當(dāng)前的網(wǎng)站服務(wù)器/網(wǎng)站瀏覽器,并將該系統(tǒng)域擴(kuò)展為包含任何數(shù)據(jù)通信網(wǎng)絡(luò)。這就使得可以進(jìn)行完全地發(fā)送和接收HTML、VRML和Java小應(yīng)用程序以及用戶定義的一個(gè)特定消息中任何特定數(shù)據(jù)。當(dāng)與先前描述的特征進(jìn)行組合以后,就提供了在一個(gè)消息的數(shù)據(jù)、從中進(jìn)行檢索和存儲(chǔ)的客戶數(shù)據(jù)源以及它所用來(lái)顯示的圖形用戶接口(HTML等)之間的完全的數(shù)據(jù)庫(kù)控制鏈接。
除了上面討論的議題,本發(fā)明還增加了自動(dòng)定義系統(tǒng)執(zhí)行的動(dòng)作的能力,該動(dòng)作可以作為一個(gè)消息在處理之前或之后進(jìn)行組織,也可以在消息與一個(gè)圖形用戶接口、字段選擇動(dòng)作進(jìn)行鏈接的情況下組織。這些動(dòng)作也可以定義為SQL或“InterlinguaTMScript”(IS)。本發(fā)明定義了“InterlinguaTMScript”,它是一個(gè)簡(jiǎn)單、強(qiáng)有力的計(jì)算、執(zhí)行和條件邏輯控制聲明的集合,它是以實(shí)時(shí)方式動(dòng)態(tài)解釋和執(zhí)行的,并且可以與所有的消息數(shù)據(jù)字段進(jìn)行交互。這些動(dòng)作可以產(chǎn)生一個(gè)新的消息,可以建立系統(tǒng)功能和外部程序或者發(fā)送和接收數(shù)據(jù)庫(kù)查詢,這此動(dòng)作也可以用于產(chǎn)生一個(gè)自動(dòng)消息響應(yīng)、自動(dòng)字段校驗(yàn)、執(zhí)行計(jì)算、運(yùn)行Java小應(yīng)用程序或一個(gè)復(fù)雜的數(shù)據(jù)庫(kù)事務(wù)等。
在本發(fā)明中我們還真正地提出了一種方法,即將應(yīng)用定義為一個(gè)消息和它的相關(guān)動(dòng)作的集合。由于在消息間的交互的豐富和靈活,其運(yùn)行數(shù)據(jù)庫(kù)事務(wù)的能力與圖形用戶接口相溶合或產(chǎn)生該接口,或作為一個(gè)后臺(tái)在系統(tǒng)中靜靜地運(yùn)行,是有可能把一個(gè)復(fù)雜的應(yīng)用完全定義為數(shù)據(jù)消息和與其相關(guān)的動(dòng)作集合。它還在分布式應(yīng)用處理領(lǐng)域具有非常大的含義,因?yàn)榇讼⒆鳛橄到y(tǒng)的一項(xiàng)基本功能,將是非常容易發(fā)送、接收、理解和組織。這意味著第一次一個(gè)分布式應(yīng)用系統(tǒng)可以很容易、靈活地定義,而不必更改或增加每一個(gè)區(qū)域的軟件代碼、本地用戶接口和客戶數(shù)據(jù)源接口(如商業(yè)數(shù)據(jù))而仍然使用同一個(gè)應(yīng)用。
附圖的簡(jiǎn)要描述本發(fā)明將參照附圖進(jìn)行描述,這些附只是用于說(shuō)明的目的而不具有限制本發(fā)明的范圍的作用。
圖1示出了按照本發(fā)明的系統(tǒng)框圖的概覽;圖2a、2b、2c、2d、2e示出了一個(gè)按照本發(fā)明的消息格式。
優(yōu)選實(shí)施例的描述圖1中示了多個(gè)服務(wù)器SRV(m)=1,....M,其中任一個(gè)服務(wù)器均可連接到一個(gè)或多個(gè)終端,連接到服務(wù)器SRV(m)的終端用ILMC(n)(n=1,...N)來(lái)表示,“ILMC”是“InterlinguaTMMessage Client”的縮寫(xiě),連接是用4、5來(lái)編號(hào)。
而且,服務(wù)器SRV(1)連接到一個(gè)客戶數(shù)據(jù)庫(kù)CDB(1)。僅管只示出了一個(gè)客戶數(shù)據(jù)庫(kù)CDB(1),也可以根據(jù)需要應(yīng)用多個(gè)客戶數(shù)據(jù)庫(kù)。
終端ILMC(1)已經(jīng)在圖中進(jìn)行了詳細(xì)的描述,所示的終端ILMC(1)包含一個(gè)監(jiān)視器屏6、一個(gè)處理單元1、一個(gè)鍵盤(pán)12和一個(gè)鼠標(biāo)13。鍵盤(pán)12和鼠標(biāo)13被連接到該處理單元1。當(dāng)然其它的用戶能將數(shù)據(jù)輸入到處理單元1的裝置也是可用的,而不僅是鍵盤(pán)和鼠標(biāo)。
監(jiān)視器屏6示出了一些“按鍵”7,8,9,10,11,這些按鍵可由用戶通過(guò)使用鼠標(biāo)來(lái)起作用,以便指示處理單元執(zhí)行一些預(yù)定的任務(wù),這些預(yù)定的任務(wù)可以是一些選項(xiàng)的打開(kāi)、建立連接、發(fā)送消息、接收消息和/或?qū)?shù)據(jù)裝進(jìn)處理單元1的內(nèi)存中。
服務(wù)器SRV(1)設(shè)置有一個(gè)稱為InterlinguaTM消息服務(wù)器ILMS的處理器,用于按照本發(fā)明的方法接收、傳遞或發(fā)送消息。此ILMS處理器部份用IS(InterlinguaTMScript)來(lái)表示,其功能將在下面進(jìn)行論述。
服務(wù)器SRV(1)也包括一個(gè)數(shù)據(jù)庫(kù)ILMDB(=InterlinguaTMMessage Database),用于存儲(chǔ)按照本發(fā)明的幾個(gè)表,也將在后面進(jìn)行敘述。
服務(wù)器SRV(1)被配置為通過(guò)一個(gè)通信路徑2與其它服務(wù)器進(jìn)行點(diǎn)到點(diǎn)的通信,該通信路徑可以任何一種已知的方式建立,如有線或無(wú)線的。
圖1也示出連接到一個(gè)或多個(gè)終端ILMC的幾個(gè)其它服務(wù)器SRV(m),這些服務(wù)器SRV(m)也是按照本發(fā)明進(jìn)行組織,在下面進(jìn)行描述。
圖2a、2b、2c、2d、2e給出了消息格式。在圖2a中,給出的消息格式包括四個(gè)字段,即MSG Id,MSG Class,MSG Version和MSG Creator,用作為接收該消息的任何設(shè)備的消息定義參照。
字段MSG Id(消息標(biāo)識(shí))用于定義該消息。
MSG Class(消息類別)用于指定消息的目錄或類型,如郵件、商業(yè)消息、定單或發(fā)貨等。
字段MSG VERSION(消息版本)包括一個(gè)消息的版本標(biāo)識(shí)符,用于標(biāo)識(shí)所涉及消息的版本號(hào)。
第四個(gè)字段MSG CREATOR(消息創(chuàng)建者)包括消息創(chuàng)建者的標(biāo)識(shí)符,用于標(biāo)識(shí)所涉及消息的創(chuàng)建者。
MSG Id,Class和Version字段是一個(gè)整數(shù)值。例如,每個(gè)MSGClass中有1000000個(gè)MSG Id和10000個(gè)MSG Class。每個(gè)MSG Id和MSG Class對(duì)可以有例如100個(gè)MSG Version。MSG Class可以例如按如下來(lái)組織。MSG Class 1-20可以保留用于ILMS,MSG Class21-100可以預(yù)先定義為目錄,如定單、介紹、發(fā)貨等。余下的9900個(gè)MSG Class則給用戶定義用。MSG Creator可以有例如80個(gè)字符,這是為了便于標(biāo)識(shí)由特定用戶或公司創(chuàng)建的整個(gè)消息集,以便使自動(dòng)傳送很容易。
與其它五個(gè)字段一起,這些消息定義參照形成了一個(gè)消息的頭標(biāo),這五個(gè)其它字段是SENDER Id、DESTINATION ADDRESS、ENCRYPTION TYPE、COMPRESSION TYPE和APPLICATION NAME。
該Sender Id(發(fā)送者標(biāo)識(shí))是一個(gè)用戶名,由具有附屬有服務(wù)器SRV(m)的名稱的服務(wù)器SRV(m)來(lái)加以識(shí)別,并且是以一種例如類似電子郵件地址的方式來(lái)進(jìn)行(如user-xyz@ilserver.com)。字段DESTINATION ADDRESS(目標(biāo)地址)是用于標(biāo)識(shí)所涉及的消息要傳送的地址,該目標(biāo)地址可以與SENDERId具有同樣的格式。
字段ENCRYPTION TYPE(加密類型)用于對(duì)所施加的加密類型的參照(如果需要加密的話)。字段CONPRESSION TYPE(壓縮類型)用于標(biāo)識(shí)所施加的壓縮的類型(如果要求的話)。
字段APPLICATION NAME(應(yīng)用名)用于標(biāo)識(shí)所涉及的該消息是否是構(gòu)成一個(gè)應(yīng)用的一系列消息中的一員。
Field Count(字段數(shù)量)給出了字段數(shù)量,例如從0到256。一個(gè)“字段”其內(nèi)容是指一個(gè)特定的數(shù)據(jù)類型和數(shù)據(jù)本身。實(shí)際的字段消息跟隨在該字段之后(如果數(shù)量是大于0的話)。參照?qǐng)D2b,一個(gè)字段由一個(gè)TYPE(類型)標(biāo)識(shí)符、SIZE(大小)值、用于內(nèi)部識(shí)別的字段Name(名稱)、用于缺省顯示的字段Label(標(biāo)簽)和同樣用于缺省顯示的字段Description(描述)來(lái)定義。其后的數(shù)據(jù)長(zhǎng)度可以通過(guò)組合TYPE和SIZE字段知道。一個(gè)字段的定義直接跟隨在另一個(gè)之后,中間沒(méi)有分隔符。
經(jīng)常,尤其是在HTML型數(shù)據(jù)中,通常有一個(gè)對(duì)包含二進(jìn)制圖像、聲音或程序數(shù)據(jù)的本地文件的參照。為了保證正確的傳送和對(duì)照這些外部引用對(duì)象,在該消息的末尾通常將它們自動(dòng)地進(jìn)行編組,如圖2a所示,讓參照它們的字段指向這些對(duì)象。當(dāng)接收該消息時(shí),這些對(duì)象自動(dòng)地進(jìn)行本地存儲(chǔ),然后該對(duì)象參照自動(dòng)地調(diào)整為訪問(wèn)在新的位置上的對(duì)象。Object Count(對(duì)象數(shù)量)字段給出了在該消息中的對(duì)象的個(gè)數(shù),范圍是從0到256。對(duì)象數(shù)據(jù)緊隨在該字段之后(如果該數(shù)量是大于0的話)。一個(gè)對(duì)象最好由MIMEType(MIME類型)/內(nèi)容標(biāo)識(shí)符、一個(gè)SIZE(大小)值以及實(shí)際的對(duì)象數(shù)據(jù)來(lái)定義,如圖2c所示,一個(gè)對(duì)象的定義直接跟隨在另一個(gè)之后,而沒(méi)有另外的分隔符。
參照?qǐng)D2d,一個(gè)字段映射例如可由FIELD IDENTIFIER(字段標(biāo)識(shí)符),MAPPING TYPE(映射類型)和MAPPING DATA(映射數(shù)據(jù))來(lái)定義,如圖2e所示,動(dòng)作可以簡(jiǎn)單地由ACTION TYPE(動(dòng)作類型)及其后的ACTION DATA(動(dòng)作數(shù)據(jù))定義。
一個(gè)使用服務(wù)器SRV鑰的數(shù)字簽名最好在整個(gè)消息上創(chuàng)建并加到該對(duì)象清單的末尾。
在圖2a、2b、2c、2d和2e中定義的可用的數(shù)據(jù)類型舉例如下1)統(tǒng)一編碼字符串;2)獨(dú)立于計(jì)算機(jī)硬件的任意大小的整數(shù);3)IEEE 8位格式浮點(diǎn)數(shù);4)統(tǒng)一資源定位符;5)GIF和JPEG格式的圖像數(shù)據(jù)6)MIMI聲明的數(shù)據(jù)表述。
事實(shí)上,GIF和JPEG數(shù)據(jù)也可以包括在MIME類型。在這些格式中對(duì)圖像指定一種特定的數(shù)據(jù)類型的判定是由它們?cè)贖TML類型顯示系統(tǒng)中的使用頻率來(lái)驅(qū)動(dòng)的,最經(jīng)常使用的數(shù)據(jù)類型有其自己的定義,任何其它的數(shù)據(jù)類型都可以包括為已有的MIME類型或特定的MIME擴(kuò)展,這此數(shù)據(jù)類型僅由舉例的方式來(lái)聲明,本發(fā)明的保護(hù)范圍并不僅限于優(yōu)選的數(shù)據(jù)類型。
每一個(gè)消息都可以有其自己的數(shù)字簽名和可選的加密和、或壓縮,這是由服務(wù)器SRV(m)自動(dòng)地管理的。
消息數(shù)據(jù)庫(kù)一個(gè)靈活的消息格式定義管理和控制系統(tǒng)通過(guò)使用ILMDB數(shù)據(jù)庫(kù)來(lái)實(shí)施,該數(shù)據(jù)庫(kù)作為一個(gè)關(guān)系數(shù)據(jù)庫(kù)包括a)詳細(xì)的消息定義;b)消息映射指令b.1)映射到客戶數(shù)據(jù)庫(kù)字段b.2)映射到客戶平文件格式b.3)映射到客戶用戶接口(HTML)字段;b.4)映射到其它消息字段;c)消息事件列表(SQL,Java,計(jì)算、邏輯流、消息呼叫、外部程序呼叫)c.1)消息預(yù)處理動(dòng)作;c.2)消息后處理動(dòng)作;c.3)消息字段用戶接口事件動(dòng)作。
該信息保存在關(guān)系數(shù)據(jù)庫(kù)ILMDB的表中,并且允許系統(tǒng)完全地說(shuō)明和處理任何消息,可以增加新的消息定義,也可以改變已有的定義。消息定義可以從一個(gè)服務(wù)器SRV(m)發(fā)送給另一個(gè)服務(wù)器以便組合進(jìn)消息數(shù)據(jù)庫(kù)ILMDB。每一個(gè)靈活的消息格式包括足夠的自我描述信息以便使服務(wù)器SRV(m)解釋一個(gè)先前未曾見(jiàn)過(guò)的消息,然后在ILMDB中自動(dòng)地為其生成一個(gè)新的消息定義入口。該新的消息可以由一個(gè)系統(tǒng)管理員編輯或增強(qiáng)功能以便完成映射進(jìn)該接收者的系統(tǒng)。
消息數(shù)據(jù)并不保存在數(shù)據(jù)庫(kù)ILMDB中,僅是其定義而已。消息數(shù)據(jù)被保存在一磁盤(pán)存儲(chǔ)系統(tǒng)上的壓縮文件中,根據(jù)由系統(tǒng)管理員選擇的服務(wù)器消息周期選項(xiàng),這些文件被周期性地歸檔或刪除。
在數(shù)據(jù)庫(kù)ILMDB內(nèi)需要定義且控制或者接收或發(fā)送的消息的主要關(guān)系表如下表名描述msgdef InterLinguaTM消息定義flddef 消息字段定義fldmap 字段映射fldact 字段動(dòng)作定義(每字段一個(gè)動(dòng)作)msgpre 消息預(yù)先處理(消息動(dòng)作序列)msgpost 消息后處理(消息動(dòng)作處理)在本技術(shù)領(lǐng)域內(nèi)熟練的系統(tǒng)開(kāi)發(fā)者會(huì)意識(shí)到會(huì)有很多其它的相關(guān)信息表能使整個(gè)系統(tǒng)更易于使用且可控制次級(jí)系統(tǒng)特征,這其中的一個(gè)例子是所有與用戶帳戶和用戶信息、系統(tǒng)管理與系統(tǒng)安全相關(guān)的表。而這里所提供的表是按照優(yōu)選實(shí)施例實(shí)施本發(fā)明所必須的一些核心表,其它的擴(kuò)展和增強(qiáng)都將在本發(fā)明的范圍內(nèi)。
表msgdef該表用于保持消息的主要定義,一個(gè)消息完全由該表的前四個(gè)字段來(lái)標(biāo)識(shí),第五個(gè)字段(msysid)是由服務(wù)器處理器ILMS內(nèi)部分配的一個(gè)標(biāo)識(shí),并且也用作為對(duì)該數(shù)據(jù)庫(kù)內(nèi)的其它表的標(biāo)識(shí)和快速訪問(wèn)的參照。
字段名 類型 描述msgid 整數(shù) 消息標(biāo)識(shí)msgver 整數(shù) 消息版本msgclass 整數(shù) 消息類別creatid字符 創(chuàng)建者標(biāo)識(shí)符msysid 整數(shù) 消息系統(tǒng)Idcreatdate 日期 創(chuàng)建日期usedate日期 使用日期這兩個(gè)字段控制一條消息在ILMS中存儲(chǔ)的時(shí)間durdays整數(shù) 周期天數(shù)durmins整數(shù) 周期分鐘這兩個(gè)字段標(biāo)識(shí)加密類型和數(shù)字簽名算法encrtype 字符 加密類型sigtype字符 數(shù)字簽名類型該字段指示消息是否顯示silent 布爾 消息靜默標(biāo)志該字段指示該消息是否能初始化或響應(yīng)事件active 布爾 處理使能標(biāo)志msgicon字符 消息圖標(biāo)文件(用于ILMC顯示)
msghtml字符消息HTML文件(用于ILMC顯示)該字段指示該消息是否是應(yīng)用中的第一個(gè)appmain布爾應(yīng)用主標(biāo)志如果該消息是應(yīng)用的一部份則該字段包含一個(gè)名稱appname字符應(yīng)用名稱descr 字符消息描述表flddef該表用于保持對(duì)所有消息的所有字段的主要定義,一個(gè)字段唯一地由‘msgdef’表中的‘msysid’或一個(gè)字段序列標(biāo)識(shí)號(hào)碼(fldseq)或一個(gè)字段名(fldname)來(lái)標(biāo)識(shí)。
字段名 類型 描述msyid 整型 消息系統(tǒng)Idfldseq 整型 字段序列fldname字符 字段名這三個(gè)字段用于生成1、2(表)或3維陣列ar1整型 陣列維度1ar2整型 陣列維度2ar3整型 陣列維度3
fldtype 字符 字段數(shù)據(jù)類型該字段的大小根據(jù)不同的數(shù)據(jù)類型有不同的說(shuō)明fldsize 整型 字段大小如果該字段是用于對(duì)另一個(gè)作為一個(gè)數(shù)據(jù)結(jié)構(gòu)的消息的參照,則使用該字段。
Smsysid 整型 子消息系統(tǒng)Id如果該字段包含MIME數(shù)據(jù),則使用這兩個(gè)字段mimecont 字符 MIME內(nèi)容標(biāo)識(shí)符mimetype 字符 MIME類型標(biāo)識(shí)符fldlabel 字符 字段標(biāo)號(hào)(用于ILMC顯示)fldcom 字符 字段注釋(用于ILMC顯示)表fldmap該表用于保持一個(gè)字段所用的所有映射信息,該表可以定義到數(shù)據(jù)庫(kù)字段、平文件字段和其它消息字段的映射,該字段以與表‘flddef’同樣的方式進(jìn)行標(biāo)識(shí)。對(duì)于每一字段,有一個(gè)針對(duì)數(shù)據(jù)的映射和一個(gè)用于顯示的映射,但在一個(gè)字段被定義為一個(gè)陣列時(shí)除外。一個(gè)數(shù)據(jù)映射和一個(gè)顯示映射可被分配給一個(gè)或多個(gè)元件或一個(gè)陣列的維度(dimentional)行。
字段名 類型描述msysid 整型消息系統(tǒng)Idfldseq 整型字段序列fldname字符字段名這三個(gè)字段允許對(duì)特定陣列單元或維度行的映射ar1整型陣列維度1ar2整型陣列維度2ar3整型陣列維度3這個(gè)字段允許該數(shù)據(jù)從在同一個(gè)消息文本內(nèi)的最近活動(dòng)的前一個(gè)消息進(jìn)行傳送,對(duì)于一個(gè)特定的用戶連接來(lái)說(shuō),該消息是當(dāng)前活動(dòng)的消息集。
cpyfld 字符拷貝字段(從Msg)這三個(gè)字段用于聲明SQL可訪問(wèn)的關(guān)系數(shù)據(jù)庫(kù)中的一個(gè)特定的字段。
dbnam 字符數(shù)據(jù)庫(kù)名tblnam 字符表名fldnam 字符字段名該字段聲明HTML文件(msgdef.msghtml)中一個(gè)用于顯示的字段。
tagnam字符 HTML標(biāo)簽名這兩個(gè)字段聲明一個(gè)固定文件長(zhǎng)度或逗號(hào)分隔值的平文件。
flatfile 字符 平文件名filetype 字符 文件類型(固定的,CSV)這四個(gè)字段聲明了該平文件的字段位置。
rowbegin 整型 行開(kāi)始colbegin 整型 列開(kāi)始(或CSV的字段#)rowend整型 行結(jié)束colend整型 列結(jié)束表fldact該表用于保持一個(gè)字段可能使用的所有動(dòng)作信息。動(dòng)作可以是數(shù)據(jù)庫(kù)類型的動(dòng)作或邏輯類型的動(dòng)作。每個(gè)字段有一個(gè)動(dòng)作,除非該字段被定義為一個(gè)陣列。一個(gè)動(dòng)作可以被分配給一個(gè)或多個(gè)單元或一個(gè)陣列的維度行。
字段名類型描述msysid整型消息系統(tǒng)Id
fldseq 整型 字段序列fldname字符 字段名稱ar1整型 陣列維度1ar2整型 陣列維度2ar3整型 陣列維度3該事件定義了動(dòng)作類型SQL或IS、文件或本地acttype字符 動(dòng)作類型該字段包含SQL、IS或一個(gè)其內(nèi)容是SQL或IS的文件名actscript字符 動(dòng)作代碼表msgpre和msgpost這兩個(gè)表msgpre和msgpost具有一個(gè)相同的結(jié)構(gòu),表msgpe擁有要由服務(wù)器處理器ILMS執(zhí)行的動(dòng)作清單,作為對(duì)一個(gè)特定消息的預(yù)處理。這意味著在任何顯示或字段動(dòng)作發(fā)生之前,該服務(wù)器處理器ILMS完成該清單或預(yù)處理功能。表‘msgpost’ 擁有要由服務(wù)器處理器ILMS執(zhí)行的動(dòng)作清單,作為對(duì)一個(gè)特定消息的后處理。這意味著在所有其它消息動(dòng)作或顯示完成之后,在從主存儲(chǔ)器中刪除該消息之前,該服務(wù)器處理器ILMS完成該后處理功能的清單。該處理序列號(hào)用于生成該動(dòng)作清單的一個(gè)控制執(zhí)行。先前的序列號(hào)必須在下一個(gè)開(kāi)始之前完成。如果有不只一個(gè)動(dòng)作具有同一序列號(hào),它們就同時(shí)開(kāi)始或者,在一個(gè)多CPU或大規(guī)模并行環(huán)境內(nèi)作為真正的并行處理。
表msgpre字段名 類型 描述msysid 整型 消息系統(tǒng)Idprocseq 整型 處理序列該字段定義動(dòng)作類型SQL或IS、文件或本地proctype字符 預(yù)處理類型該字段包含SQL、IS或一個(gè)其內(nèi)容是SQL或IS的文件名proscript 字符 預(yù)處理代碼表msgpost字段名 類型 描述msysid 整型 消息系統(tǒng)Idprocseq 整型 處理序列該字段定義動(dòng)作類型SQL或IS、文件或本地proctype字符 后處理類型該字段包含SQL、IS或一個(gè)其內(nèi)容是SQL或IS的文件名procscript 字符 后處理代碼InterLinguaTM代碼(動(dòng)作定義和控制語(yǔ)言)針對(duì)消息預(yù)處理、后處理、或字段動(dòng)作的任何動(dòng)作可以是一個(gè)SQL動(dòng)作或IS動(dòng)作。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是針對(duì)關(guān)系數(shù)據(jù)庫(kù)的ANSI標(biāo)準(zhǔn)接口語(yǔ)言,而IS(InterLingusTMScript)是服務(wù)器處理器ILMS的一個(gè)預(yù)先確定部份(參照?qǐng)D1),且是一個(gè)小但強(qiáng)有力的計(jì)算、執(zhí)行條件邏輯聲明的集合,它能給消息一個(gè)應(yīng)用層功能。在一個(gè)優(yōu)選的實(shí)施例中,此IS的定義如下計(jì)算根據(jù)所要處理的整型和浮點(diǎn)型值可以進(jìn)行加(+)、減(-)、乘(*)、除(/)操作。括號(hào)‘()’用于對(duì)數(shù)學(xué)操作進(jìn)行分組。
賦值賦值(=)用于整型、浮點(diǎn)型值、字符串和URL。
邏輯和條件符號(hào)表述根據(jù)整型、浮點(diǎn)型值、字符串和URL,可以使用以下字符與(AND)、或(OR)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(=)、不等于(?。?和非(!)控制流END-MSG-結(jié)束一條消息,該消息必須是其自己預(yù)處理清單中的最后一個(gè)命令。END-APP-結(jié)束一個(gè)應(yīng)用,它必須是一個(gè)成員消息后處理清單中的最后一個(gè)命令。For循環(huán)FOR i=x TO yBEGIN<聲明>
ENDWhile循環(huán)WHILE<條件>
BEGIN<聲明>
END條件結(jié)構(gòu)IF<條件>THENBEGIN<聲明>
ENDELSEBEGIN<聲明>
END命令裝載映射字段數(shù)據(jù)LOAD{WHERE<外部字段名>=<值>}存儲(chǔ)映射字段數(shù)據(jù)STORE{WHERE<外部字段名>=<值>}執(zhí)行外部程序CALL[JAVAEXECSHELL] <程序名><參數(shù)1>....<參數(shù)n>
執(zhí)行消息ILMP//<主機(jī)名>/<消息 id>
執(zhí)行內(nèi)部功能(這主要用于用戶接口動(dòng)作)ILMP//<主機(jī)名>/<消息 id>/<字段 id>[UI-ACTMSG-ENDAPP-END]ILMP//<主機(jī)名>/<消息 id>/<字段 id>[ADD-DATADEL-DATACHG-DATA]<數(shù)據(jù)>
應(yīng)用一個(gè)InterLinguaTM消息的集合可以被組成在一起,單獨(dú)地命名并用為InterLinguaTM應(yīng)用。為了便于討論,對(duì)于任何編程語(yǔ)言或系統(tǒng)平臺(tái),都可以將一個(gè)應(yīng)用定義為一個(gè)或多個(gè)其執(zhí)行序列可以根據(jù)輸入數(shù)據(jù)、用戶和系統(tǒng)事件而改變的函數(shù),它可以與外部存儲(chǔ)設(shè)備訪問(wèn)、交互,也可以通過(guò)用戶接口與用戶進(jìn)行交互。
這種所謂的消息集合的全部或一部份可以駐留在一個(gè)或多個(gè)位置處的一個(gè)或多個(gè)服務(wù)器SRV(m)上,這種所謂的消息集或應(yīng)用實(shí)現(xiàn)a)一個(gè)直接的函數(shù)序列b)本地或共享數(shù)據(jù)c)用戶接口屏幕d)網(wǎng)絡(luò)分布式應(yīng)用功能該直接序列函數(shù)可包括所有的動(dòng)作類型,如數(shù)據(jù)庫(kù)查詢、計(jì)算以及其它消息的激發(fā)。在本文中激發(fā)一個(gè)消息的使用相當(dāng)于調(diào)用一個(gè)應(yīng)用函數(shù)、顯示下一個(gè)用戶接口屏或,發(fā)送一個(gè)消息給一本地或外部的網(wǎng)絡(luò)目標(biāo)。該操作順序的實(shí)時(shí)結(jié)構(gòu)化流,或者換句話說(shuō),該直接序列函數(shù)由消息動(dòng)作表和由該用戶接口產(chǎn)生的事件動(dòng)作(如一個(gè)字段的鼠標(biāo)選擇或一個(gè)按鍵)所決定的。
該本地和共享數(shù)據(jù)包括所有允許的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以編組成數(shù)據(jù)結(jié)構(gòu)。該消息數(shù)據(jù)也可以映射到用戶數(shù)據(jù)庫(kù)、用戶接口或從其中獲得,并被傳遞到另一個(gè)消息。這種思想可以使用消息作為一個(gè)函數(shù),它有其自己的本地?cái)?shù)據(jù)和可調(diào)用其它的函數(shù)(消息),可以向該函數(shù)傳遞所有的本地?cái)?shù)據(jù)。當(dāng)該本地?cái)?shù)據(jù)在兩個(gè)或更多個(gè)的消息之間傳遞時(shí),它就變成了共亨數(shù)據(jù)。
該網(wǎng)絡(luò)化分布式應(yīng)用功能性是通過(guò)使用InterLinguaTM客戶ILMC(n)和服務(wù)器作為消息的發(fā)送者或接收者的內(nèi)部功能來(lái)實(shí)施的。與一個(gè)在單一服務(wù)器上運(yùn)行的單一應(yīng)用相對(duì)比,如果所生成的應(yīng)用集是以分布環(huán)境運(yùn)行在多個(gè)服務(wù)器上,其中的主要差別是作為一個(gè)應(yīng)用功能而動(dòng)作的一個(gè)或多個(gè)消息將使一個(gè)遠(yuǎn)程服務(wù)器作為其目標(biāo),而不是本地服務(wù)器,這就使得生成網(wǎng)絡(luò)化分布式應(yīng)用非常直截了當(dāng),具有前所未見(jiàn)的簡(jiǎn)單和易用性。
InterLinguaTM消息客戶(ILMC)和服務(wù)器SRVInterLinguaTM消息客戶(ILMC)的軟件最好完全由Java來(lái)寫(xiě),這樣就可以使其運(yùn)行在Java使能的計(jì)算機(jī)系統(tǒng)上,這就幾乎包括了所有通用的計(jì)算機(jī)。ILMC作為一個(gè)HTML/VRML/Java小應(yīng)用顯示控制臺(tái)和對(duì)服務(wù)器SRV(m)的網(wǎng)絡(luò)通信接口。
該用戶接口屏幕利用這種能力來(lái)將一個(gè)消息與一個(gè)HTML定義相關(guān)聯(lián),并映射該消息和HTML顯示間的數(shù)據(jù)。這就使得所選擇的功能(消息)具有所需的用戶接口。用戶鍵盤(pán)和鼠標(biāo)事件被連接到字段動(dòng)作。
這種實(shí)施從一個(gè)服務(wù)器到另一個(gè)服務(wù)器以及一個(gè)服務(wù)器與一個(gè)終端ILMC之間的消息發(fā)送/接收功能的通信子系統(tǒng),被設(shè)計(jì)成以一種高度優(yōu)化、多線程方式運(yùn)行,并通過(guò)使用數(shù)字簽名來(lái)替換使用監(jiān)視消息的集成。這就可以保證對(duì)所接收到消息的非損壞狀態(tài)的完全確認(rèn),并且同時(shí),對(duì)發(fā)送者的標(biāo)識(shí)和認(rèn)證的安全校驗(yàn)。此通信子系統(tǒng)存在于服務(wù)器SRV和終端ILMC之間,該通信子系統(tǒng)也設(shè)計(jì)成與網(wǎng)絡(luò)通信協(xié)議無(wú)關(guān)。在當(dāng)前的版本中,它運(yùn)行在TCP/IP,XTP/IP,和XTP/ATM/AAL5,但是它也可以很容易地運(yùn)行在AppleTalk,IPX,SNA,X.25,DECNET,OSI以及其它所有可使用套接字接口和點(diǎn)到點(diǎn)訪問(wèn)方案的協(xié)議。
該通信子系統(tǒng)并不是本發(fā)明的一個(gè)關(guān)鍵部份,本發(fā)明的優(yōu)點(diǎn)可以通過(guò)很多不同類型的通信子系統(tǒng)得以實(shí)施。在本技術(shù)領(lǐng)域內(nèi)的人會(huì)意識(shí)到,所選擇的網(wǎng)絡(luò)通信子系統(tǒng)的類型和實(shí)施細(xì)節(jié)并不會(huì)改變本發(fā)明的功能性,只要此通信子系統(tǒng)具有可靠的傳送協(xié)議,以保證高速地傳送成功和數(shù)據(jù)集成。
在歐州專利97202945.8中所聲明的消息優(yōu)先權(quán)和服務(wù)機(jī)制可以增加到該通信子系統(tǒng),這種機(jī)制對(duì)不同的優(yōu)先級(jí)別使用了獨(dú)立的連接以及一種簡(jiǎn)單網(wǎng)絡(luò)和系統(tǒng)緩存算法,以自動(dòng)地保證對(duì)所有的消息優(yōu)先權(quán)級(jí)別的公平服務(wù)。這種機(jī)制能快速且連續(xù)地傳送高優(yōu)先權(quán)消息,而又不需要一個(gè)復(fù)雜的規(guī)劃算法來(lái)監(jiān)視消息的大小或防止低優(yōu)先級(jí)別的消息停止(lock-out)。
接收一個(gè)消息當(dāng)通過(guò)一個(gè)服務(wù)器SRV(m)接收消息時(shí),它就會(huì)通過(guò)通信子系統(tǒng),將檢驗(yàn)數(shù)字簽名并剝離傳輸層的頭標(biāo)。如果該消息已經(jīng)加密或壓縮,就會(huì)在此時(shí)進(jìn)行解密和解壓縮,然后消息被傳送給數(shù)據(jù)庫(kù)層ILMDB。
如果在希望的位置缺少消息定義,將針對(duì)特定的消息或消息組自動(dòng)地交換整個(gè)數(shù)據(jù)庫(kù)消息定義,由此為多個(gè)用戶生成易于交換的通用格式消息。
作為替換地,如果對(duì)于所接收到的消息沒(méi)有存在一個(gè)消息定義,它就會(huì)發(fā)送給系統(tǒng)管理員的收件箱,該管理員然后就可以使用終端ILMC檢查該消息,自動(dòng)地增加基本的消息定義并將該消息字段連接到本地?cái)?shù)據(jù)庫(kù)字段和HTML顯示字段(如果必要)。該系統(tǒng)管理員也可以自動(dòng)地請(qǐng)求該消息的發(fā)送者發(fā)送完整的消息定義,該消息定義然后自動(dòng)地被放置在本地?cái)?shù)據(jù)庫(kù)ILMDB。該請(qǐng)求出也可以作為一個(gè)消息從一個(gè)服務(wù)器發(fā)送到另一個(gè)服務(wù)器。
如果對(duì)于所接收到的消息,存在有一個(gè)消息定義,它就會(huì)從數(shù)據(jù)庫(kù)ILMDB中讀出。由該服務(wù)器SRV(m)執(zhí)行消息預(yù)處理動(dòng)作清單,起到消息字段校驗(yàn)、數(shù)據(jù)庫(kù)查詢、計(jì)算和其它消息的功能。如果一個(gè)消息被發(fā)送給一個(gè)用戶用于顯示,則終端ILMC的處理器1或者將該消息與所指定的HTML文件進(jìn)行溶合或者,如果處理器1沒(méi)有發(fā)現(xiàn)所指定的HTML文件,它就會(huì)生成一個(gè)缺省的動(dòng)態(tài)HTML。該字段動(dòng)作可以特定鼠標(biāo)和鍵盤(pán)觸發(fā)(如果該字段動(dòng)作已在消息中加以定義)。字段動(dòng)作可以調(diào)用一個(gè)標(biāo)準(zhǔn)的HTTP URL,發(fā)送一個(gè)顯示本地圖像的請(qǐng)求,觸發(fā)一個(gè)SQL數(shù)據(jù)庫(kù)事務(wù),與更新本地顯示數(shù)據(jù)或運(yùn)行一個(gè)InterLinguaTMScript(IS)命令。如果該消息沒(méi)有定義了的用戶接口,它就標(biāo)記為“靜默”,并且在系統(tǒng)中只能由管理員看得見(jiàn)它的存在。
在完成了靜默消息預(yù)處理及遇到END-MSG命令之后,或者該終端消息用戶接口發(fā)送一個(gè)END-MSG命令之后,服務(wù)器SRV(m)執(zhí)行消息后處理動(dòng)作清單。如果該消息是一個(gè)應(yīng)用集的一部份,它就保留激活狀態(tài)和駐留在內(nèi)存中直到服務(wù)器SRV(m)遇到或接收END-APP。當(dāng)一個(gè)應(yīng)用集完成后,如果所有的成員消息后處理清單還沒(méi)有被執(zhí)行,就由服務(wù)器SRV(m)來(lái)執(zhí)行它們。這種功能性也保證了事務(wù)文本和應(yīng)用數(shù)據(jù)及狀態(tài)的自動(dòng)維護(hù)。當(dāng)一條單個(gè)的消息或應(yīng)用集完成后,將清除該系統(tǒng)的內(nèi)存并返回供其它消息和應(yīng)用使用。
發(fā)送一個(gè)消息從一個(gè)終端ILMC一條消息格式(ILMF)還沒(méi)有從ILMDB/-ILMS請(qǐng)求或接收。該消息的內(nèi)容和地址可以由該終端用戶增加。該終端用戶通過(guò)一個(gè)用戶接口動(dòng)作起動(dòng)一個(gè)消息發(fā)送到該用戶已在其上進(jìn)行注冊(cè)了的服務(wù)器。
從一個(gè)服務(wù)器SRV(m)一條消息可以通過(guò)InterLinguaTMScript(IS)作為直接呼叫的結(jié)果自動(dòng)地起動(dòng)以便觸發(fā)服務(wù)器SRV(m)上的一條消息,或者也可以作為首先接收并由服務(wù)器SRV(m)處理的、一個(gè)連接的終端的請(qǐng)求。如果所有消息都進(jìn)行了定義,則該服務(wù)器執(zhí)行消息的預(yù)處理。如果該目標(biāo)地址是針對(duì)服務(wù)器本身,則在遇到或接收到一個(gè)END-MSG后,就執(zhí)行該消息的后處理,然后終止該消息;如果其目標(biāo)地址是針對(duì)另一個(gè)服務(wù)器的,把該消息傳送給通信子系統(tǒng),經(jīng)過(guò)壓縮、加密或給一個(gè)數(shù)字簽名后,通過(guò)點(diǎn)到點(diǎn)連接發(fā)送給接收服務(wù)器。縮寫(xiě)清單ANSI=美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)CORBA=共同對(duì)象請(qǐng)求中間結(jié)構(gòu)CSV=逗號(hào)分隔值EDI=電子數(shù)據(jù)交換GIF=圖形交換格式HTML=超文本標(biāo)記語(yǔ)言HTTP=超文本傳輸協(xié)議ILMC=InterLinguaTM消息客戶ILMDB=InterLinguaTM消息數(shù)據(jù)庫(kù)ILMF=InterLinguaTM消息格式ILMP=InterLinguaTM消息協(xié)議ILMS=InterLinguaTM消息服務(wù)器IS=InterLinguaTM消息代碼JDBC=Java數(shù)據(jù)庫(kù)連接JPEG=聯(lián)合圖像專家組MIME=多目標(biāo)因特網(wǎng)郵件擴(kuò)展ODBC=開(kāi)放數(shù)據(jù)庫(kù)連接RDBMS=關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SNMP=簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SQL=結(jié)構(gòu)化查詢語(yǔ)言URL=統(tǒng)一資源定位符VRML=虛擬現(xiàn)實(shí)標(biāo)記語(yǔ)言
權(quán)利要求
1.通過(guò)具有靈活消息格式(ILMF)的消息在一個(gè)發(fā)送者(SRV(m))和一個(gè)接收者(SRV(m))之間進(jìn)行點(diǎn)到點(diǎn)通信的方法,其特征在于所述消息中的任何一個(gè)都包括一個(gè)頭標(biāo),至少包括消息定義參照(MSG ID、MSG CLASS、MSGVERSION、MSG CREATOR),一個(gè)發(fā)送者標(biāo)識(shí)符(SENDER ID)和一個(gè)目標(biāo)地址(DESTINATION ADDRESS);*字段數(shù)量(FIELD COUNT)和任意字段的內(nèi)容(FIELD(1)...);*對(duì)象數(shù)量(OBJECT COUNT)和任意對(duì)象的內(nèi)容(OBJECT(1)...);*字段映射的數(shù)量(MAP COUNT)和任意字段映射的內(nèi)容(MAP(1)...),任何字段映射都可由預(yù)先確定的字段使用;*動(dòng)作的數(shù)量(ACTION COUNT)和任意動(dòng)作的內(nèi)容(ACTION(1)...),所有動(dòng)作都至少可由預(yù)先確定的字段使用。
2.按照權(quán)利要求1的方法,其中所述的消息定義參照包括一個(gè)用于標(biāo)識(shí)所有消息的消息標(biāo)識(shí)(MSG ID。
3.按照權(quán)利要求1或2的方法,其中所述的消息定義參照包括一個(gè)消息類別標(biāo)識(shí)(MSG CLASS),用于標(biāo)識(shí)消息的類別,如郵件、商業(yè)消息、定單或發(fā)貨單。
4.按照前述任一權(quán)利要求的方法,其中所述的消息定義參照包括一個(gè)消息版本標(biāo)識(shí)符(MSG VERSION),用于標(biāo)識(shí)任一消息的版本號(hào)。
5.按照前述任一權(quán)利要求的方法,其中所述的消息定義參照包括一個(gè)消息創(chuàng)建者標(biāo)識(shí)符(MSG CREATOR),用于標(biāo)識(shí)任一個(gè)消息的創(chuàng)建者。
6.按照前述任一權(quán)利要求的方法,其中所述的頭標(biāo)包括一個(gè)對(duì)所實(shí)施的加密類型(ENCRYPTION TYPE)的參照。
7.按照前述任一權(quán)利要求的方法,其中所述的頭標(biāo)包括一個(gè)對(duì)所實(shí)施的壓縮類型(COMPRESSION TYPE)的參照。
8.按照前述任一權(quán)利要求的方法,其中所述的頭標(biāo)包括一個(gè)對(duì)一個(gè)應(yīng)用(APPLICATION NAME)的參照,用于標(biāo)明任何一個(gè)消息是否是一起形成所述的應(yīng)用的一系列消息中的成員。
9.按照前述任一權(quán)利要求的方法,其中所述的任何一個(gè)消息都包括一個(gè)數(shù)字簽名。
10.一種包括處理裝置(ILMS)和數(shù)據(jù)庫(kù)(ILMDB)的通信設(shè)備,用于通過(guò)具有靈活消息格式(ILMF)的消息與另一個(gè)通信設(shè)備(SRV(m))進(jìn)行點(diǎn)到點(diǎn)通信,所述的消息包括一個(gè)頭標(biāo),至少包括消息定義參照(MSG ID、MSG CLASS、MSGVERSION、MSG CREATOR),一個(gè)發(fā)送者標(biāo)識(shí)符(SENDER ID)和一個(gè)目標(biāo)地址(DESTINATION ADDRESS);*字段數(shù)量(FIELD COUNT)和任意字段的內(nèi)容(FIELD(1)...);*對(duì)象數(shù)量(OBJECT COUNT)和任意對(duì)象的內(nèi)容(OBJECT(1)...);*字段映射的數(shù)量(MAP COUNT)和任意字段映射的內(nèi)容(MAP(1)...),任何字段映射都可由預(yù)先確定的字段使用;*動(dòng)作的數(shù)量(ACTION COUNT)和任意動(dòng)作的內(nèi)容(ACTION(1)...),所有動(dòng)作都至少可由預(yù)先確定的字段使用。所述的處理裝置(ILMS)被配置成使用所述的消息定義參照作為對(duì)所述預(yù)定的消息定義表的參照查詢存儲(chǔ)在所述數(shù)據(jù)庫(kù)(ILMDB)中的一個(gè)預(yù)定的消息定義表(msgdef)。
11.按照權(quán)利要求10的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)用于標(biāo)識(shí)所有消息的消息標(biāo)識(shí)符(msgid)。
12.按照權(quán)利要求10或11的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)用于標(biāo)識(shí)所有消息的消息類別如郵件、商業(yè)消息、定單或發(fā)貨等的消息類別標(biāo)識(shí)符(msgclass)。
13.按照權(quán)利要求10到12中任一個(gè)的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)用于標(biāo)識(shí)所有消息的版本號(hào)的消息版本號(hào)標(biāo)識(shí)符(msgver)。
14.按照權(quán)利要求10到13中任一個(gè)的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)用于標(biāo)識(shí)所有消息的創(chuàng)建者的消息創(chuàng)建者標(biāo)識(shí)符(creatid)。
15.按照權(quán)利要求10到14中任一個(gè)的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)對(duì)所施加的加密類型(encrtype)的參照。
16.按照權(quán)利要求10到15中任一個(gè)的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)對(duì)所施加的數(shù)字簽名類型(sigtype)的參照。
17.按照權(quán)利要求10到16中任一個(gè)的通信設(shè)備,其中所述的預(yù)定的消息定義表(msgdef)包括一個(gè)消息系統(tǒng)標(biāo)識(shí)符(msyid),用作為對(duì)所述數(shù)據(jù)庫(kù)(ILMDB)中進(jìn)一步表的參照。
18.按照權(quán)利要求17的通信系統(tǒng),其中所述的進(jìn)一步表還包括一個(gè)字段定義表(flddef),用于保存對(duì)所述消息的任一字段的主要定義。
19.按照權(quán)利要求17或18的通信系統(tǒng),其中所述的進(jìn)一步表包括一個(gè)字段映射表(fldmap),該映射表包含由預(yù)定字段使用的映射信息,例如對(duì)超文本標(biāo)記語(yǔ)言字段、數(shù)據(jù)庫(kù)字段、平文件字段和其它消息字段的映射,所述的數(shù)據(jù)庫(kù)字段和平文件字段存儲(chǔ)在客戶數(shù)據(jù)庫(kù)(CDB)中。
20.按照權(quán)利要求17到19中任一個(gè)的通信系統(tǒng),其中所述的進(jìn)一步表包括一個(gè)字段動(dòng)作表(fldact),該動(dòng)作表包含由預(yù)定的字段使用的動(dòng)作信息。
21.按照權(quán)利要求17到20中任一個(gè)的通信系統(tǒng),其中所述的進(jìn)一步表包括一個(gè)消息預(yù)先處理表(msgpre)和一個(gè)消息后處理表(msgpost),該預(yù)先處理表包含對(duì)所接收或要發(fā)送的消息預(yù)處理而要執(zhí)行的動(dòng)作清單,而該消息后處理表包含對(duì)所接收的消息進(jìn)行后處理而要執(zhí)行的動(dòng)作清單。
22.按照權(quán)利要求20或21中任一個(gè)的通信系統(tǒng),其中所述的字段動(dòng)作表(fldact)、所述的消息預(yù)先處理表(msgpre)和所述的消息后處理表(msgpost)包含對(duì)從下列動(dòng)作組中選擇的動(dòng)作類型的參照動(dòng)作的數(shù)據(jù)庫(kù)類型和包括數(shù)學(xué)計(jì)算、賦值、邏輯操作、條件操作的動(dòng)作邏輯類型以及命令。
23.按照權(quán)利要求10到22中任一個(gè)的通信系統(tǒng),其中所述的消息定義表(msgdef)包含一個(gè)用于標(biāo)識(shí)所接收的消息是否是一個(gè)應(yīng)用的第一消息的應(yīng)用字段(appmain)和一個(gè)用于參照所述的應(yīng)用名稱的應(yīng)用名稱字段(appname)。
24.按照權(quán)利要求23的通信設(shè)備,其中所述的應(yīng)用是一個(gè)分布在多個(gè)通信設(shè)備上的分布式應(yīng)用。
25.按照權(quán)利要求10到24中任一個(gè)的通信設(shè)備,其中所述的設(shè)備被配置成如果所接收的消息參照的消息定義沒(méi)有存在于它的數(shù)據(jù)庫(kù)(ILMDB)中,則從一個(gè)發(fā)送者那里請(qǐng)求一個(gè)新的消息定義,并從所述的發(fā)送者那里接收所述的新的消息定義并將其存儲(chǔ)在所述數(shù)據(jù)庫(kù)(ILMDB)內(nèi)的所述的消息定義表(msgdef)中。
26.按照權(quán)利要求10到25中任一個(gè)的通信設(shè)備,其中所述的處理裝置(ILMS)被配置成或者將所接收的消息與一個(gè)指定的HTML文件進(jìn)行溶合或者,如果該處理裝置(ILMS)沒(méi)有找到所指定的HTML文件,就生成一個(gè)缺省的動(dòng)態(tài)HTML文件。
27.包含按照權(quán)利要求10到25中任一個(gè)的通信設(shè)備(SRV(m))和連接到所述通信設(shè)備的終端(ILMC)的系統(tǒng),其中所述的終端包含一個(gè)終端處理器(1),一個(gè)顯示單元(6)和用于用戶輸入數(shù)據(jù)用的輸入裝置(12,13),所述的通信設(shè)備被配置成如果所述的終端在該消息中被指明為目標(biāo)地址,則把所接收的消息傳遞給所述的終端,所述的終端處理器(1)被配置成把一個(gè)消息與一個(gè)指定的HTML文件溶合或者,如果該終端處理器(1)沒(méi)有找到所指定的HTML文件,就生成一個(gè)缺省的動(dòng)態(tài)HTML文件。
全文摘要
通過(guò)具有靈活消息格式(ILMF)的消息在發(fā)送者(SRV(m))與接收者(SRV(m))之間進(jìn)行點(diǎn)到點(diǎn)通信的方法和設(shè)備,所述的消息包括:一個(gè)頭標(biāo),至少具有消息定義參照(MSG ID、MSG CLASS、MSGVERSION、MSG CREATOR),一個(gè)發(fā)送者標(biāo)識(shí)符(SENDER ID)和一個(gè)目標(biāo)地址(DESTINATION ADDRESS);消息內(nèi)容涉及:字段數(shù)量(FIELD COUNT)和任意字段的內(nèi)容(FIELD(1)…);對(duì)象數(shù)量(OBJECT COUNT)和任意對(duì)象的內(nèi)容(OBJECT(1)…):字段映射的數(shù)量(MAP COUNT)和任意字段映射的內(nèi)容(MAP(1)…),任何字段映射都可由預(yù)先確定的字段使用;動(dòng)作的數(shù)量(ACTION COUNT)和任意動(dòng)作的內(nèi)容(ACTION(1)…),所有動(dòng)作都至少可由預(yù)先確定的字段使用。
文檔編號(hào)G06Q10/00GK1276123SQ98810147
公開(kāi)日2000年12月6日 申請(qǐng)日期1998年10月13日 優(yōu)先權(quán)日1997年10月13日
發(fā)明者漢德·范德海登, 羅伯特·德布勒, 奇普·布蘭克 申請(qǐng)人:艾克斯-偉瑞茨公司