CN105512304A - 在线生成互联网应用方法和系统集成方法及支撑平台 - Google Patents
在线生成互联网应用方法和系统集成方法及支撑平台 Download PDFInfo
- Publication number
- CN105512304A CN105512304A CN201510923593.3A CN201510923593A CN105512304A CN 105512304 A CN105512304 A CN 105512304A CN 201510923593 A CN201510923593 A CN 201510923593A CN 105512304 A CN105512304 A CN 105512304A
- Authority
- CN
- China
- Prior art keywords
- control flow
- flow check
- application function
- assembly
- driver
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及在线生成互联网应用方法和系统集成方法及支撑平台,包括业务数据模型构建器、应用功能装配驱动器和UI管理驱动器;所述UI管理驱动器调用控制流标准接口,通过应用功能控制流驱动接口调用已编译控制流至应用功能装配驱动器;应用功能装配驱动器将控制流编译成功后调用业务数据模型构建器中构建的输入输出定义的数据,并将输入输出定义的数据返回至应用功能装配驱动器;应用功能装配驱动器调用控制流组件,通过所述控制流组件完成互联网应用功能;本发明极大提高互联网应用构建的速度和效率,缩短互联网应用建设周期,轻松实现需求定制、需求变更及需求迭代,轻松实现扩展、升级及新技术的应用,延长互联网应用的生命周期。
Description
技术领域
本发明涉及互联网应用技术领域,具体涉及在线生成互联网应用方法和系统集成方法及支撑平台。
背景技术
在“互联网+”时代,改革、创新、发展是趋势,互联网应用的建设要求体现在“快、稳、变、通”,即快速构建实现、安全稳定运行、频繁变更应对、有效互联互通。
在传统的互联网应用构建过程中,采用各种开发工具如Eclipse进行编码,离不开构建关系型数据库及库表设计;有部分软件系统有自动编码,但设计落后,不能适应频繁的系统变更,缺少方便的集成或被集成能力,无法实现无缝集成及互联互通;需求变更困难,导致很多互联网应用项目须经过考察、调研、招投标、需求确认、开发测试、部署上线、验收等漫长的建设过程,在发生需求变更时,又进行需求确认、增加费用、开发测试、部署上线等过程,费用大、耗时长,需求变更过程中反复修改代码,使系统复杂性提高,隐患或Bug增多;扩展和升级不易,对新技术应用只能是上新系统,大部分功能反复建设,浪费大量的人力、时间和财力;没有基于业务功能的版本管理,不支持在线的需求迭代更新;信息安全保护设计僵化落后,没有独立化安全模块,不能方便的进行安全模块升级;极大的限制了创新,限制了改革。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种在线生成互联网应用方法和系统集成方法及支撑平台,本发明可以在线完成构建业务数据模型、构建业务功能、需求定制、需求变更及需求迭代、数据集成、业务集成,业务版本化及安全独立化。
为实现以上目的,本发明采用如下技术方案:一种在线生成互联网应用方法,所述方法包括如下步骤:
UI管理驱动器调用控制流标准接口,通过应用功能控制流驱动接口调用已编译控制流至应用功能装配驱动器;
所述应用功能装配驱动器调用业务数据模型构建器中构建的输入输出定义的数据,并将所述输入输出定义的数据返回至所述应用功能装配驱动器;
所述应用功能装配驱动器调用控制流组件,通过所述控制流组件完成互联网应用功能;
所述应用功能装配驱动器将完成的互联网应用功能返回至所述UI管理驱动器执行结果。
进一步的,所述应用功能控制流驱动接口包括负责响应互联网应用标准请求接口,负责响应互联网应用对文件资源访问接口,负责响应互联网应用对流媒体资源访问接口和负责提供第三方系统访问的服务接口中的一种或多种接口。
进一步的,所述应用功能控制流组件包括安全控制类组件、非关系型数据库存储访问类组件、关系型数据库存储访问类组件、数据的流转及控制类组件、文件资源控制类组件、流媒体资源控制类组件、数据加密及安全类组件、审计类组件和第三方软硬件集成类组件中的一种或多种。
进一步的,所述应用功能装配驱动器包括有应用功能版本管理,所述应用功能版本管理用于在创建或修改一个应用功能的同时,进行版本号定义,所述应用功能版本管理的控制及执行方法如下:
S41、将控制流标识及版本号分开存储,方便管理;
S42、在应用功能控制流解析、代码生成及编译过程中将应用功能控制流实例唯一对应到标记:“控制流标识+版本号”;
S43、应用功能装配驱动器调用应用功能执行控制流实例时按照规则实时生成控制流对应标记,并编译生成对应的可执行控制流实例程序;
S44、通过包含版本号的控制流对应标记,动态加载可执行的控制流实例程序;
S45、执行后返回结果;
S46、同一应用功能控制流的不同版本,可同时提供请求访问。
进一步的,所述应用功能装配驱动器还包括有应用功能控制流编排器,所述应用功能控制流编排器用于进行在线的应用功能控制流编排,其实现过程如下:
S501、定义页面控制流编排区域;
S502、定义组件的数据结构、图形及外观、动态菜单及功能;
S503、实现控制流图形定义与数据结构的转换、存储及访问,存储在非关系型数据库中,即保存的是结构化数据,显示的是编排好的控制流图;
S504、定义组件拖拽行为,拖拽到编排区域时转换成对应图形;
S505、拖拽定义好的组件到控制流编排区域,生成组件实例;
S506、增减组件实例的输入输出端点,普通组件默认有一个输入端点和一个输出端点,可通过右键菜单进行增加,组件的端点支持拖拽;
S507、定义组件间连接线及其外观;
S508、通过拖拽组件实例的端点连接各组件,一个组件的输出端点可连接到另外一个组件的输入端点,拖拽后自动生成连接线;
S509、定义组件实例的运行时参数及控制参数;
S510、记录编排过程中每一步操作到操作命令堆栈中,可回退,可重做;
S511、编排完成存储控制流,以图形化的方式展现程序运转的顺序、分支、循环结构。
进一步的,所述应用功能装配驱动器还包括有应用功能控制流装配器,所述应用功能控制流装配器用于在控制流配置完成并保存后,即可完成控制流扫描和解析、代码生成、代码编译,并返回页面提示信息,编译成功后自动生成可访问的互联网应用功能页面,可立即进行功能测试或直接使用该功能,应用功能控制流扫描、解析和装配算法如下:
S601、确定开始节点;
S602、递归扫描控制流中的特殊节点:分支节点、合并节点、循环节点;
S603、进行递归扫描,做多个堆栈标识探测、路径分析,对特殊节点进行分析判断,确定控制流的分支闭合点、循环结束点、嵌套分支及嵌套循环,分析的原则是:每个节点都有分支机会,都允许分支指向已执行过节点,有分支必有合并,有循环必有循环结束;
S604、进行递归扫描,采用堆栈模拟执行,遇重复执行节点退出扫描,确定循环内的节点;
S605、进行递归扫描,采用路径分析逐个路径模拟执行,控制闭合节点执行次数,当闭合节点无可执行次数时退出扫描,确定各分支内的节点;
S606、进行递归扫描,对违背语法支持、违背业务逻辑定义的特殊情况进行排除,可使用组件冗余、路径冗余调整控制流;
S607、从数据库读取组件实例控制参数;
S608、再次递归扫描,加入并固化组件控制参数;
S609、调用应用功能控制流程序生成器,生成程序文件;
S610、编译程序文件;
S611、读取应用功能输入输出配置,调用应用功能控制流页面生成器,生成可访问的服务页面代码。
进一步的,所述应用功能控制流驱动接口,针对不同的类型应用访问请求,提供不同的控制流调用接口,其具体方法如下:
S71、根据请求类型调用不同接口;
S72、接口进行相应的协议转换、安全校验;
S73、接口匹配及调用控制流程序;
S74、按请求类型返回对应的结果数据。
本发明还提供了一种系统集成方法,所述系统集成方法包括上述的在线生成互联网应用方法;所述系统集成支持通过在线服务方式的软件系统集成和支持定制专用组件调用第三方驱动的软硬件系统集成;将集成业务分解成原子功能,配置对应的功能控制流进行分解集成;加入权限控制、数据打包加密,实现数据传输过程中的认证及安全;通过对应的功能控制流实现数据级集成;也可按照第三方系统要求定制组件实现被集成,系统集成实现方法如下:
S81、有多种应用功能控制流驱动接口;
S82、应用功能控制流驱动接口进行协议转换适配;
S83、应用功能控制流驱动接口调用相应的控制流驱动程序;
S84、控制流驱动程序调用对应控制流实例进行数据规范定义、数据报文映射、权限认证和安全控制;
S85、控制流实例执行过程中由对应组件实现权限校验、操作审计和资源的访问或存储;
S86、控制流实例执行过程可由组件调用第三方驱动,跟第三方设备或系统进行交互或资源访问。
本发明还提供一种用于支撑在线生成互联网应用方法的支撑平台,所述支撑平台包括UI管理驱动器、业务数据模型构建器以及应用功能装配驱动器;
业务数据模型构建器,所述业务数据模型构建器包括模型对象定义、数据格式化以及模型数据解析;所述业务数据模型构建器使用JSON数据结构进行建模,以反映业务实体数据模型及数据模型之间的关系。
应用功能装配驱动器,在线完成功能配置及实现,包括配置功能的输入、输出,通过组件拖拽形成功能级的图形化控制流,图形化控制流实现程序的顺序、分支、循环结构,通过解析图形化控制流,在线装配生成互联网应用业务功能的代码,功能自动编码采用JAVA语言,自动优化编译成高效的可执行文件,编译成功后自动生成互联网应用访问的页面,可在线进行测试及使用。
UI管理驱动器负责互联网应用功能的展现,实现设备类型管理、群组管理、页面布局管理、应用功能的展现及输入校验、多语言管理等,兼容多种主流浏览器。
进一步的,所述业务数据模型构建器,采用非关系型数据结构进行建模,整体业务数据模型为树状结构,提供基于在线的业务数据模型构建器,在新增表单中产生业务数据模型对象定义,业务数据模型编辑器及数据格式化器会将提交的数据校验、格式化、序列化后,存储到非关系型数据库中,单个业务数据模型数据库集合中并行存储。
本发明采用以上技术方案,具有如下有益效果:
该在线生成互联网应用方法及支撑平台,具有业务功能的版本管理;业务功能安全控制独立化、定制化;系统集成简单化、数据及功能无缝集成;采用JSON数据结构进行系统配置、数据流转、数据存储、系统间交互和集成,保证了主流平台及各种智能终端设备的兼容性及扩展性;采用NoSQL数据库存储系统数据模型、系统配置、业务数据等,亦可支持多数据源存储及访问;当业务或功能变更时,只需简单操作及修改对应配置,无需修改表结构;组件易升级,易扩展。通过本发明提供的在线生成互联网应用方法及支撑平台极大提高互联网应用构建的速度和效率,缩短互联网应用建设周期,轻松实现需求定制、需求变更及需求迭代,轻松实现扩展、升级及新技术的应用,延长互联网应用的生命周期。
附图说明
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1是本发明在线生成互联网应用方法之平台支撑运行图;
图2是本发明在线生成互联网应用方法之平台操作流程图;
图3是本发明在线生成互联网应用方法之应用功能控制流的示意图;
图4是本发明系统集成方法之被第三方集成之运行图;
图5是本发明系统集成方法之集成第三方之运行图;
图6是本发明支撑平台之整体结构图;
图7是本发明支撑平台之平台架构图。
具体实施方式
如图1和图2所示,本发明提供一种在线生成互联网应用的方法,所述方法包括如下步骤:
UI管理驱动器调用控制流标准接口,通过应用功能控制流驱动接口调用已编译控制流至应用功能装配驱动器;
所述应用功能装配驱动器将控制流编译成功后调用业务数据模型构建器中构建的输入输出定义的数据,并将所述输入输出定义的数据返回至所述应用功能装配驱动器;
所述应用功能装配驱动器调用控制流组件,通过所述控制流组件完成互联网应用功能;
所述应用功能装配驱动器将完成的互联网应用功能返回至所述UI管理驱动器执行结果。
本实施例中,所述应用功能控制流驱动接口包括负责响应互联网应用标准请求接口,负责响应互联网应用对文件资源访问接口,负责响应互联网应用对流媒体资源访问接口和负责提供第三方系统访问的服务接口中的一种或多种接口。
所述应用功能控制流组件包括安全控制类组件、非关系型数据库存储访问类组件、关系型数据库存储访问类组件、数据的流转及控制类组件、文件资源控制类组件、流媒体资源控制类组件、数据加密及安全类组件、审计类组件和第三方软硬件集成类组件中的一种或多种。
本实施例中,所述的数据存储为非关系型数据库MongoDB及其他或关系型数据库MysqlDB及其他,也可同时使用非关系型数据库和关系型数据库多数据源,还包括如图7所示的架构图中的“FilesStore”即文件存储。
本实施例中,所述应用功能装配驱动器包括有应用功能版本管理,所述应用功能版本管理用于在创建或修改一个应用功能的同时,进行版本号定义,所述应用功能版本管理的控制及执行方法如下:
S41、将控制流标识及版本号分开存储,方便管理;
S42、在应用功能控制流解析、代码生成及编译过程中将应用功能控制流实例唯一对应到标记:“控制流标识+版本号”;
S43、应用功能装配驱动器调用应用功能执行控制流实例时按照规则实时生成控制流对应标记,并编译生成对应的可执行控制流实例程序;
S44、通过包含版本号的控制流对应标记,动态加载可执行的控制流实例程序;
S45、执行后返回结果;
S46、同一应用功能控制流的不同版本,可同时提供请求访问。
本实施例中,所述应用功能装配驱动器还包括有应用功能控制流编排器,所述应用功能控制流编排器用于进行在线的应用功能控制流编排,其实现过程如下:
S501、定义页面控制流编排区域;
S502、定义组件的数据结构、图形及外观、动态菜单及功能;
S503、实现控制流图形定义与数据结构的转换、存储及访问,存储在非关系型数据库中,即保存的是结构化数据,显示的是编排好的控制流图;
S504、定义组件拖拽行为,拖拽到编排区域时转换成对应图形;
S505、拖拽定义好的组件到控制流编排区域,生成组件实例;
S506、增减组件实例的输入输出端点,普通组件默认有一个输入端点和一个输出端点,可通过右键菜单进行增加,组件的端点支持拖拽;
S507、定义组件间连接线及其外观;
S508、通过拖拽组件实例的端点连接各组件,一个组件的输出端点可连接到另外一个组件的输入端点,拖拽后自动生成连接线;
S509、定义组件实例的运行时参数及控制参数;
S510、记录编排过程中每一步操作到操作命令堆栈中,可回退,可重做;
S511、编排完成存储控制流,以图形化的方式展现程序运转的顺序、分支、循环结构。
本实施例中,所述应用功能装配驱动器还包括有应用功能控制流装配器,所述应用功能控制流装配器用于在控制流配置完成并保存后,即可完成控制流扫描和解析、代码生成、代码编译,并返回页面提示信息,编译成功后自动生成可访问的互联网应用功能页面,可立即进行功能测试或直接使用该功能,应用功能控制流扫描、解析和装配算法如下:
S601、确定开始节点;
S602、递归扫描控制流中的特殊节点:分支节点、合并节点、循环节点;
S603、进行递归扫描,做多个堆栈标识探测、路径分析,对特殊节点进行分析判断,确定控制流的分支闭合点、循环结束点、嵌套分支及嵌套循环,分析的原则是:每个节点都有分支机会,都允许分支指向已执行过节点,有分支必有合并,有循环必有循环结束;
S604、进行递归扫描,采用堆栈模拟执行,遇重复执行节点退出扫描,确定循环内的节点;
S605、进行递归扫描,采用路径分析逐个路径模拟执行,控制闭合节点执行次数,当闭合节点无可执行次数时退出扫描,确定各分支内的节点;
S606、进行递归扫描,对违背语法支持、违背业务逻辑定义的特殊情况进行排除,可使用组件冗余、路径冗余调整控制流;
S607、从数据库读取组件实例控制参数;
S608、再次递归扫描,加入并固化组件控制参数;
S609、调用应用功能控制流程序生成器,生成程序文件;
S610、编译程序文件;
S611、读取应用功能输入输出配置,调用应用功能控制流页面生成器,生成可访问的服务页面代码。
本实施例中,所述应用功能控制流驱动接口,针对不同的类型应用访问请求,提供不同的控制流调用接口,其具体方法如下:
S71、根据请求类型调用不同接口;
S72、接口进行相应的协议转换、安全校验;
S73、接口匹配及调用控制流程序;
S74、按请求类型返回对应的结果数据。
需要进一步说明的是:本实施例中应用功能的输入输出定义,任何相应版本的应用功能都具有自己的输入输出定义,其定义可以使用业务数据模型,也可独立定义,具有很强的灵活性,将输入输出定义的数据绑定到应用功能的编号及版本号,进行数据校验、格式化、序列化后,存储到数据库中,应用功能装配驱动器将控制流编译成功后调用输入输出定义的数据,自动生成对应的可在线测试和使用的服务页面,应用功能装配驱动器调用应用功能实例过程中使用输入输出定义的数据,进行数据交换,数据存储。
安全独立化,应用功能控制流通过安全控制组件进行配置,设置安全策略,对特定的应用功能控制流整体进行安全控制,包括核对认证凭据、执行权限检查;可对应用功能控制流内特定组件强制绑定安全检查组件,包括审计、单项数据定制加密等;可统一替换安全控制组件包,对全局应用功能进行安全控制升级,也可进行局部安全控制升级,例如仅升级某项数据的加密算法。
如图2所示,在线生成互联网应用方法之平台操作流程图,完整体现了平台操作的整个过程及各个环节,包括后端服务相关配置及测试;UI展示相关配置及测试;发布后测试及推广三部分,详细过程如下:
1、登陆控制台
登陆控制台。
2、定义业务数据模型
通过业务数据模型构建器定义新的业务数据模型。
3、业务版本管理(控制流)
新建应用功能控制流,输入控制流编号、版本号及说明。
4、控制流输入输出定义
配置控制流的输入输出项。
5、控制流编排
编排图形化功能控制流,在线拖拽功能组件,按执行过程连接各组件,形成图形化控制流。
6、控制流组件参数配置
对每个组件的参数根据业务功能进行配置。
7、控制流提交保存
提交保存控制流。
8、控制流保存解析编译
控制流保存提交后,自动对控制流扫描和解析、代码生成、代码编译,固化了组件运行的参数、执行逻辑及逻辑判断条件,完成控制流的配置
9、控制流测试
控制流配置完成后,自动生成控制流测试页面,对控制流进行测试。
10、模板管理
在线配置页面功能展示所需模板。
11、业务功能展示配置
配置业务功能的基本配置、整体配置及输入输出项的属性,输入输出项可依赖控制流配置的输入输出项。
12、设备管理
配置页面展示的设备信息,根据设备信息进行页面适配。
13、页面布局管理
对页面整体进行分块布局。
14、添加业务板块
对每个分块布局添加业务功能。
15、主题样式管理
配置分块业务的主题样式
16、页面测试
对页面功能进行测试。
17、业务权限配置
配置业务功能权限。
18、业务定向测试
根据权限进行业务功能小范围测试。
19、业务全面推广
业务功能测试完成,上线推广。
本实施例中的应用功能控制流组件,是应用功能控制流的组成部分,组件完全按照面向对象方法精心设计,可扩展可继承,可开放API由第三方实现,组件具有版本管理,支持拖拽,经拖拽到页面上控制流区域时,生成相应的图形化组件实例,每个组件实例都具有自己的配置区域,配置控制参数及运行时参数,每个组件对象都继承和扩展基本组件接口对象,基本组件接口对象举例如下:
统一的组件设计保证了应用功能装配驱动器的准确调用。
如图3所示,现提供一实施例,以批量文件加密业务进行说明,包括配置、编译、执行三个过程:
配置过程(过程中使用了应用功能输入输出定义、应用功能控制流编排器、应用功能控制流组件);
1、新建应用功能控制流,输入控制流编号、版本号及说明;
2、配置应用功能的输入输出项;
3、配置图形化功能控制流,在线拖拽以下组件:
1)流程开始组件:流程开始的标志;
2)组件A(数据查询组件):对需要加密的文件进行查询;
3)组件B(数据加密组件):对已查询出的文件进行加密,有待处理文件时,则循环执行组件A;
4)组件C(审计日志组件):文件加密失败后,记录审计日志;
5)组件D(数据处理组件):加密成功后,对相关数据进行处理;
6)组件E(审计日志组件):记录审计日志;
7)流程结束组件:流程结束标志;
并对每个组件的参数根据业务功能进行配置,按执行过程连接各组件,形成图形化控制流;
编译过程(过程中使用了应用功能控制流装配器、应用功能控制流程序生成器、应用功能页面生成器、应用功能控制流组件);
控制流配置完成后,保存提交,自动对控制流扫描和解析、代码生成、代码编译,固化了组件运行的参数、执行逻辑及逻辑判断条件,完成控制流的配置,自动生成测试页面。
执行过程(过程中使用了应用功能控制流驱动、应用功能控制流组件)
对已生成的控制流进行在线测试,在生成的页面中填写输入项数据,提交后按照标准调用,驱动控制流执行,输出对应结果,执行过程与图形化控制流一致。
如图4或图5所示,本发明还提供了一种系统集成方法,所述系统集成方法上所述的在线生成互联网应用的方法;所述系统集成包括被第三方系统集成及集成第三方系统。所述系统集成支持通过在线服务方式的软件系统集成和支持定制专用组件调用第三方驱动的软硬件系统集成;将集成业务分解成原子功能,配置对应的功能控制流进行分解集成;加入权限控制、数据打包加密,实现数据传输过程中的认证及安全;通过对应的功能控制流实现数据级集成;也可按照第三方系统要求定制组件实现被集成,系统集成实现方法如下:
S81、从应用功能装配驱动器接入系统,具有多种应用功能控制流驱动接口;
S82、应用功能控制流驱动接口进行协议转换适配;
S83、应用功能控制流驱动接口调用相应的控制流驱动程序;
S84、控制流驱动程序调用对应控制流实例进行数据规范定义、数据报文映射、权限认证和安全控制;
S85、控制流实例执行过程中由对应组件实现权限校验、操作审计和资源的访问或存储;
S86、控制流实例执行过程可由组件调用第三方驱动,跟第三方设备或系统进行交互或资源访问。
如图6或图7所示,本发明还提供一种用于支撑在线生成互联网应用的支撑平台,所述支撑平台包括UI管理启动器、业务数据模型构建器以及应用功能装配驱动器;
业务数据模型构建器,所述业务数据模型构建器包括模型对象定义、数据格式化以及模型数据解析;所述业务数据模型构建器使用JSON数据结构进行建模,以反映业务实体数据模型及数据模型之间的关系。
应用功能装配驱动器,在线完成功能配置及实现,包括配置功能的输入、输出,通过组件拖拽形成功能级的图形化控制流,图形化控制流实现程序的顺序、分支、循环结构,通过解析图形化控制流,在线装配生成互联网应用业务功能的代码,功能自动编码采用JAVA语言,自动优化编译成高效的可执行文件,编译成功后自动生成互联网应用访问的页面,可在线进行测试及使用。
UI管理驱动器负责互联网应用功能的展现,实现设备类型管理、群组管理、页面布局管理、应用功能的展现及输入校验、多语言管理等,兼容多种主流浏览器。
本实施例中,所述业务数据模型构建器,采用非关系型数据结构进行建模,整体业务数据模型为树状结构,提供基于在线的业务数据模型构建器,在新增表单中产生业务数据模型对象定义,业务数据模型编辑器及数据格式化器会将提交的数据校验、格式化、序列化后,存储到非关系型数据库中,单个业务数据模型数据库集合中并行存储。包括:模型编号、父节点模型编号、模型修改时间、模型名称、多语言对象标识、模型实体对象属性。
如图6所示,功能装配驱动器,包含标准调用接口、流媒体调用接口、集成服务调用接口、数据格式化、业务版本管理、输入输出定义、组件运行时配置、控制流编排器、控制流扫描解析和控制流装配器等。
需要说明的是,本发明中应用功能的输入输出定义,任何相应版本的应用功能都具有自己的输入输出定义,其定义可以使用业务数据模型,也可独立定义,具有很强的灵活性,将输入输出定义的数据绑定到应用功能的编号及版本号,进行数据校验、格式化、序列化后,存储到数据库中,应用功能装配驱动器将控制流编译成功后调用输入输出定义的数据,自动生成对应的可在线测试和使用的服务页面,应用功能装配驱动器调用应用功能实例过程中使用输入输出定义的数据,进行数据交换,数据存储。
UI管理驱动器负责互联网应用的展现,包括设备管理、页面管理、布局管理、样式管理、输入输出、模板管理等,实现设备类型管理、群组管理、页面布局管理、应用功能的展现及输入校验、多语言管理等,兼容主流浏览器。
根据不同的设备、分辨率、不同的群组、不同的角色进行相应的页面创建,对页面进行布局管理,并配置应用功能的位置及大小,进行主题及皮肤的管理。
应用功能的展现控制,可设置选用相应展示模板,根据应用功能的输入输出配置,设置输入项隐藏、自动代填,设置数据校验、数据格式化、设置多语言展示等,设置输入输出项页面展示控件,UI管理驱动器根据配置动态展现。
需求变更及需求迭代的实现,根据业务实际分为多种情况,规则如下:
(1)只改变应用功能输入输出项且不需调整控制流运行过程的,一般不需要增加新版本的功能控制流,只需直接修改控制流相关的输入输出项配置,在UI管理驱动器中修改对应配置;
(2)需要通过调整应用功能控制流达到调整应用功能执行过程中的逻辑或事务的,根据实际情况决定是否需要增加新版本控制流,进行控制流的调整操作,重新在线编译、测试后发布;
(3)需要升级或扩展现有组件达到新需求、新技术的,进行组件开发及代码编写,测试后形成新的组件,进行组件的部署升级后,根据实际业务要求配置新的应用功能控制流,原有的或旧版本的功能控制流不受影响。
通过本发明提供的在线生成互联网应用方法及支撑平台极大提高互联网应用构建的速度和效率,缩短互联网应用建设周期,轻松实现需求定制、需求变更及需求迭代,轻松实现扩展、升级及新技术的应用,延长互联网应用的生命周期。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种在线生成互联网应用方法,其特征在于:所述方法包括如下步骤:
UI管理驱动器调用控制流标准接口,通过应用功能控制流驱动接口调用已编译控制流至应用功能装配驱动器;
所述应用功能装配驱动器调用业务数据模型构建器中构建的输入输出定义的数据,并将所述输入输出定义的数据返回至所述应用功能装配驱动器;
所述应用功能装配驱动器调用应用功能控制流组件,通过所述控制流组件完成互联网应用功能;
所述应用功能装配驱动器将完成的互联网应用功能返回至所述UI管理驱动器执行结果。
2.根据权利要求1所述的在线生成互联网应用方法,其特征在于:所述应用功能控制流驱动接口包括负责响应互联网应用标准请求接口,负责响应互联网应用对文件资源访问接口,负责响应互联网应用对流媒体资源访问接口和负责提供第三方系统访问的服务接口中的一种或多种接口。
3.根据权利要求1所述的在线生成互联网应用方法,其特征在于:所述应用功能控制流组件包括安全控制类组件、非关系型数据库存储访问类组件、关系型数据库存储访问类组件、数据的流转及控制类组件、文件资源控制类组件、流媒体资源控制类组件、数据加密及安全类组件、审计类组件和第三方软硬件集成类组件中的一种或多种。
4.根据权利要求1至3任一项所述的在线生成互联网应用方法,其特征在于:所述应用功能装配驱动器包括有应用功能版本管理,所述应用功能版本管理用于在创建或修改一个应用功能的同时,进行版本号定义,所述应用功能版本管理的控制及执行方法如下:
S41、将控制流标识及版本号分开存储,方便管理;
S42、在应用功能控制流解析、代码生成及编译过程中将应用功能控制流实例唯一对应到标记:“控制流标识+版本号”;
S43、应用功能装配驱动器调用应用功能执行控制流实例时按照规则实时生成控制流对应标记,并编译生成对应的可执行控制流实例程序;
S44、通过包含版本号的控制流对应标记,动态加载可执行的控制流实例程序;
S45、执行后返回结果;
S46、同一应用功能控制流的不同版本,可同时提供请求访问。
5.根据权利要求1至3任一项所述的在线生成互联网应用方法,其特征在于:所述应用功能装配驱动器还包括有应用功能控制流编排器,所述应用功能控制流编排器用于进行在线的应用功能控制流编排,其实现过程如下:
S501、定义页面控制流编排区域;
S502、定义组件的数据结构、图形及外观、动态菜单及功能;
S503、实现控制流图形定义与数据结构的转换、存储及访问,存储在非关系型数据库中,即保存的是结构化数据,显示的是编排好的控制流图;
S504、定义组件拖拽行为,拖拽到编排区域时转换成对应图形;
S505、拖拽定义好的组件到控制流编排区域,生成组件实例;
S506、增减组件实例的输入输出端点,普通组件默认有一个输入端点和一个输出端点,可通过右键菜单进行增加,组件的端点支持拖拽;
S507、定义组件间连接线及其外观;
S508、通过拖拽组件实例的端点连接各组件,一个组件的输出端点可连接到另外一个组件的输入端点,拖拽后自动生成连接线;
S509、定义组件实例的运行时参数及控制参数;
S510、记录编排过程中每一步操作到操作命令堆栈中,可回退,可重做;
S511、编排完成存储控制流,以图形化的方式展现程序运转的顺序、分支、循环结构。
6.根据权利要求1至3任一项所述的在线生成互联网应用方法,其特征在于:所述应用功能装配驱动器还包括有应用功能控制流装配器,所述应用功能控制流装配器用于在控制流配置完成并保存后,即可完成控制流扫描和解析、代码生成、代码编译,并返回页面提示信息,编译成功后自动生成可访问的互联网应用功能页面,可立即进行功能测试或直接使用该功能,应用功能控制流扫描、解析和装配算法如下:
S601、确定开始节点;
S602、递归扫描控制流中的特殊节点:分支节点、合并节点、循环节点;
S603、进行递归扫描,做多个堆栈标识探测、路径分析,对特殊节点进行分析判断,确定控制流的分支闭合点、循环结束点、嵌套分支及嵌套循环,分析的原则是:每个节点都有分支机会,都允许分支指向已执行过节点,有分支必有合并,有循环必有循环结束;
S604、进行递归扫描,采用堆栈模拟执行,遇重复执行节点退出扫描,确定循环内的节点;
S605、进行递归扫描,采用路径分析逐个路径模拟执行,控制闭合节点执行次数,当闭合节点无可执行次数时退出扫描,确定各分支内的节点;
S606、进行递归扫描,对违背语法支持、违背业务逻辑定义的特殊情况进行排除,可使用组件冗余、路径冗余调整控制流;
S607、从数据库读取组件实例控制参数;
S608、再次递归扫描,加入并固化组件控制参数;
S609、调用应用功能控制流程序生成器,生成程序文件;
S610、编译程序文件;
S611、读取应用功能输入输出配置,调用应用功能控制流页面生成器,生成可访问的服务页面代码。
7.根据权利要求1或2所述的在线生成互联网应用方法,其特征在于:所述应用功能控制流驱动接口,针对不同的类型应用访问请求,提供不同的控制流调用接口,其具体方法如下:
S71、根据请求类型调用不同接口;
S72、接口进行相应的协议转换、安全校验;
S73、接口匹配及调用控制流程序;
S74、按请求类型返回对应的结果数据。
8.一种系统集成方法,其特征在于:所述系统集成方法包括权利要求1至7中任一项所述的在线生成互联网应用方法;所述系统集成支持通过在线服务方式的软件系统集成和支持定制专用组件调用第三方驱动的软硬件系统集成;将集成业务分解成原子功能,配置对应的功能控制流进行分解集成;加入权限控制、数据打包加密,实现数据传输过程中的认证及安全;通过对应的功能控制流实现数据级集成;也可按照第三方系统要求定制组件实现被集成,系统集成实现方法如下:
S81、有多种应用功能控制流驱动接口;
S82、应用功能控制流驱动接口进行协议转换适配;
S83、应用功能控制流驱动接口调用相应的控制流驱动程序;
S84、控制流驱动程序调用对应控制流实例进行数据规范定义、数据报文映射、权限认证和安全控制;
S85、控制流实例执行过程中由对应组件实现权限校验、操作审计和资源的访问或存储;
S86、控制流实例执行过程可由组件调用第三方驱动,跟第三方设备或系统进行交互或资源访问。
9.一种用于支撑权利要求1至7任一项所述的在线生成互联网应用方法的支撑平台,其特征在于:所述支撑平台包括UI管理启动器、业务数据模型构建器以及应用功能装配驱动器;
业务数据模型构建器,所述业务数据模型构建器包括模型对象定义、数据格式化以及模型数据解析;所述业务数据模型构建器使用JSON数据结构进行建模,以反映业务实体数据模型及数据模型之间的关系;
应用功能装配驱动器,在线完成功能配置及实现,包括配置功能的输入、输出,通过组件拖拽形成功能级的图形化控制流,图形化控制流实现程序的顺序、分支、循环结构,通过解析图形化控制流,在线装配生成互联网应用业务功能的代码,功能自动编码采用JAVA语言,自动优化编译成高效的可执行文件,编译成功后自动生成互联网应用访问的页面,可在线进行测试及使用;
UI管理驱动器,负责互联网应用功能的展现,实现设备类型管理、群组管理、页面布局管理、应用功能的展现及输入校验、多语言管理等,兼容多种主流浏览器。
10.根据权利要求9所述的在线生成互联网应用方法的支撑平台,其特征在于:所述业务数据模型构建器,采用非关系型数据结构进行建模,整体业务数据模型为树状结构,提供基于在线的业务数据模型构建器,在新增表单中产生业务数据模型对象定义,业务数据模型编辑器及数据格式化器会将提交的数据校验、格式化、序列化后,存储到非关系型数据库中,单个业务数据模型数据库集合中并行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510923593.3A CN105512304B (zh) | 2015-12-11 | 2015-12-11 | 在线生成互联网应用方法和系统集成方法及支撑平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510923593.3A CN105512304B (zh) | 2015-12-11 | 2015-12-11 | 在线生成互联网应用方法和系统集成方法及支撑平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512304A true CN105512304A (zh) | 2016-04-20 |
CN105512304B CN105512304B (zh) | 2019-03-26 |
Family
ID=55720285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510923593.3A Active CN105512304B (zh) | 2015-12-11 | 2015-12-11 | 在线生成互联网应用方法和系统集成方法及支撑平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512304B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547849A (zh) * | 2016-10-18 | 2017-03-29 | 华南师范大学 | 一种满足租户差异化需求的多租户数据库的构建方法 |
CN107071032A (zh) * | 2017-04-20 | 2017-08-18 | 上海极链网络科技有限公司 | 互动视频中基于节点流式开发的构架nfbd |
CN107273165A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种实现模块动态调用的系统及方法 |
CN109002279A (zh) * | 2017-06-01 | 2018-12-14 | 如如研创股份有限公司 | 自动化软件的产生系统 |
CN109375916A (zh) * | 2018-10-30 | 2019-02-22 | 成都四方伟业软件股份有限公司 | 交互网页编排方法及装置 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
CN111273900A (zh) * | 2020-01-14 | 2020-06-12 | 浙江华云信息科技有限公司 | 基于gitlab实时代码共享的在线拖拽编码生成方法 |
CN111290351A (zh) * | 2020-01-21 | 2020-06-16 | 深圳市雷赛软件技术有限公司 | 一种驱动器管理方法、系统、计算机设备及存储介质 |
WO2020133322A1 (zh) * | 2018-12-29 | 2020-07-02 | 薛俊恩 | 人工智能应用搭建中新增组块的方法、装置和机器设备 |
CN111512286A (zh) * | 2017-12-29 | 2020-08-07 | 华为技术有限公司 | 编排程序的方法及电子设备 |
CN111538498A (zh) * | 2020-04-14 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 一种应用创建方法、装置、电子设备及存储介质 |
CN112632036A (zh) * | 2020-12-24 | 2021-04-09 | 深圳赛安特技术服务有限公司 | 一种数据交换体系的管理平台、方法及相关设备 |
WO2021254167A1 (zh) * | 2020-06-20 | 2021-12-23 | 华为技术有限公司 | App开发平台、app开发方法及电子设备 |
CN114942792A (zh) * | 2022-06-02 | 2022-08-26 | 广联达科技股份有限公司 | 设备接入方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731352A (zh) * | 2005-08-26 | 2006-02-08 | 南京邮电大学 | 微编译网格服务构建器 |
US20080134207A1 (en) * | 2006-12-01 | 2008-06-05 | Fady Chamieh | Parallelization and instrumentation in a producer graph oriented programming framework |
CN101939736A (zh) * | 2007-08-31 | 2011-01-05 | M·阿纳 | 远程计算设备的开发富互联网应用的系统和方法 |
CN102656557A (zh) * | 2009-10-14 | 2012-09-05 | 韦尔迈格服务有限公司 | 自动化企业软件开发 |
CN103870260A (zh) * | 2012-12-14 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 业务接口开发的方法及系统 |
CN105094818A (zh) * | 2015-07-14 | 2015-11-25 | 国家信息中心 | 基于soa的自然资源综合应用构建方法及系统 |
-
2015
- 2015-12-11 CN CN201510923593.3A patent/CN105512304B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731352A (zh) * | 2005-08-26 | 2006-02-08 | 南京邮电大学 | 微编译网格服务构建器 |
US20080134207A1 (en) * | 2006-12-01 | 2008-06-05 | Fady Chamieh | Parallelization and instrumentation in a producer graph oriented programming framework |
CN101939736A (zh) * | 2007-08-31 | 2011-01-05 | M·阿纳 | 远程计算设备的开发富互联网应用的系统和方法 |
CN102656557A (zh) * | 2009-10-14 | 2012-09-05 | 韦尔迈格服务有限公司 | 自动化企业软件开发 |
CN103870260A (zh) * | 2012-12-14 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 业务接口开发的方法及系统 |
CN105094818A (zh) * | 2015-07-14 | 2015-11-25 | 国家信息中心 | 基于soa的自然资源综合应用构建方法及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547849B (zh) * | 2016-10-18 | 2019-11-26 | 华南师范大学 | 一种满足租户差异化需求的多租户数据库的构建方法 |
CN106547849A (zh) * | 2016-10-18 | 2017-03-29 | 华南师范大学 | 一种满足租户差异化需求的多租户数据库的构建方法 |
CN107071032A (zh) * | 2017-04-20 | 2017-08-18 | 上海极链网络科技有限公司 | 互动视频中基于节点流式开发的构架nfbd |
CN109002279A (zh) * | 2017-06-01 | 2018-12-14 | 如如研创股份有限公司 | 自动化软件的产生系统 |
CN107273165A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种实现模块动态调用的系统及方法 |
US11204681B2 (en) | 2017-12-29 | 2021-12-21 | Huawei Technologies Co., Ltd. | Program orchestration method and electronic device |
CN111512286A (zh) * | 2017-12-29 | 2020-08-07 | 华为技术有限公司 | 编排程序的方法及电子设备 |
CN109375916A (zh) * | 2018-10-30 | 2019-02-22 | 成都四方伟业软件股份有限公司 | 交互网页编排方法及装置 |
WO2020133322A1 (zh) * | 2018-12-29 | 2020-07-02 | 薛俊恩 | 人工智能应用搭建中新增组块的方法、装置和机器设备 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
CN111142867B (zh) * | 2019-12-31 | 2024-04-02 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
CN111273900A (zh) * | 2020-01-14 | 2020-06-12 | 浙江华云信息科技有限公司 | 基于gitlab实时代码共享的在线拖拽编码生成方法 |
CN111290351A (zh) * | 2020-01-21 | 2020-06-16 | 深圳市雷赛软件技术有限公司 | 一种驱动器管理方法、系统、计算机设备及存储介质 |
CN111538498A (zh) * | 2020-04-14 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 一种应用创建方法、装置、电子设备及存储介质 |
WO2021254167A1 (zh) * | 2020-06-20 | 2021-12-23 | 华为技术有限公司 | App开发平台、app开发方法及电子设备 |
CN112632036A (zh) * | 2020-12-24 | 2021-04-09 | 深圳赛安特技术服务有限公司 | 一种数据交换体系的管理平台、方法及相关设备 |
CN112632036B (zh) * | 2020-12-24 | 2024-04-30 | 深圳赛安特技术服务有限公司 | 一种数据交换体系的管理平台、方法及相关设备 |
CN114942792A (zh) * | 2022-06-02 | 2022-08-26 | 广联达科技股份有限公司 | 设备接入方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105512304B (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512304A (zh) | 在线生成互联网应用方法和系统集成方法及支撑平台 | |
CN110825362B (zh) | 低代码应用软件开发系统及方法 | |
US8813024B2 (en) | System and a method for cross-platform porting of business application and making them contextually-aware on target platforms | |
US8516435B2 (en) | System and method for generating implementation artifacts for contextually-aware business applications | |
CN103383645B (zh) | 代码生成方法及系统 | |
US8495559B2 (en) | Extracting platform independent models from composite applications | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
US20170068519A1 (en) | Computer-applied method for displaying software-type applications based on design specifications | |
Barnett et al. | Bootstrapping mobile app development | |
Izquierdo et al. | API2MoL: Automating the building of bridges between APIs and Model-Driven Engineering | |
Mens | Model transformation: A survey of the state of the art | |
Reimann et al. | Role-based generic model refactoring | |
Martinez et al. | Recovering sequence diagrams from object-oriented code: An ADM approach | |
Leotta et al. | Towards a lightweight model driven method for developing SOA systems using existing assets | |
Thalheim | From Models_For_Programming to Modelling_To_Program and Towards Models_As_A_Program | |
Märtin et al. | Patterns and models for automated user interface construction–in search of the missing links | |
Seidl et al. | Generative software product line development using variability-aware design patterns | |
Özgür | Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling in the context of Model-Driven Development | |
Pérez et al. | Allowing end-users to participate within model-driven development approaches | |
Roldán et al. | Operation‐based approach for documenting software architecture knowledge | |
Vaupel | A framework for model-driven development of mobile applications with context support | |
Wada et al. | Leveraging metamodeling and attribute-oriented programming to build a model-driven framework for domain specific languages | |
Hossler et al. | Significant productivity enhancement through model driven techniques: A success story | |
Esbai et al. | Model-Driven transformation with approach by modeling: From UML to N-tiers Web Model | |
Sandven | Metamodel based Code Generation in DPF Editor |
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 |