一種基于WebService的數(shù)據(jù)交換方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)交換【技術(shù)領(lǐng)域】,特別涉及一種基于WebService的數(shù)據(jù)交換方法。本發(fā)明是以Web服務(wù)為依托,通過定義參數(shù)的方式進(jìn)行傳入內(nèi)容和格式的約定,通過自動(dòng)創(chuàng)建的數(shù)據(jù)表進(jìn)行參數(shù)信息的自動(dòng)保存,通過對傳入?yún)?shù)表的處理最終完成業(yè)務(wù)的整個(gè)處理過程,通過本發(fā)明的方法,開發(fā)者不需要對WebService進(jìn)行定義和開發(fā),只需要定義每個(gè)過程所需要的參數(shù)信息,就可以處理不同的業(yè)務(wù)過程,從而實(shí)現(xiàn)快速定義靈活應(yīng)用時(shí)基于WebService數(shù)據(jù)交換平臺的最終目的。
【專利說明】-種基于WebService的數(shù)據(jù)交換方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)交換【技術(shù)領(lǐng)域】,特別涉及一種基于WebService的數(shù)據(jù)交換方法。
【背景技術(shù)】
[0002] 數(shù)據(jù)傳輸技術(shù):數(shù)據(jù)源與數(shù)據(jù)宿之間通過一個(gè)或多個(gè)數(shù)據(jù)信道或鏈路、共同遵循 一個(gè)通信協(xié)議而進(jìn)行的數(shù)據(jù)傳輸技術(shù)的方法和設(shè)備。在情報(bào)技術(shù)中,主要用于計(jì)算機(jī)與計(jì) 算機(jī)或計(jì)算機(jī)數(shù)據(jù)庫之間、計(jì)算機(jī)與終端之間、終端與終端之間的信息通信或情報(bào)檢索。典 型的數(shù)據(jù)傳輸系統(tǒng)由主計(jì)算機(jī)(host)或數(shù)據(jù)終端設(shè)備(DTE-data terminial equipment)、 數(shù)據(jù)電路終端設(shè)備及數(shù)據(jù)傳輸信道(專線或交換網(wǎng))組成。數(shù)據(jù)的傳輸過程是DTE把人們要 傳送的文字、圖像或語言信息經(jīng)機(jī)電轉(zhuǎn)換、光電轉(zhuǎn)換或聲電轉(zhuǎn)換的人機(jī)接口變成設(shè)備內(nèi)的 電信號,再通過DCE變成適合信道傳輸?shù)男盘査偷綌?shù)據(jù)傳輸信道。
[0003] 傳統(tǒng)的數(shù)據(jù)交換,尤其是目前主流的ERP產(chǎn)品都有自己的數(shù)據(jù)交換平臺,大多數(shù) 都是基于中間表或者數(shù)據(jù)庫直連的方式進(jìn)行數(shù)據(jù)的交互,但是針對于異構(gòu)數(shù)據(jù)庫系統(tǒng)或者 不在同一個(gè)局域網(wǎng)無法進(jìn)行數(shù)據(jù)直連的情況下,這兩種方式就沒法進(jìn)行數(shù)據(jù)的處理。
【發(fā)明內(nèi)容】
[0004] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種基于WebService的數(shù)據(jù)交換方法, 其可以定時(shí)通過它進(jìn)行數(shù)據(jù)傳輸,也可以通過實(shí)時(shí)調(diào)用觸發(fā)的方式來進(jìn)行數(shù)據(jù)的實(shí)時(shí)傳 遞,做到了異構(gòu)同構(gòu)等系統(tǒng)之間良好的通信機(jī)制。
[0005] 本發(fā)明所采用的技術(shù)方案如下: 一種基于WebService的數(shù)據(jù)交換方法,包括以下步驟: A、 對外提供本地Web業(yè)務(wù)服務(wù),如憑證保存服務(wù)、發(fā)貨單生成服務(wù)等; B、 外部調(diào)用本地Web查詢服務(wù),傳遞約定的參數(shù)信息; C、 本地接收所需的參數(shù)信息,進(jìn)行參數(shù)值或數(shù)據(jù)集的自動(dòng)存儲; D、 通過定義參數(shù)的方式進(jìn)行接收的參數(shù)信息的內(nèi)容和格式的約定,通過自動(dòng)創(chuàng)建的數(shù) 據(jù)表進(jìn)行參數(shù)信息的自動(dòng)保存; E、 對參數(shù)表處理; F、 返回處理結(jié)果 步驟A中,對外提供本地Web服務(wù)包括兩個(gè)Web方法:一個(gè)是接收數(shù)據(jù)并進(jìn)行處理的方 法,第二個(gè)是接受參數(shù)返回結(jié)果集的方法。
[0006] 步驟D中,所述定義參數(shù)的方式具體是指:通過標(biāo)志參數(shù)定義來區(qū)分不同的業(yè)務(wù) 類型,傳入的值不同代表對應(yīng)不同的后臺處理過程,返回值設(shè)定表示數(shù)據(jù)交換處理完畢之 后,返回給對方的內(nèi)容,返回值格式為XML,包括表頭表體形式的返回信息格式,可以明細(xì)到 每一條明細(xì)的錯(cuò)誤信息。
[0007] 標(biāo)志參數(shù)包括: Ctype :固定參數(shù),表示業(yè)務(wù)處理類型; Paral、Para2。。。ParaN :可變參數(shù),根據(jù)不同需要自由擴(kuò)展,屬于業(yè)務(wù)參數(shù)。
[0008] 本發(fā)明通過依托于WebService技術(shù),但同時(shí)不進(jìn)行WebService相關(guān)的編程,通過 一套參數(shù)對每一個(gè)業(yè)務(wù)處理過程進(jìn)行描述和定義,即可以快速實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的通信和 數(shù)據(jù)傳入,解決了傳統(tǒng)數(shù)據(jù)交換平臺在這方面的一個(gè)不足。
[0009] 業(yè)務(wù)過程參數(shù)定義方法,通過標(biāo)志參數(shù)定義來區(qū)分不同的業(yè)務(wù)類型,傳入的值不 同代表對應(yīng)不同的后臺處理過程,返回值設(shè)定表示數(shù)據(jù)交換處理完畢之后,返回給對方的 內(nèi)容,返回值格式為XML,包括表頭表體形式的返回信息格式,可以明細(xì)到每一條明細(xì)的錯(cuò) 誤信息。
[0010] 本發(fā)明提供的技術(shù)方案帶來的有益效果是: 通過本發(fā)明的方法,開發(fā)者不需要對WebService進(jìn)行定義和開發(fā),只需要定義每個(gè) 過程所需要的參數(shù)信息,就可以處理不同的業(yè)務(wù)過程,從而實(shí)現(xiàn)快速定義靈活應(yīng)用時(shí)基于 WebService數(shù)據(jù)交換平臺的最終目的。
【專利附圖】
【附圖說明】
[0011] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使 用的附圖作簡單地介紹。
[0012] 圖1為本發(fā)明的一種基于WebService的數(shù)據(jù)交換方法的方法流程圖。
【具體實(shí)施方式】
[0013] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。
[0014] 實(shí)施例一 如附圖1所示,本實(shí)施例的一種基于WebService的數(shù)據(jù)交換方法,包括以下步驟: A、 對外提供本地Web服務(wù);對外提供本地Web服務(wù)包括兩個(gè)Web方法:一個(gè)是接收數(shù)據(jù) 并進(jìn)行處理的方法,第二個(gè)是接受參數(shù)返回結(jié)果集的方法; B、 外部調(diào)用本地Web服務(wù),傳遞約定的參數(shù)信息; C、 本地接收所述的參數(shù)信息,進(jìn)行參數(shù)值或數(shù)據(jù)集的自動(dòng)存儲; D、 通過定義參數(shù)的方式進(jìn)行接收的參數(shù)信息的內(nèi)容和格式的約定,通過自動(dòng)創(chuàng)建的數(shù) 據(jù)表進(jìn)行參數(shù)信息的自動(dòng)保存;所述定義參數(shù)的方式具體是指:通過標(biāo)志參數(shù)定義來區(qū)分 不同的業(yè)務(wù)類型,傳入的值不同代表對應(yīng)不同的后臺處理過程,返回值設(shè)定表示數(shù)據(jù)交換 處理完畢之后,返回給對方的內(nèi)容,返回值格式為XML,包括表頭表體形式的返回信息格式, 可以明細(xì)到每一條明細(xì)的錯(cuò)誤信息; E、 對參數(shù)表處理。
[0015] 本實(shí)施例中,標(biāo)志參數(shù)包括: Ctype :固定參數(shù),表示業(yè)務(wù)處理類型; Paral、Para2。。。ParaN :可變參數(shù),根據(jù)不同需要自由擴(kuò)展,屬于業(yè)務(wù)參數(shù)。
[0016] 從圖1中我們可以看到,該服務(wù)對外提供兩種形式的調(diào)用方法。
[0017] 方法一:對外提供業(yè)務(wù)操作處理的方法,比如外部系統(tǒng)通過對本方法的調(diào)用,完成 某一項(xiàng)業(yè)務(wù)流程(其他系統(tǒng)憑證信息傳遞到本系統(tǒng)并保存或者相關(guān)的一些業(yè)務(wù)單據(jù))。調(diào)用 方只需要將相關(guān)的字段信息傳遞過來,通過接口的定義,便可以完成本地對應(yīng)業(yè)務(wù)數(shù)據(jù)的 組織和保存。
[0018] 方法二:提供對外界的查詢。此接口返回一個(gè)xml格式的數(shù)據(jù)集,調(diào)用接口需要傳 遞查詢類型和查詢條件相關(guān)參數(shù),系統(tǒng)按照定義返回相應(yīng)的結(jié)果集信息。此方法是一個(gè)查 詢服務(wù)。
[0019] 數(shù)據(jù)流轉(zhuǎn)方式:通過對外暴漏出來的兩個(gè)調(diào)用方法,調(diào)用方在調(diào)用時(shí),傳入?yún)?shù)或 者數(shù)據(jù)集信息,系統(tǒng)首先會將傳入的參數(shù)信息自動(dòng)轉(zhuǎn)存到相應(yīng)的臨時(shí)表中(每個(gè)臨時(shí)表都 有一個(gè)會話ID,用來區(qū)分不同的終端調(diào)用),參數(shù)轉(zhuǎn)存完畢之后,系統(tǒng)會自動(dòng)調(diào)用自定義的 存儲過程,存儲過程有一個(gè)必選參數(shù):會話ID,那么在存儲過程中,便可以通過會話ID獲取 到響應(yīng)的參數(shù)信息并加以處理和保存,存儲過程中負(fù)責(zé)主要業(yè)務(wù)邏輯的處理,同時(shí)將處理 結(jié)果以返回值的形式返回給系統(tǒng),系統(tǒng)將最終結(jié)果以xml方式返回給最終調(diào)用方。
[0020] 返回值設(shè)定: Xml格式的返回值,head區(qū)域內(nèi)為表頭的返回值,body區(qū)域的為表體處理返回值 處理類型設(shè)定與前面的標(biāo)志參數(shù)對應(yīng),不同的標(biāo)志參數(shù)由不同的存儲過程進(jìn)行處理, 數(shù)據(jù)集參數(shù)描述了傳入數(shù)據(jù)集的格式,系統(tǒng)會按照約定的描述自動(dòng)生成后臺的緩存表進(jìn)行 數(shù)據(jù)自動(dòng)存儲,存儲過程中包含了業(yè)務(wù)處理的邏輯,其原理為從緩存表獲取傳入數(shù)據(jù),繼而 進(jìn)行業(yè)務(wù)處理,并返回結(jié)果。
[0021] 參數(shù)說明: 類型編號,對應(yīng)前面的cype參數(shù),標(biāo)識不同的業(yè)務(wù)處理流程。
[0022] 存儲過程,對應(yīng)不同類型下的實(shí)際的業(yè)務(wù)處理操作。
[0023] 數(shù)據(jù)集參數(shù),對方傳入時(shí)約定好的傳輸格式,此數(shù)據(jù)集支持表頭表體的表達(dá)方式, head中間內(nèi)容為表頭字段,通過多個(gè)field標(biāo)簽來標(biāo)識不同字段的名稱和值;bodys中間內(nèi) 容為表體信息,通過row來區(qū)分每一行內(nèi)容,通過field標(biāo)簽來確定每行下面每個(gè)字段的名 稱和值。
[0024] 查詢服務(wù),查詢參數(shù)單獨(dú)區(qū)分出查詢類型,即需要進(jìn)行什么查詢,后面的參數(shù)則可 以定義為查詢傳入的條件,存儲過程用于處理查詢的內(nèi)容,并返回查詢結(jié)果集,系統(tǒng)通過不 同的查詢類型來自動(dòng)區(qū)分需要返回什么樣的結(jié)果集。
[0025] 查詢參數(shù): Ctype :必選參數(shù),標(biāo)識不同的查詢類型,比如多種查詢的話,通過ctype進(jìn)行區(qū)分。
[0026] Paral, para2…:標(biāo)識查詢時(shí)需要傳入的參數(shù),可擴(kuò)展,可作為查詢條件參數(shù)進(jìn)行 定義。
[0027] 類型編號:對應(yīng)ctype參數(shù) 存儲過程:需要提供數(shù)據(jù)集的存儲過程名稱。
[0028] 對方Web服務(wù)調(diào)用定義,這是一個(gè)相對復(fù)雜的定義過程,此定義主要用來描述自 身調(diào)用對方Web服務(wù)的過程,系統(tǒng)會按照約定定時(shí)組織數(shù)據(jù),調(diào)用對方服務(wù),傳入?yún)?shù),接 收返回值,并記錄執(zhí)行日志。Web服務(wù)地址和方法名代表對方的訪問地址和調(diào)用哪個(gè)方法, 數(shù)據(jù)源存儲過程中進(jìn)行需要傳入數(shù)據(jù)集的范圍,數(shù)據(jù)集存儲過程用來定義每個(gè)具體數(shù)據(jù)集 需要傳入的內(nèi)容,數(shù)據(jù)集XML格式是對數(shù)據(jù)集的XML描述,系統(tǒng)按照此描述生成xml內(nèi)容并 作為參數(shù)傳遞。
[0029] 參數(shù)說明 Web服務(wù)地址:對方的Web服務(wù)訪問地址 數(shù)據(jù)源存儲過程:獲取查詢數(shù)據(jù)集的范圍 數(shù)據(jù)集存儲過程:通過范圍,形成每一個(gè)數(shù)據(jù)集 數(shù)據(jù)集XML格式:可以為單表頭或者表頭表體樣式,head中間為表頭字段內(nèi)容;item 中間為表體字段內(nèi)容。
[0030] 成功后存儲過程:對方Web服務(wù)調(diào)用成功之后,執(zhí)行的存儲過程。
[0031] Web服務(wù)參數(shù)信息:調(diào)用對方Web服務(wù)需要傳遞的其他參數(shù)信息。
[0032] 返回值類型:可分為XML或者字符串 返回值解析:如果為XML串,需要通過xpth指定返回值的位置。
[0033] 數(shù)據(jù)集格式示例:
【權(quán)利要求】
1. 一種基于WebService的數(shù)據(jù)交換方法,包括以下步驟: A、 對外提供本地Web業(yè)務(wù)服務(wù); B、 外部調(diào)用本地Web查詢服務(wù),傳遞約定的參數(shù)信息; C、 本地接收所需的參數(shù)信息,進(jìn)行參數(shù)值或數(shù)據(jù)集的自動(dòng)存儲; D、 通過定義參數(shù)的方式進(jìn)行接收的參數(shù)信息的內(nèi)容和格式的約定,通過自動(dòng)創(chuàng)建的數(shù) 據(jù)表進(jìn)行參數(shù)信息的自動(dòng)保存; E、 對參數(shù)表處理; F、 返回處理結(jié)果。
2. 根據(jù)權(quán)利要求1所述的一種基于WebService的數(shù)據(jù)交換方法,其特征在于,所述的 步驟A中,對外提供本地Web服務(wù)包括兩個(gè)Web方法:一個(gè)是接收數(shù)據(jù)并進(jìn)行處理的方法, 第二個(gè)是接受參數(shù)返回結(jié)果集的方法。
3. 根據(jù)權(quán)利要求1所述的一種基于WebService的數(shù)據(jù)交換方法,其特征在于,所述的 步驟D中,所述定義參數(shù)的方式具體是指:通過標(biāo)志參數(shù)定義來區(qū)分不同的業(yè)務(wù)類型,傳入 的值不同代表對應(yīng)不同的后臺處理過程,返回值設(shè)定表示數(shù)據(jù)交換處理完畢之后,返回給 對方的內(nèi)容,返回值格式為XML,包括表頭表體形式的返回信息格式,可以明細(xì)到每一條明 細(xì)的錯(cuò)誤信息。
4. 根據(jù)權(quán)利要求3所述的一種基于WebService的數(shù)據(jù)交換方法,其特征在于,所述的 標(biāo)志參數(shù)包括: Ctype :固定參數(shù),表示業(yè)務(wù)處理類型; Paral、Para2…ParaN :可變參數(shù),根據(jù)不同需要自由擴(kuò)展,屬于業(yè)務(wù)參數(shù)。
【文檔編號】G06F17/30GK104156444SQ201410399132
【公開日】2014年11月19日 申請日期:2014年8月14日 優(yōu)先權(quán)日:2014年8月14日
【發(fā)明者】李海嘯 申請人:浪潮通用軟件有限公司