用于生成產品模型的方法和裝置的制造方法
【技術領域】
[0001] 本發明的各實施方式涉及數據處理,更具體地,涉及從遺留(legacy)應用系統生 成產品模型(Product Model)的方法和裝置。
【背景技術】
[0002] 隨著計算機技術的發展,應用系統的開發方式經歷了諸多變化。在早期開發的應 用系統中,在業務流程中所涉及的各種數據(例如,產品參數)通常與源代碼緊密耦合(例 如,被嵌入在源代碼中),這導致在應用系統開發完成后并不易于修改,進而造成應用系統 的靈活性較差。
[0003] 具體而言,僅以銀行應用系統為具體示例來解釋數據與源代碼緊密耦合的具體含 義。銀行可以向公眾提供各種產品,例如,定期存款產品、活期存款產品等等。應當注意,一 個產品可以具有大量的參數,在本發明的上下文中可以將這些參數稱為產品參數。例如,定 期存款產品可以包括賬戶基本信息、存款日期、存款時間長度、存款數量等產品參數,活期 存款產品可以包括賬戶基本信息、存款日期、取款日期、存款數量等產品參數。在遺留應用 系統中,這些產品參數與源代碼緊密耦合,并且需要專業技術人員分析源代碼之后,才能知 曉源代碼所實現的產品中涉及哪些產品參數。
[0004] 另外,計算機技術的發展還促進了編程語言的演變。較早的編程語言(例如, COBOL語言、C語言等)大多采用面向過程的編程模式,而近些年來主流編程語言(例如, C++語言、Java語言等)均采用面向對象的編程模式。在諸如電力、金融等行業中,存在使 用早期編程語言開發的大量遺留應用系統,并且這些遺留應用系統已經成為各個行業中的 核心系統。
[0005] 遺留應用系統的技術已經逐漸過時,并且開始逐漸被新技術(例如,面向對象的 編程模式)和新平臺(云環境)取代。如何針對早期開發的、其中數據與源代碼緊密耦合 的應用系統實現改造(modernization),成為目前的一項關注的焦點。
[0006] 在改造過程中,首先需要了解遺留應用系統的所涉及的各種產品的相關數據并構 建產品模型,以便產品模型的基礎上、結合遺留應用系統的具體代碼來實現針對遺留應用 系統的改造。現有的技術方案通常需要具有豐富編程經驗的技術人員人工讀取遺留應用系 統的源代碼,才能獲得與產品相關的數據。一方面,這需要大量的人力、物力和時間開銷;另 一方面,隨著編程語言的飛速發展,目前已經很難找到精通早期編程語言(例如,COBOL語 言)的技術人員。
[0007] 因而,如何在盡量不涉及人工操作的情況下,從遺留應用系統的源代碼生成產品 模型成為應用系統改造中的一個關鍵問題。
【發明內容】
[0008] 因而,期望開發一種能夠自動地從遺留應用系統的源代碼生成產品模型的技術方 案,期望生成的產品模型可以包括與源代碼相關的產品所涉及的各種產品參數,以便在后 期處理中可以基于產品模型實現對遺留應用系統的改造。
[0009] 根據本發明的一個方面,提供了一種用于從應用系統生成產品模型的方法, 包括:從應用系統的源代碼中提取與源代碼相關聯的至少一個事務定義(transaction definition),至少一個事務定義中的每個事務定義描述源代碼實現的產品中的一個事務; 將至少一個事務定義劃分至至少一個產品分類;從源代碼中獲取與至少一個產品分類中的 一產品分類相關聯的產品組件以生成產品模型,其中產品組件描述與產品分類相關聯的至 少一個產品參數,以及產品模型描述產品分類與至少一個產品參數之間的關聯關系。
[0010] 在本發明的一個實施方式中,提供了一種用于基于產品模型生成新產品的方法, 包括:接收根據本發明的方法所生成的產品模型;以及通過組合產品模型中的至少一個產 品參數,生成新產品。
[0011] 在本發明的一個實施方式中,提供了一種用于從應用系統生成產品模型的裝置, 包括:提取模塊,配置用于從應用系統的源代碼中提取與源代碼相關聯的至少一個事務定 義,至少一個事務定義中的每個事務定義描述源代碼實現的產品中的一個事務;劃分模塊, 配置用于將至少一個事務定義劃分至至少一個產品分類;生成模塊,配置用于從源代碼中 獲取與至少一個產品分類中的一產品分類相關聯的產品組件以生成產品模型,其中產品組 件描述與產品分類相關聯的至少一個產品參數,以及產品模型描述產品分類與至少一個產 品參數之間的關聯關系。
[0012] 在本發明的一個實施方式中,提供了一種用于基于產品模型生成新產品的裝置, 包括:接收模塊,配置用于接收根據本發明的裝置所生成的產品模型;以及組合模塊,配置 用于通過組合產品模型中的至少一個產品參數,生成新產品。
[0013] 采用本發明所述的方法和裝置,可以在盡可能降低人工干預的情況下,自動地從 應用系統的源代碼中生成產品模型。進一步,可以使用所生成的產品來構造新的產品。更 進一步,還可以基于所生成的產品模型,輔助將遺留應用系統移至新的應用環境。
【附圖說明】
[0014] 通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其 他目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號 通常代表相同部件。
[0015] 圖1示意性示出了適于用來實現本發明實施方式的示例性計算機系統/服務器12 的框圖;
[0016] 圖2示意性示出了根據一個技術方案的遺留應用系統的源代碼的示意圖;
[0017] 圖3示意性示出了根據本發明一個實施方式的用于生成產品模型的技術方案的 框圖;
[0018] 圖4示意性示出了根據本發明一個實施方式的用于生成產品模型的方法的流程 圖;
[0019] 圖5示意性示出了根據本發明一個實施方式的用于獲得產品組件的過程的框圖;
[0020] 圖6示意性示出了根據本發明的一個實施方式的所生成的產品模型的框圖;
[0021] 圖7示意性示出了根據本發明的一個實施方式的基于產品模型生成新產品的示 意圖;以及
[0022] 圖8A示意性示出了根據本發明一個實施方式的從應用系統生成產品模型的裝置 的框圖;以及圖8B示意性示出了根據本發明一個實施方式的用于基于產品模型生成新產 品的裝置的框圖。
【具體實施方式】
[0023] 下面將參照附圖更詳細地描述本公開的優選實施方式。雖然附圖中顯示了本公開 的優選實施方式,然而應該理解,可以以各種形式實現本公開而不應被這里闡述的實施方 式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的 范圍完整地傳達給本領域的技術人員。
[0024] 圖1示出了適于用來實現本發明實施方式的示例性計算機系統/服務器12的框 圖。圖1顯示的計算機系統/服務器12僅僅是一個示例,不應對本發明實施方式的功能和 使用范圍帶來任何限制。
[0025] 如圖1所示,計算機系統/服務器12以通用計算設備的形式表現。計算機系統 /服務器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統存儲器 28,連接不同系統組件(包括系統存儲器28和處理單元16)的總線18。
[0026] 總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器, 外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉 例來說,這些體系結構包括但不限于工業標準體系結構(ISA)總線,微通道體系結構(MAC) 總線,增強型ISA總線、視頻電子標準協會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0027] 計算機系統/服務器12典型地包括多種計算機系統可讀介質。這些介質可以是 任何能夠被計算機系統/服務器12訪問的可用介質,包括易失性和非易失性介質,可移動 的和不可移動的介質。
[0028] 系統存儲器28可以包括易失性存儲器形式的計算機系統可讀介質,例如隨機存 取存儲器(RAM) 30和/或高速緩存存儲器32。計算機系統/服務器12可以進一步包括其 他可移動/不可移動的、易失性/非易失性計算機系統存儲介質。僅作為舉例,存儲系統34 可以用于讀寫不可移動的、非易失性磁介質(圖1未顯示,通常稱為"硬盤驅動器")。盡管 圖1中未示出,可以提供用于對可移動非易失性磁盤(例如"軟盤")讀寫的磁盤驅動器, 以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其他光介質)讀寫的光盤驅動器。 在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線18相連。存儲器28 可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模 塊被配置以執行本發明各實施方式的功能。
[0029] 具有一組(至少一個)