CN102609271B - 一种元数据驱动的SaaS应用的可视化定制方法及*** - Google Patents

一种元数据驱动的SaaS应用的可视化定制方法及*** Download PDF

Info

Publication number
CN102609271B
CN102609271B CN201210037427.XA CN201210037427A CN102609271B CN 102609271 B CN102609271 B CN 102609271B CN 201210037427 A CN201210037427 A CN 201210037427A CN 102609271 B CN102609271 B CN 102609271B
Authority
CN
China
Prior art keywords
customization
metadata
tenant
data
visual
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
CN201210037427.XA
Other languages
English (en)
Other versions
CN102609271A (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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN201210037427.XA priority Critical patent/CN102609271B/zh
Publication of CN102609271A publication Critical patent/CN102609271A/zh
Application granted granted Critical
Publication of CN102609271B publication Critical patent/CN102609271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种元数据驱动的SaaS应用的可视化定制方法及***,可灵活地支持SaaS应用定制种类和定制种类之内的扩展,步骤为:A、租户租赁应用组建业务***;B、租户进行业务***定制,选择定制类型、定制对象;C、根据定制类型,初始化SaaS应用可视化定制***;D、SaaS应用可视化定制***读取租户定制元数据内容,通过转译、解析将定制元数据以可视化元素在租户定制操作界面上显示;E、租户根据自己的需求在可视化定制界面进行定制;F、SaaS应用可视化定制***判断租户对定制元素的操作是否被允许,并修改可视化定制数据。当租户定制完成后保存时,将定制后元数据写回;G、元数据回写的同时,SaaS应用可视化定制***执行发布操作,定制生效。H、用户登录业务***,看到的是租户定制后的业务***。

Description

一种元数据驱动的SaaS应用的可视化定制方法及***
技术领域
本发明涉及软件开发领域,特别涉及一种元数据驱动的SaaS应用的可视化定制方法及***。
背景技术
传统模式下,开发商需要针对不同客户的需求开发部署应用,成本高。SaaS模式改变了传统的软件经营模式,基于同一软件实例为不同的租户提供服务,即“单实例多租赁”,价格低廉,部署迅速。开发商提交的应用作为标准应用,并不适合每个租户的需求,而且租户的需求随着时间的推移也会发生变化,因此,为满足不同租户个性化的业务需求,SaaS应用要支持“租户自定制”。应用涉及界面、服务、数据等多个层次,形成各个方面的定制需求。租户租赁应用构建业务***后,定制***具有的功能点,使用的风格样式、导航方式、安全认证方式,还可对页面、数据、工作流、规则、参数等进行定制。
分析SaaS应用的灵活定制需求,具有以下特点:首先,SaaS应用有很多可定制的方面,例如页面定制、功能定制、数据定制等,这些定制类型虽然需求不同,但单独实现较为复杂,不仅每遇新需求需要再度重新实现,而且限制了定制类型以及定制类型内部的可扩展性;其次,定制实现的复杂程度影响租户的定制效率和推广难度,如何既要满足租户自定制的复杂需求,又可以隐藏底层实现细节,是解决问题的关键;再次,满足租户的隔离需求,定制和运行时租户只能看到自己的数据;最后,为确保租户在进行按需定制时,不会违背业务***的内在逻辑,需要限定租户对定制内容的定制操作。因此,需要建立一个支持定制类型扩展、支持定制类型之内扩展、支持可视化定制、支持受限的定制操作的SaaS应用定制的方法及***。
发明内容
本发明的目的就是为解决上述问题,提供一种元数据驱动的SaaS应用的可视化定制方法及***,以解决应用的定制性问题。
为实现上述目的,本发明采用如下技术方案:
一种元数据驱动的SaaS应用的可视化定制方法,包括以下步骤:
A、租户根据业务需求,租赁包含满足业务需求的功能点的应用,组合各个应用的功能点新建成一个可用的应用***,称为业务***;
B、租户进行业务***定制,选择定制类型,供选择的定制类型有页面定制、数据定制、工作流定制、规则定制、参数定制、功能定制、安全定制、***样式定制,然后选择要定制的对象,定制对象有页面、数据库表、工作流、规则文件、***表参数等;
C、根据定制类型,初始化SaaS应用可视化定制***。进行定制操作的界面的布局包括操作托盘、属性编辑区域、定制操作区域;
D.SaaS应用可视化定制***根据租赁编号、定制对象类型、定制对象编号读取租户定制元数据,元数据包括定制操作内容和定制操作约束信息,通过转译、解析、转化将定制操作内容以可视化元素在租户定制操作界面上的定制操作区域显示;
       E.租户通过拖拽操作托盘的界面元素到定制操作区域实现添加控件,在属性编辑区域编辑控件的ID、长、宽、显示内容等,在定制操作区域通过右键操作删除控件、为控件添加/修改/删除鼠标点击事件、绑定数据模型;
       F.SaaS应用可视化定制***根据定制操作约束信息判断租户对定制元素的操作是否被允许,并根据租户对定制界面上的元素的添加、删除、修改和配置操作对可视化定制数据作相应的修改;当租户定制完成后保存时,SaaS应用可视化定制***去掉用于可视化展示的数据,根据租赁编号、定制对象类型、定制对象编号,将定制后元数据写回;
       G.元数据回写的同时,SaaS应用可视化定制***执行发布操作,根据定制内容重新发布,使定制生效。如页面定制后,对页面重新翻译、编译。
       H.用户登录业务***,看到的是租户定制后的业务***。
       所述步骤A中业务***首次定制前,应用元数据为开发商上传的标准应用元数据;包括:
标准应用元数据是应用的初次详细信息,该信息包含各类定制的主体描述信息,也即是各方面定制要操作的具体对象,标准应用元数据包括页面元数据、数据元数据、工作流元数据、规则元数据、参数元数据、功能元数据、安全元数据、***样式元数据;
租户定制元数据是各个方面定制后的信息和租户租赁信息,该类信息是租户对其租赁的特定应用的定制方面执行定制操作后对其对应的应用元数据有所改动产生的元数据,同时包含租户的租赁信息;租户进行页面/数据/工作流/规则/参数/功能/安全/***样式定制后,生成相应的租户页面/数据/工作流/规则/参数/功能/安全/***样式定制元数据。
所述步骤C中,操作托盘容纳租户拖拽和展示界面元素,界面元素是控件,如页面定制中的各种控件,也可以是自定义,如工作流定制中自定义节点;属性编辑区域用来让租户编辑界面元素的ID、长、宽、显示内容、是否激活、是否显示,不同界面元素的可编辑属性不同;定制操作区域用来显示以可视化形式显示定制内容,并通过右键操作对界面元素执行删除、添加/修改/删除事件、定制数据模型操作。
所述步骤D中根据租户的业务***编号、租赁编号、定制对象类型、定制对象编号获取定制元数据,保证各租户元数据的严格隔离,不致元数据管理混乱;应用元数据描述应用的数据、页面、流程、规则、样式信息;应用元数据分为标准应用元数据和租户定制元数据;获取定制元数据时,首先查找租户定制元数据;如果租户定制元数据不存在,则获取标准应用元数据,根据应用编号、定制对象类型、定制对象编号获取;考虑到元数据转译和解析等的方便性,标准应用元数据和租户定制元数据主体都采用XML格式设计。
所述步骤D中转译定制元数据为:根据定制类型,为租户定制元数据添加可视化展示数据,包含元数据展示的可视化元素的类型、大小;例如,数据定制,元数据转译时标明元数据要显示的的控件为数据表格,数据表格的长和宽。解析转译后的数据则是根据转译后数据中的可视化元素的类型、大小、内容,将转译后数据转化为可视化元素,在租户定制操作界面上显示。例如数据定制时,解析转译后的数据,转化为带着数据的数据表格。
所述步骤F中租户进行定制操作,通过拖拽操作托盘的界面元素到定制操作区域实现添加控件,在属性编辑区域编辑ID、长、宽、显示内容、是否激活、是否显示等属性信息,在定制操作区域通过右键操作删除控件、为控件添加/修改/删除事件、绑定数据模型。例如页面定制时,租户选择要定制的页面后,从控件区拖拽控件到定制操作区,根据提示信息描述控件的ID属性和后置控件,添加控件后,通过右键可以为控件添加事件、定制数据模型,还可删除控件。又如样式定制,租户通过单选按钮选择***支付方式、认证方式、导航方式,通过上传图片修改LOGO图片。
通过租户对可视化界面上元素操作的约束信息,判断租户对定制元素的操作是否被允许,并根据租户对定制界面上的元素的添加、删除、修改和配置等各种操作对可视化定制数据作相应的修改。
当租户定制完成后保存时,SaaS应用可视化定制***去掉用于可视化展示的数据,对可视化定制数据反向转译,反向转译是步骤D中为元数据添加可视化展示数据的逆过程,将存在的元数据抽取出来,即去掉正向转译时修改或添加的可视化信息和辅助信息;根据租赁编号、定制对象类型、定制对象编号回写元数据,回写时保证租户定制元数据的隔离,回写的同时执行重新发布操作,即根据租户定制结果,执行对应用程序的动态改变。例如页面定制可能需要重新翻译、编译页面,工作流定制对流程重新部署,参数定制修改相应数据库中的参数信息。
一种元数据驱动的SaaS应用可视化定制的***,该***包括:
元数据管理单元,负责所有应用与元数据的交互,涉及对数据库的操作,通过提供应用元数据获取和回写的统一接口,避免元数据操作的混乱,保证元数据的一致性;考虑到元数据转译和解析等的方便性,各种元数据主体采用XML格式;
元数据转译单元,负责对为元数据进行正向和反向转译;正向转译,主要是为元数据添加可视化展示信息和辅助信息,包括可视化元素的类型、大小、内容、租赁次数,形成可视化定制数据;反向转译则是正向转译的逆过程,将存在的元数据从可视化定制数据中抽取出来,去掉正向转译和元数据生成单元修改或添加的可视化信息和辅助信息;
元数据解析单元,负责解析转译后的元数据,对不同方面的定制中的元数据,执行不同的元数据解析策略,根据转译后元数据对可视化元素的描述信息,将其转化为可视化元素,在租户定制界面上显示;
元数据展示单元,负责可视化元素的展示,可视化元素集是可视化定制操作界面上各种控件集合,供租户执行定制操作;
元数据生成单元,负责根据租户在可视化定制操作界面上的各种定制操作,对可视化定制数据作相应的修改;元数据生成单元必须精确控制租户操作与元数据之间的一致性,保证租户操作能完整的体现在元数据中;
定制约束单元,约束租户的定制操作行为;根据元数据中的定制操作约束信息,判断租户的操作是否被允许,控制租户的定制操作;
定制发布单元,定制操作结束后,根据定制类型判断是否需要对相应应用部分进行重新发布;如果需要,根据定制结果对应用执行动态发布。如页面定制后,对页面重新翻译、编译。
所述元数据展示单元包括:
页面定制可视化元素集,页面定制几乎包括所有控件,包括一般元素控件如标签控件(Label),容器组件如画布(Cavas),数据展示组件如数据表格(DataGrid),非可视元素如服务(WebService),其中为了提供非可视化元素定制,需要将其以可视化元素设计;
数据定制可视化元素集,数据定制所需控件,包括数据表格(DataGrid);
工作流定制可视化元素集,工作流定制所需控件,包括Task节点、Decision节点、Java节点、Start节点、End节点、Join节点、Fork节点、连线、选择按钮;
规则定制可视化元素集,规则文件展示控件,文本区域(TextArea)、按钮;
参数定制可视化元素集,参数定制所需控件,数据表格(DataGrid)、按钮
功能定制可视化元素集,功能定制所需控件,树形控件、按钮;
安全定制可视化元素集,安全定制所需控件,带复选框树形控件、按钮;
***样式定制可视化元素集,标签、文本框、单选按钮、按钮。
所述应用元数据包括:
页面元数据,描述页面的数据,包括页面定制操作内容和页面定制操作约束。页面定制操作内容描述页面上的控件、为控件提供数据的数据模型、页面上调用的服务以及服务的定义;页面定制操作约束根据控件类型分为三类,一是对数据展示控件的约束,描述控件的必备属性,控件是否可删除、是否可修改,列是否可删除、是否可修改;二是对标签及输入控件的约束,描述控件的必备属性,控件是否可删除、是否可修改;三是对操作定义控件的约束,描述控件的必备属性,控件是否可删除、是否可修改。
数据元数据,描述业务数据的数据,包括数据定制操作内容和数据定制操作约束。数据定制操作内容描述用户的所有表、表的所属应用、表的所属用户、表的所有列、表的主键、每列的名称、数据类型、长度、是否为空、是否可用、是否可定制、描述信息、所对应的物理表的位置的数据。数据定制操作约束描述列是否可定制。
工作流元数据,描述工作流的数据,包括工作流定制操作内容和工作流定制操作约束。工作流定制操作内容描述一系列相互衔接、自动进行的业务活动或任务,以及业务的处理方式与顺序。工作流定制操作约束描述可以定制的节点列表、可添加的节点列表、可改变分支走向的节点列表、可以删除的节点列表。
规则元数据,描述规则的数据,包括规则定制操作内容和规则定制操作约束。规则定制操作内容描述规则的名字、作用及实现的业务逻辑。规则定制操作约束描述规则之间的定制约束。
参数元数据,描述参数的数据,包括参数定制操作内容。参数定制操作内容描述***参数的名称、说明、类型、初始值。
功能元数据,描述功能点的数据,包括功能定制操作内容。功能定制操作内容描述功能点的组织结构、名称、说明、对应页面。
安全元数据,描述需要安全认证的功能点的数据,包括安全定制操作内容。安全定制操作内容描述要进行安全认证的功能点。
***样式元数据,描述***参数的数据,包括***样式操作内容和***样式操作约束,***样式操作内容描述***样式包括支付方式、认证方式、导航方式、显示名称、LOGO图片的数据。***样式操作约束描述***样式的必选项。
本发明的有益效果是:
1.提供了一种元数据驱动的SaaS应用可视化定制的方法及***,使得租户在可视化定制界面通过拖拽、选择和右键操作界面元素即可方便的进行各种定制,提高了SaaS应用定制的可用性。
2.利用元数据驱动的方法,通过对租户定制元数据的隔离,避免租户数据的混淆,保证每个租户看到的是租户自己的数据。
3.在元数据中定义对租户定制操作的约束,限制租户的定制操作,确保行业客户在进行按需定制时,不会违背业务***的内在逻辑。
4.合理的设计元数据,可以简单有效地支持定制类型和定制类型内部的扩展。通过增加相关类型的元数据,简单有效的实现定制类型的增加。通过对元数据中描述定制操作内容、定制操作约束的属性的添加或修改,实现已有对定制类型的修改。
附图说明
图1为一种元数据驱动的SaaS应用的可视化定制方法详细流程图。
图2为一种元数据驱动的SaaS应用的可视化定制***示意图。
具体实施方式
下面接回附图与实施例对本发明做进一步说明。
图1中,是本发明一种元数据驱动的SaaS应用可视化定制方法的流程图,包括以下步骤:
步骤101、租户根据业务需求,租赁包含满足业务需求的功能点的应用,组合各个应用的功能点新建成一个可用的应用***,称为业务***;
步骤102、租户进行业务***定制,选择定制类型,供选择的定制类型有页面定制、数据定制、工作流定制、规则定制、参数定制、功能定制、安全定制、***样式定制,然后选择要定制的对象,定制对象有页面、数据库表、工作流、规则文件、***表参数等;
       步骤103、根据定制类型,初始化SaaS应用可视化定制***。进行定制操作的界面的布局包括操作托盘、属性编辑区域、定制操作区域;
       步骤104、SaaS应用可视化定制***根据租赁编号、定制对象类型、定制对象编号读取租户定制元数据,元数据包括定制操作内容和定制操作约束信息,通过转译、解析、转化将定制操作内容以可视化元素在租户定制操作界面上的定制操作区域显示;
       步骤105、租户通过拖拽操作托盘的界面元素到定制操作区域实现添加控件,在属性编辑区域编辑控件的ID、长、宽、显示内容等,在定制操作区域通过右键操作删除控件、为控件添加/修改/删除鼠标点击事件、绑定数据模型;
       步骤106、SaaS应用可视化定制***根据定制操作约束信息判断租户对定制元素的操作是否被允许,并根据租户对定制界面上的元素的添加、删除、修改和配置操作对可视化定制数据作相应的修改;当租户定制完成后保存时,SaaS应用可视化定制***去掉可视化数据,根据租赁编号、定制对象类型、定制对象编号,将定制后元数据写回;
       步骤107、元数据回写的同时,SaaS应用可视化定制***执行发布操作,根据定制内容重新发布,使定制生效。如页面定制后,对页面重新翻译、编译。
步骤108、用户登录业务***,看到的是租户定制后的业务***。
图2中,一种元数据驱动的SaaS应用可视化定制***,该***包括:
元数据管理单元201,负责所有应用与元数据的交互,涉及对数据库的操作,通过提供应用元数据获取和回写的统一接口,避免元数据操作的混乱,保证元数据的一致性。考虑到元数据转译和解析等的方便性,各种元数据主体采用XML格式设计。
元数据转译单元202,负责对为元数据进行正向和反向转译。正向转译,主要是为元数据添加可视化展示信息和辅助信息,包括可视化元素的类型、大小、内容、租赁次数等,形成可视化定制数据。反向转译则是正向转译的逆过程,将存在的元数据从可视化定制数据中抽取出来,去掉正向转译和元数据生成单元修改或添加的可视化信息和辅助信息。
元数据解析单元203,负责解析转译后的元数据,鉴于元数据XML格式的标准化,对不同方面的定制中的元数据,执行不同的元数据解析策略,根据转译后元数据对可视化元素的描述信息,将其转化为可视化元素,在租户定制界面上显示。
元数据展示单元204,负责可视化元素的展示,可视化元素集是可视化定制操作界面上各种控件集合,供租户执行定制操作,各个定制方面需求不同,有些可能比较繁杂。
元数据生成单元205,负责根据租户在可视化定制操作界面上的各种定制操作,对可视化定制数据作相应的修改。租户的操作,例如添加元素,修改元素属性和删除元素等,元数据生成单元必须精确控制租户操作与元数据之间的一致性,保证租户操作能完整的体现在元数据中。
定制约束单元206,约束租户的定制操作行为。根据元数据中的定制操作约束信息,判断租户的操作是否被允许,控制租户的定制操作。
定制发布单元207,定制操作结束后,根据定制类型判断是否需要对相应应用部分进行重新发布。如果需要,根据定制结果对应用执行动态发布。如页面定制后,对页面重新翻译、编译。
元数据展示单元204包括页面定制可视化元素集2041、数据定制可视化元素集2042、工作流定制可视化元素集2043、规则定制可视化元素集2044、参数定制可视化元素集2045、功能定制可视化元素集2046、安全定制可视化元素集2047、***样式可视化元素集2048。
页面定制可视化元素集2041,页面定制几乎包括所有控件,包括一般元素控件如标签控件(Label),容器组件如画布(Cavas),数据展示组件如数据表格(DataGrid),非可视元素如服务(WebService),其中为了提供非可视化元素定制,需要将其以可视化元素设计
数据定制可视化元素集2042,数据定制所需控件,包括数据表格(DataGrid)。
工作流定制可视化元素集2043,工作流定制所需控件,包括Task节点、Decision节点、Java节点、Start节点、End节点、Join节点、Fork节点、连线、选择按钮。
规则定制可视化元素集2044,规则文件展示控件,文本区域(TextArea)、按钮。
参数定制可视化元素集2045,参数定制所需控件,数据表格(DataGrid)、按钮。
功能定制可视化元素集2046,功能定制所需控件,树形控件、按钮。
安全定制可视化元素集2047,安全定制所需控件,带复选框树形控件、按钮。
***样式可视化元素集2048,***样式定制所需空间,标签、文本框、单选按钮、按钮。 
所述应用与元数据包括:
页面元数据,描述页面的数据,包括页面定制操作内容和页面定制操作约束。页面定制操作内容描述页面上的控件、为控件提供数据的数据模型、页面上调用的服务以及服务的定义;页面定制操作约束根据控件类型分为三类,一是对数据展示控件的约束,描述控件的必备属性,控件是否可删除、是否可修改,列是否可删除、是否可修改;二是对标签及输入控件的约束,描述控件的必备属性,控件是否可删除、是否可修改;三是对操作定义控件的约束,描述控件的必备属性,控件是否可删除、是否可修改。
数据元数据,描述业务数据的数据,包括数据定制操作内容和数据定制操作约束。数据定制操作内容描述用户的所有表、表的所属应用、表的所属用户、表的所有列、表的主键、每列的名称、数据类型、长度、是否为空、是否可用、是否可定制、描述信息、所对应的物理表的位置的数据。数据定制操作约束描述列是否可定制。
工作流元数据,描述工作流的数据,包括工作流定制操作内容和工作流定制操作约束。工作流定制操作内容描述一系列相互衔接、自动进行的业务活动或任务,以及业务的处理方式与顺序。工作流定制操作约束描述可以定制的节点列表、可添加的节点列表、可改变分支走向的节点列表、可以删除的节点列表。
规则元数据,描述规则的数据,包括规则定制操作内容和规则定制操作约束。规则定制操作内容描述规则的名字、作用及实现的业务逻辑。规则定制操作约束描述规则之间的定制约束。
参数元数据,描述参数的数据,包括参数定制操作内容。参数定制操作内容描述***参数的名称、说明、类型、初始值。
功能元数据,描述功能点的数据,包括功能定制操作内容。功能定制操作内容描述功能点的组织结构、名称、说明、对应页面。
安全元数据,描述需要安全认证的功能点的数据,包括安全定制操作内容。安全定制操作内容描述要进行安全认证的功能点。
***样式元数据,描述***参数的数据,包括***样式操作内容和***样式操作约束,***样式操作内容描述***样式包括支付方式、认证方式、导航方式、显示名称、LOGO图片的数据。***样式操作约束描述***样式的必选项。

Claims (9)

1.一种元数据驱动的SaaS应用的可视化定制方法,其特征在于,包括以下步骤:
A、租户根据业务需求,租赁包含满足业务需求的功能点的应用,组合各个应用的功能点新建成一个应用***,称为业务***;
B、租户进行业务***定制,选择定制类型,供选择的定制类型有页面定制、数据定制、工作流定制、规则定制、参数定制、功能定制、安全定制、***样式定制,然后选择要定制的对象,定制对象有页面、数据库表、工作流、规则文件、***表参数;
C、根据定制类型,初始化SaaS应用可视化定制***,进行定制操作的界面的布局包括操作托盘、属性编辑区域、定制操作区域;
D.根据业务***编号、租赁编号、定制对象类型、定制对象编号读取租户定制元数据,元数据包括定制操作内容和定制操作约束信息,通过转译定制元数据、解析转译后的数据、将转译后的数据转化,将定制操作内容以可视化元素在租户定制操作界面上的定制操作区域显示;
E.租户通过拖拽操作托盘的界面元素到定制操作区域实现添加控件,在属性编辑区域编辑控件的ID、长、宽、显示内容,在定制操作区域通过右键操作删除控件、为控件添加/修改/删除鼠标点击事件、绑定数据模型;
F.根据定制操作约束信息判断租户对定制元素的操作是否被允许,并根据租户对定制界面上的元素的添加、删除、修改和配置操作对可视化定制数据作相应的修改;当租户定制完成后保存时,SaaS应用可视化定制***去掉用于可视化展示的数据,根据租赁编号、定制对象类型、定制对象编号,将定制后元数据写回;
G.元数据回写的同时,SaaS应用可视化定制***执行发布操作,根据定制内容重新发布,使定制生效;
H.用户登录业务***,看到的是租户定制后的业务***。
2.如权利要求1所述的元数据驱动的SaaS应用的可视化定制方法,其特征在于,所述步骤A中业务***首次定制前,应用元数据为开发商上传的标准应用元数据;包括:
标准应用元数据是应用的初次详细信息,该信息包含各类定制的主体描述信息,也即是各方面定制要操作的具体对象,标准应用元数据包括页面元数据、数据元数据、工作流元数据、规则元数据、参数元数据、功能元数据、安全元数据、***样式元数据;
租户定制元数据是各个方面定制后的信息和租户租赁信息,该类信息是租户对其租赁的特定应用的定制方面执行定制操作后对其对应的应用元数据有所改动产生的元数据,同时包含租户的租赁信息;租户进行页面/数据/工作流/规则/参数/功能/安全/***样式定制后,生成相应的租户页面/数据/工作流/规则/参数/功能/安全/***样式定制元数据。
3.如权利要求1所述的元数据驱动的SaaS应用的可视化定制方法,其特征在于,所述步骤C中,操作托盘容纳租户拖拽和展示界面元素,界面元素是控件;属性编辑区域用来让租户编辑界面元素的ID、长、宽、显示内容、是否激活、是否显示,不同界面元素的可编辑属性不同;定制操作区域用来以可视化形式显示定制内容,并通过右键操作对界面元素执行删除、事件、定制数据模型操作。
4.如权利要求1所述的元数据驱动的SaaS应用的可视化定制方法,其特征在于,所述步骤D中根据租户的业务***编号、租赁编号、定制对象类型、定制对象编号获取定制元数据,保证各租户元数据的严格隔离;应用元数据描述应用的数据、页面、流程、规则、样式信息;应用元数据分为标准应用元数据和租户定制元数据;获取定制元数据时,首先查找租户定制元数据;如果租户定制元数据不存在,则获取标准应用元数据,根据应用编号、定制对象类型、定制对象编号获取;标准应用元数据和租户定制元数据主体都采用XML格式设计。
5.如权利要求1所述的元数据驱动的SaaS应用的可视化定制方法,其特征在于,所述步骤D中转译定制元数据为:根据定制类型,为租户定制元数据添加可视化展示数据,包含元数据展示的可视化元素的类型、大小;解析转译后的数据则是根据转译后数据中的可视化元素的类型、大小、内容,将转译后数据转化为可视化元素,在租户定制操作界面上显示。
6.如权利要求1所述的元数据驱动的SaaS应用的可视化定制方法,其特征在于,所述步骤F中当租户定制完成后保存时,SaaS应用可视化定制***去掉用于可视化展示的数据,对可视化定制数据反向转译,反向转译是步骤C的逆过程,将存在的元数据抽取出来,即去掉步骤C过程中修改或添加的可视化信息和辅助信息;根据租赁编号、定制对象类型、定制对象编号回写元数据,回写时保证租户定制元数据的隔离,回写的同时执行发布操作,即根据租户定制结果,执行对应用程序的动态改变。
7.一种元数据驱动的SaaS应用可视化定制的***,其特征在于,该***包括:
元数据管理单元,负责所有应用与元数据的交互,涉及对数据库的操作,通过提供应用元数据获取和回写的统一接口,避免元数据操作的混乱,保证元数据的一致性;各种元数据主体采用XML格式;
元数据转译单元,负责对为元数据进行正向和反向转译;正向转译,主要是为元数据添加可视化展示信息和辅助信息,包括可视化元素的类型、大小、内容、租赁次数,形成可视化定制数据;反向转译则是正向转译的逆过程,将存在的元数据从可视化定制数据中抽取出来,去掉正向转译和元数据生成单元修改或添加的可视化信息和辅助信息;
元数据解析单元,负责解析转译后的元数据,对不同方面的定制中的元数据,执行不同的元数据解析策略,根据转译后元数据对可视化元素的描述信息,将其转化为可视化元素,在租户定制界面上显示;
元数据展示单元,负责可视化元素的展示,可视化元素集是可视化定制操作界面上各种控件集合,供租户执行定制操作;
元数据生成单元,负责根据租户在可视化定制操作界面上的各种定制操作,对可视化定制数据作相应的修改;元数据生成单元必须精确控制租户操作与元数据之间的一致性,保证租户操作能完整的体现在元数据中;
定制约束单元,约束租户的定制操作行为;并不是租户对可视化界面上的所有元素都是有操作权限的,元数据中具有租户对元数据的定制权限信息,定制约束单元根据对应的元数据信息维护租户对各部分元数据操作权限,控制租户的定制操作;
定制发布单元,定制操作结束后,根据定制类型判断是否需要对相应应用部分进行重新发布;如果需要,根据定制结果对应用执行动态发布。
8.如权利要求7所述的元数据驱动的SaaS应用可视化定制的***,其特征在于,所述元数据展示单元包括:
页面定制可视化元素集:页面定制包括一般元素控件,所述一般元素控件包括容器组件,数据展示组件,非可视元素,其中为了提供非可视化元素定制,需要将其以可视化元素设计;
数据定制可视化元素集:数据定制所需控件,所述数据定制所需控件包括数据表格;
工作流定制可视化元素集:工作流定制所需控件,所述工作流定制所需控件包括Task节点、Decision节点、Java节点、Start节点、End节点、Join节点、Fork节点、连线、选择按钮;
规则定制可视化元素集:规则文件展示控件,所述规则文件展示控件包括文本区域、按钮;
参数定制可视化元素集:参数定制所需控件,所述参数定制所需控件包括数据表格、按钮
功能定制可视化元素集:功能定制所需控件,所述功能定制所需控件包括树形控件、按钮;
安全定制可视化元素集:安全定制所需控件,所述安全定制所需控件包括带复选框树形控件、按钮;
***样式定制可视化元素集:所述***样式定制可视化元素集包括标签、文本框、单选按钮。
9.如权利要求7所述的元数据驱动的SaaS应用可视化定制的***,其特征在于,所述应用元数据包括:
页面元数据,描述页面的数据,包括页面定制操作内容和页面定制操作约束;页面定制操作内容描述页面上的控件、为控件提供数据的数据模型、页面上调用的服务以及服务的定义;页面定制操作约束根据控件类型分为三类,一是对数据展示控件的约束,描述控件的必备属性,控件是否可删除、是否可修改,列是否可删除、是否可修改;二是对标签及输入控件的约束,描述控件的必备属性,控件是否可删除、是否可修改;三是对操作定义控件的约束,描述控件的必备属性,控件是否可删除、是否可修改;
数据元数据,描述业务数据的数据,包括数据定制操作内容和数据定制操作约束;数据定制操作内容描述用户的所有表、表的所属应用、表的所属用户、表的所有列、表的主键、每列的名称、数据类型、长度、是否为空、是否可用、是否可定制、描述信息、所对应的物理表的位置的数据;数据定制操作约束描述列是否可定制;
工作流元数据,描述工作流的数据,包括工作流定制操作内容和工作流定制操作约束;工作流定制操作内容描述一系列相互衔接、自动进行的业务活动或任务,以及业务的处理方式与顺序;工作流定制操作约束描述可以定制的节点列表、可添加的节点列表、可改变分支走向的节点列表、可以删除的节点列表;
规则元数据,描述规则的数据,包括规则定制操作内容和规则定制操作约束;规则定制操作内容描述规则的名字、作用及实现的业务逻辑;规则定制操作约束描述规则之间的定制约束;
参数元数据,描述参数的数据,包括参数定制操作内容;参数定制操作内容描述***参数的名称、说明、类型、初始值;
功能元数据,描述功能点的数据,包括功能定制操作内容;功能定制操作内容描述功能点的组织结构、名称、说明、对应页面;
安全元数据,描述需要安全认证的功能点的数据,包括安全定制操作内容;安全定制操作内容描述要进行安全认证的功能点;
***样式元数据,描述***参数的数据,包括***样式操作内容和***样式操作约束,***样式操作内容描述***样式包括支付方式、认证方式、导航方式、显示名称、LOGO图片的数据;***样式操作约束描述***样式的必选项。
CN201210037427.XA 2012-02-20 2012-02-20 一种元数据驱动的SaaS应用的可视化定制方法及*** Active CN102609271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210037427.XA CN102609271B (zh) 2012-02-20 2012-02-20 一种元数据驱动的SaaS应用的可视化定制方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210037427.XA CN102609271B (zh) 2012-02-20 2012-02-20 一种元数据驱动的SaaS应用的可视化定制方法及***

Publications (2)

Publication Number Publication Date
CN102609271A CN102609271A (zh) 2012-07-25
CN102609271B true CN102609271B (zh) 2014-09-10

Family

ID=46526670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210037427.XA Active CN102609271B (zh) 2012-02-20 2012-02-20 一种元数据驱动的SaaS应用的可视化定制方法及***

Country Status (1)

Country Link
CN (1) CN102609271B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10225209B2 (en) 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699431A (zh) * 2012-09-28 2014-04-02 金蝶软件(中国)有限公司 单据多视图实现方法和装置
US10824680B2 (en) * 2012-10-02 2020-11-03 The Boeing Company Panoptic visualization document access control
US20140129934A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Dynamic model-based management tooling
CN103077024B (zh) * 2012-12-28 2015-10-21 山大地纬软件股份有限公司 一种支持SaaS应用流程按需定制与运行的装置及方法
CN103150171A (zh) * 2013-03-27 2013-06-12 杭州世导信息技术有限公司 产品组合引擎装置、***及服务方法
CN103235727B (zh) * 2013-05-17 2016-08-03 杭州世导信息技术有限公司 局部动态表单引擎装置、***及方法
CN104216691B (zh) * 2013-05-31 2017-11-17 华为技术有限公司 一种创建应用的方法及装置
CN104252454B (zh) * 2013-06-25 2018-02-27 广州中国科学院软件应用技术研究所 一种面向云计算多租户模式的数据权限控制方法和***
CN103440150A (zh) * 2013-08-30 2013-12-11 西安电子科技大学 一种从远程组件仓库按需下载的软件现场组装方法
CN103593195A (zh) * 2013-11-22 2014-02-19 安一恒通(北京)科技有限公司 一种个性化软件的定制方法和装置
CN103646303A (zh) * 2013-11-22 2014-03-19 江苏现代造船技术有限公司 用于船舶企业的可定制流程与表单的柔性管理信息***
CN103645906B (zh) * 2013-12-25 2018-04-10 上海斐讯数据通信技术有限公司 基于固定的界面布局文件实现界面重新布局的方法及***
US10348822B2 (en) 2014-01-21 2019-07-09 Oracle International Corporation System and method for clustering in a multitenant application server environment
US10356161B2 (en) 2014-01-21 2019-07-16 Oracle International Corporation System and method for classloading in a multitenant application server environment
WO2015112614A1 (en) 2014-01-21 2015-07-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10476938B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for multitenancy store in a multitenant application server environment
US10635491B2 (en) 2014-01-21 2020-04-28 Oracle International Corporation System and method for use of a multi-tenant application server with a multitasking virtual machine
CN103955384A (zh) * 2014-04-15 2014-07-30 南威软件股份有限公司 一种基于多租户模式的支持个性化定制的方法
US10873627B2 (en) 2014-06-23 2020-12-22 Oracle International Corporation System and method for supporting use of an in-memory data grid with a multitenant application server environment
CN106471472B (zh) 2014-06-23 2020-03-03 甲骨文国际公司 用于多租户应用服务器环境中的分区迁移的***和方法
US10594619B2 (en) 2014-06-23 2020-03-17 Oracle International Corporation System and method for supporting configuration of dynamic clusters in a multitenant application server environment
US11477278B2 (en) 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US10284486B2 (en) 2014-07-10 2019-05-07 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10193754B2 (en) 2014-07-14 2019-01-29 Oracle International Corporation System and method for supporting connectors in a multitenant application server environment
EP3198431A1 (en) 2014-09-24 2017-08-02 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10469401B2 (en) 2014-09-25 2019-11-05 Oracle International Corporation System and method for supporting lifecycle plugins in a multitenant application server environment
US9747137B2 (en) 2014-09-25 2017-08-29 Oracle International Corporation System and method for providing a partition file system in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10348565B2 (en) 2014-09-25 2019-07-09 Oracle International Corporation System and method for rule-based elasticity in a multitenant application server environment
US11057272B2 (en) 2014-09-26 2021-07-06 Oracle International Corporation System and method for transactions in a multitenant application server environment
US10951655B2 (en) 2014-09-26 2021-03-16 Oracle International Corporation System and method for dynamic reconfiguration in a multitenant application server environment
KR102437664B1 (ko) 2014-09-26 2022-08-29 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 트랜잭션 복구를 위한 시스템 및 방법
CN104484187B (zh) * 2014-12-31 2017-12-08 山东中创软件商用中间件股份有限公司 一种信息集成方法和***
CN104537317B (zh) * 2015-01-13 2017-11-07 华南师范大学 租户对自定义数据库访问的控制方法、装置和***
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10178184B2 (en) 2015-01-21 2019-01-08 Oracle International Corporation System and method for session handling in a multitenant application server environment
CN104932889B (zh) * 2015-06-15 2018-10-09 北京奇虎科技有限公司 页面可视化生成方法和装置
CN107516048B (zh) * 2016-06-16 2021-01-08 阿里巴巴集团控股有限公司 一种控制分布式文件***中文件访问的方法与设备
CN106201506B (zh) * 2016-07-07 2019-11-22 华南理工大学 基于多租户模式的功能装配与定制方法
CN106843835A (zh) * 2016-12-21 2017-06-13 中国电子科技网络信息安全有限公司 一种元数据定制的应用***软件构建***、***构建方法
CN107423998B (zh) * 2017-03-27 2021-09-17 亿景智联(北京)科技有限公司 一种基于SaaS平台的可视化销售数据管理方法及***
CN107329739A (zh) * 2017-06-08 2017-11-07 石化盈科信息技术有限责任公司 页面菜单定制方法及装置
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
CN107678736A (zh) * 2017-10-09 2018-02-09 用友网络科技股份有限公司 一种业务页面模板的展现方法、***及计算机装置
CN110221827B (zh) * 2018-03-02 2021-10-22 华为技术有限公司 数据处理方法及相关装置
CN108989453A (zh) * 2018-08-08 2018-12-11 国云科技股份有限公司 一种基于SaaS的APP自助创建管理云平台***及其实现方法
CN109408186A (zh) * 2018-10-30 2019-03-01 国网上海市电力公司 用于应急能力培训的数据可视化积分展示***
CN109445766A (zh) * 2018-11-07 2019-03-08 北京计算机技术及应用研究所 一种基于事件驱动的文件安全控制策略流程引擎***
CN111290683A (zh) * 2018-12-07 2020-06-16 ***通信集团福建有限公司 一种可视化应用实例化的方法、装置及设备
CN111008015B (zh) * 2019-11-22 2023-07-04 广联达科技股份有限公司 一种基于前端技术实现的微前端应用框架
CN111414141A (zh) * 2020-03-17 2020-07-14 山东浪潮易云在线科技有限公司 一种基于SaaS模式下可视化智能布局打印模板生成的方法和***
CN111459482A (zh) * 2020-03-27 2020-07-28 山东浪潮通软信息科技有限公司 一种界面定制控制方法、***和软件
CN111736807B (zh) * 2020-06-15 2024-01-30 中国工商银行股份有限公司 租户功能定制方法、装置及基于租户的办公***
CN111736834B (zh) * 2020-06-24 2023-05-30 全球能源互联网研究院有限公司 一种基于dsl的用户界面生成方法、装置及存储介质
CN112068877A (zh) * 2020-08-14 2020-12-11 深圳市卓智荟教育科技有限公司 教育数字化应用的配置方法、装置和可读存储介质
CN112015411B (zh) * 2020-08-14 2021-04-20 深圳市卓智荟教育科技有限公司 基于saas的教育应用界面配置方法、装置和可读存储介质
CN112508431A (zh) * 2020-12-15 2021-03-16 平安国际智慧城市科技股份有限公司 适用于多租户的服务***的构造方法、框架、设备及介质
CN112783485A (zh) * 2021-01-13 2021-05-11 厦门熵基科技有限公司 一种基于可视化规则策略配置业务规则定制方法及装置
CN114090162A (zh) * 2021-11-24 2022-02-25 中国建设银行股份有限公司 一种多租户***的前端界面展示方法及相关装置
CN114661406B (zh) * 2022-04-08 2024-03-22 杭州半云科技有限公司 一种基于多租户架构的动态配置可视化平台及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和***
CN102135883A (zh) * 2011-03-14 2011-07-27 山东大学 一种支持SaaS应用生成与部署的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170457A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和***
CN102135883A (zh) * 2011-03-14 2011-07-27 山东大学 一种支持SaaS应用生成与部署的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《面向SaaS应用基于键值对模式的多租户索引研究》;孔兰菊等;《计算机学报》;20101231;第33卷(第12期);第2239-2247页 *
孔兰菊等.《面向SaaS应用基于键值对模式的多租户索引研究》.《计算机学报》.2010,第33卷(第12期),第2239-2247页.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10225209B2 (en) 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment

Also Published As

Publication number Publication date
CN102609271A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102609271B (zh) 一种元数据驱动的SaaS应用的可视化定制方法及***
US10222951B2 (en) Modeling system for graphic user interface
US7398473B2 (en) In situ user interface template editing
KR101456506B1 (ko) 웹 어플리케이션 저작도구 및 저작 방법
US8762834B2 (en) User interface for defining a text file transformation
CN114035773B (zh) 一种基于配置的低代码开发表单方法、***及装置
CN111666526A (zh) 页面生成方法、装置、设备及存储介质
CN113849165A (zh) 基于可视化拖拉且可定制的低代码前端开发框架及方法
WO2017093576A1 (en) Improved construction of database schema models for database systems and rest api's
CN115712413B (zh) 低代码开发方法、装置、设备及存储介质
JP7373563B2 (ja) ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
Engel et al. A Concerted Model-driven and Pattern-based Framework for Developing User Interfaces of Interactive Ubiquitous Applications.
AU2016302390A1 (en) Systems and methods for executable content and executable content flow creation
US20080040677A1 (en) HMI Development Support Apparatus, HMI Development Support Method and HMI Development Support Program
Kennard et al. Application of software mining to automatic user interface generation
KR101519381B1 (ko) Html5를 이용하여 웹 어플리케이션을 제작하는 방법 및 장치
KR20180135654A (ko) 프로그램의 직관적 제작방법
KR102067661B1 (ko) 위젯 저작 시스템 및 방법
de Lange et al. Collaborative wireframing for model-driven web engineering
CN101268438A (zh) 数据处理装置
US20140157105A1 (en) Methods and systems for creating custom digital publications
Baetens Comparing graphical DSL editors: AToM3, GMF, MetaEdit
JP6966710B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
Van der Westhuizen Bootstrap for ASP. NET MVC
JP6604140B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant