CN113485686A - 信息系统程序的生成方法、装置、电子设备及存储介质 - Google Patents
信息系统程序的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113485686A CN113485686A CN202110832690.7A CN202110832690A CN113485686A CN 113485686 A CN113485686 A CN 113485686A CN 202110832690 A CN202110832690 A CN 202110832690A CN 113485686 A CN113485686 A CN 113485686A
- Authority
- CN
- China
- Prior art keywords
- component
- business
- information
- abstract
- item
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种信息系统程序的生成方法、装置、电子设备及存储介质,该方法通过在展现界面上获取到的业务组件的相关信息,获取业务组件所继承的抽象组件的定义文件以及应用类的类文件,并基于业务组件的相关信息生成业务组件的定义文件,得到信息系统程序的业务功能的开发信息,进而基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序,得到具备业务功能的信息系统程序,实现了信息系统的技术功能和业务功能的独立开发,降低了信息系统的开发成本,提高了信息系统的专业性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种信息系统程序的生成方法、装置、电子设备及存储介质。
背景技术
信息系统的专业性较强,用户个性化需求较多,所产生的定制需求量较大。这些定制需求,主要是因为业务不同,处理的数据不同,其技术性不强。行业内逐步发展了各种低代码或无代码的辅助开发方式,还有一些中台系统,提供基础架构和通用模块。
信息系统是利用计算机相关技术处理业务数据,其技术方面应遵循技术的发展规律,但是其业务数据有自身的属性和规律。
信息系统的业务部分更多的属于管理领域,是管理问题的解决方案,管理思想的具体实践。这些需要在其自身的基础上持续发展,不是靠快速生成代码就能解决的。
如果只是专注于技术,对管理方案的实践,就是照葫芦画瓢,外行干内行的事。也正因为如此,信息系统一直没有集约化发展,产品的成本一直很高,专业性不强,服务也不够规范。
发明内容
本发明实施例提供了一种信息系统程序的生成方法,以实现信息系统的技术功能和业务功能的独立开发,降低信息系统程序的开发成本,提高信息系统程序的专业性。
第一方面,本发明实施例提供了一种信息系统程序的生成方法,其特征在于,所述方法包括:
获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
第二方面,本发明实施例还提供了一种信息系统程序的生成装置,该装置包括:
业务组件信息获取模块,用于获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
类文件获取模块,用于基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
定义文件生成模块,用于基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
系统程序生成模块,用于基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的信息系统程序的生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例提供的信息系统程序的生成方法。
上述发明中的实施例具有如下优点或有益效果:
通过在展现界面上获取到的业务组件的相关信息,获取业务组件所继承的抽象组件的定义文件以及应用类的类文件,并基于业务组件的相关信息生成业务组件的定义文件,得到信息系统程序的业务功能的开发信息,进而基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序,得到具备业务功能的信息系统程序,可见,本方案基于在技术开发阶段得到的抽象组件以及在业务开发阶段业务人员输入的业务组件的相关信息,生成信息系统程序,实现了信息系统的技术功能和业务功能的独立开发,使得技术人员可以专注于开发信息系统的技术部分,业务人员可以专注于开发信息系统的业务部分,解决了信息系统开发过程中的分工限制,业务人员可直接参与信息系统的开发,按业务属性和规律持续的开发业务功能,技术人员也无需重复编写简单的技术功能,降低了信息系统的开发成本,提高了信息系统的专业性。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种信息系统程序的生成方法的流程示意图;
图2为本发明实施例二所提供的一种信息系统程序的生成方法的流程示意图;
图3A为本发明实施例三所提供的一种信息系统程序的生成方法的流程示意图;
图3B为本发明实施例三所提供的一种业务组件架构图;
图4为本发明实施例四所提供的一种信息系统程序的生成方法的流程示意图;
图5为本发明实施例五所提供的一种信息系统程序的生成装置的结构示意图;
图6为本发明实施例六所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种信息系统程序的生成方法的流程示意图,本实施例可适用于通过抽象组件的定义文件以及业务人员输入的业务组件的相关信息,生成信息系统程序的情况,该方法可以由信息系统程序的生成装置来执行,该装置可以由硬件和/或软件来实现,该方法具体包括如下步骤:
S110、获取通过展现的界面输入的业务组件的相关信息。
在本实施例中,可以通过展现的界面获取业务人员在该界面上输入的业务组件的相关信息。其中,业务组件可以是具有业务处理功能的应用模块。具体的,可以按照业务处理功能的实际需求,使用抽象组件来配置具有业务处理功能的业务组件;其中,抽象组件可以是预先配置的具有独立的处理功能的单元,其定义程序集合功能(类文件)的接口,供信息系统程序的业务开发使用。示例性的,可以通过继承抽象组件的方式来配置业务组件,以使业务组件可以调用抽象组件来使用抽象组件的处理功能。
可选的,业务组件的相关信息包括:业务组件的标识信息、业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;待定义项包括方法项,方法项的定义信息包括方法的程序代码,程序代码包括对应用类中方法的调用指令。
其中,业务组件的标识信息可以是业务组件的应用项标识或接口ID;业务组件所继承的抽象组件可以是业务组件调用的抽象组件,抽象组件的标识信息可以是抽象组件的应用项标识或接口ID。在一种实施方式中,业务组件的标识信息和业务组件所继承的抽象组件的标识信息构成业务组件的基本信息;相应的,业务组件的相关信息包括基本信息以及预设业务应用明细结构中待定义项的定义信息。
在该可选的实施方式中,预设业务应用明细结构可以是预先设置的业务组件的明细结构;预设业务应用明细结构包括至少一个待定义项。其中,待定义项包括方法项,方法项可以用于描述业务组件的处理方法、方法内部的参数以及方法的程序代码。示例性的,方法项的定义信息包括方法的程序代码,程序代码包括对应用类中方法的调用指令;其中,应用类可以是由代码开发的具体的处理功能。
S120、基于抽象组件的标识信息获取抽象组件的定义文件,从定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于类文件标识信息获取应用类的类文件。
具体的,本实施例在获取到业务组件的相关信息后,可以根据相关信息中的抽象组件的标识信息,确定出业务组件所继承的抽象组件,并获取该抽象组件的定义文件。需要说明的是,本实施例的业务组件可以继承一个或多个抽象组件,来综合一个或多个抽象组件的处理功能;相应的,可以获取到一个或多个抽象组件的定义文件。
其中,抽象组件的定义文件可以是对抽象组件的相关信息进行封装后得到的文件;通过抽象组件的定义文件可以使用抽象组件所提供的处理功能。示例性的,抽象组件的定义文件为XML类型文件。在一个具体的实施方式中,可以基于抽象组件的定义文件中的基本信息确定实现预设处理功能的应用类的类文件标识信息;其中,抽象组件的定义文件中的基本信息包括抽象组件的标识信息和应用类的类文件标识信息。应用类的预设处理功能可以是诸如数据读写、数据表绑定等功能。
当然,在本实施例中,读取到的应用类的类文件标识信息的数量可以是一个,也可以是多个;相应的,基于类文件标识信息获取到的应用类的类文件的数量也可以是一个或多个。
在本实施例中,获取业务组件所继承的抽象组件的定义文件,并基于定义文件中读取到的类文件标识信息,获取应用类的类文件的目的在于:确定出业务组件所使用的抽象组件的处理功能所对应的类文件,以基于类文件构建信息系统程序。
S130、基于业务组件的相关信息生成业务组件的定义文件。
具体的,可以对业务组件的相关信息进行封装处理,得到业务组件的定义文件。通过业务组件的定义文件可以使用业务组件所提供的业务处理功能。示例性的,业务组件的定义文件为XML类型文件。
在一种可选的实施方式中,业务组件的相关信息包括基本信息以及预设业务应用明细结构中的待定义项的定义信息;基本信息包括业务组件的标识信息以及业务组件所继承的抽象组件的标识信息;待定义项包括方法项。可选的,预设业务应用明细结构中的待定义项还包括:参数项、事件项、响应项、扩展项、初始化项、以及预处理项中的至少一项。如表1所示,展示了一种业务组件的相关信息的结构。
表1业务组件的相关信息的结构
其中,参数项的定义信息包括:业务组件的主参数。方法项的定义信息包括:业务组件的相关处理方法的标识信息,以及处理方法的参数;其中,方法项的参数可以是输入的,也可以是输出的。事件项的定义信息包括:业务组件的触发事件的标识信息、以及触发事件的内部参数。响应项的定义信息包括:业务组件对触发事件的响应程序的程序代码,以及响应程序的内部参数。扩展项的定义信息包括:业务组件链接的其他业务组件的标识信息。初始化项的定义信息包括:业务组件的对象被创建后执行的初始化程序的程序代码。预处理项的定义信息包括:业务组件自身和链接的业务组件的对象被创建后执行的预处理程序的程序代码。需要说明的是,方法项既可以包括所继承的抽象组件的类文件的方法的调用,还可以包括为业务组件配置的方法。方法项、响应项、初始化项、预处理项中的程序代码可以包括对应用类中方法的调用指令。
在本实施例中,方法项的程序、响应项的程序、初始项的程序、预处理项的程序都是由4类指令组成,即赋值、枚举、调用、触发。其中,调用方法指令,若指向的层属是业务组件,则执行业务组件的定义的方法项的程序代码(同样是4类指令),若指向的层属是抽象组件,则执行抽象组件对应的应用类的程序(由代码编程)。相应的,触发事件也可以触发业务组件的事件,以及,还可以触发抽象组件的事件,其中,抽象组件的事件是可以在应用类的代码开发中响应的。
需要说明的是,表1中的结构也适用于抽象组件,抽象组件的相关信息的结构可以不包含扩展项、初始化项以及预处理项;其中,抽象组件的事件项,主要是应用类的代码触发的。具体的,业务组件的主参数可以是业务组件的全局参数。参数项、事件项、响应项或扩展项的数量均可以是一个或多个。每个参数项的定义信息均具备其对应的独立ID,且每个参数项具备结构定义。每个事件项的定义信息均具备其对应的独立ID,事件项的内部参数有结构定义以及独立ID。每个响应项具备对应的响应的事件来源,响应程序的程序代码可以是响应的操作编程;响应项的内部参数有结构定义以及独立ID。业务组件链接的其他业务组件可以是需要与业务组件同时启动运行的其他业务组件,如,链接的其他业务组件可以是与业务组件协同实现一定功能的其它组件。示例性的,对于岗位类型数据的展示业务组件,其链接的其它业务组件可以是数据表加载业务组件。
在该可选的实施方式中,通过对参数项、事件项、响应项、扩展项、初始化项、以及预处理项中的至少一个待定义项进行定义,得到包含业务组件主参数、触发事件、响应程序、链接业务组件、初始化程序以及预处理程序中的至少一项的相关信息,从而基于该相关信息构建出实现业务处理功能的定义文件。
在一种实施方式中,扩展项的定义信息还包括:链接参数,链接参数包括业务组件对应的组件的显示相关参数。其中,显示相关参数可以是描述组件在信息系统上显示信息的参数。如,显示相关参数包括但不限于显示位置参数、显示大小参数、显示效果参数等。
可选的,参数项、方法项、事件项和响应项中的参数的类型为:数据行、数据表或数据集。其中,数据行可以是默认的一张自定义列的表,仅一行数据,即,单表、单行、多列;数据表可以是默认的一张自定义列的表,支持多行数据,即,单表、多行、多列;数据集可以是自定义表,支持多种表,自定义列,支持多行数据,即,多表、多行、多列。换言之,可以将参数项、方法项、事件项和响应项中的参数以数据行、数据表或数据集的类型进行封装。
具体的,在程序代码中对参数项的访问路径可以包括:对应组件的标识信息、层属信息、位置类型、位置标识信息、以及参数项的标识信息;在程序代码中对方法项的访问路径包括:对应组件的标识信息、层属信息、以及方法项的标识信息;在程序代码中对事件项的访问路径包括:对应组件的标识信息、层属信息、以及事件项的标识信息;其中,层属信息为对应组件或对应应用层继承的其他组件在应用轴上所处的层次信息;位置类型为主参数、方法参数、事件参数、或响应参数;位置标识信息是按照位置类型为对应参数设置的标识信息。
其中,对应组件的标识信息可以是当前业务组件的标识信息或当前业务组件的扩展项中链接的业务组件的标识信息。位置标识信息可以按位置类型分别标记,如,主参数为-1,方法参数为具体方法ID,事件参数为具体事件ID,响应参数为具体响应ID。具体的,主参数为参数项中的参数,方法参数为方法项中的参数,事件参数为事件项中的参数,响应参数为响应项中的参数。示例性的,参数项的访问路径可以是“对应组件ID.层属.位置类型.位置ID.参数项ID”;方法项的访问路径可以是“对应组件ID.层属.方法项ID”;事件项的访问路径可以是“对应组件ID.层属.事件项ID”。本实施例可以通过建立组件中各定义项的访问方式,明确组件中各种程序代码的访问路径规范。
在本实施例中,程序代码主要是对组件内和链接组件的各处参数进行赋值和判断,以及对组件内部和链接组件的方法调用和事件触发。可选的,各程序代码中包含参数赋值指令、参数枚举指令、调用方法指令和触发事件指令中的至少一种指令。其中,参数赋值指令可以是对参数进行编辑的指令;参数枚举指令可以是对参数进行枚举的指令;调用方法指令可以是调用指定位置的方法的指令;触发事件指令可以是触发指定位置的事件的指令。
当然,上述各指令还可以包括一个或多个子类型的指令。如,参数赋值指令包括副本赋值指令、指针赋值指令、编辑赋值指令等。示例性的,如表2所示,展示了各指令包含的子类型指令以及子类型指令说明。
表2各指令包含的子类型指令以及子类型指令说明
在上述指令中,对参数的赋值和枚举,可以使用参数项访问路径;对方法的调用,可以使用方法项访问路径;对事件的触发,可以使用事件项访问路径。各指令为顺序结构,其中,参数枚举结果为“真”时,执行枚举的子指令,以此为分支结构。
S140、基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序。
具体的,本实施例可以在获取到业务组件所继承的抽象组件的定义文件、抽象组件所使用的类文件以及业务组件的定义文件时,由类文件、抽象组件的定义文件和业务组件的定义文件组成信息系统程序。在得到信息系统程序后,可以通过运行信息系统程序,启动信息系统。
其中,类文件和抽象组件的定义文件可以是技术人员开发的技术部分,业务组件的定义文件可以是业务人员开发的业务部分。通过结合类文件、抽象组件的定义文件以及业务组件的定义文件,可以形成具有设定功能的信息系统,实现技术功能和业务功能的分别开发。
当然,本实施例可以基于上述方法生成多个业务组件的定义文件,并读取出各业务组件所继承的抽象组件的定义文件以及类文件,基于各业务组件的定义文件、类文件、抽象组件的定义文件生成信息系统程序。
本实施例的技术方案,通过在展现界面上获取到的业务组件的相关信息,获取业务组件所继承的抽象组件的定义文件以及应用类的类文件,得到信息系统程序的技术功能的开发信息,并基于业务组件的相关信息生成业务组件的定义文件,得到信息系统程序的业务功能的开发信息,进而基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序,得到具备业务功能的信息系统程序,可见,本方案基于在技术开发阶段得到的抽象组件以及在业务开发阶段业务人员输入的业务组件的相关信息,生成信息系统程序,实现了信息系统的技术功能和业务功能的独立开发,使得技术人员可以专注于开发信息系统的技术部分,业务人员可以专注于开发信息系统的业务部分,解决了信息系统开发过程中的分工限制,业务人员可直接参与信息系统的开发,按业务属性和规律持续的开发业务功能,技术人员也无需重复编写简单的技术功能,降低了信息系统的开发成本,提高了信息系统的专业性。
实施例二
图2为本发明实施例二提供的一种信息系统程序的生成方法的流程示意图,本实施例在上述各实施例的基础上,可选的,在获取通过展现的界面输入的业务组件的相关信息之前,还包括:获取通过展现的界面输入的抽象组件的相关信息,基于抽象组件的相关信息生成抽象组件的定义文件;其中,抽象组件的相关信息包括:抽象组件的标识信息和应用类的类文件标识信息;获取通过展现的界面输入的应用类对应的程序代码,基于获取的程序代码和类文件标识信息生成并保存所述应用类的类文件;其中,程序代码包括应用类中方法的代码指令。
其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的信息系统程序的生成方法包括以下步骤:
S210、获取通过展现的界面输入的抽象组件的相关信息,基于抽象组件的相关信息生成抽象组件的定义文件。
在本实施例中,可以在生成业务组件的定义文件之前,通过用户在展现界面上输入的抽象组件的相关信息,生成抽象组件的定义文件。抽象组件可以是具备独立的处理功能的应用单元,抽象组件可以被业务组件继承,形成更大的具备综合处理功能的模块。
其中,抽象组件的相关信息包括:抽象组件的标识信息和应用类的类文件标识信息。类文件标识信息可以包括类文件的文件名和类名。可选的,抽象组件的相关信息还包括:预设抽象应用明细结构中待定义项的定义信息;预设抽象应用明细结构中的待定义项包括参数项、方法项、以及事件项中的至少一项:其中,参数项的定义信息包括:抽象组件的主参数;方法项的定义信息包括:应用类中方法的标识信息和方法的参数;事件项的定义信息包括:抽象组件的触发事件的标识信息、以及触发事件的内部参数。参数项、方法项、事件项可以按实际需求进行定义,针对抽象组件,可以无需定义响应项、初始化项以及预处理项。其中,抽象组件的主参数可以是输入参数,也可以是输出参数;触发事件的内部参数可以是事件的输出参数。
示例性的,参数项、方法项、以及事件项中的参数的类型为:数据行、数据表或数据集。具体的,在程序代码中对参数项的访问路径可以包括:对应应用舱的标识信息、层属信息、位置类型、位置标识信息、以及参数项的标识信息;在程序代码中对方法项的访问路径包括:对应应用舱的标识信息、层属信息、以及方法项的标识信息;在程序代码中对所述事件项的访问路径包括:对应应用舱的标识信息、层属信息、以及事件项的标识信息;其中,层属信息为对应应用舱或对应应用层继承的其他应用舱在应用轴上所处的层次信息;位置类型为主参数、方法参数、事件参数、或响应参数;位置标识信息是按照位置类型为对应参数设置的标识信息。
S220、获取通过展现的界面输入的应用类对应的程序代码,基于获取的程序代码和类文件标识信息生成并保存应用类的类文件。
其中,应用类可以是实现抽象组件定义的接口,主要可以是实现方法或触发事件。当然,应用类也可以包含读写抽象组件中定义的主参数、方法参数和事件参数。程序代码包括应用类中方法的代码指令。具体的,本实施例通过获取用户在展现界面上输入的应用类程序代码,生成与抽象组件的相关信息中的类文件标识信息所对应的类文件。
以数据读写抽象组件和数据表绑定抽象组件为例,举例说明抽象组件的定义文件与类文件的生成。例如,在定义数据读写抽象组件时,首先,获取抽象组件的相关信息,相关信息可以包括组件ID、加载的类文件名和类名(类文件标识信息,可以是应用类的类文件编译后的DLL/EXE文件名);相关信息还可以包括方法项的定义信息,其中,方法项的定义信息包括读数据项、写数据项以及读写参数信息,根据相关信息生成定义文件;然后,获取编写的应用类对应的读数据功能代码和写数据功能代码(程序代码),根据程序代码和类文件标识信息生成并保存应用类的类文件,其中,应用类的类文件名与抽象组件的定义文件中的类文件标识信息一致。
又例如,在定义数据表绑定抽象组件时,首先,获取抽象组件的相关信息,相关信息可以包括组件ID、加载的类文件名和类名,绑定的参数、绑定的相关方法以及选择性事件;然后,获取编写的加载绑定功能代码、绑定数据源功能代码、编辑只读功能代码、编辑可写功能代码、选择控制锁定功能代码以及选择控制可选功能代码(程序代码),根据程序代码和类文件标识信息生成并保存应用类的类文件,其中,应用类的类文件名与抽象组件的定义文件中的类文件标识信息一致。
当然,可以通过本实施例的上述方法,生成多个抽象组件的定义文件,以便于各业务组件可以继承各抽象组件,调用各抽象组件的处理功能。
S230、获取通过展现的界面输入的业务组件的相关信息。
其中,业务组件的相关信息包括:业务组件的标识信息、业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;待定义项包括方法项,方法项的定义信息包括方法的程序代码,程序代码包括对应用类中方法的调用指令。
沿用上例中的数据读写抽象组件和数据表绑定抽象组件,以继承数据读写抽象组件和数据表绑定抽象组件的岗位类型业务组件为例,说明业务组件的开发过程。首先,继承数据读写抽象组件以调用岗位类型数据访问功能,链接数据表绑定抽象组件调用岗位类型表绑定功能,形成岗位类型业务组件的应用结构;然后,对于岗位类型数据访问功能,获取展示界面上配置的参数项的定义信息以及方法项(读方法、写方法)的定义信息;最后,对于岗位类型表绑定功能,获取展示界面上配置的方法项(加载绑定方法)的定义信息,以及预处理项的定义信息,以在预处理程序中调用加载。
S240、基于抽象组件的标识信息获取抽象组件的定义文件,从定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于类文件标识信息获取应用类的类文件。
S250、基于业务组件的相关信息生成业务组件的定义文件,基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序。
在本实施例中,将信息系统程序的构建分为两个部分,一是实现抽象组件基础功能的代码编程,编程的对象是应用类的类文件;二是实现业务功能的数据编程,编程的对象是组件。在对业务组件进行构建之前,先构建具备独立的处理功能的抽象组件,实现技术人员的技术开发,以便于在对业务组件进行构建时,可以通过继承已编辑的抽象组件,调用各抽象组件的处理功能来实现组合的业务功能,进而实现业务人员的业务开发,使得技术人员可以专注于开发信息系统的技术部分,业务人员可以专注于开发信息系统的业务部分,解决了信息系统开发过程中的分工限制,业务人员可直接参与信息系统的开发,按业务属性和规律持续的开发业务功能,技术人员也无需重复编写简单的技术功能,降低了信息系统的开发成本,提高了信息系统的专业性。
实施例三
图3A为本发明实施例三提供的一种信息系统程序的生成方法的流程示意图,本实施例在上述各实施例的基础上,可选的,业务组件继承其他业务组件,其他业务组件继承抽象组件;业务组件的相关信息中包括的抽象组件的标识信息为其他业务组件的标识信息;相应的,在基于抽象组件的标识信息获取抽象组件的定义文件之前,方法还包括:基于其他业务组件的标识信息获取其他业务组件的定义文件,从该定义文件中读取抽象组件的标识信息;基于类文件、抽象组件的定义文件和各业务组件的定义文件生成信息系统程序,包括:基于类文件、抽象组件的定义文件、业务组件的定义文件和其他业务组件的定义文件生成信息系统程序。
其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图3A,本实施例提供的信息系统程序的生成方法包括以下步骤:
S310、获取通过展现的界面输入的业务组件的相关信息。
其中,业务组件的相关信息中包括抽象组件的标识信息为其他业务组件的标识信息,业务组件继承其他业务组件,其他业务组件继承抽象组件。当然,还可以是业务组件继承其他业务组件,其他业务组件继承另外的业务组件,另外的业务组件继承抽象组件。
即,在本实施例中,业务组件不仅可以通过继承抽象组件来调用抽象组件的处理功能,还可以通过继承其他业务组件来调用其他业务组件所继承的抽象组件的处理功能。
在本实施例中,业务组件与抽象组件之间的继承关系,和/或业务组件与业务组件之间的继承关系,可以形成应用轴。在访问路径中,层属按应用轴可以访问当前层和继承层。业务组件与业务组件之间的链接关系,可以形成应用层。在访问路径中,组件ID为起始业务组件或链接业务组件。
示例性的,如图3B所示,展示一种业务组件架构图。其中,应用轴可以是组件的继承序列;应用层可以是组件及其包含的子项(组件所链接的其他组件)形成的业务功能集合;加载顺序可以是依次创建组件对象、应用类对象、执行初始化程序和与预处理程序。如图3B,业务组件A2和抽象组件a组成应用轴,业务组件B2、业务组件B1和抽象组件b组成应用轴,业务组件C1和抽象组件c组成应用轴;业务组件A2与业务组件B2组成应用层,业务组件B1和业务组件C1组成应用层。具体的,加载顺序的说明可参见下文实施例。
在一个具体的实施方式中,业务组件具备来源标识(继承的业务组件ID或抽象组件ID),可以根据来源标识查询继承的组件。若继承组件的继承ID为-1,则将该继承组件确定为抽象组件,加载抽象组件中定义的应用类;如果不是-1,则将该继承组件确定为业务组件,并继续加载该业务组件所继承的组件,直到加载到抽象组件为止。
业务组件的继承,最通常的用途是:一个复杂的业务功能,不会在一个配置文件中配置所有包含的子项明细。例如,一个功能界面包含了查询表单,该查询表单由一系列组件组成,为了简化功能界面配置的简洁性,可以把查询界面单独配置,并在主功能界面中,链接一个业务组件,该业务组件再继承查询表单。此时,在主功能界面中,复杂的查询表单由一个简洁的业务组件表征,调用查询界面的方法后直接读取方法参数就可得到查询结果。
S320、基于其他业务组件的标识信息获取其他业务组件的定义文件,从该定义文件中读取抽象组件的标识信息。
具体的,本实施例可以通过相关信息中其他业务组件的标识信息,确定出其他业务组件,并获取其他业务组件的定义文件,进而从其他业务组件的定义文件中读取出其他业务组件所继承的抽象组件的标识信息。
S330、基于抽象组件的标识信息获取抽象组件的定义文件,从定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于类文件标识信息获取应用类的类文件。
S340、基于业务组件的相关信息生成业务组件的定义文件。
S350、基于类文件、抽象组件的定义文件、业务组件的定义文件和其他业务组件的定义文件生成信息系统程序。
具体的,本实施例中的业务组件继承其他业务组件,其他业务组件继承抽象组件,因此,可以基于类文件、抽象组件的定义文件、业务组件的定义文件和其他业务组件的定义文件生成信息系统程序。
本实施例的技术方案,业务组件不仅可以通过继承抽象组件来调用抽象组件的处理功能,还可以通过继承其他业务组件来调用其他业务组件所继承的抽象组件的处理功能,在业务组件通过继承其他业务组件来调用抽象组件的处理功能时,通过确定出其他业务组件的定义信息,基于其他业务组件的定义信息确定抽象组件的定义信息,以基于业务组件、其他业务组件以及抽象组件定义信息生成信息系统程序,提高了信息系统的业务功能开发的多样性以及信息系统的可扩展性。
实施例四
图4为本发明实施例四提供的一种信息系统程序的生成方法的流程示意图,本实施例在上述各实施例的基础上,可选的,在生成信息系统程序之后,方法还包括:在检测到信息系统程序的启动指令时,确定起始业务组件的标识信息,并启动托管程序,由托管程序基于起始业务组件的标识信息,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序;在检测到外部的触发事件时,由托管程序查询需要响应触发事件的业务组件,并执行该业务组件的响应程序。
其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图4,本实施例提供的信息系统程序的生成方法包括以下步骤:
S410、获取通过展现的界面输入的业务组件的相关信息。
S420、基于抽象组件的标识信息获取抽象组件的定义文件,从定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于类文件标识信息获取应用类的类文件。
S430、基于业务组件的相关信息生成业务组件的定义文件,基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序。
S440、在检测到信息系统程序的启动指令时,确定起始业务组件的标识信息,并启动托管程序,由托管程序基于起始业务组件的标识信息,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序。
其中,起始业务组件可以是预先指定的最先启动的业务组件。起始业务组件的标识信息可以写入信息系统程序的主程序中。即,可以通过主程序确定起始业务组件的标识信息。
具体的,在启动托管程序后,托管程序可以基于起始业务组件的标识信息,分别创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象。其中,创建对象可以理解为将组件实例化,为组件分配运行资源。托管程序在创建各组件的对象之后,执行创建的各业务组件的初始化程序和预处理程序。
示例性的,初始化程序可以是在创建完继承的所有抽象组件和/或业务组件之后执行;即,初始化程序可以围绕应用轴,在应用轴上从上至下递推创建业务组件或抽象组件,所有继承的业务组件和/或抽象组件均被创建完成后(包括抽象组件的应用类),再执行初始化程序。预处理程序可以是围绕应用层的,从当前业务组件开始,基于应用层递推创建所有链接的业务组件,再回归执行预处理程序。
在一种可选的实施方式中,业务组件可以继承于其他业务组件;此时,可选的,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序,包括:创建起始业务组件的对象;若起始业务组件有继承的其他业务组件,则创建该继承的其他业务组件的对象,以及创建该继承的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并依次执行该继承的其他业务组件的初始化程序和起始业务组件的初始化程序;否则,创建起始业务组件继承的抽象组件的对象和该抽象组件的应用类的对象,并执行起始业务组件的初始化程序。
具体的,先创建起始业务组件的对象,在起始业务组件继承其他业务组件时,继续创建继承的其他业务组件的对象、其他业务组件所继承的抽象组件的对象、抽象组件的应用类的对象,并依次执行其他业务组件的初始化程序和起始业务组件的初始化程序;在起始业务组件继承抽象组件时,继续创建抽象组件的对象和抽象组件的应用类的对象,并执行起始业务组件的初始化程序。
在该可选的实施方式中,通过逐步创建起始业务组件的对象、起始业务组件继承的其他业务组件的对象、其他业务组件所继承的抽象组件的对象和抽象组件的应用类的对象,实现了继承其他业务组件的业务组件的加载。
在一种可选的实施方式中,业务组件可以链接其他业务组件;此时,可选的,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序,还包括:按照各个业务组件的对象的从后往前的创建顺序,依次针对各业务组件执行如下操作:
若当前业务组件有链接的其他业务组件,则创建该链接的其他业务组件的对象,以及创建该链接的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并执行该链接的其他业务组件的初始化程序,以及执行当前业务组件的预处理程序;若当前业务组件没有链接的其他业务组件,则直接执行当前业务组件的预处理程序。
其中,各个业务组件的对象的从后往前的创建顺序为:继承的其他业务组件、业务组件。具体的,在创建当前业务组件的对象之后,可以根据当前业务组件的应用轴确定其是否具备链接的其他业务组件,若是,则创建该链接的其他业务组件的对象、该链接的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,执行该链接的其他业务组件的初始化程序以及当前业务组件的预处理程序,若否,则直接执行当前业务组件的预处理程序。
示例性的,结合图3B对该过程进行说明。在图3B中,业务组件A2继承抽象组件a,该应用轴上创建顺序为:先创建业务组件A2的对象,再创建抽象组件a的对象,最后创建应用类1的对象。根据从后往前的创建顺序,可以确定出业务组件A2有链接的业务组件B2,则创建业务组件B2的对象、业务组件B2继承的业务组件B1的对象、业务组件B1继承的抽象组件b的对象以及应用类2的对象,并执行B2的初始化程序和A2的预处理程序;再根据从后往前的创建顺序,确定出业务组件B1有链接的业务组件C1,则创建业务组件C1的对象、业务组件C1继承的抽象组件c的对象以及应用类3的对象,并执行C1的初始化程序和B1的预处理程序。以此类推,直至完成所有业务组件的加载。通过该可选的实施方式中,实现了链接其他业务组件的业务组件的自动加载。当然,图3B仅为示例性说明,实际的业务组件的继承与链接关系可以更为复杂,均可参考上述示例内容实现业务组件的创建、初始化和预处理。
S450、在检测到外部的触发事件时,由托管程序查询需要响应触发事件的业务组件,并执行该业务组件的响应程序。
其中,托管程序可以捕捉用户的触发事件,并查询响应该触发事件的业务组件。示例性的,托管程序可以根据触发事件的事件标识,以及各业务组件的定义文件中事件项的定义信息,确定需要响应该触发事件的业务组件。托管程序还可以在查询出需要响应触发事件的业务组件后,通过该业务组件的定义文件中响应项的定义信息,确定触发事件对应的响应程序,并执行该响应程序。
可选的,托管程序查询需要响应触发事件的业务组件,包括:确定触发事件所对应的目标业务组件,从目标业务组件、目标业务组件链接的其他业务组件以及继承目标业务组件的其他业务组件中,查询需要响应触发事件的业务组件。
具体的,可以根据确定触发事件对应的用户操作确定目标业务组件,进而从目标业务组件、目标业务组件链接的其他业务组件、以及继承目标业务组件的其他业务组件中,查询出响应触发事件的业务组件。当然,查询出的需要响应触发事件的业务组件的数量可以是一个,也可以是多个。
本实施例的技术方案,在生成信息系统程序之后,基于托管程序执行信息系统程序的运行,实现了信息系统程序的各业务组件的对象的创建、初始化程序和预处理程序的执行,进而实现了信息系统程序的自动运行,并在检测到用户操作的触发事件时,通过托管程序调用相应的响应程序,执行该触发事件的处理机制,实现了信息系统程序的自动处理。
实施例五
图5为本发明实施例五提供的一种信息系统程序的生成装置的结构示意图,本实施例可适用于通过抽象组件的定义文件以及业务人员输入的业务组件的相关信息,生成信息系统程序的情况,该装置具体包括:业务组件信息获取模块510、类文件获取模块520、定义文件生成模块530以及系统程序生成模块540。
业务组件信息获取模块510,用于获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
类文件获取模块520,用于基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
定义文件生成模块530,用于基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
系统程序生成模块540,用于基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
可选的,信息系统程序的生成装置还包括抽象组件生成模块,用于获取通过展现的界面输入的所述抽象组件的相关信息,基于所述抽象组件的相关信息生成所述抽象组件的定义文件;其中,所述抽象组件的相关信息包括:所述抽象组件的标识信息和所述应用类的类文件标识信息;获取通过展现的界面输入的所述应用类对应的程序代码,基于获取的程序代码和所述类文件标识信息生成并保存所述应用类的类文件;其中,所述程序代码包括所述应用类中方法的代码指令。
可选的,所述抽象组件的相关信息还包括:预设抽象应用明细结构中待定义项的定义信息;所述预设抽象应用明细结构中的待定义项包括参数项、方法项、以及事件项中的至少一项:其中,所述参数项的定义信息包括:所述抽象组件的主参数;所述方法项的定义信息包括:所述应用类中方法的标识信息和所述方法的参数;所述事件项的定义信息包括:所述抽象组件的触发事件的标识信息、以及所述触发事件的内部参数。
可选的,所述预设业务应用明细结构中的待定义项还包括:参数项、事件项、响应项、扩展项、初始化项、以及预处理项中的至少一项;其中:所述参数项的定义信息包括:所述业务组件的主参数;所述事件项的定义信息包括:所述业务组件的触发事件的标识信息、以及所述触发事件的内部参数;所述响应项的定义信息包括:所述业务组件对触发事件的响应程序的程序代码,以及响应程序的内部参数;所述扩展项的定义信息包括:所述业务组件链接的其他业务组件的标识信息;所述初始化项的定义信息包括:所述业务组件的对象被创建后执行的初始化程序的程序代码;所述预处理项的定义信息包括:所述业务组件自身和链接的业务组件的对象被创建后执行的预处理程序的程序代码。其中,方法项、响应项、初始化项、预处理项中的程序代码可以包括对应用类中方法的调用指令。
可选的,所述扩展项的定义信息还包括:链接参数,所述链接参数包括所述业务组件对应的组件的显示相关参数。
可选的,在程序代码中对所述参数项的访问路径包括:对应组件的标识信息、层属信息、位置类型、位置标识信息、以及参数项的标识信息;在程序代码中对所述方法项的访问路径包括:对应组件的标识信息、层属信息、以及方法项的标识信息;在程序代码中对所述事件项的访问路径包括:对应组件的标识信息、层属信息、以及事件项的标识信息;其中,所述层属信息为对应组件或对应应用层继承的其他组件在应用轴上所处的层次信息;所述位置类型为主参数、方法参数、事件参数、或响应参数;所述位置标识信息是按照位置类型为对应参数设置的标识信息。
可选的,各所述程序代码中包含参数赋值指令、参数枚举指令、调用方法指令和触发事件指令中的至少一种指令。
可选的,所述业务组件继承其他业务组件,所述其他业务组件继承所述抽象组件;所述业务组件的相关信息中包括所述抽象组件的标识信息为所述其他业务组件的标识信息;相应的,所述装置还包括定义文件获取模块,用于在基于所述抽象组件的标识信息获取所述抽象组件的定义文件之前,基于所述其他业务组件的标识信息获取所述其他业务组件的定义文件,从该定义文件中读取所述抽象组件的标识信息;定义文件生成模块用于基于所述类文件、所述抽象组件的定义文件、所述业务组件的定义文件和所述其他业务组件的定义文件生成信息系统程序。
可选的,所述装置还包括对象创建模块和事件响应模块,其中,对象创建模块用于在生成所述信息系统程序之后,在检测到所述信息系统程序的启动指令时,确定起始业务组件的标识信息,并启动托管程序,由所述托管程序基于所述起始业务组件的标识信息,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序;事件响应模块用于在检测到外部的触发事件时,由所述托管程序查询需要响应所述触发事件的业务组件,并执行该业务组件的响应程序。
可选的,对象创建模块具体用于:
在生成所述信息系统程序之后,在检测到所述信息系统程序的启动指令时,创建所述起始业务组件的对象;若起始业务组件有继承的其他业务组件,则创建该继承的其他业务组件的对象,以及创建该继承的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并依次执行该继承的其他业务组件的初始化程序和所述起始业务组件的初始化程序;否则,创建所述起始业务组件继承的抽象组件的对象和该抽象组件的应用类的对象,并执行所述起始业务组件的初始化程序。
可选的,对象创建模块具体还用于:
按照各个业务组件的对象的从后往前的创建顺序,依次针对各业务组件执行如下操作:若当前业务组件有链接的其他业务组件,则创建该链接的其他业务组件的对象,以及创建该链接的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并执行该链接的其他业务组件的初始化程序,以及执行当前业务组件的预处理程序;若当前业务组件没有链接的其他业务组件,则直接执行当前业务组件的预处理程序。
可选的,事件响应模块具体用于:
在检测到外部的触发事件时,确定所述触发事件所对应的目标业务组件,从所述目标业务组件、所述目标业务组件链接的其他业务组件、以及继承所述目标业务组件的其他业务组件中,查询需要响应所述触发事件的业务组件。
在本实施例中,通过业务组件信息获取模块,在展现界面上获取到的业务组件的相关信息,通过类文件获取模块,获取业务组件所继承的抽象组件的定义文件以及应用类的类文件,得到信息系统程序的技术功能的开发信息,并通过定义文件生成模块,基于业务组件的相关信息生成业务组件的定义文件,得到信息系统程序的业务功能的开发信息,进而通过系统程序生成模块,基于类文件、抽象组件的定义文件和业务组件的定义文件生成信息系统程序,得到具备业务功能的信息系统程序,可见,本方案基于在技术开发阶段得到的抽象组件以及在业务开发阶段业务人员输入的业务组件的相关信息,生成信息系统程序,实现了信息系统的技术功能和业务功能的独立开发,使得技术人员可以专注于开发信息系统的技术部分,业务人员可以专注于开发信息系统的业务部分,解决了信息系统开发过程中的分工限制,业务人员可直接参与信息系统的开发,按业务属性和规律持续的开发业务功能,技术人员也无需重复编写简单的技术功能,降低了信息系统的开发成本,提高了信息系统的专业性。
本发明实施例所提供的信息系统程序的生成装置可执行本发明任意实施例所提供的信息系统程序的生成方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述系统所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例六
图6是本发明实施例六提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图6显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担信息系统程序生成功能的电子设备。
如图6所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储装置34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网WideArea Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)装置、磁带驱动器以及数据备份存储装置等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的信息系统程序的生成方法,包括:
获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的信息系统程序的生成方法的技术方案。
实施例七
本发明实施例七还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的信息系统程序的生成方法步骤,该方法包括:
获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (16)
1.一种信息系统程序的生成方法,其特征在于,所述方法包括:
获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
2.根据权利要求1所述的方法,其特征在于,在获取通过展现的界面输入的业务组件的相关信息之前,所述方法还包括:
获取通过展现的界面输入的所述抽象组件的相关信息,基于所述抽象组件的相关信息生成所述抽象组件的定义文件;其中,所述抽象组件的相关信息包括:所述抽象组件的标识信息和所述应用类的类文件标识信息;
获取通过展现的界面输入的所述应用类对应的程序代码,基于获取的程序代码和所述类文件标识信息生成并保存所述应用类的类文件;其中,所述程序代码包括所述应用类中方法的代码指令。
3.根据权利要求2所述的方法,其特征在于,所述抽象组件的相关信息还包括:预设抽象应用明细结构中待定义项的定义信息;
所述预设抽象应用明细结构中的待定义项包括参数项、方法项、以及事件项中的至少一项:其中,
所述参数项的定义信息包括:所述抽象组件的主参数;
所述方法项的定义信息包括:所述应用类中方法的标识信息和所述方法的参数;
所述事件项的定义信息包括:所述抽象组件的触发事件的标识信息、以及所述触发事件的内部参数。
4.根据权利要求1所述的方法,其特征在于,所述预设业务应用明细结构中的待定义项还包括:参数项、事件项、响应项、扩展项、初始化项、以及预处理项中的至少一项;其中:
所述参数项的定义信息包括:所述业务组件的主参数;
所述事件项的定义信息包括:所述业务组件的触发事件的标识信息、以及所述触发事件的内部参数;
所述响应项的定义信息包括:所述业务组件对触发事件的响应程序的程序代码,以及响应程序的内部参数;
所述扩展项的定义信息包括:所述业务组件链接的其他业务组件的标识信息;
所述初始化项的定义信息包括:所述业务组件的对象被创建后执行的初始化程序的程序代码;
所述预处理项的定义信息包括:所述业务组件自身和链接的业务组件的对象被创建后执行的预处理程序的程序代码。
5.根据权利要求4所述的方法,其特征在于,所述扩展项的定义信息还包括:链接参数,所述链接参数包括所述业务组件对应的组件的显示相关参数。
6.根据权利要求3或4所述的方法,其特征在于,所述参数项、所述方法项、所述事件项和所述响应项中的参数的类型为:数据行、数据表或数据集。
7.根据权利要求3或4所述的方法,其特征在于,在程序代码中对所述参数项的访问路径包括:对应组件的标识信息、层属信息、位置类型、位置标识信息、以及参数项的标识信息;
在程序代码中对所述方法项的访问路径包括:对应组件的标识信息、层属信息、以及方法项的标识信息;
在程序代码中对所述事件项的访问路径包括:对应组件的标识信息、层属信息、以及事件项的标识信息;
其中,所述层属信息为对应组件或对应应用层继承的其他组件在应用轴上所处的层次信息;所述位置类型为主参数、方法参数、事件参数、或响应参数;所述位置标识信息是按照位置类型为对应参数设置的标识信息。
8.根据权利要求4所述的方法,其特征在于,各所述程序代码中包含参数赋值指令、参数枚举指令、调用方法指令和触发事件指令中的至少一种指令。
9.根据权利要求1所述的方法,其特征在于,所述业务组件继承其他业务组件,所述其他业务组件继承所述抽象组件;所述业务组件的相关信息中包括所述抽象组件的标识信息为所述其他业务组件的标识信息;
相应的,在基于所述抽象组件的标识信息获取所述抽象组件的定义文件之前,所述方法还包括:基于所述其他业务组件的标识信息获取所述其他业务组件的定义文件,从该定义文件中读取所述抽象组件的标识信息;
基于所述类文件、所述抽象组件的定义文件和各所述业务组件的定义文件生成信息系统程序,包括:基于所述类文件、所述抽象组件的定义文件、所述业务组件的定义文件和所述其他业务组件的定义文件生成信息系统程序。
10.根据权利要求1-9中任一项所述的方法,其特征在于,在生成所述信息系统程序之后,所述方法还包括:
在检测到所述信息系统程序的启动指令时,确定起始业务组件的标识信息,并启动托管程序,由所述托管程序基于所述起始业务组件的标识信息,创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序;
在检测到外部的触发事件时,由所述托管程序查询需要响应所述触发事件的业务组件,并执行该业务组件的响应程序。
11.根据权利要求10所述的方法,其特征在于,所述创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序,包括:
创建所述起始业务组件的对象;
若起始业务组件有继承的其他业务组件,则创建该继承的其他业务组件的对象,以及创建该继承的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并依次执行该继承的其他业务组件的初始化程序和所述起始业务组件的初始化程序;否则,创建所述起始业务组件继承的抽象组件的对象和该抽象组件的应用类的对象,并执行所述起始业务组件的初始化程序。
12.根据权利要求11所述的方法,其特征在于,所述创建至少一个业务组件的对象、至少一个抽象组件的对象以及各抽象组件对应的应用类的对象,并执行创建的各业务组件的初始化程序和预处理程序,还包括:
按照各个业务组件的对象的从后往前的创建顺序,依次针对各业务组件执行如下操作:
若当前业务组件有链接的其他业务组件,则创建该链接的其他业务组件的对象,以及创建该链接的其他业务组件所继承的抽象组件的对象和该抽象组件的应用类的对象,并执行该链接的其他业务组件的初始化程序,以及执行当前业务组件的预处理程序;
若当前业务组件没有链接的其他业务组件,则直接执行当前业务组件的预处理程序。
13.根据权利要求10所述的方法,其特征在于,所述托管程序查询需要响应所述触发事件的业务组件,包括:
确定所述触发事件所对应的目标业务组件,从所述目标业务组件、所述目标业务组件链接的其他业务组件、以及继承所述目标业务组件的其他业务组件中,查询需要响应所述触发事件的业务组件。
14.一种信息系统程序的生成装置,其特征在于,所述装置包括:
业务组件信息获取模块,用于获取通过展现的界面输入的业务组件的相关信息;其中,所述业务组件的相关信息包括:所述业务组件的标识信息、所述业务组件所继承的抽象组件的标识信息、以及针对预设业务应用明细结构中待定义项的定义信息;
类文件获取模块,用于基于所述抽象组件的标识信息获取所述抽象组件的定义文件,从所述定义文件中读取实现预设处理功能的应用类的类文件标识信息,基于所述类文件标识信息获取所述应用类的类文件;
定义文件生成模块,用于基于所述业务组件的相关信息生成所述业务组件的定义文件;其中,所述待定义项包括方法项,所述方法项的定义信息包括方法的程序代码,所述程序代码包括对所述应用类中方法的调用指令;
系统程序生成模块,用于基于所述类文件、所述抽象组件的定义文件和所述业务组件的定义文件生成信息系统程序。
15.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的信息系统程序的生成方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的信息系统程序的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832690.7A CN113485686B (zh) | 2021-07-22 | 2021-07-22 | 信息系统程序的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832690.7A CN113485686B (zh) | 2021-07-22 | 2021-07-22 | 信息系统程序的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485686A true CN113485686A (zh) | 2021-10-08 |
CN113485686B CN113485686B (zh) | 2023-10-20 |
Family
ID=77943383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110832690.7A Active CN113485686B (zh) | 2021-07-22 | 2021-07-22 | 信息系统程序的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485686B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594964A (zh) * | 2022-03-10 | 2022-06-07 | 北京熵核科技有限公司 | 软件包的输出常量池的生成方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004040010A1 (de) * | 2004-08-18 | 2006-02-23 | Götting, Joachim | Ablaufumgebung für graphische Programmierung von wiederverwendbaren Trägerdiensten und Komponenten |
CN101819551A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 记录企业信息系统的服务交互数据的方法和系统 |
US20160328217A1 (en) * | 2015-05-08 | 2016-11-10 | Dee Gee Holdings, Llc | Method and computer program product for creating enterprise management systems |
CN108920135A (zh) * | 2018-06-27 | 2018-11-30 | 杭州贝店科技有限公司 | 一种自定义业务生成方法、装置、计算机设备及存储介质 |
CN109086110A (zh) * | 2018-07-03 | 2018-12-25 | 深圳鼎盛电脑科技有限公司 | 一种业务信息的显示方法、装置、终端和存储介质 |
CN109656538A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 应用程序的生成方法、装置、系统、设备和介质 |
CN109672553A (zh) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | 网关动态配置方法、系统、计算机设备及存储介质 |
CN110688111A (zh) * | 2019-09-25 | 2020-01-14 | 深圳乐信软件技术有限公司 | 业务流程的配置方法、装置、服务器和存储介质 |
CN110795454A (zh) * | 2019-10-31 | 2020-02-14 | 中国农业银行股份有限公司 | 一种服务请求方法、装置、服务器及存储介质 |
US20200174812A1 (en) * | 2018-11-30 | 2020-06-04 | International Business Machines Corporation | Capturing traces of virtual machine objects combined with correlated system data |
CN112035354A (zh) * | 2020-08-28 | 2020-12-04 | 北京指掌易科技有限公司 | 风险代码的定位方法、装置、设备及存储介质 |
CN112104745A (zh) * | 2020-09-25 | 2020-12-18 | 上海燕汐软件信息科技有限公司 | 信息配置系统、方法、电子设备及存储介质 |
CN112435072A (zh) * | 2020-12-02 | 2021-03-02 | 北京锐安科技有限公司 | 一种模型创建方法、装置、电子设备及存储介质 |
CN113094236A (zh) * | 2021-04-21 | 2021-07-09 | 北京博睿宏远数据科技股份有限公司 | 一种系统数据采集方法、装置、计算机设备及存储介质 |
-
2021
- 2021-07-22 CN CN202110832690.7A patent/CN113485686B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004040010A1 (de) * | 2004-08-18 | 2006-02-23 | Götting, Joachim | Ablaufumgebung für graphische Programmierung von wiederverwendbaren Trägerdiensten und Komponenten |
CN101819551A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 记录企业信息系统的服务交互数据的方法和系统 |
US20160328217A1 (en) * | 2015-05-08 | 2016-11-10 | Dee Gee Holdings, Llc | Method and computer program product for creating enterprise management systems |
CN109656538A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 应用程序的生成方法、装置、系统、设备和介质 |
CN108920135A (zh) * | 2018-06-27 | 2018-11-30 | 杭州贝店科技有限公司 | 一种自定义业务生成方法、装置、计算机设备及存储介质 |
CN109086110A (zh) * | 2018-07-03 | 2018-12-25 | 深圳鼎盛电脑科技有限公司 | 一种业务信息的显示方法、装置、终端和存储介质 |
CN109672553A (zh) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | 网关动态配置方法、系统、计算机设备及存储介质 |
US20200174812A1 (en) * | 2018-11-30 | 2020-06-04 | International Business Machines Corporation | Capturing traces of virtual machine objects combined with correlated system data |
CN110688111A (zh) * | 2019-09-25 | 2020-01-14 | 深圳乐信软件技术有限公司 | 业务流程的配置方法、装置、服务器和存储介质 |
CN110795454A (zh) * | 2019-10-31 | 2020-02-14 | 中国农业银行股份有限公司 | 一种服务请求方法、装置、服务器及存储介质 |
CN112035354A (zh) * | 2020-08-28 | 2020-12-04 | 北京指掌易科技有限公司 | 风险代码的定位方法、装置、设备及存储介质 |
CN112104745A (zh) * | 2020-09-25 | 2020-12-18 | 上海燕汐软件信息科技有限公司 | 信息配置系统、方法、电子设备及存储介质 |
CN112435072A (zh) * | 2020-12-02 | 2021-03-02 | 北京锐安科技有限公司 | 一种模型创建方法、装置、电子设备及存储介质 |
CN113094236A (zh) * | 2021-04-21 | 2021-07-09 | 北京博睿宏远数据科技股份有限公司 | 一种系统数据采集方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594964A (zh) * | 2022-03-10 | 2022-06-07 | 北京熵核科技有限公司 | 软件包的输出常量池的生成方法及装置 |
CN114594964B (zh) * | 2022-03-10 | 2022-10-11 | 北京熵核科技有限公司 | 软件包的输出常量池的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113485686B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934005B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
US20190392617A1 (en) | Visual workflow model | |
US20030200532A1 (en) | System and method for sharing reusable code base | |
US20010047402A1 (en) | Method for developing web applications, development support system, and storage medium for storing programs developed according to the method | |
US11093222B2 (en) | Generating interfaces from annotated entity definitions for developing applications | |
US20080256469A1 (en) | Host controlled user interface | |
US20080005752A1 (en) | Methods, systems, and computer program products for generating application processes by linking applications | |
CN113971037A (zh) | 应用处理方法、装置、电子设备及存储介质 | |
US20050050556A1 (en) | Dynamic layout method for an application program module | |
CN111506314A (zh) | 项目开发的方法、装置、服务器及介质 | |
CA3142770A1 (en) | Component linkage configuration method, device, computer equipment and storage medium | |
CN116360735A (zh) | 一种表单生成方法、装置、设备和介质 | |
US9141353B2 (en) | Dynamically building locale objects at run-time | |
CN113485686B (zh) | 信息系统程序的生成方法、装置、电子设备及存储介质 | |
US11194602B2 (en) | Runtime execution of entities and services in an application object runtime environment | |
CN111144837A (zh) | 流程编排的方法、装置、存储介质及电子设备 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
US7707543B2 (en) | Architecture for a computer-based development environment with self-contained components and a threading model | |
US11093220B2 (en) | Generating interfaces from data and service definitions for developing applications | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
CN114677114A (zh) | 基于图形拖拽的审批流程生成方法及装置 | |
JP2016146022A (ja) | モデルベース開発支援装置、モデルベース開発支援方法、およびモデルベース開発支援プログラム | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
Tyszberowicz et al. | OBSERV-a prototyping language and environment combining object oriented approach, state machines and logic programming | |
US9792093B2 (en) | Dynamically building subsections of locale objects at run-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |