一种基于元数据的动态表单系统及其生成方法技术方案

技术编号:9034078 阅读:138 留言:0更新日期:2013-08-15 00:55
本发明专利技术涉及计算机系统开发或维护过程中的业务数据处理技术领域,特别涉及一种基于元数据的动态表单系统及其生成方法。本发明专利技术的一种基于元数据的动态表单系统包括:基于业务字段的表单元数据模型,设计时套件和运行时工具集。通过该系统及方法可以在软件中实现动态表单的功能。

【技术实现步骤摘要】

本专利技术涉及计算机系统开发或维护过程中的业务数据处理
,特别涉及。
技术介绍
在计算机应用系统开发或维护过程中,经常会碰到以下需求或问题: 1、业务单据需要在运行时进行扩展,如工资表,不同企业、工种的工资项目都是实施时才能确定的,再如设备、费用单据等都是根据类别有不同的项目。2、现有的表单平台也可以实现运行时定制,但是大部分解决方案是把数据存到一张大表里,这样有几个限制:其一,数据库一行的字节数是有限制的,就是单据项目不能无限制扩展;其二,所有项目在一张大表里,造成大量的数据冗余;其三,大表严重影响查询性能。3、现有的表单开发平台,其表单设计器,大部分是不能与IDE (集成开发环境)软件集成的,不能充分利用IDE的丰富的功能。4、现有的表单开发平台,其元数据模型,大都没有抽取到业务字段这一级别,既缺乏对业务字段的信息的重用和业务操作的规范,又不能自动识别业务实体之间的联系。
技术实现思路
为了解决现有技术的问题,本专利技术提供了,通过该系统及方法可以在软件中实现动态表单的功能。本专利技术所采用的技术方案如下: 一种基于元数据的动态表单系统,其包括, 基于业务字段的表单元数据模型,包括业务实体元数据,用于描述业务系统中实现的业务实体信息;界面布局元数据设计,用于描述业务实体的界面布局信息; 设计时套件,包括表单用户界面控件及其控制器、业务实体和接口描述、服务端逻辑处理组件; 运行时工具集。表单元数据模型还包括: 业务字段元数据,用于描述业务系统中关心的业务字段信息; 属性组元数据,用于描述业务系统中包含的属性组信息; 属性组属性元数据,用于描述属性组包含的项目信息; 属性组引用关系元数据; 编码规则元数据; 表单打印设置元数据。设计时套件具体包括: 表单容器控件;工具条、菜单按钮; 表单列表控件; 智能帮助控件; 树形列表控件; 自定义编辑控件。运行时工具集包括: 业务字段定义工具,用来定义系统关心的业务字段,分为通用业务字段和非通用业务字段,定义其数据类型、长度、精度、用户界面控件; 属性组及属性定义工具,定义系统中用到的数据逻辑结构,包括表、视图,及其主键列、编号列、名称列;并设置属性组包含的项目;若有引用的项目,还需设置引用属性组; 业务实体定义工具;定义系统中的业务实体及其包含的扩展属性组和拥有的子业务实体; 界面布局调整工具,用来进行表单的界面布局调整; 打印设置及打印工具,根据表单元数据设置其打印格式; 编码规则定义工具,用来定义编码规则。一种基于元数据的动态表单系统的生成方法,其包括以下步骤: A、根据需求设计定义表单元数据; B、生成表单元数据模型 C、在集成开发环境软件中,选择业务实体元数据,生成表单; D、添加工具条按钮,与表单容器绑定; E、添加客户端或服务器端扩展代码; F、编译并发布到运行框架。步骤C具体包括把业务实体的不同业务属性进行分组管理,每个属性组对应不同的数据库存储表,并且根据业务实体的类别设置该业务实体对应不同的属性组集合的步骤。本专利技术的一种基于元数据的动态表单系统,在生成表单时抽取业务字段,便于规范业务操作,并且可以使系统自动识别各个业务实体和属性组之间的关系,便于自动实现实体间数据转换和统计分析。业务字段的规则信息包括:标识、编号、名称、父字段、原始属性组、原始属性组项目、系统预制否、分级否、 分级结构、数据类型、长度、精度、默认值、编辑器类型(通用控件、帮助、帮助取值列、枚举类型、自定义控件)等; 业务字段支持分级,自动继承上级业务字段信息,并且其数据类型、长度、精度等不允许与上级不同。业务字段对应的原始属性组项目,是指业务字段来源的字典属性组元数据里的项目,如财务系统核算单位编号业务字段,来源于核算单位字典属性组里的单位编号项目。可根据业务字段更新所有引用此业务字段的属性组对应的数据库表列信息。属性组的规则信息包括:标识、编码、名称、数据库表或视图名、主键列、编号列、名称列、序号列、分级码列、单据状态列、审批流实例列、系统预制否、分年度存放否。属性组包含一组属性(属性组项目),包括本属性组实有的、虚拟的(含引用自其它属性组的)。因而一个属性组需要设置零到多个引用属性组。属性组项目的规则信息包括:标识、对应业务字段、列名、列描述、系统预制否、允许空值否、隐藏否、默认值、虚拟列否、引用属性组、引用属性、过滤表达式、只读表达式、计算表达式、验证表达式、依赖项、帮助编号列、帮助显示列等; 属性组项目必须设置对应业务字段。业务实体的规则信息包括:标识、编码、名称、主属性组、属性划分依据、编码规则、表单窗体信息、系统预制否;一个业务实体可以拥有零到多个非主属性组;一个业务实体可以拥有零到多个子业务实体。表单设计器集成于IDE (集成开发环境)开发工具,如VS Studio,便于编写扩展代码和调整默认的UI (用户界面)属性,添加或更换原生或表单工具提供的UI控件; 提供根据表单元数据自动生成表单功能,生成的表单风格保持一致,并可以随时调整; 提供表单的常用功能,如增删改查等,并支持灵活扩展。如数据权限、功能权限等规则可以统一扩展,而某业务单据的个性化处理,可以单独扩展; 提供表单开发常用的控件,如表单列表、树型列表、帮助选择框等,并支持自定义控件扩展; 提供丰富的机制(如事件、接口配置等),便于分别在客户端和服务端进行扩展。业务实体元数据维护工具,提供与数据库系统的交互能力,可以根据数据库结构生成或调整元数据,也可以根据元数据影响数据库结构; 表单界面布局调整工具,可以根据业务实体的类别等依据,设置不同的界面布局样式。单据打印格式设置及打印工具,根据业务实体元数据进行打印格式的设置及打印。本专利技术实施例提供的技术方案带来的有益效果是: 1、元数据模型基于业务字段,可以起到良好的规范、重用作用,比如所有编号、名称的长度,金额的精度可以统一规范、调整,字段的编辑控件统一设置等;业务字段作为不同属性组甚至业务实体之间联系的纽带,可以用于一些统一处理,如删除检查,按业务字段统计查询不同属性组数据,不同业务实体之间进行数据转换,数据权限的处理等。2、具有良好的灵活性,业务实体有一个主属性组,可以包含零到多个特性属性组及子业务实体,每个属性组都是单独存储的,可以随时增加属性。一个业务实体可以根据某个主属性组属性设置不同的属性组,如资产卡片,可以根据资产类别不同,设置不同的特性属性组。3、数据高效存储,如上所述,我们可以把属性分组存放,这样可以有效减少数据冗余,如房屋土地资产的特性属性与交通工具、生产设备的特性属性存到不同表里。4、提高性能,按照属性组的方式存储数据,有效地把一个大表按照属性的相关性拆分成多个表,能够大幅减少数据库输入输出操作,从而提高性能。5、表单设计器集成于IDE软件中,大大提高了开发效率。附图说明图1为本专利技术的一种基于元数据的动态表单系统的表单系统框图;图2为本专利技术的一种基于元数据的动态表单系统的生成方法流程 图3为本专利技术的一种基于元数据的动态表单系统的表单打开的处理流程图。图4为本专利技术的具体实施的典型单据的数据结构图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将本文档来自技高网...

【技术保护点】
一种基于元数据的动态表单系统,其包括,基于业务字段的表单元数据模型,包括业务实体元数据,用于描述业务系统中实现的业务实体信息;界面布局元数据设计,用于描述业务实体的界面布局信息;?设计时套件,包括表单用户界面控件及其控制器、业务实体和接口描述、服务端逻辑处理组件;运行时工具集。

【技术特征摘要】

【专利技术属性】
技术研发人员:李玉成李斌
申请(专利权)人:浪潮集团山东通用软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1