<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

應用組件中交易調用的處理方法和裝置的制造方法

文檔序號:10724563閱讀:669來源:國知局
應用組件中交易調用的處理方法和裝置的制造方法
【專利摘要】本發明提供了應用組件中交易調用的處理方法和裝置。該方法包括:將應用組件的代碼按照預定工程結構約束,其中,所述預定工程結構包括:各應用組件所需的公共方法工程、各應用組件內的模塊工程以及打包部署工程;對所述公共方法工程、所述模塊工程和所述打包部署工程進行配置;將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問應用組件的交易的報文對象。根據本發明,能夠在不修改應用組件代碼的前提下,在合并部署時,使一個模塊可以訪問另一模塊的交易。
【專利說明】
應用組件中交易調用的處理方法和裝置
技術領域
[0001] 本發明涉及應用組件處理,更為具體而言,涉及一種應用組件中交易調用的處理 方法和裝置。
【背景技術】
[0002] 在銀行產品系統的應用組件開發中,具有實現各種不同功能的應用組件,不同的 應用組件通常由不同的開發人員開發,代碼的書寫習慣和風格也各不相同。這些不同功能 的應用組件可以接收聯機交易,也可以被其他模塊調用。然而,在將應用組件基于應用的需 要進行部署的過程中,通常需要對應用組件的相關代碼進行修改,由于不同應用組件的代 碼書寫習慣和風格等各不相同,導致部署中代碼的修改處理需要花費大量的時間和精力, 從而導致應用組件部署的整體效率較低。

【發明內容】

[0003] 為解決上述技術問題,本發明提供了一種應用組件中交易調用的處理方法,能夠 在不修改應用組件代碼的前提下,在應用組件合并部署時,使一個模塊工程可以訪問另一 模塊工程的交易。
[0004] 根據本發明實施方式的第一方面,提供了一種應用組件中交易調用的處理方法, 所述方法包括:將應用組件的代碼按照預定工程結構約束,其中,所述預定工程結構包括: 各應用組件所需的公共方法工程、各應用組件內的模塊工程以及打包部署工程,所述公共 方法工程定義交易的報文對象基類,所述模塊工程包括交易的報文對象并且依賴于所述公 共方法工程;對所述公共方法工程、所述模塊工程和所述打包部署工程進行配置;將所述公 共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程的代碼和配置 合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問應用組件的交易的報文對 象。
[0005] 在本發明的一些實施方式中,所述對所述公共方法工程、所述模塊工程和所述打 包部署工程進行配置包括:對所述公共方法工程的公共表的數據庫訪問文件、公共代碼中 的錯誤碼映射到錯誤描述進行配置;對所述打包部署工程的關聯的數據源和日志進行配 置;對所述模塊工程的關聯表的數據訪問文件、所屬應用組件內的錯誤碼映射到錯誤描述、 聯機報文映射關系、所屬應用組件提供的交易碼與服務類的映射關系以及所述模塊工程關 聯的數據源和日志進行配置。
[0006] 在本發明的一些實施方式中,通過以交易碼和被調用交易的輸入報文對象為輸入 參數的跨模塊接口確定被調用交易的輸出報文對象。
[0007] 在本發明的一些實施方式中,通過以交易碼和被調用交易的輸入報文對象為輸入 參數的跨模塊接口確定被調用交易的輸出報文對象包括:保存當前交易碼和當前交易環境 變量,構建所述交易碼和所述交易碼對應的交易環境變量作為新的交易環境,在所述新的 交易環境中從本地服務注冊目錄中查詢所述交易碼對應的服務類,將所述被調用交易的輸 入報文對象作為輸入參數調用所述服務類得到輸出報文對象,銷毀所述新的交易環境,恢 復所述當前交易碼和當前交易環境變量,并返回所述輸出報文對象。
[0008] 在本發明的一些實施方式中,通過以交易碼和被調用交易的輸入報文對象為輸入 參數的跨模塊接口確定被調用交易的輸出報文對象包括:從遠端服務注冊目錄中查詢所述 交易碼對應的服務器的地址信息;將所述被調用交易的輸入報文對象轉換為輸入數據報文 發送到所述服務器的地址信息對應的服務器;接收所述服務器返回的輸出數據報文,并將 所述輸出數據報文轉換為所述被調用交易的輸出報文對象,并返回所述輸出報文對象。
[0009] 在本發明的一些實施方式中,所述方法還包括:定期生成模塊工程,并將所述定期 生成的模塊工程打包成jar包,其中,所述定期生成的模塊工程的代碼來源于每個模塊工程 的接口對象。
[0010]根據本發明實施方式的第二方面,提供了一種應用組件中交易調用的處理裝置, 所述裝置包括:預處理模塊,用于將應用組件的代碼按照預定工程結構約束,其中,所述預 定工程結構包括:各應用組件所需的公共方法工程、各應用組件內的模塊工程以及打包部 署工程,所述公共方法工程定義交易的報文對象基類,所述模塊工程包括交易的報文對象 并且依賴于所述公共方法工程;以及,對所述公共方法工程、所述模塊工程和所述打包部署 工程進行配置;合并模塊,將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和 配置和所述模塊工程的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程 能夠訪問應用組件的交易的報文對象。
[0011] 在本發明的一些實施方式中,所述預處理模塊對所述公共方法工程、所述模塊工 程和所述打包部署工程進行配置包括:對所述公共方法工程的公共表的數據庫訪問文件、 公共代碼中的錯誤碼映射到錯誤描述進行配置;對所述打包部署工程的關聯的數據源和日 志進行配置;對所述模塊工程的關聯表的數據訪問文件、所屬應用組件內的錯誤碼映射到 錯誤描述、聯機報文映射關系、所屬應用組件提供的交易碼與服務類的映射關系以及所述 模塊工程關聯的數據源和日志進行配置。
[0012] 在本發明的一些實施方式中,所述裝置還包括:跨模塊調用接口,該接口用于以交 易碼和被調用交易的輸入報文對象為輸入參數確定被調用交易的輸出報文對象。
[0013] 在本發明的一些實施方式中,所述接口以交易碼和被調用交易的輸入報文對象為 輸入參數確定被調用交易的輸出報文對象包括:保存當前交易碼和當前交易環境變量,構 建所述交易碼和所述交易碼對應的交易環境變量作為新的交易環境,在所述新的交易環境 中從本地服務注冊目錄中查詢所述交易碼對應的服務類,將所述被調用交易的輸入報文對 象作為輸入參數調用所述服務類得到輸出報文對象,銷毀所述新的交易環境,恢復所述當 前交易碼和當前交易環境變量,并返回所述輸出報文對象。
[0014] 在本發明的一些實施方式中,所述接口以交易碼和被調用交易的輸入報文對象為 輸入參數確定被調用交易的輸出報文對象包括:從遠端服務注冊目錄中查詢所述交易碼對 應的服務器的地址信息;將所述被調用交易的輸入報文對象轉換為輸入數據報文發送到所 述服務器的地址信息對應的服務器;接收所述服務器返回的輸出數據報文,并將所述輸出 數據報文轉換為所述被調用交易的輸出報文對象,并返回所述輸出報文對象。
[0015] 在本發明的一些實施方式中,所述裝置還包括:單獨部署模塊,用于定期生成模塊 工程,并將所述定期生成的模塊工程打包成jar包,其中,所述定期生成的模塊工程的代碼 來源于每個模塊工程的接口對象。
[0016] 本發明實施方式提供的應用組件中交易調用的方法和裝置,在不修改應用組件代 碼的前提下,合并部署和單獨部署均能夠使一個模塊工程訪問另一模塊工程的聯機交易。
【附圖說明】
[0017] 圖1是根據本發明一種實施方式的應用組件中交易調用的處理方法的流程示意 圖。
[0018] 圖2是根據本發明一種實施方式的應用組件中交易調用的處理裝置的結構示意 圖。
【具體實施方式】
[0019] 以下結合附圖和【具體實施方式】對本發明的各個方面進行詳細闡述。其中,眾所周 知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細說明。并且,所 描述的特征、架構或功能可在一個或一個以上實施方式中以任何方式組合。本領域技術人 員應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發明的保護范圍。還可 以容易理解,本文所述和附圖所示的各實施方式中的模塊或單元或處理方式可以按各種不 同配置進行組合和設計。
[0020] 本發明實施方式的應用組件可以指業務功能、業務流程、實現模式相近,針對同一 類別業務產品或服務的具體實現的集合。產品服務系統是由基礎技術組件和應用組件組 成,可以接收/發送聯機交易、處理業務邏輯的系統。交易通常為聯機交易,還可以是與聯機 交易類似的其他交易。
[0021] 圖1是根據本發明一種實施方式的應用組件中交易調用的處理方法的流程示意 圖。
[0022]參見圖1,本發明的應用組件中交易調用的處理方法可包括:步驟S11、步驟S12和 步驟S13,接下來對上面三個步驟進行具體說明。
[0023]步驟S11,將應用組件的代碼按照預定工程結構約束,例如,可以將應用組件按照 預定工程結構進行代碼開發。其中,預定工程結構包括:各應用組件所需的公共方法工程、 各應用組件內的模塊工程以及打包部署工程,其中,公共方法工程定義交易的報文對象基 類,模塊工程包括交易的報文對象并且依賴于公共方法工程。公共方法工程可以使用XXX-C0MM0N形式進行命名,屬于java工程,其中,XXX為應用組件的名稱,XXX-C0MM0N為名稱為 XXX的應用組件所需要的公共方法;模塊工程可以使用XXX-PR0D-YY形式進行命名,屬于web 工程,其中,XXX為應用組件的名稱,YY為細分的模塊,XXX-PR0D-YY為名稱為XXX的應用組件 內細分的模塊工程;打包部署工程可以使用XXX-DEPL0Y形式進行命名,屬于java工程,其 中,XXX為應用組件的名稱,XXX-DEPL0Y為打包部署工程,定義公共配置文件。
[0024]在一種具體的實施例中,預定的工程結構可以如下表1。
[0025]表 1
[0027] XXX-C0MM0N工程中定義了報文對象基類,包括輸入報文對象基類Base InVo和輸出 報文對象基類Base0utV〇;XXX-PR0D-YY工程中有聯機交易服務相關邏輯及配置文件,依賴 于XXX-C0MM0N工程,XXX-PR0D-YY工程中有一個包vo (指的是接口對象)專門放置報文對象 InVo和OutVo,也就是一只交易的輸入值合集對象、輸出值合集對象。每個PROD工程可以作 為Web工程單獨部署。COMMON工程和PROD工程都使用Spring框架作為bean注冊獲取工具和 事務管理工具,能夠提供統一的對象容器,有助于實現單例,管理對象;方便面向接口編程; 支持JDBC和集成0RM框架等等。Spring提供了基于aop的聲明式事務管理機制,使得應用代 碼中不需要顯式地調用開啟事務、提交/回滾事務等操作,降低出錯風險等。需要說明的是, 在另外一些實施方式中,COMMON工程和PROD工程都可以不使用Spring框架,而是采用其他 方式。
[0028] 步驟S12,對開發出的公共方法工程、模塊工程和打包部署工程進行配置。具體而 言,可包括:對各應用組件的公共方法工程的公共表的數據庫訪問文件、公共代碼中的錯誤 碼映射到錯誤描述進行配置;對應用組件的打包部署工程的關聯的數據源和日志進行配 置;對各應用組件中模塊工程的關聯表的數據訪問文件、該模塊工程所屬應用組件內的錯 誤碼映射到錯誤描述、聯機報文映射關系、該模塊工程所屬應用組件提供的交易碼與服務 類的映射關系以及所述模塊工程關聯的數據源和日志進行配置。需要指出的是,上述的公 共方法工程、打包配置工程和模塊工程的配置并不僅限于上述列出的配置,還可包括其他 的配置。
[0029] 在一種具體的實施例中,對公共方法工程的配置可包括對公共表的數據庫訪問文 件進行配置(例如,ibatis的sql-map文件、sql-map-config文件)以及對公共代碼中涉及到 的錯誤碼映射到錯誤描述進行配置;對打包部署工程的配置可包括對合并部署的配置,例 如,對關聯的數據源、日志的配置,以使該工程能夠獨立運行;對模塊工程的配置可以是對 模塊工程的聯機交易服務注冊配置,包括:該模塊工程所屬的應用組件的關聯表的數據庫 訪問文件配置(例如,ibatis的sql-map文件、sql-map-conf ig文件)、該模塊工程所屬應用 組件內的錯誤碼映射到錯誤描述的配置,聯機報文映射關系配置(報文->inV〇,〇utV〇->報 文),該模塊工程所屬的應用組件提供的交易碼_>服務類的映射關系,還有工程相關的配置 如數據源配置、日志配置等使得該模塊工程可以獨立運行。
[0030] 步驟S13,將公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述 模塊工程的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問應 用組件的交易的報文對象。具體而言,在合并部署時,將XXX-C0MM0N的所有代碼和配置、 XXX-DEPL0Y的所有代碼和配置、每個XXX-PR0D-YY工程的代碼和聯機交易服務注冊配置合 并,并打成一個war包部署,這樣每個PROD工程也可以訪問到應用組件內每一只交易的報文 對象。DEPLOY工程由于主要放置公共的配置文件,在一些情形下,DEPLOY工程和PROD工程可 能會有沖突,例如,名稱一樣,這是由于PROD工程會有一些用于單獨部署的配置文件的名稱 與DEPLOY工程中的公共配置文件的名稱一樣。在這樣的情形下,以DEPLOY工程的公共配置 文件的名稱為準。
[0031] 上面描述了合并部署的情形,本發明的應用組件中交易調用的方法除了包括合并 部署的情形之外,還可包括單獨部署的情形,在單獨部署的情形下,本發明的方法還可包 括:定期生成模塊工程,并將定期生成的模塊工程打包成jar包,其中,定期生成的模塊工程 的代碼來源于每個模塊工程的接口對象,也就是一只交易的輸入值合集對象、輸出值合集 對象。在一種具體的實施例中,在開發階段和單獨部署時,定期生成XXX-PR0D-V0的工程并 打成jar包,該工程的代碼來源于每個PROD工程的V0(接口對象,一只交易的輸入值合集對 象、輸出值合集對象),這個V0工程編譯出來的jar包被各個PROD工程依賴。這樣,每個PROD 工程可以訪問到該應用組件內每一只交易的報文對象。通過上述方式可以在本模塊訪問其 他模塊的報文對象。本發明的方法還可包括提供跨模塊調用接口,能夠在本模塊訪問其他 模塊的聯機交易服務。跨模塊調用接口使用交易碼和被調用交易的輸入報文對象作為輸入 參數,將被調用交易的輸出報文對象作為輸出參數,也就是說,根據交易碼和被調用交易的 輸入報文對象確定被調用交易的輸出報文對象。例如,在一種具體實施例中,跨模塊調用接 口可以使用下述的形式:
[0032] BaseOutVo invoke(String serviceId,BaseInVo remotelnVo)
[0033]其中,輸入參數為字符串string形式的交易碼serviceid和輸入報文對象基類 BaselnVo,輸出參數為輸出報文對象基類BaseOutVo。
[0034] 本發明的跨模塊調用接口有兩個實現類,分別是本地調用實現類和遠程調用實現 類。
[0035] 對于本地調用實現,通過以交易碼和被調用交易的輸入報文對象為輸入參數的跨 模塊接口確定被調用交易的輸出報文對象包括包括:保存當前交易碼和當前交易環境變量 (例如,可以使用threadlocal機制創建的線程級的交換區,在其中放置當前系統的一些配 置,如營業日期、是否對外營業、是否處于日終狀態等))以及當前交易的報文對象等,構建 輸入參數中的交易碼和該交易碼對應的交易環境變量(例如,營業日期、是否對外營業、是 否處于日終狀態等環境變量)作為新的交易環境,在新的交易環境中從本地服務注冊目錄 (例如,可包括交易碼_>服務類beanid的K->V映射關系等)中查詢所述交易碼對應的服務 類,將所述被調用交易的輸入報文對象作為輸入參數調用所述服務類得到輸出報文對象, 銷毀所述新的交易環境,恢復所述當前交易碼和當前交易環境變量,并返回所述輸出報文 對象。
[0036] 在一種具體的實施方式中,本地調用實現可包括下述步驟:保存原交易現場,例 如,使用threadlocal機制創建的線程級的交換區,在該交換區中放置當前交易碼、當前交 易的環境變量和當前交易的報文對象等;構造新的交易環境,例如,使用輸入的交易碼以及 該交易碼對應的新的環境變量等;從本地服務注冊目錄中查詢新的交易碼對應的服務類, 調用該服務類,傳入輸入報文對象;得到輸出報文對象,銷毀新交易的交易環境;恢復原交 易現場,例如,恢復交換區中放置的當前交易碼、當前交易的環境變量和當前交易的報文對 象等;返回輸出報文對象。
[0037] 對于遠程調用實現,通過以交易碼和被調用交易的輸入報文對象為輸入參數的跨 模塊接口確定被調用交易的輸出報文對象包括:從遠端服務注冊目錄(例如,可包括交易 碼_>服務器ip的κ->ν映射關系)中查詢所述交易碼對應的服務器的地址信息(例如,服務器 ip);將所述被調用交易的輸入報文對象轉換為輸入數據報文發送到所述服務器的地址信 息對應的服務器,遠端服務器有交易碼與服務類beanid的映射關系,在接收到輸入數據報 文之后,將輸入數據報文轉換成報文對象InVo,調用指定交易對應的服務類,生成輸出報文 對象OutVo,再轉換為輸出數據報文;接收所述服務器返回的輸出數據報文,并將所述輸出 數據報文轉換為所述被調用交易的輸出報文對象,并返回所述輸出報文對象。
[0038] 在一種具體的實施例中,遠程調用實現可包括:從遠端服務注冊目錄中查詢交易 碼(即接口的輸入參數之一:交易碼)對應的服務器id;將本地輸入報文對象(即接口的輸入 參數之一:被調用交易的輸入報文對象)轉換成輸入數據報文,根據查詢到的服務器id發送 到指定的服務器,該指定服務器將輸入數據報文轉換成報文對象InVo,調用指定交易對象 的服務類,生成OutVo,再轉換成返回的輸出數據報文。
[0039] 在合并部署時,可以將本地調用實現類注冊在spring容器中,id為一個固定的id; 在單獨部署時,可以將遠程調用實現類注冊在spring容器中,id與合并部署時的固定id相 同;應用代碼中要調用其他模塊時,統一注入該固定id的javabean調用接口方法即可。這樣 同一套應用代碼無論在合并部署模式還是獨立部署模式下,都可以訪問到其他模塊的交 易。
[0040] 上面結合具體實施例描述了本發明的應用組件中交易調用的方法,下面將結合具 體實施例描述與上述方法對應的裝置。
[0041] 圖2是根據本發明一種實施方式的應用組件中交易調用的處理裝置的結構示意 圖。
[0042]參見圖2,本發明的應用組件中交易調用的處理裝置可包括預處理模塊21和合并 模塊22。
[0043]預處理模塊21可用于將應用組件的代碼按照預定工程結構約束,例如,可以將應 用組件按照預定工程結構進行代碼開發,其中,預定工程結構包括:各應用組件所需的公共 方法工程、各應用組件內的模塊工程以及打包部署工程,其中,公共方法工程定義交易的報 文對象基類,模塊工程包括交易的報文對象并且依賴于公共方法工程。公共方法工程可以 使用XXX-C0MM0N形式進行命名,屬于java工程,其中,XXX為應用組件的名稱,XXX-C0MM0N為 名稱為XXX的應用組件所需要的公共方法;模塊工程可以使用XXX-PR0D-YY形式進行命名, 屬于web工程,其中,XXX為應用組件的名稱,YY為細分的模塊,XXX-PROD-YY為名稱為XXX的 應用組件內細分的模塊工程;打包部署工程可以使用XXX-DEPLOY形式進行命名,屬于java 工程,其中,XXX為應用組件的名稱,XXX-DEPLOY為打包部署工程,定義公共配置文件。在一 種具體的實施例中,預定的工程結構可以如表1。
[0044] 預處理模塊21還可用于對開發出的公共方法工程、模塊工程和打包部署工程進行 配置。具體而言,可包括:對各應用組件的公共方法工程的公共表的數據庫訪問文件、公共 代碼中的錯誤碼映射到錯誤描述進行配置;對應用組件的打包部署工程的關聯的數據源和 日志進行配置;對各應用組件中模塊工程的關聯表的數據訪問文件、該模塊工程所屬應用 組件內的錯誤碼映射到錯誤描述、聯機報文映射關系、該模塊工程所屬應用組件提供的交 易碼與服務類的映射關系以及所述模塊工程關聯的數據源和日志進行配置。需要指出的 是,上述的公共方法工程、打包配置工程和模塊工程的配置并不僅限于上述列出的配置,還 可包括其他的配置。
[0045] 在一種具體的實施例中,對公共方法工程的配置可包括對公共表的數據庫訪問文 件進行配置(例如,ibatis的sql-map文件、sql-map-config文件)以及對公共代碼中涉及到 的錯誤碼映射到錯誤描述進行配置;對打包部署工程的配置可包括對合并部署的配置,例 如,對關聯的數據源、日志的配置,以使該工程能夠獨立運行;對模塊工程的配置可以是對 模塊工程的聯機交易服務注冊配置,包括:該模塊工程所屬的應用組件的關聯表的數據庫 訪問文件配置(例如,ibatis的sql-map文件、sql-map-config文件)、該模塊工程所屬應用 組件內的錯誤碼映射到錯誤描述的配置,聯機報文映射關系配置(報文->inV 〇,〇utV〇->報 文),該模塊工程所屬的應用組件提供的交易碼_>服務類的映射關系,還有工程相關的配置 如數據源配置、日志配置等使得該模塊工程可以獨立運行。
[0046] 合并模塊22將公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所 述模塊工程的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問 應用組件的交易的報文對象。具體而言,在合并部署時,將XXX-C0MM0N的所有代碼和配置、 XXX-DEPLOY的所有代碼和配置、每個XXX-PR0D-YY工程的代碼和聯機交易服務注冊配置合 并,并打成一個war包部署,這樣每個PROD工程也可以訪問到應用組件內每一只交易的報文 對象。DEPLOY工程由于主要放置公共的配置文件,在一些情形下,DEPLOY工程和PROD工程可 能會有沖突,例如,名稱一樣,這是由于PROD工程會有一些用于單獨部署的配置文件的名稱 與DEPLOY工程中的公共配置文件的名稱一樣。在這樣的情形下,以DEPLOY工程的公共配置 文件的名稱為準。
[0047] 上面描述了合并部署的情形,本發明的應用組件中交易調用的方法除了包括合并 部署的情形之外,還可包括單獨部署的情形,在單獨部署的情形下,本發明的裝置還可包 括:單獨部署模塊,其定期生成模塊工程,并將定期生成的模塊工程打包成jar包,其中,定 期生成的模塊工程的代碼來源于每個模塊工程的接口對象,也就是一只交易的輸入值合集 對象、輸出值合集對象。在一種具體的實施例中,在開發階段和單獨部署時,定期生成XXX-PR0D-V0的工程并打成jar包,該工程的代碼來源于每個PROD工程的V0(接口對象,一只交易 的輸入值合集對象、輸出值合集對象),這個V0工程編譯出來的jar包被各個PROD工程依賴。 這樣,每個PROD工程可以訪問到該應用組件內每一只交易的報文對象。
[0048] 通過上述方式可以在本模塊訪問其他模塊的報文對象。本發明的裝置還可包括跨 模塊調用接口,能夠在本模塊訪問其他模塊的聯機交易服務。跨模塊調用接口使用交易碼 和被調用交易的輸入報文對象作為輸入參數,將被調用交易的輸出報文對象作為輸出參 數,也就是說,根據交易碼和被調用交易的輸入報文對象確定被調用交易的輸出報文對象。
[0049] 本發明的跨模塊調用接口有兩個實現類,分別是本地調用實現類和遠程調用實現 類。
[0050] 對于本地調用實現,通過以交易碼和被調用交易的輸入報文對象為輸入參數的跨 模塊接口確定被調用交易的輸出報文對象包括包括:保存當前交易碼和當前交易環境變量 (例如,可以使用threadlocal機制創建的線程級的交換區,在其中放置當前系統的一些配 置,如營業日期、是否對外營業、是否處于日終狀態等))以及當前交易的報文對象等,構建 輸入參數中的交易碼和該交易碼對應的交易環境變量(例如,營業日期、是否對外營業、是 否處于日終狀態等環境變量)作為新的交易環境,在新的交易環境中從本地服務注冊目錄 (例如,可包括交易碼_>服務類beanid的K->V映射關系等)中查詢所述交易碼對應的服務 類,將所述被調用交易的輸入報文對象作為輸入參數調用所述服務類得到輸出報文對象, 銷毀所述新的交易環境,恢復所述當前交易碼和當前交易環境變量,并返回所述輸出報文 對象。
[0051] 對于遠程調用實現,通過以交易碼和被調用交易的輸入報文對象為輸入參數的跨 模塊接口確定被調用交易的輸出報文對象包括:從遠端服務注冊目錄(例如,可包括交易 碼_>服務器ip的K->V映射關系)中查詢所述交易碼對應的服務器的地址信息(例如,服務器 ip);將所述被調用交易的輸入報文對象轉換為輸入數據報文發送到所述服務器的地址信 息對應的服務器,遠端服務器有交易碼與服務類beanid的映射關系,在接收到輸入數據報 文之后,將輸入數據報文轉換成報文對象InVo,調用指定交易對應的服務類,生成輸出報文 對象OutVo,再轉換為輸出數據報文;接收所述服務器返回的輸出數據報文,并將所述輸出 數據報文轉換為所述被調用交易的輸出報文對象,并返回所述輸出報文對象。
[0052] 在合并部署時,可以將本地調用實現類注冊在spring容器中,id為一個固定的id; 在獨立部署時,可以將遠程調用實現類注冊在spring容器中,id與合并部署時的固定id相 同;應用代碼中要調用其他模塊時,統一注入該固定id的javabean調用接口方法。這樣同一 套應用代碼無論在合并部署模式還是獨立部署模式下,都可以訪問到其他模塊的交易。
[0053] 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助 軟件結合硬件平臺的方式來實現。基于這樣的理解,本發明的技術方案對【背景技術】做出貢 獻的全部或者部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介 質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算 機,服務器,智能手機或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述 的方法。
[0054]本發明說明書中使用的術語和措辭僅僅為了舉例說明,并不意味構成限定。本領 域技術人員應當理解,在不脫離所公開的實施方式的基本原理的前提下,對上述實施方式 中的各細節可進行各種變化。因此,本發明的范圍只由權利要求確定,在權利要求中,除非 另有說明,所有的術語應按最寬泛合理的意思進行理解。
【主權項】
1. 一種應用組件中交易調用的處理方法,其特征在于,所述方法包括: 將應用組件的代碼按照預定工程結構約束,其中,所述預定工程結構包括:各應用組件 所需的公共方法工程、各應用組件內的模塊工程以及打包部署工程,所述公共方法工程定 義交易的報文對象基類,所述模塊工程包括交易的報文對象并且依賴于所述公共方法工 程; 對所述公共方法工程、所述模塊工程和所述打包部署工程進行配置; 將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所述模塊工程 的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問應用組件的 交易的報文對象。2. 根據權利要求1所述的方法,其特征在于,所述對所述公共方法工程、所述模塊工程 和所述打包部署工程進行配置包括: 對所述公共方法工程的公共表的數據庫訪問文件、公共代碼中的錯誤碼映射到錯誤描 述進行配置; 對所述打包部署工程的關聯的數據源和日志進行配置; 對所述模塊工程的關聯表的數據訪問文件、所屬應用組件內的錯誤碼映射到錯誤描 述、聯機報文映射關系、所屬應用組件提供的交易碼與服務類的映射關系以及所述模塊工 程關聯的數據源和日志進行配置。3. 根據權利要求1所述的方法,其特征在于,所述方法還包括: 通過以交易碼和被調用交易的輸入報文對象為輸入參數的跨模塊接口確定被調用交 易的輸出報文對象。4. 根據權利要求3所述的方法,其特征在于,通過以交易碼和被調用交易的輸入報文對 象為輸入參數的跨模塊接口確定被調用交易的輸出報文對象包括: 保存當前交易碼和當前交易環境變量,構建所述交易碼和所述交易碼對應的交易環境 變量作為新的交易環境, 在所述新的交易環境中從本地服務注冊目錄中查詢所述交易碼對應的服務類,將所述 被調用交易的輸入報文對象作為輸入參數調用所述服務類得到輸出報文對象, 銷毀所述新的交易環境,恢復所述當前交易碼和當前交易環境變量,并返回所述輸出 報文對象。5. 根據權利要求3所述的方法,其特征在于,通過以交易碼和被調用交易的輸入報文對 象為輸入參數的跨模塊接口確定被調用交易的輸出報文對象包括: 從遠端服務注冊目錄中查詢所述交易碼對應的服務器的地址信息, 將所述被調用交易的輸入報文對象轉換為輸入數據報文發送到所述服務器的地址信 息對應的服務器, 接收所述服務器返回的輸出數據報文,并將所述輸出數據報文轉換為所述被調用交易 的輸出報文對象,并返回所述輸出報文對象。6. 根據權利要求1所述的方法,其特征在于,所述方法還包括: 定期生成模塊工程,并將所述定期生成的模塊工程打包成jar包,其中,所述定期生成 的模塊工程的代碼來源于每個模塊工程的接口對象。7. -種應用組件中交易調用的處理裝置,其特征在于,所述裝置包括: 預處理模塊,用于將應用組件的代碼按照預定工程結構約束,其中,所述預定工程結構 包括:各應用組件所需的公共方法工程、各應用組件內的模塊工程以及打包部署工程,所述 公共方法工程定義交易的報文對象基類,所述模塊工程包括交易的報文對象并且依賴于所 述公共方法工程;以及,對所述公共方法工程、所述模塊工程和所述打包部署工程進行配 置; 合并模塊,將所述公共方法工程的代碼和配置、所述打包部署工程的代碼和配置和所 述模塊工程的代碼和配置合并,并打包成war包進行合并部署,以便所述模塊工程能夠訪問 應用組件的交易的報文對象。8. 根據權利要求7所述的裝置,其特征在于,所述預處理模塊對所述公共方法工程、所 述模塊工程和所述打包部署工程進行配置包括: 對所述公共方法工程的公共表的數據庫訪問文件、公共代碼中的錯誤碼映射到錯誤描 述進行配置; 對所述打包部署工程的關聯的數據源和日志進行配置; 對所述模塊工程的關聯表的數據訪問文件、所屬應用組件內的錯誤碼映射到錯誤描 述、聯機報文映射關系、所屬應用組件提供的交易碼與服務類的映射關系以及所述模塊工 程關聯的數據源和日志進行配置。9. 根據權利要求7所述的裝置,其特征在于,所述裝置還包括:跨模塊調用接口,該接口 用于以交易碼和被調用交易的輸入報文對象為輸入參數確定被調用交易的輸出報文對象。10. 根據權利要求9所述的裝置,其特征在于,所述接口以交易碼和被調用交易的輸入 報文對象為輸入參數確定被調用交易的輸出報文對象包括: 保存當前交易碼和當前交易環境變量,構建所述交易碼和所述交易碼對應的交易環境 變量作為新的交易環境, 在所述新的交易環境中從本地服務注冊目錄中查詢所述交易碼對應的服務類,將所述 被調用交易的輸入報文對象作為輸入參數調用所述服務類得到輸出報文對象, 銷毀所述新的交易環境,恢復所述當前交易碼和當前交易環境變量,并返回所述輸出 報文對象。11. 根據權利要求9所述的裝置,其特征在于,所述接口以交易碼和被調用交易的輸入 報文對象為輸入參數確定被調用交易的輸出報文對象包括: 從遠端服務注冊目錄中查詢所述交易碼對應的服務器的地址信息, 將所述被調用交易的輸入報文對象轉換為輸入數據報文發送到所述服務器的地址信 息對應的服務器, 接收所述服務器返回的輸出數據報文,并將所述輸出數據報文轉換為所述被調用交易 的輸出報文對象,并返回所述輸出報文對象。12. 根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 單獨部署模塊,用于定期生成模塊工程,并將所述定期生成的模塊工程打包成jar包, 其中,所述定期生成的模塊工程的代碼來源于每個模塊工程的接口對象。
【文檔編號】G06F9/445GK106095424SQ201610395737
【公開日】2016年11月9日
【申請日】2016年6月7日 公開號201610395737.7, CN 106095424 A, CN 106095424A, CN 201610395737, CN-A-106095424, CN106095424 A, CN106095424A, CN201610395737, CN201610395737.7
【發明人】聶砂, 白彧斐, 李卓
【申請人】中國建設銀行股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影