CN112463124B - 一种基于元数据模型实现一次设计千面展示的系统 - Google Patents

一种基于元数据模型实现一次设计千面展示的系统 Download PDF

Info

Publication number
CN112463124B
CN112463124B CN202011401074.8A CN202011401074A CN112463124B CN 112463124 B CN112463124 B CN 112463124B CN 202011401074 A CN202011401074 A CN 202011401074A CN 112463124 B CN112463124 B CN 112463124B
Authority
CN
China
Prior art keywords
interactive interface
interface
metadata model
custom
standard
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
Application number
CN202011401074.8A
Other languages
English (en)
Other versions
CN112463124A (zh
Inventor
韦忠吉
金梦笔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou New China And Big Polytron Technologies Inc
Original Assignee
Hangzhou New China And Big Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou New China And Big Polytron Technologies Inc filed Critical Hangzhou New China And Big Polytron Technologies Inc
Priority to CN202011401074.8A priority Critical patent/CN112463124B/zh
Publication of CN112463124A publication Critical patent/CN112463124A/zh
Application granted granted Critical
Publication of CN112463124B publication Critical patent/CN112463124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于元数据模型实现一次设计千面展示的系统,包括:元数据模型设计模块,用于在交互界面的开发阶段采用预设的一开发界面设计器生成标准交互界面元数据模型;自定义模型生成模块,用于在交互界面的运行阶段采用预设的一自定义界面设计器基于标准交互界面元数据模型生成至少一自定义交互界面元数据模型;界面信息分配模块,用于将自定义交互界面元数据模型分配至预先配置的操作对象,以建立自定义交互界面元数据模型与操作对象之间的关联关系;交互界面展示模块,用于根据操作对象匹配得到对应的自定义交互界面元数据模型,并展示自定义交互界面元数据模型形成的交互界面。有益效果是标准产品只需维护一套代码实现展示不同界面。

Description

一种基于元数据模型实现一次设计千面展示的系统
技术领域
本发明涉及软件开发技术领域,尤其涉及一种基于元数据模型实现一次设计千面展示的系统。
背景技术
现有的软件交互界面实现方式,一般是通过固定编写源代码的方式直接编写,这种实现方式的缺点是:
1)当业务发生变化,界面需要调整时,必须经过修改源代码,然后重新发布、部署软件;
2)当使用这一套软件的客户较多,且许多客户对不同业务的交互界面布局的要求不一致时,开发团队必须为这些客户分出很多不同的源代码分支,导致需要同时维护大量源码,增加了开发、测试成本;
3)当客户是多集团、多组织架构的大型企业,每个业务单元、组织对同一个业务点的交互界面要求不一致时,固定编写源代码方式部署一套代码只有一套交互界面,无法满足这种业务场景;
4)Saas软件系统部署一套代码,多租户模式下,不同租户要求展示不同界面的业务场景,这种实现方式也无法满足;
为了满足多组织架构的大型企业不同业务单元、组织对交互界面的个性化需求,现有的一些企业级应用开发平台,已经将交互界面元数据化,能够支持在运行阶段重新调整交互界面,分配个性化交互界面;但是这种开发平台也普遍存在一个问题:标准产品开发阶段和二次开发阶段,使用同一套界面设计器,使用同一份交互界面元数据模型,没有将设计时交互界面元数据模型和运行时的交互界面元数据模型解耦,这就要求开发阶段界面设计器依赖的交互界面元数据模型不能随意重构,否则在版本升级时,对交互界面元数据模型进行升级,比较容易遇到交互界面元数据模型格式不兼容的问题,导致升级困难。进一步地,开发阶段的界面设计器依赖的交互界面元数据模型,数据格式比较复杂,包含过多的设计时属性信息,大量的设计时属性信息在运行阶段是没有用的。
在实际的企业级应用软件开发过程中,在标准产品开发阶段,开发活动主要是设计界面、设计元数据、编写计算机程序代码,整个过程比较复杂,对开发人员的开发技能要求比较高,这个阶段的开发人员使用的界面设计器的功能往往比较复杂;而到了二次开发阶段,开发活动变成了比较简单的界面调整、脚本编写,对二次开发人员的技能要求相对较低,这时,标准产品开发阶段的界面设计器对于二次开发人员来说显得太复杂、不友好,使用起来学习成本高,难以掌控,进行二次开发时容易引入错误。
发明内容
针对现有技术中存在的问题,本发明提供一种基于元数据模型实现一次设计千面展示的系统,包括:
元数据模型设计模块,用于在交互界面的开发阶段采用预设的一开发界面设计器生成标准交互界面元数据模型;
自定义模型生成模块,连接所述元数据模型设计模块,用于在所述交互界面的运行阶段采用预设的一自定义界面设计器基于所述标准交互界面元数据模型生成至少一自定义交互界面元数据模型;
界面信息分配模块,连接所述自定义模型生成模块,用于将所述自定义交互界面元数据模型分配至预先配置的操作对象,以建立所述自定义交互界面元数据模型与所述操作对象之间的关联关系;
交互界面展示模块,连接所述界面信息分配模块,用于根据所述操作对象匹配得到对应的所述自定义交互界面元数据模型,并展示所述自定义交互界面元数据模型形成的所述交互界面。
优选的,所述元数据模型设计模块包括:
业务建模单元,用于供开发人员定义业务类型以及所述业务类型对应的数据表,所述数据表中保存有所述业务类型对应的字段信息;
模型生成单元,连接所述业务建模单元,用于针对每个所述业务类型,采用所述开发界面设计器加载对应的所述字段信息,根据所述字段信息进行界面布局,并在界面布局完成后生成所述业务类型对应的所述标准交互界面元数据模型。
优选的,所述模型生成单元包括一格式转换子单元,用于将在界面布局完成后得到的具有第一格式的所述标准交互界面元数据模型转换成具有第二格式的所述标准交互界面元数据模型,并将具有第二格式的所述标准交互界面元数据模型作为所述业务类型对应的所述标准交互界面元数据模型。
优选的,还包括一组件库,用于保存预先封装的复数个交互界面组件;
则所述业务建模单元连接所述组件库,所述业务建模单元包括:
一绑定子单元,用于根据定义的所述业务类型关联的至少一标准字段,由所述组件库中加载对应的所述交互界面组件,并将所述标准字段与所述交互界面组件进行绑定作为所述字段信息。
优选的,所述自定义模型生成模块连接所述组件库,所述自定义模型生成模块包括:
字段调整单元,用于对所述字段信息进行调整得到自定义字段信息;
模型加载单元,连接所述字段调整单元,用于采用所述自定义界面设计器加载所述自定义字段信息和所述标准交互界面元数据模型,并根据所述自定义字段信息对所述标准交互界面元数据模型进行布局调整得到所述自定义交互界面元数据模型。
优选的,提供一动态领域模型,所述动态领域模型包括所述标准字段对应的自定义属性,以及自定义字段控件;
则所述字段调整单元包括:
第一调整子单元,用于调整所述标准字段对应的所述自定义属性对所述字段信息进行调整得到所述自定义字段信息;和/或
第二调整子单元,用于通过所述自定义字段控件添加自定义字段,并由所述组件库中加载并绑定对应的所述交互界面组件对所述字段信息进行扩展得到所述自定义字段信息。
优选的,所述自定义界面设计器包括:
工具箱组件,用于加载并展示所述自定义字段信息;
控件结构树组件,用于加载并展示所述标准交互界面元数据模型,所述标准交互界面元数据模型包括至少一容器组件,所述容器组件包括至少一基本控件;
属性设计组件,连接所述控件结构树组件,用于展示并修改所述控件结构树组件当前选中的所述容器组件和/或所述基本控件的属性值,并将所述属性值存储至所述控件结构树组件;
设计展示组件,连接所述控件结构树组件,用于展示并供所述开发人员可视化调整所述控件结构树组件当前选中的所述容器组件的界面布局。
优选的,还包括交互界面升级模块,分别连接所述元数据模型设计模块和所述自定义模型生成模块,所述交互界面升级模块包括:
第一界面升级单元,用于采用新版本的所述标准产品交互界面元数据模型替换原有的所述标准产品交互界面元数据模型;
第二界面升级单元,用于将新版本的所述标准产品交互界面元数据模型与所述自定义交互界面元数据模型进行合并得到升级后的所述自定义交互界面元数据模型。
优选的,所述第二界面升级单元包括:
第一升级子单元,用于在新版本的所述标准产品交互界面元数据模型存在新增内容时,将所述新增内容添加至所述自定义交互界面元数据模型;
第二升级子单元,用于在新版本的所述标准产品交互界面元数据模型存在对原有属性的更新时,在更新的所述原有属性为预先定义的不受保护属性时,对应更新所述自定义交互界面元数据模型。
优选的,所述交互界面展示模块包括:
数据获取单元,用于由所述交互界面的登录信息中获取所述操作对象;
数据匹配单元,连接所述数据获取单元,用于根据所述操作对象匹配得到对应的所述自定义交互界面元数据模型,并通过一界面渲染引擎展示所述自定义交互界面元数据模型形成的所述交互界面。
上述技术方案具有如下优点或有益效果:
1)可以支撑大型集团企业在分子公司具有多种业务形态的业务模式,通过给不同业务单元、组织或者角色增加自定义字段,增加、调整自定义交互界面元数据模型来扩展出更多的业务形态;也可以支持多租户模式下,部署一套软件,支持不同租户展示不同界面的业务场景;
2)标准产品只需维护一套代码,界面交互界面信息只需注册成标准交互界面元数据模型,标准产品的开发人员只需要保证交互界面元数据模型文件结构的稳定性,就可以和二次开发人员一起并行开发界面;二次开发人员可以在客户现场充分沟通,快速、高效地响应客户随需而变的需求,提高客户满意度,降低沟通成本,减少个性化需求对标准产品的侵入,使标准产品可以潜心做核心业务需求,精致打磨,使核心产品更加稳定,形成良性循环;
3)标准产品的标准交互界面元数据模型与自定义界面的自定义交互界面元数据模型是高度一致的,可以很方便的升级合并标准产品的界面到客户的自定义界面上,几乎是随时都可以合并,不管产品版本迭代多快,都不会影响到系统的稳定性,开发模式更加敏捷,从而使标准产品也可以快速响应用户的需求;
4)可以缩短软件的实施周期一倍以上,几乎80%以上的个性化需求通过现场的二次开发就能实现,现场沟通效率高,节约响应需求的成本,节约一倍以上的开发和维护成本,显著提高生产力、大大延长标准产品的生命周期。
附图说明
图1为本发明的较佳的实施例中,一种基于元数据模型实现一次设计千面展示的系统的结构示意图;
图2为本发明的较佳的实施例中,自定义界面设计器的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本发明并不限定于该实施方式,只要符合本发明的主旨,则其他实施方式也可以属于本发明的范畴。
本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种基于元数据模型实现一次设计千面展示的系统,如图1所示,包括:
元数据模型设计模块1,用于在交互界面的开发阶段采用预设的一开发界面设计器生成标准交互界面元数据模型;
自定义模型生成模块2,连接元数据模型设计模块1,用于在交互界面的运行阶段采用预设的一自定义界面设计器基于标准交互界面元数据模型生成至少一自定义交互界面元数据模型;
界面信息分配模块3,连接自定义模型生成模块2,用于将自定义交互界面元数据模型分配至预先配置的操作对象,以建立自定义交互界面元数据模型与操作对象之间的关联关系;
交互界面展示模块4,连接界面信息分配模块3,用于根据操作对象匹配得到对应的自定义交互界面元数据模型,并展示自定义交互界面元数据模型形成的交互界面。
具体地,本申请旨在解决标准产品的用户界面在发布上线之后,可以在运行时对交互界面做二次开发定制,具体为通过在交互界面的运行阶段添加自定义字段扩展标准交互界面元数据模型;通过自定义界面设计器为不同组织、不同角色扩展出新的自定义标准交互界面元数据模型;通过自定义界面分配把扩展出来的自定义标准交互界面元数据模型分配给相应的组织、角色,从而实现只使用一套标准产品代码,就能满足不同业务单元、不同组织、不同角色对用户界面的个性化需求。进一步地,通过提供开发阶段的开发界面设计器,在标准产品开发阶段设计交互界面并生成标准交互界面元数据模型,通过提供运行阶段的自定义界面设计器,在软件运行阶段加载开发阶段生成的标准交互界面元数据模型,调整界面后保存进而生成自定义交互界面元数据模型。上述开发阶段界面设计器和自定义界面设计器之间的联系是标准交互界面元数据模型,开发阶段界面设计器输出标准交互界面元数据模型,自定义界面设计器载入标准交互界面元数据模型,两种设计器解耦之后,需要维持交互界面元数据模型的一致性。
本申请把软件设计时的标准交互界面元数据模型和运行时的自定义交互界面元数据模型解耦,两种元数据模型独立变化,各自演进,只要求设计时的标准交互界面元数据模型能够顺利转换成运行时的自动以交互界面元数据模型即可,不对设计时标准交互界面元数据模型的具体格式做严格要求,这样就可以让开发阶段的开发界面设计器独立变化、重构,不受运行时的自定义交互界面元数据模型制约。
进一步地,在根据不同操作对象对交互界面的个性化需求生成对应的自定义交互界面元数据模型后,通过建立自定义交互界面元数据模型与对应的操作对象的关联关系,实现向不同的操作对象展示不同的自定义交互界面元数据模型形成的交互界面,进而实现交互界面的一次设计千面展示。上述操作对象可以是业务单元、组织、角色,上述关联关系可以以自定义界面分配表的方式保存,上述自定义交互界面元数据模型与业务单元、组织、角色之间的关联关系可以是一对多的关系,一个自定义交互界面元数据模型可以分配给多个业务单元,也可分配给多个组织或者多个角色。
上述业务单元一般是多集团架构的大型企业,每个子集团所涉及的业务形态不一致,比如第一子集团负责市政工程,第二子集团负责装饰工程,每个子集团就是一个业务单元;上述组织一般是多组织架构的大型企业,设置在不同地域的多个分子机构,如某某分公司;上述角色是软件系统定义的若干人员的分组,一般用于软件系统的权限管理中,定义好角色,赋予该角色各种操作权限,人员加入角色后就拥有该角色的操作权限。
作为优选,上述标准交互界面元数据模型以标准界面元数据表的形式进行存储,上述标准界面数据表中包括业务类型以及该业务类型对应的标准交互界面元数据模型;同样地,上述自定义交互界面元数据模型以自定义界面元数据表的形式进行存储。优选的,上述标准界面元数据表和自定义界面元数据表以及自定义界面分配表可以保存在一数据库中。
本发明的较佳的实施例中,元数据模型设计模块1包括:
业务建模单元11,用于供开发人员定义业务类型以及业务类型对应的数据表,数据表中保存有业务类型对应的字段信息;
模型生成单元12,连接业务建模单元11,用于针对每个业务类型,采用开发界面设计器加载对应的字段信息,根据字段信息进行界面布局,并在界面布局完成后生成业务类型对应的标准交互界面元数据模型。
具体地,本实施例中,通过元数据模型设计模块1能够在交互界面的开发阶段生成标准交互界面元数据模块。上述标准交互界面元数据模块的生成过程包括:开发人员首先定义业务类型,定义该业务类型相关的数据表,以及定义该数据表的字段信息,随后选择其中的一个业务类型后进入开发界面设计器界面,并在该界面加载该业务类型的字段信息,优选通过拖拉字段信息的方式设计界面布局,在界面布局完成后进行保存以生成标准交互界面元数据模型。
作为优选,上述开发界面设计器,可以使用富客户端程序,如swing(用于开发Java程序用户界面的开发工具包)/winform(.NET开发工具)/wpf(基于Windows的用户界面框架,属于.NET Framework 3.0的一部分)实现。
作为优选,上述字段信息包括定义的标准字段以及由预先封装的组件库中加载并绑定的交互界面组件,实现在上述设计界面布局时将该标准字段以及绑定的交互界面组件同时拖拉,方便开发人员对交互界面组件的属性进行设置,并调整界面布局。上述字段信息还可以仅包括定义的标准字段,随后在开发界面设计器界面选择相应的交互界面组件进行绑定,进而对交互界面组件的属性进行设置,并调整界面布局。
进一步地,上述定义业务类型具体为注册业务编码、名称等信息并保存到业务类型对应的数据表中,上述定义数据表具体为注册该业务类型对应的数据表的名称,上述定义字段信息具体为注册相应的标准字段并绑定交互界面组件至数据表中进行存储。
本发明的较佳的实施例中,模型生成单元12包括一格式转换子单元121,用于将在界面布局完成后得到的具有第一格式的标准交互界面元数据模型转换成具有第二格式的标准交互界面元数据模型,并将具有第二格式的标准交互界面元数据模型作为业务类型对应的标准交互界面元数据模型。
具体地,本实施例中,在界面布局完成后,开发界面设计器输出的标准交互界面元数据模型的具有第一格式,该第一格式为xml格式,可以通过一个交互界面模型转换程序转换成具有第二格式的标准交互界面元数据模型,该第二格式为json格式,通过将xml格式转换成json格式,便于后续数据使用。
本发明的较佳的实施例中,还包括一组件库5,用于保存预先封装的复数个交互界面组件;
则业务建模单元11连接组件库5,业务建模单元11包括:
一绑定子单元111,用于根据定义的业务类型关联的至少一标准字段,由组件库中加载对应的交互界面组件,并将标准字段与交互界面组件进行绑定作为字段信息。
本发明的较佳的实施例中,自定义模型生成模块2连接组件库5,自定义模型生成模块2包括:
字段调整单元21,用于对字段信息进行调整得到自定义字段信息;
模型加载单元22,连接字段调整单元21,用于采用自定义界面设计器加载自定义字段信息和标准交互界面元数据模型,并根据自定义字段信息对标准交互界面元数据模型进行布局调整得到自定义交互界面元数据模型。
本发明的较佳的实施例中,提供一动态领域模型,动态领域模型包括标准字段对应的自定义属性,以及自定义字段控件;
则字段调整单元21包括:
第一调整子单元211,用于调整标准字段对应的自定义属性对字段信息进行调整得到自定义字段信息;和/或
第二调整子单元212,用于通过自定义字段控件添加自定义字段,并由组件库中加载并绑定对应的交互界面组件对字段信息进行扩展得到自定义字段信息。
具体地,本实施例中,在软件部署运行阶段,可以根据不同用户的个性化需求进行字段信息的调整得到自定义字段信息,优选通过上述动态领域模型实现字段信息的调整。上述动态领域模型包括定义的标准字段对应的自定义属性,该标准字段可以理解为是软件产品出厂时配置的,举例来说,在交互界面展示个人信息时,该标准字段及其自定义属性可以包括姓名、联系方式、所属部门及当前职务,如联系方式,用户需求可能明确需要展示电子邮件,则可以调整标准字段的自定义属性,将联系方式替换为电子邮件;若用户需求可能要展示更多信息,如家庭住址,该字段不在标准字段内,此时可以通过动态领域模型提供的自定义字段控件添加家庭住址作为自定义字段,由于家庭住址需要填入的是文本信息,此时可以由组件库中加载文本组件作为交互界面组件与上述自定义字段进行绑定,得到自定义字段信息,实现对动态领域模型的扩展。
进一步地,在得到上述自定义字段信息后,还包括将该自定义字段信息注册到对应其业务类型的数据表中,并在保存有标准界面元数据数据表和自定义界面元数据表的数据库对应的物理表中创建出该自定义字段。通过绑定自定义字段的交互界面组件,定义了该自定义字段在交互界面上的控件类型,方便后续进行界面布局。
进一步地,在生成标准交互界面元数据模型后,可以将该标准交互界面元数据模型注册至自定义界面元数据表中进行保存,以便自定义界面设计器进行加载使用。
本发明的较佳的实施例中,如图2所示,自定义界面设计器包括:
工具箱组件100,用于加载并展示自定义字段信息;
控件结构树组件101,用于加载并展示标准交互界面元数据模型,标准交互界面元数据模型包括至少一容器组件,容器组件包括至少一基本控件;
属性设计组件102,连接控件结构树组件101,用于展示并修改控件结构树组件当前选中的容器组件和/或基本控件的属性值,并将属性值存储至控件结构树组件;
设计展示组件103,连接控件结构树组件101,用于展示并供开发人员可视化调整控件结构树组件当前选中的容器组件的界面布局。
具体地,本实施例中,上述交互界面可以是业务单据界面,上述容器组件可以设计为form表单容器组件、表格组件;上述基本控件可以设计为form表单控件,具体是文本控件、数字控件、下拉选择控件、日期控件、基础数据选择控件。
具体地,上述自定义界面设计器可以将加载的自定义字段信息展示在工具箱组件100中,该工具箱组件100设计为一种两层树形结构,第一层为表名称,第二层为字段名称,同时,控件结构树组件101从自定义界面元数据表中加载标准交互界面元数据模型,该标准交互界面元数据模型优选为上下级嵌套的树形结构,第一层为容器组件,第二层以下为容器组件内的基本控件。在控件结构树组件101加载完成后,默认选择第一个容器组件,此时,设计展示组件103展示第一个容器组件的布局,属性设计组件102优选以表格的形式展示第一个容器组件的相关属性信息。
具体地,向自定义界面设计器中添加自定义字段信息的过程可以是,从工具箱组件100中选择某个自定义字段信息,通过拖拽的方式将该字段信息拖放到设计展示组件103上,此时将校验自定义字段信息所在的数据表的表名与当前的容器组件所绑定的数据表的表名是否一致,如果不一致,则不允许拖入。
具体地,上述属性设计组件102以表格的形式展示当前控件结构树组件101所选中的控件的属性,其中,基本控件的“只读”、“必填”、“隐藏”、“列宽”等属性是可以被修改的,容器组件的“每行列数”、“标签宽度”属性可以修改,控件的这些属性修改后信息暂存在控件结构树组件101对应控件的ControlInfo属性中,保存时递归遍历控件结构树组件101中每个控件的ControlInfo属性,按照标准交互界面元数据模型的结构,逐层构建出新的交互界面元数据模型,生成自定义交互界面元数据模型。
具体地,上述设计展示组件103可以支持拖动控件,交换控件的相对位置,以可视化调整界面布局。
本发明的较佳的实施例中,还包括交互界面升级模块6,分别连接元数据模型设计模块1和自定义模型生成模块2,交互界面升级模块6包括:
第一界面升级单元61,用于采用新版本的标准产品交互界面元数据模型替换原有的标准产品交互界面元数据模型;
第二界面升级单元62,用于将新版本的标准产品交互界面元数据模型与自定义交互界面元数据模型进行合并得到升级后的自定义交互界面元数据模型。
具体地,本实施例中,本申请为软件运行时定义了一种标准交互界面元数据模型,这种标准交互界面元数据模型类似于编程语言的“接口”,它能够保持自定义界面信息格式的长期稳定性,通过自定义界面升级把标准产品的新字段、新属性归并到自定义界面方案,有利于产品快速迭代时标准产品界面与自定义界面信息的顺利合并,有利于实现跨度较大的版本升级,有利于实施敏捷开发。
本发明的较佳的实施例中,第二界面升级单元62包括:
第一升级子单元621,用于在新版本的标准产品交互界面元数据模型存在新增内容时,将新增内容添加至自定义交互界面元数据模型;
第二升级子单元622,用于在新版本的标准产品交互界面元数据模型存在对原有属性的更新时,在更新的原有属性为预先定义的不受保护属性时,对应更新自定义交互界面元数据模型。
具体地,本实施例中,某个版本软件系统运行一段时间后,经过二次开发人员的二次开发,已经生成了许多自定义交互界面元数据模型;当新版本的产品发布时,原有的标准交互界面元数据模型也添加了一些新的字段,新版本软件程序代码有可能访问到这些新的字段,必须把已经生成过的自定义交互界面元数据模型,按照标准交互界面元数据模型信息格式升级到最新版本,将新添加的字段合并到自定义交互界面元数据模型中,升级的过程中会逐一比对每个控件的属性,除了自定义界面设计器中可以修改的属性(如“只读”、“必填”、“隐藏”、“列宽”等属性)不动,其他属性都需要覆盖升级。
进一步具体地,处理容器组件时,比较是否有新添加的属性或者子控件,有则添加;比较不受保护的属性(自定义界面设计器不能修改的属性)是否有更新,有则更新该属性;处理基本控件时,比较是否有新添加的属性,有则添加;比较不受保护的属性(自定义界面设计器不能修改的属性)是否有更新,有则更新该属性。
上述不受保护的属性是指自定义界面设计器不能修改的属性,具体是,对于容器组件,“每行列数”、“标签宽度”、“容器标题”属性是受保护的,其属性不可以修改;对于基本控件,“只读”、“必填”、“隐藏”、“列宽”属性是受保护的,其属性不可以修改。
进一步地,上述不受保护属性为自定义界面设计器不能修改的属性,其跟随标准交互界面元数据模型同步更新,相对的受保护属性为自定义界面设计器能够修改的属性,其在二次开发时可能已经被开发人员重新赋予属性值,以满足个性化需求,因此在升级时不进行更新。
本发明的较佳的实施例中,交互界面展示模块4包括:
数据获取单元41,用于由交互界面的登录信息中获取操作对象;
数据匹配单元42,连接数据获取单元41,用于根据操作对象匹配得到对应的自定义交互界面元数据模型,并通过一界面渲染引擎展示自定义交互界面元数据模型形成的交互界面。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (6)

1.一种基于元数据模型实现一次设计千面展示的系统,其特征在于,包括:
元数据模型设计模块,用于在交互界面的开发阶段采用预设的一开发界面设计器生成标准交互界面元数据模型;所述元数据模型设计模块包括:
业务建模单元,用于供开发人员定义业务类型以及所述业务类型对应的数据表,所述数据表中保存有所述业务类型对应的字段信息;
模型生成单元,连接所述业务建模单元,用于针对每个所述业务类型,采用所述开发界面设计器加载对应的所述字段信息,根据所述字段信息进行界面布局,并在界面布局完成后生成所述业务类型对应的所述标准交互界面元数据模型;
组件库,用于保存预先封装的复数个交互界面组件;
则所述业务建模单元连接所述组件库,所述业务建模单元包括:
一绑定子单元,用于根据定义的所述业务类型关联的至少一标准字段,由所述组件库中加载对应的所述交互界面组件,并将所述标准字段与所述交互界面组件进行绑定作为所述字段信息;
自定义模型生成模块,连接所述元数据模型设计模块,用于在所述交互界面的运行阶段采用预设的一自定义界面设计器基于所述标准交互界面元数据模型生成至少一自定义交互界面元数据模型;所述自定义模型生成模块连接所述组件库,所述自定义模型生成模块包括:
字段调整单元,用于对所述字段信息进行调整得到自定义字段信息;
模型加载单元,连接所述字段调整单元,用于采用所述自定义界面设计器加载所述自定义字段信息和所述标准交互界面元数据模型,并根据所述自定义字段信息对所述标准交互界面元数据模型进行布局调整得到所述自定义交互界面元数据模型;
界面信息分配模块,连接所述自定义模型生成模块,用于将所述自定义交互界面元数据模型分配至预先配置的操作对象,以建立所述自定义交互界面元数据模型与所述操作对象之间的关联关系;
交互界面展示模块,连接所述界面信息分配模块,用于根据所述操作对象匹配得到对应的所述自定义交互界面元数据模型,并展示所述自定义交互界面元数据模型形成的所述交互界面;所述交互界面展示模块包括:
数据获取单元,用于由所述交互界面的登录信息中获取所述操作对象;
数据匹配单元,连接所述数据获取单元,用于根据所述操作对象匹配得到对应的所述自定义交互界面元数据模型,并通过一界面渲染引擎展示所述自定义交互界面元数据模型形成的所述交互界面。
2.根据权利要求1所述的基于元数据模型实现一次设计千面展示的系统,其特征在于,所述模型生成单元包括一格式转换子单元,用于将在界面布局完成后得到的具有第一格式的所述标准交互界面元数据模型转换成具有第二格式的所述标准交互界面元数据模型,并将具有第二格式的所述标准交互界面元数据模型作为所述业务类型对应的所述标准交互界面元数据模型。
3.根据权利要求1所述的基于元数据模型实现一次设计千面展示的系统,其特征在于,提供一动态领域模型,所述动态领域模型包括所述标准字段对应的自定义属性,以及自定义字段控件;
则所述字段调整单元包括:
第一调整子单元,用于调整所述标准字段对应的所述自定义属性对所述字段信息进行调整得到所述自定义字段信息;和/或
第二调整子单元,用于通过所述自定义字段控件添加自定义字段,并由所述组件库中加载并绑定对应的所述交互界面组件对所述字段信息进行扩展得到所述自定义字段信息。
4.根据权利要求1所述的基于元数据模型实现一次设计千面展示的系统,其特征在于,所述自定义界面设计器包括:
工具箱组件,用于加载并展示所述自定义字段信息;
控件结构树组件,用于加载并展示所述标准交互界面元数据模型,所述标准交互界面元数据模型包括至少一容器组件,所述容器组件包括至少一基本控件;
属性设计组件,连接所述控件结构树组件,用于展示并修改所述控件结构树组件当前选中的所述容器组件和/或所述基本控件的属性值,并将所述属性值存储至所述控件结构树组件;
设计展示组件,连接所述控件结构树组件,用于展示并供所述开发人员可视化调整所述控件结构树组件当前选中的所述容器组件的界面布局。
5.根据权利要求1所述的基于元数据模型实现一次设计千面展示的系统,其特征在于,还包括交互界面升级模块,分别连接所述元数据模型设计模块和所述自定义模型生成模块,所述交互界面升级模块包括:
第一界面升级单元,用于采用新版本的标准交互界面元数据模型替换原有的标准交互界面元数据模型;
第二界面升级单元,用于将新版本的标准交互界面元数据模型与所述自定义交互界面元数据模型进行合并得到升级后的所述自定义交互界面元数据模型。
6.根据权利要求5所述的基于元数据模型实现一次设计千面展示的系统,其特征在于,所述第二界面升级单元包括:
第一升级子单元,用于在新版本的标准交互界面元数据模型存在新增内容时,将所述新增内容添加至所述自定义交互界面元数据模型;
第二升级子单元,用于在新版本的标准交互界面元数据模型存在对原有属性的更新时,在更新的所述原有属性为预先定义的不受保护属性时,对应更新所述自定义交互界面元数据模型。
CN202011401074.8A 2020-12-03 2020-12-03 一种基于元数据模型实现一次设计千面展示的系统 Active CN112463124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011401074.8A CN112463124B (zh) 2020-12-03 2020-12-03 一种基于元数据模型实现一次设计千面展示的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011401074.8A CN112463124B (zh) 2020-12-03 2020-12-03 一种基于元数据模型实现一次设计千面展示的系统

Publications (2)

Publication Number Publication Date
CN112463124A CN112463124A (zh) 2021-03-09
CN112463124B true CN112463124B (zh) 2021-10-29

Family

ID=74806629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011401074.8A Active CN112463124B (zh) 2020-12-03 2020-12-03 一种基于元数据模型实现一次设计千面展示的系统

Country Status (1)

Country Link
CN (1) CN112463124B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925843A (zh) * 2021-05-11 2021-06-08 成都数联铭品科技有限公司 基于图形化界面配置改变地图显示效果的方法及系统
CN112988155B (zh) * 2021-05-17 2021-08-31 成都数联铭品科技有限公司 基于数据模型驱动多种软件系统界面变化的方法
CN113590593A (zh) * 2021-08-04 2021-11-02 浙江大华技术股份有限公司 数据表信息的生成方法和装置、存储介质及电子装置
CN114911466B (zh) * 2022-05-24 2023-03-21 中国人民解放军国防科技大学 一种采集端数据质量控制系统
CN115993966B (zh) * 2023-03-24 2023-06-30 美云智数科技有限公司 应用开发系统及方法
CN117725642A (zh) * 2023-12-29 2024-03-19 重庆宇海精密制造股份有限公司 笔电模具设计用的动态建模方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620533A (zh) * 2009-08-05 2010-01-06 山东中创软件商用中间件股份有限公司 一种信息管理方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359290A (zh) * 2008-09-11 2009-02-04 中兴通讯股份有限公司 一种基于元数据的定制业务单据的方法及装置
CN101706720B (zh) * 2009-11-23 2013-07-24 浪潮集团山东通用软件有限公司 一种运行时根据用户自定义信息进行界面展示方法
US8949789B2 (en) * 2012-08-13 2015-02-03 Sap Se Adaptable business objects
CN103593443A (zh) * 2013-11-18 2014-02-19 南京新模式软件集成有限公司 一种电子文件元数据扩展的方法
CN106843835A (zh) * 2016-12-21 2017-06-13 中国电子科技网络信息安全有限公司 一种元数据定制的应用系统软件构建系统、系统构建方法
CN106874388B (zh) * 2017-01-11 2020-08-11 中科院微电子研究所昆山分所 一种基于关系型数据库的异构系统数据级联操作自动构建方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620533A (zh) * 2009-08-05 2010-01-06 山东中创软件商用中间件股份有限公司 一种信息管理方法和装置

Also Published As

Publication number Publication date
CN112463124A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN112463124B (zh) 一种基于元数据模型实现一次设计千面展示的系统
Freeman Pro Asp. net core MVC
CN104111826A (zh) 一种软件项目开发方法及装置
US8850420B2 (en) Dynamically updating on-demand runtime platforms executing business applications
US7496890B2 (en) Generation of configuration instructions using an abstraction technique
US7908297B2 (en) User interface property mapping
US20060212842A1 (en) Rich data-bound application
US20110016448A1 (en) System and method for rapid development of software applications
US20120151439A1 (en) Lifecycle stable user interface adaptations
CN104793961A (zh) 使用原生Web代码的快速JavaWeb开发方法及系统
CN112860260B (zh) 一种在高校场景下基于web的跨平台应用构建工具及方法
US20120124550A1 (en) Facilitating database application code translation from a first application language to a second application language
US11467808B2 (en) Systems and methods for executable content and executable content flow creation
JP7373563B2 (ja) ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
US20070006144A1 (en) Apparatus and method for using connector components to provide connectivity to interactive graphics representative of input on output data
KR20090000104A (ko) 웹 기반의 사용자 창작 애플리케이션 제공 방법 및 시스템
CN112099780A (zh) 一种基于erp系统的可视化应用开发方法、设备及介质
CN114610280A (zh) 一种通过低代码方式实现的可视化表单设计方法及系统
CN113515281A (zh) 一种移动应用的自定义界面实现方法
US8230353B2 (en) Iterative development of services from WSDL
CN116107555A (zh) 一种基于能源行业的gui模型驱动的低代码平台及使用方法
CN116149673A (zh) 应用程序的数据模型的发布系统、扩展方法及电子设备
CN112965717A (zh) 多系统集成部署并保持界面统一的前端部署系统及方法
KR20090018481A (ko) 보고서 작성시스템, 검색결과에 대한 맞춤 보고서 제공방법 및 시스템, 그리고, 저장매체
EP3462309A1 (en) Method for generating user interfaces from a manufacturing application model

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