一种运行时根据用户自定义信息进行界面展示方法

文档序号:6584222阅读:200来源:国知局
专利名称:一种运行时根据用户自定义信息进行界面展示方法
技术领域
本发明涉及一种计算机应用技术领域,具体地说是一种在应用开发平台运行环境
下通过自定义表单技术与业务场景的进行结合展示的方法。
背景技术
目前,应用开发平台已经发展的非常成熟,在其关键领域的表单展现技术中,大都采用了基于MDA的自定义表单和展现技术。 自定义表单和展现技术描述了一种基于XML的窗体描述方法和标记语言XFML(可扩展窗体标记语言)。本发明将一个窗体的逻辑、表示和数据分离开来,形成一个与平台和设备无关的、基于XML的抽象窗体定义。分为三层结构,其中逻辑层包含窗体中各域的填充、多页、Form次序等的控制管理以及合法性检查等。表示层描述窗体的表现,即采用何种窗体控制部件,响应何种事件;这种表现是抽象的,可以借助于不同的表现处理器形成在不同设备上的不同表现,如Windows上的窗体,桌面浏览器上的XHTML窗体、手机上的丽L窗体、面向盲人用户的浏览器窗体等。数据层则是针对实际的数据源,通过应用更丰富的模式(Schema)或类型(Type),为窗体增加更多的数据结构以及数据一致性的维护。(参见专利200710013759《一种逻辑、表示和数据分离的窗体描述方法和标记语言》)
自定义表单技术在项目中得到了广泛的应用,在应用过程中,我们发现和总结了一个问题,作为存储自定义表单的XML元数据,未能和运行过程中的业务数据进行有效的关联。比如说,驱动表单的数据模型上的某个字段,可能为根据另一个字段的数据来确定其字段含义、存储数据类型。表单上的显示内容会根据模型上某个字段数据的不同而不同,无论在排列方式、是否显示、验证规则等各个方面,都会有不同的表现。如何将运行时的业务数据和自定义表单进行有效的整合呢,带着这个问题,我们提出了一种在运行时根据业务数据进行节目展示的方法。 应用开发平台分为技术支撑型平台和应用实现型平台。技术支撑型平台的用户为软件开发人员,提供商负责平台的维护和升级,用户负责基于平台的上层实现。这类平台包括软件中间件、开发工具、应用服务器等。应用实现型平台的用户为终端用户,提供商不但负责平台的维护和升级,还要负责实现基于平台的上层应用。 真正的平台化产品不应该在原有的固化的软件基础上的改造,因为原有的系统使用硬写代码的方式实现,无法与新型的平台化软件的运行支撑系统和应用开发工具结合,实现客户个性化需求的免编程定制。新型的平台化产品必须具备两个基本要素,实现应用的完全可定制,而不是原有系统外围的所谓〃 二次开发〃 。 与其他软件不同的是,平台化软件是由建立在共同平台上的一个系统,模块相互之间既具有较强的独立性,又可以独立使用,通过统一的数据接口又以可实现相互间的无缝集成,同时可以实现一致的对外接口。因此,平台化软件具有更大程度的灵活性和扩展性,不仅可以根据客户当前的需求进行选择和搭配使用,而且具备了更好的二次开发接口。
用户需求变更使软件提供商最头痛的事情,但由于双方的沟通和理解不同,软件系统在研发和使用过程中需求变更不可避免。据统计,软件源码20%以上的变动所需的工作量就不会小于重新开发一套系统,这也是软件系统失败的主要原因之一。平台化软件的上层应用开发工具可以实现免编程的应用系统修改,具有更快捷、方便的适应能力。

发明内容
本发明的目的是提供一种在应用开发平台运行环境下通过自定义表单技术与业务场景的进行结合展示的方法。 本发明的目的是按以下方式实现的,步骤包括 系统将原有的"元数据"抽象分为"技术元数据"和"业务元数据",技术元数据用来描述初始的业务结构、业务逻辑以及业务展示数据,而业务元数据则基于技术元数据描述特定业务场景下的业务结构、逻辑和展示数据,通过这种抽象的分离,将元数据扩展到在运行时进行修改和设定,从而延展了元数据的定义能力,增加了用户自定义单据的动态能力和灵活性,丰富了 "自定义表单"技术的强大展现能力; 用户通过"业务实体"的定义,将业务实体绑定"数据模型"并指定模型对应的单据类型字段,通过业务实体,将对应表单以及实体需要的资源,包括编号规则设定、工作流程设定、自定义项定义和打印格式定义进行关联设定; 用户在运行时根据单据类型进行自定义项的定义,通过"自定义项字段定义",将已有的字段在不同的业务中定义为不同的数据类型和含义,满足数据类型多样化定义和运行时自定义的需求; 用户在运行时根据单据类型进行自定义界面的定义,通过"自定义界面定义",将已有的界面在不同的业务或者不同的场景中展现为不同的界面,满足界面设定多样化的需求; 用户通过"打印格式定义"和"打印格式分配",在运行时设定不同的业务或者不同的场景下同一单据界面使用不同的打印格式; 用户通过"业务流程分配"功能,在运行时设定不同业务或者不同的场景下同一单
据或者同一功能分别制定使用不同的业务流程,增加流程分配和选择的灵活性。"元数据"是指模型驱动的GSP开发平台,用来描述系统的各种行为的数据,包括
描述数据表结构的数据对象元数据、描述数据逻辑结构的数据模型元数据、描述展现表单
的表单定义元数据、描述表单行为动态转换的状态机元数据、描述表单扩展调用信息的构
件元数据;通过元数据,构建了企业的应用系统,在系统运行过程中,以解释元数据的方式
控制着程序的行为和执行。"技术元数据"是指对系统元数据的初始描述,是业务场景的跟描述,相对而言,"业务元数据"则体现了业务的含义,在不同的业务场景下,以"技术元数据"为根本,构造含有业务含义的元数据,从而为在不同的业务和场景下赋予同一字段不同的业务含义、在不同的业务和场景下为同一单据展现不同的界面打下基础。"业务实体"通过描述指定单据类型的模型信息和与之对应的表单以及相关数据资源之间的关系,定义了一个业务的含义集合,业务实体是自定义项字段定义和自定义界面定义的基础。"自定义项字段定义"是对数据模型的特定字段进行特殊含义定义的一个过程和功能。"自定义项界面定义"是对基于已有表单展现方式,在不同业务场景中进行特殊界面设定的一种过程和功能。"打印格式定义"和"打印格式分配"是通过对打印格式在UI环境下的定义的描述,然后通过分配功能与具体的业务场景相绑定。"业务流程分配"是指通过运行时将具体的业务流程定义与业务相绑定,简化了用户对业务流程调用的操作。 本发明的优点是,增加了在运行时对表单的设计能力,使得自定义表单的展现能力更加丰富、可控性得到增强,用户可以再运行时根据实际的数据对自定表单的样式、内容、展现形式等进行控制,极大地增强了自定义表的展现能力。 用户在设计时进行界面设定,通过所见即所得的方式进行表达的自定义并形成后台的表达定义元数据;然后在运行时由ERP平台的表单解析引擎对表单进行解析、展现、数据加载和用户操作响应。新的需求和问题接踵而来,由于在设计时没有涉及到实际的业务数据,设计时不可能针对业务数据进行特定数据字段含义的设定,不可能针对不同的业务和不同的场景进行不同单据样式和展现方式的定义。本发明提供了一种技术上的解决思路和方法,通过在运行时对业务实体、自定义项字段和自定义项界面的定义来达到动态设定,以反应具有业务含义的模型和动态表达展现的目的,通过技术元数据和业务元数据两种概念,在设计时的业务无关和实际运行时的业务应用之间搭起了一座桥梁,巧妙的将两者融合起来,使得数据的存储和展现技术更加有效和灵活,使得表单的展现技术更加丰富和多样化。本专利在实际应用效果中非常显著,收到了可观的经济效益。


图1是业务实体、数据模型、表单之间的关系 图2是具体实施指导路线图。
具体实施例方式
如图1所示,本发明将原有的"元数据"抽象分为"技术元数据"和"业务元数据",技术元数据用来描述初始的业务结构、业务逻辑以及业务展示数据。而业务元数据则基于技术元数据描述特定业务场景下的业务结构、逻辑和展示数据。通过这种抽象的分离,将元数据的扩展到可以在运行时进行修改和设定,从而延展了元数据的定义能力,增加了用户自定义单据的动态能力和灵活性,丰富了"自定义表单"技术的强大展现能力。
在这里,我们提出了业务实体的定义,所谓业务实体是指与业务数据相关的一个概念,他将运行时的其他数据资源,包括数据模型、编号规则定义、工作流程、自定定义项、打印格式等关联起来并进行有效的管理,使用户可以在运行时对各种资源进行控制。业务实体与数据模型一一对应,用户根据运行时的业务数据,检索业务实体上根据不同划分粒度定义的业务属性生成符合条件的业务单据,即决定该业务单据上使用什么的样的业务属性。 所谓设计时,是指自定义表单在设计中的过程,在设计时用户通过拖拽、编写等方式定义模型和表单。所谓运行时是相对于设计时而言,运行时就是对设计时生成的界面的XML描述进行解析并展现的过程。运行时会根据用户的指令运行任务。 用户通过"业务实体"的定义,将业务实体绑定"数据模型"并指定模型对应的单
据类型字段,通过业务实体,将对应表单以及实体需要的资源(编号规则设定、工作流程设
定、自定义项定义、打印格式定义)进行关联设定。用户在运行时根据单据类型进行自定义
项的定义,通过"自定义项字段定义",可以将已有的字段在不同的业务中定义为不同的数
据类型和含义,满足数据类型多样化定义和运行时自定义的需求。用户在运行时根据单据
类型进行自定义界面的定义,通过"自定义界面定义",可以将已有的界面在不同的业务或
者不同的场景中展现为不同的界面,满足界面设定多样化的需求。用户通过"打印格式定
义"和"打印格式分配",可以在运行时设定不同的业务或者不同的场景下同一单据界面使
用不同的打印格式。用户通过"业务流程分配"功能,可以再运行时设定不同业务或者不同
的场景下相同的单据或者功能分别制定使用不同的业务流程,增加和流程分配和选择的灵活性。 下面,我们将从最终使用者即用户的角度着手,以合同录入的一个界面为例进行
详细的描述,使本发明的上述目标、特征和优点更加清晰、易懂。 如附图2所示。包括以下步骤 步骤一、定义合同录入界面以及所需要的数据对象和数据模型。在定义数据对象时,除了定义基本的合同所需要的数据库字段,比如"合同ID"、"单位ID"、"合同编号"、"合同名称"、"合同类型"、"结算方式"、"签订日期"、"经办人"、"审核人"等等,我们还定义20个自定义字段,在合同的扩展属性所用。在定义数据模型时,将模型字段中需要进行外部关联的字段,比如"单位ID"、"合同类型"、"往来单位"、"责任部门"、"币种"、"结算方式"等进行外部的模型关联。添加对应明细的字对象。在定义表单时,构造并关联好数据帮助字典,定义好事件处理以及分录明细。 步骤二、将自定义表单发布为表单构件。表单的运行是以自定义表单构件(XFormComponent)形式来运行的,表单解析引擎对表单构件进行解析和处理,然后将表单解析为可展现的用户界面。在表单发布后,通过功能菜单管理,将新开发功能发布成可用的功能菜单。 步骤三、下面我们开始业务数据字典的定义。我们进行运行时界面根据用户数据展示,必须先定义业务数据字典,此处,我们设置关联在主模型上的文档类型字典来进行初始化,我们通过文档类型字典,增加两种文档类型,分别为"文本"和"图片",我们这样做的目的是,当用户选择"文本"型文档的时候,数据模型上的自定义字段1表示文本编码类型,当用户选择"图片"型文档的时候,数据模型上的自定义字段l表示图片类型,自定义字段2存储图片的縮略图,并且,在界面表现上,我们将自定义字段2显示出来,用来显示当前图片文档的縮略图。 步骤四、业务实体定义。下面我们开始在运行时进行定义,在框架下打开业务实体定义的界面,增加业务实体所在的目录描述,在定义业务实体时,选择我们在第一步定义好的数据模型,将单据类型设定为模型的"合同类型"字段,在表单列表中,选择好我们要控制的自定义表单,在资源信息中,此处我们只控制自定义项字段和自定义项界面,所以只选择"自定义项"即可。定义完成后,保存我们设定的业务实体。 步骤五、自定义项字段定义。在自定义 字段定义界面中,选定我们定义好的业务实体,然后新增业务模型,在新增业务模型时,在类型处选择"图片"类型,点击确定 后,进入Studio的数据模型设计器,在主模型上,将自定义字段l的编号和名称分别改为 "Gr即hType"和"图片类型",字段类型设置为String类型,长度为6,将自定义字段2的编 号和名称分别改为"Thumbnail"和"縮略图",将字段类型修改为"Binary"二进制类型。同 理,我们也要在同一个业务实体上增加另一个业务模型,这个业务模型上,我们选择"文本" 类型,进入设计器后,进行相应的字段设置即可。 步骤六、自定义项界面定义。在自定义项界面定义中,分别定义"图片"类型和"文
本"类型文档的不同界面,选中一种文档类型,选中对应的自定义表单,进入自定义表单设
计器后,通过拖拽、属性设定等方式对界面进行设定。设定完成后保存退出。 至此,通过运行时根据用户自定义信息进行字段和界面展示的过程已经定义完
毕,我们可以通过功能菜单中打开对应的功能,看到我们所要的效果。
权利要求
一种运行时根据用户自定义信息进行界面展示方法,其特征在于,步骤包括系统将原有的“元数据”抽象分为“技术元数据”和“业务元数据”,技术元数据用来描述初始的业务结构、业务逻辑以及业务展示数据,而业务元数据则基于技术元数据描述特定业务场景下的业务结构、逻辑和展示数据,通过这种抽象的分离,将元数据扩展到在运行时进行修改和设定,从而延展了元数据的定义能力,增加了用户自定义单据的动态能力和灵活性,丰富了“自定义表单”技术的强大展现能力;用户通过“业务实体”的定义,将业务实体绑定“数据模型”并指定模型对应的单据类型字段,通过业务实体,将对应表单以及实体需要的资源,包括编号规则设定、工作流程设定、自定义项定义和打印格式定义进行关联设定;用户在运行时根据单据类型进行自定义项的定义,通过“自定义项字段定义”,将已有的字段在不同的业务中定义为不同的数据类型和含义,满足数据类型多样化定义和运行时自定义的需求;用户在运行时根据单据类型进行自定义界面的定义,通过“自定义界面定义”,将已有的界面在不同的业务或者不同的场景中展现为不同的界面,满足界面设定多样化的需求;用户通过“打印格式定义”和“打印格式分配”,在运行时设定不同的业务或者不同的场景下同一单据界面使用不同的打印格式;用户通过“业务流程分配”功能,在运行时设定不同业务或者不同的场景下同一单据或者同一功能分别制定使用不同的业务流程,增加流程分配和选择的灵活性。
2. 根据权利要求1所述的方法,其特征在于,"元数据"是指模型驱动的GSP开发平台, 用来描述系统的各种行为的数据,包括描述数据表结构的数据对象元数据、描述数据逻辑 结构的数据模型元数据、描述展现表单的表单定义元数据、描述表单行为动态转换的状态 机元数据、描述表单扩展调用信息的构件元数据;通过元数据,构建了企业的应用系统,在 系统运行过程中,以解释元数据的方式控制着程序的行为和执行。
3. 根据权利要求1所述的方法,其特征在于,"技术元数据"是指对系统元数据的初始 描述,是业务场景的跟描述,相对而言,"业务元数据"则体现了业务的含义,在不同的业务 场景下,以"技术元数据"为根本,构造含有业务含义的元数据,从而为在不同的业务和场景 下赋予同一字段不同的业务含义、在不同的业务和场景下为同一单据展现不同的界面打下^石出。
4. 根据权利要求1所述的方法,其特征在于,"业务实体"通过描述指定单据类型的模 型信息和与之对应的表单以及相关数据资源之间的关系,定义了一个业务的含义集合,业 务实体是自定义项字段定义和自定义界面定义的基础。
5. 根据权利要求1所述的方法,其特征在于,"自定义项字段定义"是对数据模型的特 定字段进行特殊含义定义的一个过程和功能。
6. 根据权利要求1所述的方法,其特征在于,"自定义项界面定义"是对基于已有表单 展现方式,在不同业务场景中进行特殊界面设定的一种过程和功能。
7. 根据权利要求1所述的方法,其特征在于,"打印格式定义"和"打印格式分配"是通 过对打印格式在UI环境下的定义的描述,然后通过分配功能与具体的业务场景相绑定。
8. 根据权利要求1所述的方法,其特征在于,"业务流程分配"是指通过运行时将具体 的业务流程定义与业务相绑定,简化了用户对业务流程调用的操作。
全文摘要
本发明提供了一种运行时根据运行时数据进行字段定义和界面展示的方法,它提供了一种技术上的解决思路,通过在运行时对业务实体、自定义项字段和自定义项界面的定义来达到动态设定,以反应具有业务含义的模型和动态表达展现的目的,通过技术元数据和业务元数据两种概念,在设计时的业务无关和实际运行时的业务应用之间搭起了一座桥梁,巧妙的将两者融合起来,使得数据的存储和展现技术更加有效和灵活,使得表单的展现技术更加丰富和多样化。
文档编号G06F17/30GK101706720SQ20091023062
公开日2010年5月12日 申请日期2009年11月23日 优先权日2009年11月23日
发明者吴文杰, 尚有强, 朱诗严 申请人:浪潮集团山东通用软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1