CN105700860B - 用于生成产品模型的方法和装置 - Google Patents
用于生成产品模型的方法和装置 Download PDFInfo
- Publication number
- CN105700860B CN105700860B CN201410697451.5A CN201410697451A CN105700860B CN 105700860 B CN105700860 B CN 105700860B CN 201410697451 A CN201410697451 A CN 201410697451A CN 105700860 B CN105700860 B CN 105700860B
- Authority
- CN
- China
- Prior art keywords
- product
- source code
- affairs
- classification
- definition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0621—Item configuration or customization
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了用于生成产品模型的方法和装置。提供了一种用于从应用系统生成产品模型的方法,包括:从应用系统的源代码中提取与源代码相关联的至少一个事务定义,事务定义描述源代码实现的产品中的一个事务;将至少一个事务定义划分至至少一个产品分类;从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。提供了一种用于基于产品模型生成新产品的方法,包括:通过组合产品模型中的至少一个产品参数,生成所述新产品。采用本发明,可以从实现遗留应用系统的源代码中自动生成产品模型。
Description
技术领域
本发明的各实施方式涉及数据处理,更具体地,涉及从遗留(legacy)应用系统生成产品模型(Product Model)的方法和装置。
背景技术
随着计算机技术的发展,应用系统的开发方式经历了诸多变化。在早期开发的应用系统中,在业务流程中所涉及的各种数据(例如,产品参数)通常与源代码紧密耦合(例如,被嵌入在源代码中),这导致在应用系统开发完成后并不易于修改,进而造成应用系统的灵活性较差。
具体而言,仅以银行应用系统为具体示例来解释数据与源代码紧密耦合的具体含义。银行可以向公众提供各种产品,例如,定期存款产品、活期存款产品等等。应当注意,一个产品可以具有大量的参数,在本发明的上下文中可以将这些参数称为产品参数。例如,定期存款产品可以包括账户基本信息、存款日期、存款时间长度、存款数量等产品参数,活期存款产品可以包括账户基本信息、存款日期、取款日期、存款数量等产品参数。在遗留应用系统中,这些产品参数与源代码紧密耦合,并且需要专业技术人员分析源代码之后,才能知晓源代码所实现的产品中涉及哪些产品参数。
另外,计算机技术的发展还促进了编程语言的演变。较早的编程语言(例如,COBOL语言、C语言等)大多采用面向过程的编程模式,而近些年来主流编程语言(例如,C++语言、Java语言等)均采用面向对象的编程模式。在诸如电力、金融等行业中,存在使用早期编程语言开发的大量遗留应用系统,并且这些遗留应用系统已经成为各个行业中的核心系统。
遗留应用系统的技术已经逐渐过时,并且开始逐渐被新技术(例如,面向对象的编程模式)和新平台(云环境)取代。如何针对早期开发的、其中数据与源代码紧密耦合的应用系统实现改造(modernization),成为目前的一项关注的焦点。
在改造过程中,首先需要了解遗留应用系统的所涉及的各种产品的相关数据并构建产品模型,以便产品模型的基础上、结合遗留应用系统的具体代码来实现针对遗留应用系统的改造。现有的技术方案通常需要具有丰富编程经验的技术人员人工读取遗留应用系统的源代码,才能获得与产品相关的数据。一方面,这需要大量的人力、物力和时间开销;另一方面,随着编程语言的飞速发展,目前已经很难找到精通早期编程语言(例如,COBOL语言)的技术人员。
因而,如何在尽量不涉及人工操作的情况下,从遗留应用系统的源代码生成产品模型成为应用系统改造中的一个关键问题。
发明内容
因而,期望开发一种能够自动地从遗留应用系统的源代码生成产品模型的技术方案,期望生成的产品模型可以包括与源代码相关的产品所涉及的各种产品参数,以便在后期处理中可以基于产品模型实现对遗留应用系统的改造。
根据本发明的一个方面,提供了一种用于从应用系统生成产品模型的方法,包括:从应用系统的源代码中提取与源代码相关联的至少一个事务定义(transactiondefinition),至少一个事务定义中的每个事务定义描述源代码实现的产品中的一个事务;将至少一个事务定义划分至至少一个产品分类;从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
在本发明的一个实施方式中,提供了一种用于基于产品模型生成新产品的方法,包括:接收根据本发明的方法所生成的产品模型;以及通过组合产品模型中的至少一个产品参数,生成新产品。
在本发明的一个实施方式中,提供了一种用于从应用系统生成产品模型的装置,包括:提取模块,配置用于从应用系统的源代码中提取与源代码相关联的至少一个事务定义,至少一个事务定义中的每个事务定义描述源代码实现的产品中的一个事务;划分模块,配置用于将至少一个事务定义划分至至少一个产品分类;生成模块,配置用于从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
在本发明的一个实施方式中,提供了一种用于基于产品模型生成新产品的装置,包括:接收模块,配置用于接收根据本发明的装置所生成的产品模型;以及组合模块,配置用于通过组合产品模型中的至少一个产品参数,生成新产品。
采用本发明所述的方法和装置,可以在尽可能降低人工干预的情况下,自动地从应用系统的源代码中生成产品模型。进一步,可以使用所生成的产品来构造新的产品。更进一步,还可以基于所生成的产品模型,辅助将遗留应用系统移至新的应用环境。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示意性示出了根据一个技术方案的遗留应用系统的源代码的示意图;
图3示意性示出了根据本发明一个实施方式的用于生成产品模型的技术方案的框图;
图4示意性示出了根据本发明一个实施方式的用于生成产品模型的方法的流程图;
图5示意性示出了根据本发明一个实施方式的用于获得产品组件的过程的框图;
图6示意性示出了根据本发明的一个实施方式的所生成的产品模型的框图;
图7示意性示出了根据本发明的一个实施方式的基于产品模型生成新产品的示意图;以及
图8A示意性示出了根据本发明一个实施方式的从应用系统生成产品模型的装置的框图;以及图8B示意性示出了根据本发明一个实施方式的用于基于产品模型生成新产品的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在下文中,将结合遗留应用系统的具体示例来阐明如何生成业务规则模型。由于COBOL语言具有较强的稳定性,在诸如金融、电力等行业中,早期的应用系统大都采用COBOL语言来开发。在本发明的上下文中,将仅以利用COBOL语言开发的银行应用系统为具体示例,示出如何实现本发明的技术方案。然而本领域技术人员应当理解,本发明的技术方案并不局限于银行应用系统,也并不局限于以COBOL语言开发,而是可以应用于以各种语言开发的各个行业的应用系统。
应当注意,本发明的技术方案还可以应用于其他环境中。例如,在进行温度的工业环境中,控制生产线上的某个位置处的温度可以是一个产品,并且该产品的产品参数例如可以是与控制该处温度相关联的各种参数,例如,湿度、气压、风速等参数。
图2示意性示出了根据一个技术方案的遗留应用系统的源代码的示意图200。如图2所示,在使用COBOL编程语言开发时,可以涉及两种类型的源代码,例如,数据定义220用于定义在源代码中使用的数据结构的代码,在COBOL语言中,数据结构可以定义在“COPYBOOK”文件中。当用户使用其他编程语言时,可以在其他类型的文件中定义所使用的数据结构(例如,在C语言中,可以在“.h”文件中定义数据结构)。
事务代码210用于定义代码的具体的实现,其中可以包括源代码中的各种逻辑过程。例如,在银行业的应用系统的代码中,事务代码例如是用于实现银行业中的某项具体事务的代码,如用于实现贷款事务的代码、用于实现开设存款账户事务的代码、或者用于实现存款事务的代码,等等。具体地,事务代码210可以包括主逻辑过程,还可以包括被主逻辑过程所调用的多个其他逻辑过程。在COBOL语言中,事务代码210可以存储在“.cbl”文件中;而在C语言中可以存在于“.c”文件中。
在下文表1中示意性示出了在COBOL语言中使用的数据定义的示例,在此示例中源代码所使用的各种数据结构可以定义在“COPYBOOK”文件中。例如,下文表1所示的示例中定义的数据结构“PD-WORD-BANK-COD”表示银行号,还定义了数据结构“PD-WORD-CLSFN”来表示文字类别,等等。
表1COPYBOOK文件的示例
应当注意,在表1所示的示例中,“PD-WORD-BANK-COD”是源代码中定义的变量参数,而“银行号”则是该变量参数所代表的产品参数。换言之,变量参数表示源代码中定义的变量名称,而产品参数表示源代码所定义的变量名称在真实世界(例如,在银行业)中的逻辑含义,因而变量参数和产品参数之间可以具有一一对应的关系,并且可以通过分析COPYBOOK中对数据结构的定义(例如,通过分析源代码中的注释)来获得这种对应关系。
下文表2示意性示出了源代码的具体实现部分的代码片段。在如下文表2所示的代码片段中,包括主逻辑过程“0000-MAIN-PROCESS-RTN”,并且在主逻辑过程中还调用多个逻辑过程:“1000-SUB-LOGIC”、“1001-SUB-LOGIC”、…、以及“3000-SUB-LOGIC”。表2所示的各个逻辑过程可以调用如表1所示的各个数据结构。
表2源代码片段的示例
应当注意,在使用例如COBOL语言的面向过程的编程语言所开发的代码中,并不存在“对象”的概念。而是与一个对象相关联的各种数据零散地分布于全部源代码的各个位置(例如,可以分布于多个源代码文件中)。具体而言,在银行业的应用环境中,可以认为一个产品(例如,定期存款产品,等)是一个对象。在利用COBOL语言开发的应用系统的源代码中,与定期存款产品相关联的各个产品参数(例如,账户基本信息、存款日期、存款时间长度、存款数量等)将零散地分布在源代码中的各个位置。
因而,如何针对早期开发的、其中数据与源代码紧密耦合的应用系统实现改造,成为目前的一个难题。在现有的技术方案中,需要众多精通COBOL的技术人员来对大量COBOL源代码进行人工处理。因而期望开发出一种能够在尽量不涉及人工操作的情况下,从遗留应用系统的源代码生成产品模型的技术方案。
针对上述现有技术中的不足,本发明提出了一种用于从应用系统生成产品模型的方法,包括:从应用系统的源代码中提取与源代码相关联的至少一个事务定义,至少一个事务定义中的每个事务定义描述源代码实现的产品中的一个事务;将至少一个事务定义划分至至少一个产品分类;从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
图3示意性示出了根据本发明一个实施方式的用于生成产品模型的技术方案的框图300。具体地,如图3所示,源代码310可以包括事务代码312和数据定义314。在此实施方式中,可以从源代码310中获取至少一个事务定义320,继而将该至少一个事务定义划分至至少一个产品分类330。另外,还可以从源代码310中获得该源代码310所实现的产品的产品组件340。进而基于产品组件340和产品分类330,来获得产品模型350。在此实施方式中,产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
参见图4,图4示意性示出了根据本发明一个实施方式的用于生成产品模型的方法的流程图400。具体地,在步骤S402中,从应用系统的源代码中提取与源代码相关联的至少一个事务定义,至少一个事务定义中的每个事务定义描述源代码实现的产品中的一个事务。在此步骤中,可以通过分析源代码来获得各个事务定义。在本发明的上下文中,并不特别限定源代码的范围,而是在本发明的上下文中,源代码可以是完成应用系统的全部功能的源代码,也可以是完成该应用系统的一部分功能的源代码。
具体而言,在以COBOL语言编写的银行业应用中,例如可以分析与存款事务相关的源代码,进而获得与存款相关的产品的产品模型;或者还可以分析与贷款事务相关的源代码,进而获得与贷款相关的产品的产品模型。应当注意,在本发明的上下文中,产品模型可以是树状结构的形式,通过分析实现不同产品的源代码而可以获得产品模型的不同的子树,进而可以逐步获得完整的产品模型。
在步骤S404中,将至少一个事务定义划分至至少一个产品分类。本领域技术人员应当注意,由于一个产品可能涉及到多个方面,例如,对于存款产品而言,该产品可能会涉及到开户事务、存款事务、销户事务等诸多方面。因而,需要将这些事务进行归类,以便将与相同产品相关联的各个事务定义划分至相同的产品分类。
在此步骤中,例如已经通过分析源代码而获得了多个事务定义(例如,开户、存款、销户),并且发现这多个事务都是针对存款账户进行的操作,则此时可以将该多个事务定义划分至一个产品分类,即,存款产品。
在步骤S406中,从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
应当注意,如上文参见表1已经描述了在源代码中可以包括与源代码所实现的产品的至少一个产品参数相对应的变量参数,因而可以从源代码中获得产品组件进而生成描述产品分类与至少一个产品参数之间的关联关系的产品模型。
在本发明的一个实施方式中,从源代码中获取与至少一个产品分类中的产品分类相关联的产品组件以生成产品模型包括:针对至少一个产品分类中的当前产品分类,从源代码中获得与当前产品分类相关联的产品组件;以及基于当前产品分类和产品组件生成产品模型。
在此实施方式中,可以针对参见上文图4中的步骤S404而获得的至少一个产品分类中的每个产品分类来进行处理。具体而言,如果待分析的源代码仅仅是涉及存款产品的源代码,则在此实施方式中仅针对存款产品这一个产品分类进行处理即可。然而,在采用本发明的方法时通常并不能准确地分离出与一个特定的产品分类相关联的源代码,此时在步骤S404中通常会获得多个产品分类。因而在此实施方式中需要针对多个产品分类中的每个产品分类进行处理。
可选地,本领域技术人员还可以设置产品分类的粒度,例如,可以将存款产品进一步细分为定期存款产品和活期存款产品。以此方式,可以进一步提高产品模型的精度,以便在针对采用COBOL语言开发的遗留应用系统的改造中,使得技术人员可以进一步了解每个产品的产品参数,进而更加有利于向面向对象的开发语言进行移植。
具体而言,当将存款产品细分为定期存款产品和活期存款产品时,可以将定期存款产品和活期存款产品的产品参数中的公共部分作为存款产品的基本产品参数(例如,在面向对象语言中可以以基类来表示),并将定期存款产品和活期存款产品的产品参数中的公共部分以外的参数作为附加产品参数(例如,在面向对象语言中可以以继承类来表示)。以此方式,可以更加有利于向面向对象开发语言进行移植。
在本发明的一个实施方式中,从源代码中获取与当前产品分类相关联的产品组件包括:从源代码中的事务代码中,选择与当前产品分类中的事务定义相关联的至少一个变量参数;以及通过分析源代码中的数据定义而从至少一个变量参数建立产品组件。
本领域技术人员应当注意,在源代码的事务代码中可能会存在大量的变量参数,而这些变量参数中可能仅有一部分参数是和当前产品分类中的事务定义相关联的。此外,事务代码中还可能会存在其他的变量参数,例如,在编程期间涉及的中间变量,或者为实现数学计算等目的而定义的变量等。尽管这些变量参数同样被事务代码所引用,而这些变量参数并不是用于描述当前所讨论的产品的产品参数。
因而,在此实施方式中,在选择与当前产品分类中的事务定义相关联的至少一个变量参数之后,还需要通过分析源代码中的数据定义而从至少一个变量参数建立产品组件。由于从源代码中的数据定义中可以确定变量参数和产品参数之间的一一对应关系,因而在此实施方式中可以建立描述与产品分类相关联的至少一个产品参数的产品组件。
在本发明的一个实施方式中,从源代码中的事务代码中,选择与当前产品分类中的事务定义相关联的至少一个变量参数包括:响应于源代码中的事务代码中存在对至少一个变量参数的调用,选择该至少一个变量参数。在此实施方式中,可以基于在源代码中出现对一变量参数的调用,来选择该至少一个变量参数。
在本发明的一个实施方式中,其中通过分析源代码中的数据定义而从至少一个变量参数建立产品组件包括:基于数据定义中的至少一个变量参数的定义,确定至少一个变量参数中的每个变量参数所代表的产品参数;以及基于产品参数构造产品组件。
具体地,假设在实现存款产品的源代码中调用了三个变量参数A、B和C,此时,通过分析源代码中的数据定义发现,变量参数A是存款产品所涉及的产品参数“存款日期”(例如,2014年1月1日),并且变量参数B是存款产品所涉及的产品参数“存款数量”(例如,1000元),而变量参数C并不是存款参数涉及的产品参数,而例如仅仅是用于进行数学计算的一个中间变量。则可以认为只有变量参数A和B是存储产品所涉及的产品参数,因而通过分析源代码中的数据定义,可以从在前述步骤中所获得的三个变量参数A、B和C中删除无关的变量参数,并且基于变量参数A和B来建立产品组件。
图5示意性示出了根据本发明一个实施方式的用于构造产品组件的过程的框图500。如图5所示,其中示出了从源代码提取的三个事务定义,即,贷款510、存款账户开户520和存款530。具体地,采用上文所述的方法,可以获得与每个事务定义相关联的至少一个产品参数。例如,与贷款510相关联的产品参数包括产品参数01-04,与存款账户开户520相关联的产品参数包括产品参数01-08,而与存款530相关联的产品参数包括产品参数01-03、06-10。
在此示例中,在已经获得了与各个事务定义相关联的产品参数之后,可以构造产品组件。具体地,可以通过将各个产品参数进行聚类的方式来构造产品组件。例如,从图5中的示例中可以发现,在各个事务定义中均涉及产品参数01-03,因而可以将产品参数01-03聚类至公共产品组件540。该公共产品组件540表示在各种事务定义中均需要调用该公共产品组件540中的产品参数。
又例如,从图5中的示例还可以发现,在存款账户开户520和存款530中均涉及了产品参数06-08,并且存款账户开户520和存款530均属于存款产品这一产品分类,因而此时可以将产品参数06-08聚类至存款产品组件542。该存款产品组件542表示,在与存款产品相关联的各种事务定义中均需要调用该存款产品组件542中的产品参数。
应当注意,在图5中仅仅示意性示出了三个事务定义,并且仅以简单示例描述了如何构造产品组件。在真实的应用环境中,可能会存在数十个甚至更多的事务定义,并且每个事务定义可能会涉及数十甚至上百的产品参数。本领域技术人员可以根据上文描述的原理来获得其他产品组件,在此不再赘述。
图6示意性示出了根据本发明的一个实施方式的所生成的产品模型的框图600。如图6所示,产品模型610可以包括公共产品组件620和存款产品组件630,以及以附图标记642-648所示的产品参数04、05、09和10。进一步,公共产品组件620可以包括以附图标记622-626所示的产品参数01-03,存款产品组件630可以包括以附图标记632-636所示的产品参数06-08。
应当注意,尽管在图6中仅仅示意性示出了具有三个层级的产品模型,当源代码所实现的产品更为复杂时,产品模型还可以具有更多的层级。例如,公共产品组件620还可以包括账户基本信息组件(包括例如账户ID、开户时间、开户地等)和开户人基本信息组件(包括例如开户人姓名、开户人联系方式等)。此时,公共产品组件620可以包括两个层级,因而此时产品模型可以包括四个层级。
在本发明的一个实施方式中,从应用系统的源代码中提取与源代码相关联的至少一个事务定义包括:基于源代码中的事务代码中定义的逻辑过程,提取至少一个事务定义。
具体地,提取与源代码相关联的至少一个事务定义时,可以在源代码中的事务代码中查找执行语句并获取描述逻辑过程的关键字,进而基于关键字定位代码段落并提取相关联的事务定义。对于以COBOL语言编写的源代码(例如,在上文表2中示出的源代码片段)而言,可以在源代码中查找“PERFORM”语句,并获取段落关键字(例如,“1000-SUB-LOGIC”),继而,可以基于“1000-SUB-LOGIC”找到相对应的代码段落来用于后续的分析。
另外,本领域技术人员还应当注意,尽管在表2中未示出,在源代码中还可能存在嵌套调用的情况,例如,在逻辑过程“1000-SUB-LOGIC”中还可以通过“PERFORM 1001-SUB-LOGIC”和“PERFORM 1002-SUB-LOGIC”语句分别调用其他逻辑过程“1001-SUB-LOGIC”(例如,关联于存款账户开户)和“1002-SUB-LOGIC”(例如,关联于存款)。此时可以采用类似方式通过查找“PERFORM”语句,并获取进一步的段落关键字“1001-SUB-LOGIC”和“1002-SUB-LOGIC”。
在本发明的一个实施方式中,将至少一个事务定义划分至至少一个产品分类包括:基于源代码中的事务代码中的逻辑过程的调用,将至少一个事务定义划分至至少一个产品分类。
继续上文所述的示例,假设逻辑过程“1000-SUB-LOGIC”是实现“存款产品”的源代码,并且“存款产品”还可以涉及“开户”和“存款”。由于在逻辑过程“1000-SUB-LOGIC”中还分别通过“PERFORM 1001-SUB-LOGIC”和“PERFORM 1002-SUB-LOGIC”语句调用其他逻辑过程“1001-SUB-LOGIC”和“1002-SUB-LOGIC”,此时可以基于上述调用来将用于实现“开户”和“存款动作”的事务定义划分至“存款产品”。以此方式,可以基于源代码中的事务代码中的逻辑过程的调用,将至少一个事务定义划分至至少一个产品分类。
在本发明的一个实施方式中,提供了一种用于基于产品模型生成新产品的方法,包括:接收根据本发明所生成的产品模型;以及通过组合产品模型中的至少一个产品参数,生成新产品。
图7示意性示出了根据本发明的一个实施方式的基于产品模型生成新产品的示意图700。在已经获得了如图6所示的产品模型的情况下,还可以通过组合产品模型中的至少一个产品参数来生成新的产品。如图7所示,在从前文中生成产品模型的步骤可知,将公共产品组件620以及存款产品组件630进行组合,即可获得存款产品相关的全部产品参数。
当银行期望增加一种新的美元存款产品时,按照现有技术的技术方案,开发人员需要重新定义与美元存款产品相关的各项产品参数,并且还需要重新编写相关源代码。这是一个耗时并且复杂的过程。然而采用本发明的技术方案,假设以附图标记642所示的产品参数04是描述了币种为美元的产品参数,此时仅需要简单地组合公共产品组件620、存款产品组件630以及产品参数04(如图7中以虚线框示出),即可获得新产品710(即,美元存款产品)的全部产品参数。以此方式,可以大大降低技术人员的工作负荷。
另外,在已经建立了产品模型的情况下,还可以基于该产品模型的层级结构来设置以面向对象语言开发的各个产品的数据结构,进而可以基于例如基类和集成等方式,加速对早期开发的其中数据与源代码紧密耦合的应用系统的改造。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图8A示意性示出了根据本发明一个实施方式的从应用系统生成产品模型的装置的框图800A。具体地,提供了一种用于从应用系统生成产品模型的装置,包括:提取模块810A,配置用于从应用系统的源代码中提取与源代码相关联的至少一个事务定义,至少一个事务定义中的每个事务定义描述源代码实现的产品中的一个事务;划分模块820A,配置用于将至少一个事务定义划分至至少一个产品分类;生成模块830A,配置用于从源代码中获取与至少一个产品分类中的一产品分类相关联的产品组件以生成产品模型,其中产品组件描述与产品分类相关联的至少一个产品参数,以及产品模型描述产品分类与至少一个产品参数之间的关联关系。
在本发明的一个实施方式中,生成模块830A包括:获得模块,配置用于针对至少一个产品分类中的当前产品分类,从源代码中获得与当前产品分类相关联的产品组件;以及第一生成模块,配置用于基于当前产品分类和产品组件生成产品模型。
在本发明的一个实施方式中,获得模块包括:选择模块,配置用于从源代码中的事务代码中,选择与当前产品分类中的事务定义相关联的至少一个变量参数;以及建立模块,配置用于通过分析源代码中的数据定义而从至少一个变量参数建立产品组件。
在本发明的一个实施方式中,选择模块包括:第一选择模块,配置用于响应于源代码中的事务代码中存在对至少一个变量参数的调用,选择至少一个变量参数。
在本发明的一个实施方式中,建立模块包括:确定模块,配置用于基于数据定义中的至少一个变量参数的定义,确定至少一个变量参数中的每个变量参数所代表的产品参数;以及构造模块,配置用于基于产品参数构造产品组件。
在本发明的一个实施方式中,提取模块810A包括:第一提取模块,配置用于基于源代码中的事务代码中定义的逻辑过程,提取至少一个事务定义。
在本发明的一个实施方式中,划分模块820A包括:第一划分模块,配置用于基于源代码中的事务代码中的逻辑过程的调用,将至少一个事务定义划分至至少一个产品分类。
图8B示意性示出了根据本发明一个实施方式的用于基于产品模型生成新产品的装置的框图800B。具体地,提供了一种用于基于产品模型生成新产品的装置,包括:接收模块810B,配置用于接收根据本发明的装置所生成的产品模型;以及组合模块820B,配置用于通过组合产品模型中的至少一个产品参数,生成新产品。
采用本发明所述的方法和装置,可以在尽可能降低人工干预的情况下,自动地从应用系统的源代码中生成产品模型。进一步,可以使用所生成的产品来构造新的产品。更进一步,还可以基于所生成的产品模型,辅助将遗留应用系统移至新的应用环境。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (16)
1.一种用于从应用系统生成产品模型的方法,包括:
从应用系统的源代码中提取与所述源代码相关联的至少一个事务定义,所述至少一个事务定义中的每个事务定义描述所述源代码实现的产品中的一个事务;
将所述至少一个事务定义划分至至少一个产品分类;
从所述源代码中获取与所述至少一个产品分类中的一产品分类相关联的产品组件以生成所述产品模型;以及
利用所述产品模型将遗留应用移植到新的应用系统,
其中所述产品组件描述与所述产品分类相关联的至少一个产品参数,以及所述产品模型描述所述产品分类与所述至少一个产品参数之间的关联关系;
其中至少部分地通过将各个产品参数聚类至公共产品组件和存款产品组件构造所述产品组件;并且
其中所述存款产品组件表示与存款产品相关联的各种事务定义。
2.根据权利要求1所述的方法,其中所述从所述源代码中获取与所述至少一个产品分类中的所述产品分类相关联的所述产品组件以生成所述产品模型包括:
针对所述至少一个产品分类中的当前产品分类,
从所述源代码中获得与所述当前产品分类相关联的产品组件;以及
基于所述当前产品分类和所述产品组件生成所述产品模型。
3.根据权利要求2所述的方法,其中所述从所述源代码中获得与所述当前产品分类相关联的所述产品组件包括:
从所述源代码中的事务代码中,选择与所述当前产品分类中的事务定义相关联的至少一个变量参数;以及
通过分析所述源代码中的数据定义而从所述至少一个变量参数建立所述产品组件。
4.根据权利要求3所述的方法,其中所述从所述源代码中的所述事务代码中,选择与所述当前产品分类中的所述事务定义相关联的所述至少一个变量参数包括:
响应于所述源代码中的所述事务代码中存在对所述至少一个变量参数的调用,选择所述至少一个变量参数。
5.根据权利要求3所述的方法,其中所述通过分析所述源代码中的所述数据定义而从所述至少一个变量参数建立所述产品组件包括:
基于所述数据定义中的所述至少一个变量参数的定义,确定所述至少一个变量参数中的每个变量参数所代表的产品参数;以及
基于所述产品参数构造所述产品组件。
6.根据权利要求3-5中的任一项所述的方法,其中所述从应用系统的所述源代码中提取与所述源代码相关联的所述至少一个事务定义包括:
基于所述源代码中的所述事务代码中定义的逻辑过程,提取所述至少一个事务定义。
7.根据权利要求6所述的方法,其中将所述至少一个事务定义划分至所述至少一个产品分类包括:
基于所述源代码中的所述事务代码中的所述逻辑过程的调用,将所述至少一个事务定义划分至所述至少一个产品分类。
8.一种用于基于产品模型生成新产品的方法,包括:
接收根据权利要求1-7中的任一方法所生成的产品模型;以及
通过组合所述产品模型中的至少一个产品参数,生成所述新产品。
9.一种用于从应用系统生成产品模型的装置,包括:
提取模块,配置用于从应用系统的源代码中提取与所述源代码相关联的至少一个事务定义,所述至少一个事务定义中的每个事务定义描述所述源代码实现的产品中的一个事务;
划分模块,配置用于将所述至少一个事务定义划分至至少一个产品分类;
生成模块,配置用于从所述源代码中获取与所述至少一个产品分类中的一产品分类相关联的产品组件以生成所述产品模型;以及
移植模块,配置用于利用所述产品模型将遗留应用移植到新的应用系统,
其中所述产品组件描述与所述产品分类相关联的至少一个产品参数,以及所述产品模型描述所述产品分类与所述至少一个产品参数之间的关联关系;
其中至少部分地通过将各个产品参数聚类至公共产品组件和存款产品组件构造所述产品组件;并且
其中所述存款产品组件表示与存款产品相关联的各种事务定义。
10.根据权利要求9所述的装置,其中所述生成模块包括:
获得模块,配置用于针对所述至少一个产品分类中的当前产品分类,从所述源代码中获得与所述当前产品分类相关联的产品组件;以及
第一生成模块,配置用于基于所述当前产品分类和所述产品组件生成所述产品模型。
11.根据权利要求10所述的装置,其中所述获得模块包括:
选择模块,配置用于从所述源代码中的事务代码中,选择与所述当前产品分类中的事务定义相关联的至少一个变量参数;以及
建立模块,配置用于通过分析所述源代码中的数据定义而从所述至少一个变量参数建立所述产品组件。
12.根据权利要求11所述的装置,其中所述选择模块包括:
第一选择模块,配置用于响应于所述源代码中的所述事务代码中存在对所述至少一个变量参数的调用,选择所述至少一个变量参数。
13.根据权利要求11所述的装置,其中所述建立模块包括:
确定模块,配置用于基于所述数据定义中的所述至少一个变量参数的定义,确定所述至少一个变量参数中的每个变量参数所代表的产品参数;以及
构造模块,配置用于基于所述产品参数构造所述产品组件。
14.根据权利要求11-13中的任一项所述的装置,其中所述提取模块包括:
第一提取模块,配置用于基于所述源代码中的所述事务代码中定义的逻辑过程,提取所述至少一个事务定义。
15.根据权利要求14所述的装置,其中所述划分模块包括:
第一划分模块,配置用于基于所述源代码中的所述事务代码中的所述逻辑过程的调用,将所述至少一个事务定义划分至所述至少一个产品分类。
16.一种用于基于产品模型生成新产品的装置,包括:
接收模块,配置用于接收根据权利要求9-15中的任一装置所生成的产品模型;以及
组合模块,配置用于通过组合所述产品模型中的至少一个产品参数,生成所述新产品。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410697451.5A CN105700860B (zh) | 2014-11-27 | 2014-11-27 | 用于生成产品模型的方法和装置 |
US14/945,491 US10318937B2 (en) | 2014-11-27 | 2015-11-19 | Generating a product model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410697451.5A CN105700860B (zh) | 2014-11-27 | 2014-11-27 | 用于生成产品模型的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105700860A CN105700860A (zh) | 2016-06-22 |
CN105700860B true CN105700860B (zh) | 2019-11-12 |
Family
ID=56079263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410697451.5A Active CN105700860B (zh) | 2014-11-27 | 2014-11-27 | 用于生成产品模型的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10318937B2 (zh) |
CN (1) | CN105700860B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597695B (zh) | 2018-09-30 | 2020-08-21 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及设备 |
US20220366472A1 (en) * | 2021-05-17 | 2022-11-17 | Capital One Services, Llc | Providing entity recommendations for items |
CN115375461A (zh) * | 2022-09-06 | 2022-11-22 | 中国建设银行股份有限公司 | 一种产品模型实例化的方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069435B1 (en) * | 2003-08-18 | 2011-11-29 | Oracle America, Inc. | System and method for integration of web services |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249344B1 (en) * | 1996-10-31 | 2007-07-24 | Citicorp Development Center, Inc. | Delivery of financial services to remote devices |
AU2001251195A1 (en) * | 2000-03-30 | 2001-10-15 | Cygent, Inc. | System and method for establishing electronic business systems for supporting communications services commerce |
KR100501410B1 (ko) | 2002-11-27 | 2005-07-18 | 한국전자통신연구원 | 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법 |
KR20050063402A (ko) | 2003-12-22 | 2005-06-28 | 한국전자통신연구원 | 레거시 시스템의 재공학을 위한 컴포넌트화 방법 |
US20050144033A1 (en) * | 2003-12-30 | 2005-06-30 | Rational Systems, Llc | Structured products based enterprise management system |
US7941543B2 (en) | 2004-08-23 | 2011-05-10 | Neon Systems, Inc. | System and method for migrating applications from a legacy system |
US7672957B2 (en) | 2006-02-10 | 2010-03-02 | Make Technologies, Inc. | User interface configured to display mechanical fabric and semantic model of a legacy computer application generated, graphical view navigating links between mechanical nodes and semantic nodes based on relevant business rules |
US20080306986A1 (en) * | 2007-06-08 | 2008-12-11 | Accenture Global Services Gmbh | Migration of Legacy Applications |
US8930919B2 (en) | 2012-09-25 | 2015-01-06 | The Boeing Company | Modernization of legacy software systems based on modeled dependencies |
-
2014
- 2014-11-27 CN CN201410697451.5A patent/CN105700860B/zh active Active
-
2015
- 2015-11-19 US US14/945,491 patent/US10318937B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069435B1 (en) * | 2003-08-18 | 2011-11-29 | Oracle America, Inc. | System and method for integration of web services |
Also Published As
Publication number | Publication date |
---|---|
US20160154632A1 (en) | 2016-06-02 |
US10318937B2 (en) | 2019-06-11 |
CN105700860A (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335133B (zh) | 用于生成业务规则模型的方法和装置 | |
US11783227B2 (en) | Method, apparatus, device and readable medium for transfer learning in machine learning | |
US20230162051A1 (en) | Method, device and apparatus for execution of automated machine learning process | |
CN112270546A (zh) | 基于stacking算法的风险预测方法、装置和电子设备 | |
CN105988911B (zh) | 在系统日志中建立信任链 | |
US10101995B2 (en) | Transforming data manipulation code into data workflow | |
US12111755B2 (en) | Generating test data for application performance | |
CN113557534A (zh) | 深度森林模型开发和训练 | |
CN105700860B (zh) | 用于生成产品模型的方法和装置 | |
CN113516246A (zh) | 参数优化方法、量子芯片的控制方法及装置 | |
CN105446952B (zh) | 用于处理语义片段的方法和系统 | |
CN110457505A (zh) | 基于图数据库进行关系挖掘的方法和装置 | |
CN112884569A (zh) | 一种信用评估模型的训练方法、装置及设备 | |
CN109785818A (zh) | 一种基于深度学习的音乐编曲方法和系统 | |
CN113902394A (zh) | 一种实现人工智能产业生态化的服务平台 | |
WO2024055920A1 (en) | Automatic adjustment of constraints in task solution generation | |
CN108446738A (zh) | 一种聚类方法、装置及电子设备 | |
US20230186074A1 (en) | Fabricating data using constraints translated from trained machine learning models | |
US11810381B2 (en) | Automatic rule prediction and generation for document classification and validation | |
CN110309047A (zh) | 一种测试点生成方法、装置及系统 | |
US20240077858A1 (en) | Computer-based virtual environment for managing work product quality | |
CN111967801A (zh) | 交易风险的预测方法及装置 | |
CN109992663A (zh) | 意向评级模型及其构建方法、计算机设备及存储介质 | |
US11462212B2 (en) | Document identification device, document identification method, and program | |
CN110084583A (zh) | 一种强制扣划账务数据处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |