本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體地說(shuō)是一種通用數(shù)據(jù)交換方法。
背景技術(shù):
隨著企業(yè)信息化進(jìn)程的不斷深入推進(jìn),企業(yè)應(yīng)用的信息化系統(tǒng),即ERP子系統(tǒng)越來(lái)越多,系統(tǒng)之間的業(yè)務(wù)數(shù)據(jù)交換,ERP產(chǎn)品怎樣滿(mǎn)足不同的業(yè)務(wù)系統(tǒng)間數(shù)據(jù)交換的需求,成為ERP開(kāi)發(fā)廠商面臨的一個(gè)難題。大部分需求采用特殊的二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)。二次開(kāi)發(fā)會(huì)導(dǎo)致整個(gè)生產(chǎn)環(huán)境的穩(wěn)定性降低,并且開(kāi)發(fā)周期長(zhǎng),工作量大的難題。本發(fā)明公開(kāi)了一種通用數(shù)據(jù)交換接口的實(shí)現(xiàn)方法,解決業(yè)務(wù)系統(tǒng)數(shù)據(jù)交換二次開(kāi)發(fā)帶來(lái)的系統(tǒng)穩(wěn)定性降低,開(kāi)發(fā)周期長(zhǎng),開(kāi)發(fā)工作量大的難題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、可廣泛應(yīng)用于異構(gòu)數(shù)據(jù)集成與交換系統(tǒng)中的通用數(shù)據(jù)交換方法。
一種通用數(shù)據(jù)交換方法,其實(shí)現(xiàn)過(guò)程為:
首先定義通用接口調(diào)用機(jī)制,定義一種通用接口結(jié)構(gòu)來(lái)描述接口信息;定義一種通用接口參數(shù)結(jié)構(gòu)來(lái)描述接口參數(shù)信息;定義一種結(jié)構(gòu)來(lái)描述來(lái)源表和目標(biāo)表的字段對(duì)應(yīng)信息;
構(gòu)建數(shù)據(jù)交換機(jī)制,進(jìn)行數(shù)據(jù)交換,具體為,定義數(shù)據(jù)輸入結(jié)構(gòu)來(lái)描述輸入信息,定義數(shù)據(jù)輸出結(jié)構(gòu)來(lái)描述輸出信息。
上述步驟中通過(guò)定義一種通用接口結(jié)構(gòu)來(lái)描述接口信息,該通用接口結(jié)構(gòu)包括:接口ID、接口編號(hào)、接口名稱(chēng)、接口備注、接口類(lèi)型,即websercice或DLL、調(diào)用DLL名稱(chēng)、類(lèi)命名空間、調(diào)用類(lèi)名、調(diào)用DLL或webservice方法名稱(chēng)、Webservice地址
上述步驟中定義的通用接口參數(shù)結(jié)構(gòu)用于描述數(shù)據(jù)交換參數(shù)的信息,該通用接口參數(shù)結(jié)構(gòu)包括:參數(shù)ID、接口ID、參數(shù)編號(hào)、參數(shù)名稱(chēng)、參數(shù)備注、參數(shù)類(lèi)型,即輸入或輸出、輸入或輸出的參數(shù)表名、數(shù)據(jù)交換載體中間表名。
上述步驟中定義一種結(jié)構(gòu)來(lái)描述來(lái)源表和目標(biāo)表的字段對(duì)應(yīng)信息,該結(jié)構(gòu)為定義輸入表、輸出表和中間表的列對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),用來(lái)描述交換參數(shù)和中間表列對(duì)應(yīng)的信息,該結(jié)構(gòu)包括:參數(shù)ID,來(lái)源于交換參數(shù)的數(shù)據(jù)結(jié)構(gòu)的ID字段、來(lái)源字段、目標(biāo)字段、對(duì)應(yīng)方式,即取常量或直接對(duì)應(yīng)或映射對(duì)應(yīng)。
所述數(shù)據(jù)交換機(jī)制是指在交換過(guò)程中,將輸出的數(shù)據(jù)信息存放到輸出的中間表中,調(diào)用通用接口,把經(jīng)過(guò)業(yè)務(wù)系統(tǒng)處理過(guò)的數(shù)據(jù)通過(guò)輸入中間表再取到輸入表中。
數(shù)據(jù)交換的具體過(guò)程為:
首先根據(jù)通用接口調(diào)用機(jī)制,將二次開(kāi)發(fā)的接口內(nèi)容預(yù)置到接口中;
然后進(jìn)行映射對(duì)應(yīng),通過(guò)數(shù)據(jù)交換機(jī)制進(jìn)行接口調(diào)用,完成數(shù)據(jù)交換,并在ERP系統(tǒng)中進(jìn)行展示。
所述接口預(yù)置是指將二次開(kāi)發(fā)的接口內(nèi)容分別預(yù)置到通用接口結(jié)構(gòu)、通用接口參數(shù)結(jié)構(gòu)中。
所述映射對(duì)應(yīng)是指通過(guò)描述來(lái)源表和目標(biāo)表的字段對(duì)應(yīng)信息的結(jié)構(gòu),將輸入表和輸入中間表,輸出表和輸出中間表的字段之間建立映射對(duì)應(yīng)。
所述接口調(diào)用是指按照接口定義中預(yù)置的接口信息,調(diào)用對(duì)應(yīng)接口。
所述接口調(diào)用具體過(guò)程為:
根據(jù)輸出表,把輸出數(shù)據(jù)輸入到中間表中;
通過(guò)反射機(jī)制,依據(jù)輸出數(shù)據(jù),進(jìn)行業(yè)務(wù)處理,把處理結(jié)果生成輸入數(shù)據(jù),放到輸入臨時(shí)表中,然后系統(tǒng)讀取輸入臨時(shí)表生成到輸入表中,在ERP系統(tǒng)中做相應(yīng)展示。
本發(fā)明的一種通用數(shù)據(jù)交換方法和現(xiàn)有技術(shù)相比,具有以下有益效果:
本發(fā)明的一種通用數(shù)據(jù)交換方法,解決業(yè)務(wù)系統(tǒng)數(shù)據(jù)交換二次開(kāi)發(fā)帶來(lái)的系統(tǒng)穩(wěn)定性降低,開(kāi)發(fā)周期長(zhǎng),開(kāi)發(fā)工作量大的難題,通過(guò)此方法,實(shí)現(xiàn)不同業(yè)務(wù)系統(tǒng)數(shù)據(jù)交換需求;該方法具有良好的可擴(kuò)展性,極大降低了ERP產(chǎn)品二次開(kāi)發(fā)的工作量,提高了整個(gè)生產(chǎn)環(huán)境的穩(wěn)定性,實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
一種通用數(shù)據(jù)交換方法,其實(shí)現(xiàn)過(guò)程為:
一、通用接口調(diào)用機(jī)制:通過(guò)構(gòu)造數(shù)據(jù)交換接口定義存儲(chǔ)結(jié)構(gòu),從實(shí)際業(yè)務(wù)角度描述數(shù)據(jù)交換接口內(nèi)容,有利于開(kāi)發(fā)人員進(jìn)行相應(yīng)接口預(yù)置。
具體為:
定義一種通用接口結(jié)構(gòu)來(lái)描述接口信息。
定義一種通用接口參數(shù)結(jié)構(gòu)來(lái)描述接口參數(shù)信息。
定義一種結(jié)構(gòu)來(lái)描述來(lái)源表和目標(biāo)表的字段對(duì)應(yīng)信息。
更為具體的,該機(jī)制定義了對(duì)數(shù)據(jù)接口的描述信息.
定義一個(gè)接口描述信息的數(shù)據(jù)結(jié)構(gòu)(FUNC):
通過(guò)該結(jié)構(gòu)確定數(shù)據(jù)交換接口方式,其有益效果是只要預(yù)置好二次開(kāi)發(fā)的內(nèi)容,對(duì)其他功能不產(chǎn)生影響,有利于生產(chǎn)環(huán)境的穩(wěn)定。
定義一個(gè)交換參數(shù)的數(shù)據(jù)結(jié)構(gòu)(Param),該結(jié)構(gòu)描述數(shù)據(jù)交換參數(shù)的信息,如下:
其有益效果是在ERP軟件生命周期內(nèi),參數(shù)可以根據(jù)業(yè)務(wù)的變化而變化,只要調(diào)整二次開(kāi)發(fā)的接口,無(wú)須對(duì)現(xiàn)有標(biāo)準(zhǔn)功能進(jìn)行調(diào)整,降低二次開(kāi)發(fā)工作量,提高交付質(zhì)量。
定義輸入表、輸出表和中間表的列對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)(MAPPINGINFO),用來(lái)描述交換參數(shù)和中間表列對(duì)應(yīng)的信息,結(jié)構(gòu)如下:
二、在數(shù)據(jù)交換過(guò)程中,構(gòu)建數(shù)據(jù)交換機(jī)制:
定義數(shù)據(jù)輸入結(jié)構(gòu)來(lái)描述輸入信息。
定義數(shù)據(jù)輸出結(jié)構(gòu)來(lái)描述輸出信息。
該步驟通過(guò)數(shù)據(jù)交換定義,在交換過(guò)程中,將輸出的數(shù)據(jù)信息存放到輸出的中間表中,調(diào)用外部接口,把經(jīng)過(guò)業(yè)務(wù)系統(tǒng)處理過(guò)的數(shù)據(jù)通過(guò)輸入中間表再取到輸入表中。其有益效果是調(diào)用接口的開(kāi)發(fā)人員只要按照開(kāi)發(fā)規(guī)范從輸出中間表中取得數(shù)據(jù),經(jīng)過(guò)業(yè)務(wù)邏輯處理,把處理結(jié)果數(shù)據(jù)輸入到輸入中間表,把業(yè)務(wù)數(shù)據(jù)交換和ERP系統(tǒng)有效解耦。
進(jìn)一步的,本發(fā)明的具體實(shí)施步驟分為:接口預(yù)置、映射對(duì)應(yīng)、接口調(diào)用三個(gè)步驟。
其中,接口預(yù)置是指把二次開(kāi)發(fā)的接口內(nèi)容分別預(yù)置到FUNC、PARAM表中。
FUNC表信息如下:
Param表信息如下:
映射對(duì)應(yīng)是指通過(guò)MAPPINGINFO表,將輸入表和輸入中間表,輸出表和輸出中間表的字段之間建立映射對(duì)應(yīng)。
具體如下表所示:
接口調(diào)用是指按照接口定義中預(yù)置的接口信息,調(diào)用對(duì)應(yīng)接口。
根據(jù)輸出表(ProductSale),把輸出數(shù)據(jù)輸入到中間表(DataOutPut)中。通過(guò)反射機(jī)制,調(diào)用CostJS方法,在CostJS方法中依據(jù)輸出數(shù)據(jù),進(jìn)行業(yè)務(wù)處理,把處理結(jié)果生成輸入數(shù)據(jù),放到輸入臨時(shí)表(DataInput)中,然后系統(tǒng)讀取DataInput生成到輸入表(MaterialNeed)中,在ERP系統(tǒng)中做相應(yīng)展示。
本發(fā)明已經(jīng)在某企業(yè)GS全面預(yù)算系統(tǒng)中成功應(yīng)用,在面對(duì)不同項(xiàng)目的數(shù)據(jù)交換過(guò)程中,取得了良好的效果,大大降低了產(chǎn)品二次開(kāi)發(fā)的工作量,提供了生產(chǎn)系統(tǒng)的穩(wěn)定性。
通過(guò)上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專(zhuān)業(yè)技術(shù)人員的已知技術(shù)。