CN114356306A - 一种系统组件可视化定制的实现方法 - Google Patents
一种系统组件可视化定制的实现方法 Download PDFInfo
- Publication number
- CN114356306A CN114356306A CN202111533646.2A CN202111533646A CN114356306A CN 114356306 A CN114356306 A CN 114356306A CN 202111533646 A CN202111533646 A CN 202111533646A CN 114356306 A CN114356306 A CN 114356306A
- Authority
- CN
- China
- Prior art keywords
- component
- information
- function
- components
- meta
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种系统组件可视化定制的实现方法,包括如下步骤,S1、建立一套标准的组件元信息描述标准规范;S2、基于组件元信息描述标准规范建立一套规范的组件与功能模板仓库;S3、基于组件元信息描述构建可视化的组件元信息定义界面;通可视化的组件元信息定义界面,实现组件属性、方法、事件及组件间驱动定义,动态地组合系统功能组件;S4、利用系统功能解析引擎,解析功能组件实例定义,实现组件属性值、方法函数及事件处理器的显示与隐式绑定,对接规范的业务数据接口,完成组件实例化。优点是:极大的降低技术门槛,使得开发者聚焦业务逻辑,屏蔽底层技术的复杂性,减少开发工作量,提升系统的开发效率。
Description
技术领域
本发明涉及系统快速开发技术领域,尤其涉及一种系统组件可视化定制的实现方法。
背景技术
随着互联网行业发展,系统开发技术呈现继承式的迭代和快速持续的变革创造的特点。目前,前后端分离开发模式成为Web系统开发的主流,优秀的技术框架与思想雨后春笋的涌现,如:
Web前端组件模块化,是Web应用开发发展的产物,前端Javascript模块,本质上是实现特定功能的文件,实现了模块间组合与分解,解决了传统的前端开发代码功能混乱,功能耦合等严重问题,为Web前端组件化的基础。
MVVM是指模型-视图-视图模型,Model是数据模型,View是视图层,ViewModel是连接Model和View的中间桥梁,一是将后端传过来的数据转化为页面(数据模型转化为视图层),实现方式是数据绑定;二是将页面转化为数据传到后端(视图层转化为数据模型),实现方式是DOM事件监听;将这两个方向都实现的,被称为双向传递。
Web前端的动态组件是指前端的多个组件可以使用同一个挂载点,动态的进行实例化切换,对于提升性能,动态切换不同的应用功能有非常大用途。
Web前端单页应用SPA(Single Page Application)的前端路由是现在各大前端框架的基础标配,每个框架都提供了强大的路由功能,前端路由是URL与UI页面或者组件之间的映射关系,主流实现方式包括有hash和history两种方式。
而在开发技术快速迭代的背景下,对于开发者而言,开发一套Web系统,需要掌握的技能则会大幅度的增加,学习曲线也陡峭,技术门槛变得很高,通常情况下,都需要开发者具有前后端全栈式的开发能力。实际的系统开发过程中,开发者的水平参差不齐,组件质量良莠不齐,组件无法复用;功能代码复用采用复制、粘贴和修改式的最粗暴的复用模式,存在极大的bug风险与冗余;开发者无法专心的聚焦到要实现的业务功能上,被底层各种技术细节、bug所牵绊,开发效率低下,系统的时间成本、人员成本、沟通成本等都会大幅度增加。
发明内容
本发明的目的在于提供一种系统组件可视化定制的实现方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种系统组件可视化定制的实现方法,包括如下步骤,
S1、建立一套标准的组件元信息描述标准规范;
S2、基于组件元信息描述标准规范建立一套规范的组件与功能模板仓库;
S3、基于组件元信息描述构建可视化的组件元信息定义界面;通可视化的组件元信息定义界面,实现组件属性、方法、事件及组件间驱动定义,动态地组合系统功能组件;
S4、利用系统功能解析引擎,解析功能组件实例定义,实现组件属性值、方法函数及事件处理器的显示与隐式绑定,对接规范的业务数据接口,完成组件实例化。
优选的,所述组件元信息描述标准规范用于对组件的输入信息、输出信息及组件间的交互进行规范定义;包括组件的属性、方法、事件、插槽区域、隐藏参数、共享数据;
组件的插槽区域是指:为组件预留的区域空间,用于作为组件组合的基础放置区域。
优选的,所述组件与功能模板仓库用于存放基于组件元信息描述标准规范开发的组件及功能组件模板;所述组件与功能模板仓库中的组件和功能组件模板按照技术特性、业务功能进行分门别类;具备插槽区域描述的组件作为基座组件;
功能组件模板是指:在基座组件上组合不同的组件或功能模板形成的具备特定业务能力、在不同业务场景中可以重复使用的功能组件;
基座组件是指:具备插槽区域,且其在定制组合功能时用于作为最底部的组件,是可视化定制的基础底座组件。
优选的,基于组件元信息描述动态构建出可视化的组件元信息定义界面,能够实现组件实例化时属性值定制以及组件交互时事件及组件间的驱动定义;
组件元信息定义界面是指:利用可视化定制引擎解析组件的元信息,实现组件属性、方法、事件及组件间驱动的实例化定义的操作界面;组件元信息定义界面针对组件元信息描述标准规范中不同值类型内置一系列的可视化录入组件,同时支持值类型的扩展,并依据值约束的定义,对录入值进行严格的数据质量控制;
组件实例化时属性定制是指:为组件实例定义各种需要的必要属性值及事件相应函数,为组件动态化创建准备数据;
组件交互时事件及组件间的驱动定义是指:组件元信息定义界面为系统功能解析引擎提供内部规范的事件总线句柄、组件句柄控制器、功能级数据共享总线、全局级共享数据操作句柄供方法调用,实现内部的逻辑交互。
优选的,可视化定制引擎实现实例化定义的具体过程为,
S31、用户选中具体组件开发的技术路线,触发技术确认事件,可视化定制引擎相应事件,加载对应技术的系统功能解析引擎,并加载对应技术的组件与功能模板仓库;
S32、用户拖拽组件与功能模板仓库中的某一组件或功能模板到功能渲染区,出入法组件拖拽完成事件,定制引擎解析组件的元信息,初始化组件实例的定义对象;
S33、系统功能解析引擎接收组件元信息与组件实例定义对象,异步调用业务数据接口加载业务数据,渲染显示组件实例;
S34、组件元信息定制模块相应组件选中事件,接收组件元信息与组件实例定义对象;
S35、打开组件实例化定制录入界面,在实例化定制录入界面中修改或录入任何组件的属性值、参数值、事件函数,触发只更新事件;
S36、可视化定制引擎响应只更新事件,并将变化后的定义信息更新到组件实例定义对象中,系统功能解析引擎响应式地重新渲染界面。
优选的,系统功能解析引擎用于负责系统定制功能组件或模板的实例化过程,具体包括:
A、涉及的各组件模块的异步加载;具体是指系统功能解析引擎在解析过程中,依据组件名称与组件版本,从组件或模板仓库中加载打包组件模块到内存中;
组件模板是指开发人员实际开发的具备特定业务功能的组件实体,是组件元信息描述的实际对象;组件版本用于区分不同版本组件的功能差异,是可视化定制组件定制后期组件升级的基础;
B、涉及的各组件元信息的提取;具体是指系统功能解析引擎从组件模块中提取组件标准元信息描述的行为,为后续实例化组件做准备;
组件元信息以一个独立的描述性文档与组件存放在一起;
C、涉及的各组件业务数据的异步提取;具体是指系统解析引擎通过规范的业务数据接口为组件提供具体的业务数据;
规范的业务数据接口能够提供业务数据的构成描述规范,包括数据量、数据分页信息、数据字段的定义、数据查询异常信息;
D、涉及的各组件的实例化;组件的实例化涉及多个组件,系统功能解析引擎会逐个实例化每个组件;存在至少一个基座组件,基座组件为其他组件提供功能级别的内部组件交互、逻辑控制、行为操作的总线或场所;基座组件为父组件,基座组件上的所有组件为子组件,各子组件都是同一级别,都以组合的形式存在的兄弟组件。
优选的,系统功能解析引擎能够初始化全局共享数据模块,为各功能定制组件提供系统级别的共享数据访问句柄;
所述全局共享数据模块是指:系统级别的共享数据,为只读型数据,不允许各功能组件的写行为
系统功能解析引擎针对某个组件,通过注入该组件的属性值、隐式传入路由参数、绑定时间的处理器、注入功能级的共享数据、绑定功能级共享数据的操作句柄、注入全局级别的共享数据以及全局级别共享数据的操作句柄,注册该组件的句柄至组件句柄控制器中,最终灌入业务数据,实现该组件的实例化。
8、根据权利要求7所述的系统组件可视化定制的实现方法,其特征在于:系统功能引擎实现组件实例化的具体过程为:
S41、系统功能解析引擎通过路由调度,携带路由参数信息,跳转至当前业务功能节点,系统功能解析引擎获取路由中系统功能的唯一标识ID,从存储中获取与其标识ID对应的系统功能定义信息;
S42、系统功能解析引擎开始预初始化:初始化功能级别共享数据的Store,接收到的路由参数默认放置到功能级别共享数据的Store中;初始化组件句柄控制器,使其具备组件句柄的注册与注销功能;初始化组件交互总线,即承担内部各个组件交互函数的关联总线;
系统功能解析引擎解析系统功能定义信息,提取出基座组件的名称与版本,基于名称与版本到组件与功能模板仓库中拉取对应版本的组件实体,并将其加载到浏览器内存;
S43、系统功能解析引擎解析基座组件的元信息,提取参数的描述信息并注入路由参数值,注入组件的属性值,绑定事件的处理器,注入功能级的共享数据,绑定功能级共享数据的操作句柄,注入全局级别的共享数据,绑定全局级别共享数据的操作句柄,注册组件的句柄至组件句柄控制器中,最后灌入业务数据;
S44、若有插槽区域,则迭代遍历基座组件上的子组件,逐个进行实例化。
优选的,系统功能解析引擎在实例化基座组件上的各个子组件时,除了注入属性值,绑定组件的相应函数处理器、注入全局共享数据读取器之外,还需要基于组件元信息定义,注入功能级的共享数据Store,注册此组件需要共享的数据到功能级共享数据中,并提供数据操作句柄;
若有方法定义,则将组件的句柄注入到组件句柄控制器中;其他组件可以通过组件句柄构建组件间的逻辑并操作组件内部逻辑。
本发明的有益效果是:极大的降低技术门槛,使得开发者聚焦业务逻辑,屏蔽底层技术的复杂性,减少开发工作量,提升系统的开发效率。
附图说明
图1是本发明实施例中组件元信息关键项示意图;
图2是本发明实施例中实现方法的原理示意图;
图3是本发明实施例中系统功能解析引擎实现组件实例化的流程图;
图4是本发明实施例中功能组件内部元素交互示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
如图1至图4所示,本实施例中,提供了一种系统组件可视化定制的实现方法,包括如下步骤,
S1、建立一套标准的组件元信息描述标准规范;
S2、基于组件元信息描述标准规范建立一套规范的组件与功能模板仓库;
S3、基于组件元信息描述构建可视化的组件元信息定义界面;通可视化的组件元信息定义界面,实现组件属性、方法、事件及组件间驱动定义,动态地组合系统功能组件;
S4、利用系统功能解析引擎,解析功能组件实例定义,实现组件属性值、方法函数及事件处理器的显示与隐式绑定,对接规范的业务数据接口,完成组件实例化。
本实施例中,本发明实现方法在目前Web应用前端模块化,数据绑定,动态组件,功能路由等技术基础上进行实现。
如图1所示,本实施例中,所述组件元信息描述标准规范用于对组件的输入信息、输出信息及组件间的交互进行规范定义;包括组件的属性、方法、事件、插槽区域、隐藏参数、共享数据。
组件元信息描述规范是与实现技术无关的描述规范,它是用来明确描述组件的输入信息、输出信息、插槽布局定义、可操作性内部行为的句柄以及共享数据的规范定义。
组件元信息需要包括组件的名称(英文格式)、组件全名、功能描述、版本等基本信息;对于组件的名称应定制一套标准的组件名称规范,确保组件在组件与功能模板仓库中具备唯一性。同时,组件名称应该为具有业务意义的名称,组件版本与组件名称一起,共同在系统功能解析引擎中具备唯一性。
组件元信息描述可作为独立的结构化的描述性文件存在,如JSON格式,以静态文件的形式,借助于成熟的组件打包技术,打包到组件实体中,与组件实体紧紧绑定在一起;约束所有组件按照通过统一规范的接口,查询到组件元信息的描述信息。
下面分别对组件的输入信息、输出信息、插槽布局定义、可操作性内部行为的句柄以及共享数据做出具体解释:
1、组件的输出信息包括组件的属性、路由参数。
组件属性、参数或事件返回值的描述通常包括名称、描述、数据类型、值约束。
数据类型,包括字符串、数值、布尔值、数组、对象、函数。
值约束是指对输入输出的值进行限制,包括默认值、必要性、长度、大小、格式、范围、自定义等。
2、组件的输出信息,主要指事件。
3、插槽布局定义是指组件组合其他组件的区域描述,本质是一个布局区域的概念,包括插槽位置、名称、类型等,组件插槽区域后存放组件实例定义,同时需要包括组件名称与版本。
4、组件的插槽区域是指:为组件预留的区域空间,用于作为组件组合的基础放置区域。
5、可操作内部行为的句柄,是指组件对外部实体提供的操作内部逻辑的一种途径,通过句柄可操作组件提供的内部方法;可操作的程度,完全取决于业务组件自身的开放度。所述组件内部的方法,需清晰的描述方法或函数的名称、方法功能描述、方法输入参数、返回值等。
6、共享数据的规范定义是指系统与组件、组件与组件之间共享数据的描述。共享数据应是基于响应式的数据,数据的变化会同步至观察者。系统级别的共享数据,应严格约束写行为的自由度,避免全局数据的随意变更,引发不确定的数据变化;功能级别的共享数据,可通过数据总线或异步响应式的编程方式来实现。
本实施例中,所述组件与功能模板仓库用于存放基于组件元信息描述标准规范开发的组件及功能组件模板;所述组件与功能模板仓库中的组件和功能组件模板按照技术特性、业务功能进行分门别类;具备插槽区域描述的组件作为基座组件;
功能组件模板是指:在基座组件上组合不同的组件或功能模板形成的具备特定业务能力、在不同业务场景中可以重复使用的功能组件;
基座组件是指:具备插槽区域,且其在定制组合功能时用于作为最底部的组件,是可视化定制的基础底座组件。
组件与功能模板仓库,是基于标准的组件元信息描述规范建设的组件与功能模板仓库,用于业务功能的复用与积累,具体实现时,从管理角度,应采用多层模式管理,如三级仓库模式,包括复用级别最高的平台级别的仓库、专注于特定业务复用的业务级别仓库与复用级别最小的本地级别仓库;从存储角度,包括索引存储与实体存储两部分内容,组件与功能模板的基本信息与升级历史,常借助于数据库来进行存储。
组件与功能模板的实体存储,对组件是指业务功能组件的文件存储,具体实现中可借助业界已经成熟的组件库进行存储与版本管理,如npm(node package manager)仓库;对功能模板是指业务功能描述性文件的存储,可自主开发服务进行存储与版本管理。
业务功能描述性文件,是指可视化系统定制开发的功能描述文件,是具体的组件实例化的结果,包括一个或者多个组件实例化内容,最底部的为基座组件的实例化,借助于组件的插槽区域,可以组合,嵌套更多层的组件实例。
组件与功能模板仓库的检索,应提供更丰富的检索能力,具备标签分类功能,按照组件或模板的技术特性、业务功能等进行分门别类。
本实施例中,基于组件元信息描述动态构建出可视化的组件元信息定义界面,能够实现组件实例化时属性值定制以及组件交互时事件及组件间的驱动定义;
组件元信息定义界面是指:利用可视化定制引擎解析组件的元信息,实现组件属性、方法、事件及组件间驱动的实例化定义的操作界面;组件元信息定义界面针对组件元信息描述标准规范中不同值类型内置一系列的可视化录入组件,同时支持值类型的扩展,并依据值约束的定义,对录入值进行严格的数据质量控制;
组件实例化时属性定制是指:为组件实例定义各种需要的必要属性值及事件相应函数,为组件动态化创建准备数据;
组件交互时事件及组件间的驱动定义是指:组件元信息定义界面为系统功能解析引擎提供内部规范的事件总线句柄、组件句柄控制器、功能级数据共享总线、全局级共享数据操作句柄供方法调用,实现内部的逻辑交互。
所述的可视化定制引擎,是整个系统组件可视化定制的核心引擎,负责程序启动,组件与模板仓库的加载,系统功能解析引擎的运行,组件元信息动态解析与实例化定义的录入,底层业务数据接口的对接,及各个模块之间的交互。
组件与模板仓库的加载,包括信息展示与检索,真正组件或模板实体的加载;信息展示与检索是通过类似于应用商店的形式,对所有的组件与模板进行合理的、丰富的信息展示,用户可借助于标签,模糊查询等手段快速查找所需的组件与模板;真正组件或模板实体的加载应借助于目前成熟的异步模块加载,模块切分,按需加载等技术进行网络加载,加载速度、运行流畅性与具体实现的前端打包技术有很大的关联性。
系统功能解析引擎的运行会识别组件或功能模板的定义,动态的实例化并运行组件;借助于数据变化实时驱动界面变化的响应式技术,组件实例化的数据会随着定制数据的变化而实时变化,继而驱动组件界面的变化,实现组件定制的可视化,功能定制效果的所见即所得;系统功能解析引擎通常与具体的实现技术有紧密关系,一种技术对应一个功能解析引擎模块,可以有多个系统功能解析引擎。
组件元信息动态解析与实例化定义的录入是指可视化定制引擎会调用组件统一的元信息获取接口,获取组件云信息并进行解析,为组件的每一个属性、参数、方法、事件等提供可视化的录入入口;可视化定制引擎需针对不同类型的值、不同的脚本函数,提供一系列内置的简单的基础类型的录入组件,如文本框,数字框,下拉框,日期框等,而对于数组与对象等复杂的录入,可通过内置的基础录入组件的组合来实现,也可以提供统一的规范的录入组件的扩展规范,插入自定义的录入插件来实现;对于录入的数据的质量把控与规范性,完全取决于组件元信息中对于输入输出值的约束描述,可视化定制引擎需配套提供一套规范的值校验的机制,来满足组件元信息中对不同类型的约束的验证需求,具体实现中可借助于开源的成熟的校验框架,如async-validator。
底层业务数据接口的对接是指系统功能解析引擎在渲染组件的时候,同步或异步的加载业务数据至组件内部;可视化定制引擎需要提供多种业务数据接口的连接方式,如不同类型的数据库,Restful服务接口,静态数据文件等。
可视化定制引擎实现实例化定义的具体过程为,
(1)、用户选中具体组件开发的技术路线,触发技术确认事件,可视化定制引擎相应事件,加载对应技术的系统功能解析引擎,并加载对应技术的组件与功能模板仓库;
(2)、用户拖拽组件与功能模板仓库中的某一组件或功能模板到功能渲染区,出入法组件拖拽完成事件,定制引擎解析组件的元信息,初始化组件实例的定义对象;
(3)、系统功能解析引擎接收组件元信息与组件实例定义对象,异步调用业务数据接口加载业务数据,渲染显示组件实例;
(4)、组件元信息定制模块相应组件选中事件,接收组件元信息与组件实例定义对象;
(5)、打开组件实例化定制录入界面,在实例化定制录入界面中修改或录入任何组件的属性值、参数值、事件函数,触发只更新事件;
(6)、可视化定制引擎响应只更新事件,并将变化后的定义信息更新到组件实例定义对象中,系统功能解析引擎响应式地重新渲染界面。
本实施例中,系统功能解析引擎用于负责系统定制功能组件或模板的实例化过程,具体包括:
A、涉及的各组件模块的异步加载;具体是指系统功能解析引擎在解析过程中,依据组件名称与组件版本,从组件或模板仓库中加载打包组件模块到内存中;
组件模板是指开发人员实际开发的具备特定业务功能的组件实体,是组件元信息描述的实际对象;组件版本用于区分不同版本组件的功能差异,是可视化定制组件定制后期组件升级的基础;
B、涉及的各组件元信息的提取;具体是指系统功能解析引擎从组件模块中提取组件标准元信息描述的行为,为后续实例化组件做准备;
组件元信息以一个独立的描述性文档与组件存放在一起;
C、涉及的各组件业务数据的异步提取;具体是指系统解析引擎通过规范的业务数据接口为组件提供具体的业务数据;
规范的业务数据接口能够提供业务数据的构成描述规范,包括数据量、数据分页信息、数据字段的定义、数据查询异常信息;
D、涉及的各组件的实例化;组件的实例化涉及多个组件,系统功能解析引擎会逐个实例化每个组件;
系统功能定义必须具有一个基座组件,基座组件为其他组件提供功能级别的内部组件交互、逻辑控制、行为操作的总线或场所;基座组件为父组件,基座组件上的所有组件为子组件,各子组件都是同一级别,都以组合的形式存在的兄弟组件,不存在多级别的组件树结构。
系统功能解析引擎能够初始化全局共享数据模块,为各功能定制组件提供系统级别的共享数据访问句柄;
所述全局共享数据模块是指:系统级别的共享数据,为只读型数据,不允许各功能组件的写行为
系统功能解析引擎针对某个组件,通过注入该组件的属性值、隐式传入路由参数、绑定时间的处理器、注入功能级的共享数据、绑定功能级共享数据的操作句柄、注入全局级别的共享数据以及全局级别共享数据的操作句柄,注册该组件的句柄至组件句柄控制器中,最终灌入业务数据,实现该组件的实例化。
如图3和图4所示,系统功能引擎实现组件实例化的具体过程为:
(1)、系统功能解析引擎通过路由调度,携带路由参数信息,跳转至当前业务功能节点,系统功能解析引擎获取路由中系统功能的唯一标识ID,从存储中获取与其标识ID对应的系统功能定义信息;
(2)、系统功能解析引擎开始预初始化:初始化功能级别共享数据的Store,接收到的路由参数默认放置到功能级别共享数据的Store中;初始化组件句柄控制器,使其具备组件句柄的注册与注销功能;初始化组件交互总线,即承担内部各个组件交互函数的关联总线;
系统功能解析引擎解析系统功能定义信息,提取出基座组件的名称与版本,基于名称与版本到组件与功能模板仓库中拉取对应版本的组件实体,并将其加载到浏览器内存;
(3)、系统功能解析引擎解析基座组件的元信息,提取参数的描述信息并注入路由参数值,注入组件的属性值,绑定事件的处理器,注入功能级的共享数据,绑定功能级共享数据的操作句柄,注入全局级别的共享数据,绑定全局级别共享数据的操作句柄,注册组件的句柄至组件句柄控制器中,最后灌入业务数据;
(4)、若有插槽区域,则迭代遍历基座组件上的子组件,逐个进行实例化。
系统功能解析引擎在实例化基座组件上的各个子组件时,除了注入属性值,绑定组件的相应函数处理器、注入全局共享数据读取器之外,还需要基于组件元信息定义,注入功能级的共享数据Store,注册此组件需要共享的数据到功能级共享数据中,并提供数据操作句柄;若有方法定义,则将组件的句柄注入到组件句柄控制器中;其他组件可以通过组件句柄构建组件间的逻辑并操作组件内部逻辑。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明提供了一种系统组件可视化定制的实现方法,该方法极大的降低技术门槛,使得开发者聚焦业务逻辑,屏蔽底层技术的复杂性,减少开发工作量,提升系统的开发效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (9)
1.一种系统组件可视化定制的实现方法,其特征在于:包括如下步骤,
S1、建立一套标准的组件元信息描述标准规范;
S2、基于组件元信息描述标准规范建立一套规范的组件与功能模板仓库;
S3、基于组件元信息描述构建可视化的组件元信息定义界面;通可视化的组件元信息定义界面,实现组件属性、方法、事件及组件间驱动定义,动态地组合系统功能组件;
S4、利用系统功能解析引擎,解析功能组件实例定义,实现组件属性值、方法函数及事件处理器的显示与隐式绑定,对接规范的业务数据接口,完成组件实例化。
2.根据权利要求1所述的系统组件可视化定制的实现方法,其特征在于:所述组件元信息描述标准规范用于对组件的输入信息、输出信息及组件间的交互进行规范定义;包括组件的属性、方法、事件、插槽区域、隐藏参数、共享数据;
组件的插槽区域是指:为组件预留的区域空间,用于作为组件组合的基础放置区域。
3.根据权利要求2所述的系统组件可视化定制的实现方法,其特征在于:所述组件与功能模板仓库用于存放基于组件元信息描述标准规范开发的组件及功能组件模板;所述组件与功能模板仓库中的组件和功能组件模板按照技术特性、业务功能进行分门别类;具备插槽区域描述的组件作为基座组件;
功能组件模板是指:在基座组件上组合不同的组件或功能模板形成的具备特定业务能力、在不同业务场景中可以重复使用的功能组件;
基座组件是指:具备插槽区域,且其在定制组合功能时用于作为最底部的组件,是可视化定制的基础底座组件。
4.根据权利要求3所述的系统组件可视化定制的实现方法,其特征在于:基于组件元信息描述动态构建出可视化的组件元信息定义界面,能够实现组件实例化时属性值定制以及组件交互时事件及组件间的驱动定义;
组件元信息定义界面是指:利用可视化定制引擎解析组件的元信息,实现组件属性、方法、事件及组件间驱动的实例化定义的操作界面;组件元信息定义界面针对组件元信息描述标准规范中不同值类型内置一系列的可视化录入组件,同时支持值类型的扩展,并依据值约束的定义,对录入值进行严格的数据质量控制;
组件实例化时属性定制是指:为组件实例定义各种需要的必要属性值及事件相应函数,为组件动态化创建准备数据;
组件交互时事件及组件间的驱动定义是指:组件元信息定义界面为系统功能解析引擎提供内部规范的事件总线句柄、组件句柄控制器、功能级数据共享总线、全局级共享数据操作句柄供方法调用,实现内部的逻辑交互。
5.根据权利要求4所述的系统组件可视化定制的实现方法,其特征在于:可视化定制引擎实现实例化定义的具体过程为,
S31、用户选中具体组件开发的技术路线,触发技术确认事件,可视化定制引擎相应事件,加载对应技术的系统功能解析引擎,并加载对应技术的组件与功能模板仓库;
S32、用户拖拽组件与功能模板仓库中的某一组件或功能模板到功能渲染区,出入法组件拖拽完成事件,定制引擎解析组件的元信息,初始化组件实例的定义对象;
S33、系统功能解析引擎接收组件元信息与组件实例定义对象,异步调用业务数据接口加载业务数据,渲染显示组件实例;
S34、组件元信息定制模块相应组件选中事件,接收组件元信息与组件实例定义对象;
S35、打开组件实例化定制录入界面,在实例化定制录入界面中修改或录入任何组件的属性值、参数值、事件函数,触发只更新事件;
S36、可视化定制引擎响应只更新事件,并将变化后的定义信息更新到组件实例定义对象中,系统功能解析引擎响应式地重新渲染界面。
6.根据权利要求1所述的系统组件可视化定制的实现方法,其特征在于:系统功能解析引擎用于负责系统定制功能组件或模板的实例化过程,具体包括:
A、涉及的各组件模块的异步加载;具体是指系统功能解析引擎在解析过程中,依据组件名称与组件版本,从组件或模板仓库中加载打包组件模块到内存中;
组件模板是指开发人员实际开发的具备特定业务功能的组件实体,是组件元信息描述的实际对象;组件版本用于区分不同版本组件的功能差异,是可视化定制组件定制后期组件升级的基础;
B、涉及的各组件元信息的提取;具体是指系统功能解析引擎从组件模块中提取组件标准元信息描述的行为,为后续实例化组件做准备;
组件元信息以一个独立的描述性文档与组件存放在一起;
C、涉及的各组件业务数据的异步提取;具体是指系统解析引擎通过规范的业务数据接口为组件提供具体的业务数据;
规范的业务数据接口能够提供业务数据的构成描述规范,包括数据量、数据分页信息、数据字段的定义、数据查询异常信息;
D、涉及的各组件的实例化;组件的实例化涉及多个组件,系统功能解析引擎会逐个实例化每个组件;存在至少一个基座组件,基座组件为其他组件提供功能级别的内部组件交互、逻辑控制、行为操作的总线或场所;基座组件为父组件,基座组件上的所有组件为子组件,各子组件都是同一级别,都以组合的形式存在的兄弟组件。
7.根据权利要求6所述的系统组件可视化定制的实现方法,其特征在于:系统功能解析引擎能够初始化全局共享数据模块,为各功能定制组件提供系统级别的共享数据访问句柄;
所述全局共享数据模块是指:系统级别的共享数据,为只读型数据,不允许各功能组件的写行为系统功能解析引擎针对某个组件,通过注入该组件的属性值、隐式传入路由参数、绑定时间的处理器、注入功能级的共享数据、绑定功能级共享数据的操作句柄、注入全局级别的共享数据以及全局级别共享数据的操作句柄,注册该组件的句柄至组件句柄控制器中,最终灌入业务数据,实现该组件的实例化。
8.根据权利要求7所述的系统组件可视化定制的实现方法,其特征在于:系统功能引擎实现组件实例化的具体过程为:
S41、系统功能解析引擎通过路由调度,携带路由参数信息,跳转至当前业务功能节点,系统功能解析引擎获取路由中系统功能的唯一标识ID,从存储中获取与其标识ID对应的系统功能定义信息;
S42、系统功能解析引擎开始预初始化:初始化功能级别共享数据的Store,接收到的路由参数默认放置到功能级别共享数据的Store中;初始化组件句柄控制器,使其具备组件句柄的注册与注销功能;初始化组件交互总线,即承担内部各个组件交互函数的关联总线;
系统功能解析引擎解析系统功能定义信息,提取出基座组件的名称与版本,基于名称与版本到组件与功能模板仓库中拉取对应版本的组件实体,并将其加载到浏览器内存;
S43、系统功能解析引擎解析基座组件的元信息,提取参数的描述信息并注入路由参数值,注入组件的属性值,绑定事件的处理器,注入功能级的共享数据,绑定功能级共享数据的操作句柄,注入全局级别的共享数据,绑定全局级别共享数据的操作句柄,注册组件的句柄至组件句柄控制器中,最后灌入业务数据;
S44、若有插槽区域,则迭代遍历基座组件上的子组件,逐个进行实例化。
9.根据权利要求8所述的系统组件可视化定制的实现方法,其特征在于:系统功能解析引擎在实例化基座组件上的各个子组件时,除了注入属性值,绑定组件的相应函数处理器、注入全局共享数据读取器之外,还需要基于组件元信息定义,注入功能级的共享数据Store,注册此组件需要共享的数据到功能级共享数据中,并提供数据操作句柄;
若有方法定义,则将组件的句柄注入到组件句柄控制器中;其他组件可以通过组件句柄构建组件间的逻辑并操作组件内部逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111533646.2A CN114356306A (zh) | 2021-12-15 | 2021-12-15 | 一种系统组件可视化定制的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111533646.2A CN114356306A (zh) | 2021-12-15 | 2021-12-15 | 一种系统组件可视化定制的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356306A true CN114356306A (zh) | 2022-04-15 |
Family
ID=81099946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111533646.2A Pending CN114356306A (zh) | 2021-12-15 | 2021-12-15 | 一种系统组件可视化定制的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356306A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190362A (zh) * | 2022-09-08 | 2022-10-14 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115268861A (zh) * | 2022-06-21 | 2022-11-01 | 北京志凌海纳科技有限公司 | 自定义组件的引入方法、系统、设备和存储介质 |
CN115794040A (zh) * | 2022-11-14 | 2023-03-14 | 深圳十沣科技有限公司 | 构造cae软件架构的方法、装置、设备及存储介质 |
CN115794075A (zh) * | 2023-02-01 | 2023-03-14 | 广州数说故事信息科技有限公司 | 一种可视化组件交互联动配置系统、方法和电子设备 |
-
2021
- 2021-12-15 CN CN202111533646.2A patent/CN114356306A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268861A (zh) * | 2022-06-21 | 2022-11-01 | 北京志凌海纳科技有限公司 | 自定义组件的引入方法、系统、设备和存储介质 |
CN115190362A (zh) * | 2022-09-08 | 2022-10-14 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115190362B (zh) * | 2022-09-08 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115794040A (zh) * | 2022-11-14 | 2023-03-14 | 深圳十沣科技有限公司 | 构造cae软件架构的方法、装置、设备及存储介质 |
CN115794040B (zh) * | 2022-11-14 | 2024-02-06 | 深圳十沣科技有限公司 | 构造cae软件架构的方法、装置、设备及存储介质 |
CN115794075A (zh) * | 2023-02-01 | 2023-03-14 | 广州数说故事信息科技有限公司 | 一种可视化组件交互联动配置系统、方法和电子设备 |
CN115794075B (zh) * | 2023-02-01 | 2023-05-26 | 广州数说故事信息科技有限公司 | 一种可视化组件交互联动配置系统、方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114356306A (zh) | 一种系统组件可视化定制的实现方法 | |
US8484611B2 (en) | Method and system for simplified assembly of information processing applications | |
US20030110472A1 (en) | Method and system for generating program source code of a computer application from an information model | |
US7007266B1 (en) | Method and software system for modularizing software components for business transaction applications | |
JP2004503841A (ja) | レガシコンピュータシステムからxmlデータをレポートするための方法とシステム | |
JP2003529829A (ja) | レガシコンピュータシステムをモデル化するための方法とシステム | |
WO2009007181A1 (en) | A method, system and computer program for intelligent text annotation | |
WO2006085455A1 (ja) | 文書処理装置および文書処理方法 | |
JP2003532173A (ja) | Xmlスキーマを適用するための方法とシステム | |
US8407235B2 (en) | Exposing and using metadata and meta-metadata | |
CN112035197B (zh) | 一种前端页面的配置方法及装置 | |
Acerbis et al. | Web applications design and development with webml and webratio 5.0 | |
Freeman | Pro Angular 9: build powerful and dynamic web apps | |
WO2006051955A1 (ja) | サーバ装置及び名前空間発行方法 | |
US11977473B2 (en) | Providing a pseudo language for manipulating complex variables of an orchestration flow | |
US20230060787A1 (en) | System and Method for Real-Time, Dynamic Creation, Delivery, and Use of Customizable Web Applications | |
de Boer et al. | A logical viewpoint on architectures | |
Pepin et al. | Definition and Visualization of Virtual Meta-model Extensions with a Facet Framework | |
Sehar et al. | A comprehensive literature review on approaches, techniques & challenges of mashup development | |
Frasincar | Hypermedia presentation generation for semantic web information systems | |
Fatolahi | An Abstract Meta-model for Model Driven Development of Web Applications Targeting Multiple Platforms | |
Xu | Improving the usability of an integrated decision support system for design decision making | |
Jordão et al. | TypeTaxonScript: sugarifying and enhancing data structures in biological systematics and biodiversity research | |
Rezazadeh | Formal Patterns for Web-based Systems Design | |
Cazzulino et al. | Beginning Visual Web Programming in VB. NET: From Novice to Professional |
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 |