亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法

文檔序號(hào):6556485閱讀:248來源:國知局
專利名稱:一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法。
背景技術(shù)
協(xié)作協(xié)議概要/協(xié)作協(xié)議協(xié)定規(guī)范(Collaboration Protocol Profile andAgreement Specification,CPPA)是整個(gè)ebXML標(biāo)準(zhǔn)中的一個(gè)重要組成部分,主要用于描述進(jìn)行ebXML電子商務(wù)的企業(yè)所具有的電子商務(wù)能力、商務(wù)伙伴之間的貿(mào)易協(xié)定以及限定和約束電子商務(wù)的實(shí)施過程。
CPPA規(guī)范就是由ebXML標(biāo)準(zhǔn)組織中的協(xié)作協(xié)議概要/協(xié)作協(xié)議協(xié)定規(guī)范委員會(huì)負(fù)責(zé)制定和維護(hù)的。CPPA規(guī)范直接定義了兩類文檔CPP(CollaborationProtocol Profile,協(xié)作協(xié)議概要)文檔和CPA(Collaboration Protocol Agreement,協(xié)作協(xié)議協(xié)定)文檔。每次電子商務(wù)的進(jìn)行都離不開CPP和CPA文檔的參與。CPP文檔是希望參與ebXML電子商務(wù)的企業(yè)所支持電子商務(wù)能力的描述。它利用XML語言描述了企業(yè)的商務(wù)流程和支持的商業(yè)服務(wù)接口,如該企業(yè)所采用的商務(wù)流程文檔、交易流程、所扮演的角色(買方或賣方)、采用的數(shù)字證書、用于傳輸電子商務(wù)文檔的傳輸協(xié)議、數(shù)據(jù)封裝形式等等。
任何希望參與ebXML電子商務(wù)的企業(yè)都必須有一個(gè)描述本公司所支持的電子商務(wù)能力的CPP文檔。這是因?yàn)?,在Internet上存在著各種類型的系統(tǒng),各個(gè)企業(yè)也有著不同的交易流程。在交易開始之前,雙方往往彼此都不相識(shí),更不知道交易方電子商務(wù)系統(tǒng)的一些特性以及其進(jìn)行交易的流程,在這樣的情況下雙方顯然無法開展電子商務(wù)。因此需要在雙方開始電子商務(wù)之前,把本企業(yè)所支持的電子商務(wù)能力通過一種途徑告訴對(duì)方系統(tǒng),也只有當(dāng)雙方都理解對(duì)方的電子商務(wù)能力后,才有可能在Internet上建立連接,并根據(jù)雙方都同意的交易流程來進(jìn)行電子商務(wù)。這里,CPP文檔就起到了這個(gè)作用。
隨著ebXML標(biāo)準(zhǔn)的興起,對(duì)ebXML標(biāo)準(zhǔn)中各個(gè)規(guī)范的研究已經(jīng)成為一個(gè)熱點(diǎn)。CPPA規(guī)范是ebXML標(biāo)準(zhǔn)中的重要組成部分,其中CPP文檔生成和CPA文檔合成是該規(guī)范中的研究重點(diǎn)。
國內(nèi)和國外的不同機(jī)構(gòu)都研究開發(fā)了CPA生成方法,比較有代表性的是以下兩種方法。(1)華南理工大學(xué)利用VB和微軟的MSXML實(shí)現(xiàn)了一個(gè)帶擴(kuò)展的CPA文檔的合成工具。其方法為在原始的CPP文檔中,用注釋的方式加入CPP文檔中各個(gè)元素與屬性在合成CPA文檔時(shí)的相互之間的關(guān)系。這樣在合成CPA文檔草案時(shí),只需要簡單的讀取與該元素或?qū)傩韵鄬?duì)應(yīng)的注釋,然后從注釋中解析出其與交易方CPP文檔中相應(yīng)元素與屬性之間的關(guān)系,并進(jìn)行比較和匹配,即可生成出一個(gè)合格的CPA文檔草案。(2)Curtin科技大學(xué)計(jì)算機(jī)學(xué)院利用Ruby語言實(shí)現(xiàn)了一個(gè)CPA文檔草案的合成方法。其合成方法嚴(yán)格按照特定版本的CPPA規(guī)范來進(jìn)行的,逐條對(duì)CPP文檔中的元素與屬性進(jìn)行匹配,并最終生成CPA文檔草案和匹配過程中形成的差距列表。
華南理工大學(xué)的方法中,由于其所采用的方法是在CPP文檔中加入了一些用于標(biāo)識(shí)元素間關(guān)系的特定注釋字段,這樣做雖然不影響CPP文檔的有效性,但卻犧牲了其通用性;顯然用該合成工具進(jìn)行CPA文檔草案的合成要求用于合成的兩個(gè)CPP文檔,都具有這些特定字段,而對(duì)于兩個(gè)標(biāo)準(zhǔn)的CPP文檔(沒有上述的特定字段),那么該工具將無能為力,也就是說該工具最多只適合于在小范圍內(nèi)的應(yīng)用。同時(shí),加入特定字段的做法,顯然違背了ebXML標(biāo)準(zhǔn)組織在制定該標(biāo)準(zhǔn)時(shí)所提出的宗旨,它把一個(gè)世界公用的一個(gè)標(biāo)準(zhǔn)變的私有化了。
Curtin科技大學(xué)的方法對(duì)CPPA規(guī)范進(jìn)行了改動(dòng),進(jìn)而影響到CPP文檔的結(jié)構(gòu)和匹配的算法,那么整個(gè)算法都必須進(jìn)行修改,以適應(yīng)新規(guī)范的要求。由于CPP規(guī)范在不斷的修正和改進(jìn),使得對(duì)應(yīng)的CPA草案生成方法也需要不斷的更新,因此這樣做很難適應(yīng)ebXML在實(shí)際電子商務(wù)中的應(yīng)用。同時(shí)CPP文檔非常的冗長,處理理CPA草案的方法也需要大量的程序代碼來完成,使得每次實(shí)際應(yīng)用的時(shí)候都需要大量的編程工作。

發(fā)明內(nèi)容為了克服已有技術(shù)中CPA文檔草案生成方法是根據(jù)每個(gè)不同的CPPA規(guī)范專門設(shè)計(jì)的,和特定電子商務(wù)應(yīng)用相關(guān),如果要增加新的電子商務(wù)應(yīng)用,則需要重新設(shè)計(jì)CPA生成方法的不足,本發(fā)明提供一種擴(kuò)展的、靈活的、可配置的CPA文檔草案生成方法。
本發(fā)明的技術(shù)方案是一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,包括以下步驟(1)采用遍歷方式,讀取模塊實(shí)例中需匹配元素的元素節(jié)點(diǎn),讀取該元素節(jié)點(diǎn)的元素名和前綴;(2)根據(jù)元素名和前綴,從匹配模板庫中讀取該元素文本節(jié)點(diǎn)的值和匹配表達(dá)式;(3)解析匹配表達(dá)式,并根據(jù)匹配表達(dá)式查找交易方對(duì)應(yīng)模塊實(shí)例中對(duì)應(yīng)的值,再根據(jù)匹配表達(dá)式中的匹配類型,對(duì)其進(jìn)行匹配并記錄匹配結(jié)果,所述的匹配結(jié)果為匹配成功,則把該元素節(jié)點(diǎn)原樣保存到CPA文檔草案中;如匹配不成功,則把該元素節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占為符表示,并保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;(4)重復(fù)步驟(1)-(3),遍歷模塊實(shí)例中的元素與對(duì)應(yīng)模塊實(shí)例中的元素進(jìn)行匹配,并將結(jié)果保存到CPA文檔草案中。
根據(jù)如下匹配規(guī)則記錄1.元素或?qū)傩缘闹狄笙嗟?,不相等則合成失敗,如ProcessSpecification;2.元素或?qū)傩缘闹狄笙嗟?,不相等則寫入差距列表,合成繼續(xù);3.元素或?qū)傩缘闹狄蟛煌?,相同則合成失敗,如Role;4.元素或?qū)傩缘闹狄蟛煌嗤瑒t寫入差距列表,合成繼續(xù);5.元素或?qū)傩缘闹悼上嗤部刹煌?,如PartyName;6.對(duì)引用部分的匹配,無論匹配是否成功都繼續(xù)合成,如CanSend元素中的ChannelId元素的值;7.對(duì)版本號(hào)的匹配,采用向下兼容的原則,如TransportProtocol的版本號(hào)。
所述的步驟(3)為(3.1)由步驟(2)所取得的匹配表達(dá)式解析得到交易方對(duì)應(yīng)模塊中該節(jié)點(diǎn)的匹配路徑極其匹配類型;(3.2)根據(jù)其匹配路徑查找得到對(duì)應(yīng)模塊中的匹配節(jié)點(diǎn),取得該節(jié)點(diǎn)對(duì)應(yīng)的值;(3.3)根據(jù)匹配類型,對(duì)上述兩個(gè)匹配節(jié)點(diǎn)對(duì)應(yīng)的值進(jìn)行匹配;(3.4)如果匹配成功,則把該節(jié)點(diǎn)原樣保存到CPA文檔草案中;如果匹配不成功,則把該節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占為符表示,并保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;(3.5)重復(fù)步驟(3.1)-(3.4)遍歷該元素的節(jié)點(diǎn),將結(jié)果保存到CPA文檔草案中。
本發(fā)明的原理是將匹配規(guī)則等與應(yīng)用程序分離;引入匹配表達(dá)式來表示一個(gè)匹配路徑;利用特殊的記號(hào)來表示元素與屬性匹配的規(guī)則;利用系統(tǒng)中文件的特殊結(jié)構(gòu)來表示一個(gè)模塊;利用遞歸方式來遍歷整個(gè)模塊實(shí)例的元素與屬性。從而提高了CPA文檔的生成速度,并能夠根據(jù)不同的商務(wù)應(yīng)用快速進(jìn)行匹配。這里通過引入一個(gè)差距列表文件,把各個(gè)模塊之間由于元素和屬性不同而造成的差異屏蔽掉,也就是說把各個(gè)不同模塊之間的匹配過程同一化。這樣做不僅使一個(gè)模塊匹配的程序可以不經(jīng)改變的移植到另外一些模塊實(shí)例的匹配上,同時(shí),也把模塊匹配過程中的一些匹配規(guī)則從程序里面轉(zhuǎn)移到了程序以外的一個(gè)地方,通過這樣做后,就可以當(dāng)CPPA規(guī)范發(fā)生改變的時(shí)候,不需改變程序,而只改變一些描述這些規(guī)則的外部文件,即可以使其適應(yīng)新規(guī)范的需求。
本發(fā)明中元素節(jié)點(diǎn)的信息是用父子關(guān)系(段-鍵-值)來定位的。差距列表文件的段名對(duì)應(yīng)元素的名稱,鍵名對(duì)應(yīng)各個(gè)屬性的名稱和文本節(jié)點(diǎn),與鍵名相對(duì)應(yīng)的鍵值用于表示該鍵名所表示的元素或?qū)傩耘c交易方的CPP文檔中的哪個(gè)元素或?qū)傩灾迪鄬?duì)應(yīng)。在鍵值的表示上,我們這里引入了匹配表達(dá)式的概念。匹配表達(dá)式類似于Xpath表達(dá)式,用于表示交易方相對(duì)應(yīng)模塊中的元素或?qū)傩缘南鄬?duì)位置。這里的相對(duì)位置是指以該模塊名稱為根節(jié)點(diǎn)的相對(duì)路徑。
本發(fā)明所述的一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法的有益效果主要表現(xiàn)在能適應(yīng)CPPA規(guī)范的變更,靈活的根據(jù)自定義模板生成CPA文檔。


圖1是本發(fā)明一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法的流程圖。
圖2是本發(fā)明一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法的結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
參見圖1一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,包括以下步驟
第一步采用遍歷方式,讀取模塊實(shí)例中需匹配元素的元素節(jié)點(diǎn),讀取該元素節(jié)點(diǎn)的元素名和前綴;第二步根據(jù)元素名和前綴,從匹配模板庫中讀取該元素文本節(jié)點(diǎn)的值和匹配表達(dá)式;第三步由第二步所取得的匹配表達(dá)式解析得到交易方對(duì)應(yīng)模塊中該節(jié)點(diǎn)的匹配路徑極其匹配類型;第四步根據(jù)其匹配路徑查找得到對(duì)應(yīng)模塊中的匹配節(jié)點(diǎn),取得該節(jié)點(diǎn)對(duì)應(yīng)的值;第五步根據(jù)匹配類型,對(duì)上述兩個(gè)匹配節(jié)點(diǎn)對(duì)應(yīng)的值進(jìn)行匹配;第六步如果匹配成功,則把該節(jié)點(diǎn)原樣保存到CPA文檔草案中;如果匹配不成功,則把該節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占位符表示,并保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;第七步將結(jié)果保存到CPA文檔草案中,跳轉(zhuǎn)至第三步。
參見圖2參見圖2一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法的軟件,主要模塊和功能如下CPPA文檔管理主要是負(fù)責(zé)對(duì)已經(jīng)存在的CPP或者CPA文檔進(jìn)行管理。包括把本地保存的CPP文檔導(dǎo)入到系統(tǒng)中進(jìn)行分析、把生成或處理以后的CPP文檔保存到本地系統(tǒng)中,或者管理對(duì)本地系統(tǒng)中存在的CPP或CPA文檔進(jìn)行備份和刪除、打印當(dāng)前的CPP或者CPA文檔等等。
CPP文檔生成向?qū)в糜趲椭脩粢愿咝Э旖莸姆绞絹砩捎行У腃PP文檔;文檔信息提取用于根據(jù)用戶的選擇,來有目的有針對(duì)性的從當(dāng)前打開的CPP文檔中提取用戶關(guān)心的信息,供用戶瀏覽;文檔有效性驗(yàn)證則用于驗(yàn)證用戶打開的當(dāng)前的CPP文檔,并輸入驗(yàn)證結(jié)果以及錯(cuò)誤信息;注冊(cè)當(dāng)前文檔用于把當(dāng)前CPP文檔注冊(cè)到用戶設(shè)定的ebXML注冊(cè)表中;下載CPP文檔用于用戶從指定的注冊(cè)表中下載其認(rèn)為最匹配的交易方的CPP文檔;文檔模板提取用于從當(dāng)前的CPP文檔中提取可供交易方填寫的CPP文檔模板。
CPA合成向?qū)в糜谟脩魧蓚€(gè)CPP文檔來自動(dòng)生成CPA文檔草案,以及產(chǎn)生記錄兩個(gè)CPP文檔差距的差距列表文檔;CPA文檔信息提取的功能和CPP文檔類似,用于根據(jù)用戶的要求來提取當(dāng)前CPA文檔的一些重要信息;CPA文檔有效性驗(yàn)證用于驗(yàn)證該CPA文檔是否最終形成的有效的CPA文檔以及其數(shù)字簽名的驗(yàn)證結(jié)果;顯示差距列表主要用于把兩個(gè)CPA文檔草案合成過程中形成的差距信息以一種易讀的方式顯示出來;協(xié)商CPA文檔用于對(duì)CPA文檔草案進(jìn)行自動(dòng)或人工協(xié)商,以消除不匹配的信息,形成最終有效的CPA文檔,目前采用的是人工協(xié)商方式;簽署CPA文檔用于對(duì)已經(jīng)生成的CPA文檔進(jìn)行數(shù)字簽名。
參數(shù)設(shè)置主要用作對(duì)整個(gè)系統(tǒng)的一些運(yùn)行參數(shù)進(jìn)行設(shè)置。視圖顯示字體用于修改文檔視圖中顯示的字體;CPP文檔參數(shù)設(shè)置用于設(shè)置一些在CPP文檔生成過程中的一些常量信息,如傳輸協(xié)議、訪問認(rèn)證方式、數(shù)字信封以及加密算法等等;信息提取設(shè)置則用于設(shè)置用戶所關(guān)心的、需要從CPP或CPA文檔中提取的信息,CPP或者CPA文檔操作中的信息提取功能就是按照這里的設(shè)置來提取用戶所關(guān)心的信息的;CPP文檔注冊(cè)設(shè)置用于設(shè)置一些用于注冊(cè)CPP文檔的參數(shù),如注冊(cè)接口的地址等;NDD文檔設(shè)置用于設(shè)置CPA文檔草案差距時(shí)所能協(xié)商的范圍以及NDD文檔的產(chǎn)生方式。
權(quán)利要求
1.一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,其特征在于包括以下步驟(1)采用遍歷方式,讀取模塊實(shí)例中需匹配元素的元素節(jié)點(diǎn),讀取該元素節(jié)點(diǎn)的元素名和前綴;(2)根據(jù)元素名和前綴,從匹配模板庫中讀取該元素文本節(jié)點(diǎn)的值和匹配表達(dá)式;(3)解析匹配表達(dá)式,并根據(jù)匹配表達(dá)式查找交易方對(duì)應(yīng)模塊實(shí)例中對(duì)應(yīng)的值,再根據(jù)匹配表達(dá)式中的匹配類型,對(duì)其進(jìn)行匹配并記錄匹配結(jié)果,所述的匹配結(jié)果為匹配成功,則把該元素節(jié)點(diǎn)原樣保存到CPA文檔草案中;如匹配不成功,則把該元素節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占為符表示,并保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;(4)重復(fù)步驟(1)-(3),遍歷模塊實(shí)例中的元素與對(duì)應(yīng)模塊實(shí)例中的元素進(jìn)行匹配,并將結(jié)果保存到CPA文檔草案中。
2.如權(quán)利要求1所述的一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,其特征在于根據(jù)如下匹配規(guī)則記錄(1).元素或?qū)傩缘闹狄笙嗟?,不相等則合成失??;(2).元素或?qū)傩缘闹狄笙嗟?,不相等則寫入差距列表文件,合成繼續(xù);(3).元素或?qū)傩缘闹狄蟛煌?,相同則合成失?。?4).元素或?qū)傩缘闹狄蟛煌?,相同則寫入差距列表文件,合成繼續(xù);(5).元素或?qū)傩缘闹悼上嗤部刹煌?,合成繼續(xù);(6).對(duì)引用部分的匹配,無論匹配是否成功都繼續(xù)合成。(7).對(duì)版本號(hào)的匹配,采用向下兼容的原則。
3.如權(quán)利要求1或2所述的一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,其特征在于所述的步驟(3)為(3.1)由步驟(2)所取得的匹配表達(dá)式解析得到交易方對(duì)應(yīng)模塊中該節(jié)點(diǎn)的匹配路徑極其匹配類型;(3.2)根據(jù)其匹配路徑查找得到對(duì)應(yīng)模塊中的匹配節(jié)點(diǎn),取得該節(jié)點(diǎn)對(duì)應(yīng)的值;(3.3)根據(jù)匹配類型,對(duì)上述兩個(gè)匹配節(jié)點(diǎn)對(duì)應(yīng)的值進(jìn)行匹配;(3.4)如果匹配成功,則把該節(jié)點(diǎn)原樣保存到CPA文檔草案中;如果匹配不成功,則把該節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占為符表示,并保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;(3.5)重復(fù)步驟(3.1)-(3.4)遍歷該元素的節(jié)點(diǎn),將結(jié)果保存到CPA文檔草案中。
全文摘要
一種基于ebXML標(biāo)準(zhǔn)的CPA草案合成方法,包括以下步驟(1)采用遍歷方式,讀取模塊實(shí)例中需匹配元素的元素節(jié)點(diǎn),讀取該元素節(jié)點(diǎn)的元素名和前綴;(2)根據(jù)元素名和前綴,從匹配模板庫中讀取該元素文本節(jié)點(diǎn)的值和匹配表達(dá)式;(3)解析匹配表達(dá)式,查找交易方對(duì)應(yīng)模塊實(shí)例中對(duì)應(yīng)值,根據(jù)匹配類型,進(jìn)行匹配并記錄匹配結(jié)果,匹配成功,把該元素節(jié)點(diǎn)原樣保存到CPA文檔草案中;匹配不成功,把該元素節(jié)點(diǎn)對(duì)應(yīng)的值用一個(gè)占為符表示,保存到CPA文檔草案中,同時(shí)用一個(gè)差距列表文件,記錄該差距;重復(fù)步驟(1)-(3),遍歷模塊實(shí)例中的元素與對(duì)應(yīng)模塊實(shí)例中的元素進(jìn)行匹配,并將結(jié)果保存到CPA文檔草案中。本發(fā)明能適應(yīng)CPPA規(guī)范的變更,靈活的根據(jù)自定義模板生成CPA文檔。
文檔編號(hào)G06F17/30GK101038644SQ20061004992
公開日2007年9月19日 申請(qǐng)日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者王萬良, 趙燕偉, 蔣一波, 毛明杰, 王景 申請(qǐng)人:浙江工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1