一种基于元数据的定制业务单据的方法及装置的制作方法

文档序号:6469899阅读:163来源:国知局
专利名称:一种基于元数据的定制业务单据的方法及装置的制作方法
技术领域
本发明涉及元数据的业务单据定制技术,特别涉及一种基于元数据的定制 业务单据的方法及装置。
背景技术
业务单据功能是业务软件系统中非常常见、非常重要的核心功能组成,也 是业务逻辑非常复杂、相似点最多、变化几率最大的功能部分。现在业界常见 的定制技术有单纯的业务单据定制技术和带单据业务逻辑的业务单据开发技 术。
其中,在单纯的页面表单定制技术中,要求软件设计者在定义业务单据数 据模型时必须先确定所有类型单据的通用字段,预留许多扩展字段。业务单据 数据模型与其辅助的关联数据模型通过一个庞大的数据关联视图建立联系。这
种技术制约点在于,由于数据模型的庞大,会降低业务软件系统的运行效率; 同时由于开发完成的数据模型基本上不能进行扩展或者扩展的成本高,且单据 的业务逻辑必须不能改变。
另外,带单据业务逻辑的业务单据开发技术,基本是以上技术的一种改进, 引入软件开发模式中模式-视图-控制器(Model-View-Controller, MVC )架构, 将业务单据表单部分与业务单据的业务逻辑部分进行分离开发,降低了软件的
耦合度,提高了开发效率。但是,由于业务逻辑通常是固定一种单据对应一个 固定业务逻辑,因此无法满足业务单据的业务逻辑多变性的要求。

发明内容
本发明要解决的技术问题是,提供一种基于元数据的定制业务单据的方法 及装置,能够满足业务单据多变性的特性,提高软件开发效率,降低软件维护 成本。
本发明的基于元数据的定制业务单据的方法,包括下列步骤
步骤A:通过页面模板设计工具开发绘制单据表单静态超文本标记语言
HTML页面模板界面,抽取所述页面模板界面中的页面控件元素,存入数据库,
并输出单据的页面元数据;
步骤B:进行业务单据模型设计,并抽取单据,生成业务单据元数据; 步骤C:进行服务模型设计,开发原子服务并将所述原子服务组装生成服
务元数据;
步骤D:根据不同的业务请求进行业务单据定制,将页面元数据、单据模 型元数据、服务元数据组装成一个实现业务单据关联模型。
其中,在所述步骤C中,进行服务模型设计时,可以包括下列步骤将 业务单据的处理逻辑进行细粒度的服务化编写,服务之间的关系的定义在服务
模型设计时产生,并由单据引擎负责服务之间的协调与通讯,通过WEB在业 务系统运行时进行在线调整与规范。
另外,在所述步骤C中,所述原子服务可以包括简单属性校验、复杂 校验、单据入库、提交。
其中,在所述步骤D中,可以通过所述步骤A中的页面模板设计工具进 行绘制页面模板界面,将所述步骤B中设计的业务单据元数据结构和所述步 骤C中设计的单据模板结构之间建立起关联关系。
其中,所述建立起关联关系,可以包括下列步骤建立所述业务单据元数 据的相关字段属性与所述HTML页面才莫板中页面控件元素的关联关系,建立 单据引擎中的服务标签与服务元数据的关联关系。
另外,所述步骤A中的页面模板设计工具可以为集成开发工具IDT,并 通过所述集成开发工具IDT实现所述步骤B中所述业务单据模型设计和所述 步骤C中所述服务模型设计。
进一步地,在4丸行步骤D之后,可以包括下列步骤根据业务的变化, 通过在线定制工具改变业务单据的页面表单名称与属性、改变业务单据的业务 逻辑。
进一步地,在所述单据页面进行初始化时,可以包括下列步骤 用户发起页面请求,通过HTTP请求传入服务器端;单据引擎拦截HTTP 请求,分析所述请求的类型,传递给对应的单据引擎处理器进行处理;相应的 单据引擎处理器根据所述业务单据关联模型解析页面元数据、业务单据模型元
数据、服务元数据之间关系,根据页面模板动态生成单据表单页面;所述单据 引擎返回生成的单据表单页面,展示数据,完成单据表单的初始化。 另外,在单据引擎服务元数据进行处理时,可以包括下列步骤 用户发起HTTP服务请求;单据引擎拦截HTTP服务请求,分析所述请 求的类型;单据引擎处理器根据所述业务单据关联模型解析服务元数据,根据 服务元数据中定义的原子服务之间的关系生成原子服务之间的关系逻辑图;单 据引擎根据所述原子服务之间的关系逻辑图,组装运行逻辑,按照所述运行逻 辑依次执行,单据引擎执行完服务逻辑后,将处理结果返回给请求用户;如果 在原子服务处理中遇到不符合逻辑的请求,则所述单据引擎处理器终止当前服 务请求,返回前端用户,并给用户相关提示。
本发明的基于元数据的定制业务单据的装置,可以包括设计单元、执行单 元和业务单据关联单元,其中,所述设计单元,用于通过页面模板设计工具开
发绘制单据表单静态超文本标记语言HTML页面模板界面、进行业务单据模 型设计以及进行服务模型设计;所述执行单元,用于抽取所述设计单元设计的 页面模板界面中的页面控件元素,存入数据库,并输出单据的页面元数据;用 于在所述设计单元进行服务模型设计后,开发原子服务并将所述原子服务组装 生成服务元数据;以及用于在进行业务单据模型设计后,抽取单据,并生成业 务单据元数据;所述业务单据关联单元,用于根据不同的业务请求进行业务单 据定制,将所述执行单元中生成的页面元数据、单据模型元数据、服务元数据 组装成一个实现业务单据关联模型。
其中,在所述设计单元中,页面模板设计工具可以为集成开发工具IDT, 并通过集成开发工具IDT进行所述业务单据模型设计以及进行服务模型设计。
进一步地,可以包括在线定制单元,用于根据业务的变化改变业务单据的 页面表单名称与属性、改变业务单据的业务逻辑。
本发明的有益效果是依照本发明的基于元数据的定制业务单据的方法及 装置,利用元数据技术,通过页面模板设计、业务单据模型设计、服务模型设 计,将单据表单与单据业务逻辑进行分离,能够解决业界单据开发中常见的单 据逻辑固定、代码重用率低、维护成本高的问题;通过采用面向服务架构SOA 技术,将单据业务逻辑进行细粒度的服务化编写和组装,解决业务单据的业务
逻辑耦合性强,不能动态改变的技术难点;通过采用Web在线动态定制技术, 对数据模型元数据,页面模板元数据,服务元数据进行动态组装,从而定制一 个包含了动态业务逻辑的单据,对页面元素、数据字段等的改变不会导致重新 修改代码,不会终止业务软件系统的运行,满足了业务单据多变性的特性,从 而提高软件开发效率,降低了软件维护成本,达到软件系统使用者和软件系统 开发者双贏的完美结合。


图1为本发明系统结构组成示意图; 图2为本发明的单据元数据关联模型示意图; 图3为本发明单据引擎中页面表单处理流程示意图; 图4为本发明单据引擎中服务逻辑处理流程示意图。
具体实施例方式
以下,参考附图1~4详细描述本发明的基于元数据的定制业务单据的方法 及装置。
如图l所示,为本发明的单据定制的结构组成示意图。
步骤101:通过页面模板设计工具,例如集成开发工具(Integration Develop Tools, IDT),开发绘制单据表单静态超文本标记语言(Hypertext Markup Language, HTML)页面模板界面,抽取页面控件元素,存入数据库,并输出 单据的页面元数据。其中,页面元数据是单据的展示部分,也是最容易被要求 进行改变的地方。另外,需要说明的是,本发明中的元数据是指在程序中不 是被加工的对象,而是通过其值的改变来改变程序的行为的数据。
其中,集成开发工具IDT就是一个以Eclipse为基础的代码编辑工具以及 一些为提高开发效率而增加的一些插件工具。其中,Eclipse是一个开放源代 码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组 服务,用于通过插件组件构建开发环境。另外,Eclipse附带了一个标准的插 件集,包括Java开发工具(Java Development Tools, JDT )。
步骤102:使用集成开发工具IDT对业务单据模型进行设计,设计单据模 型关系图,并抽取单据,生成业务单据元数据。
其中,在步骤102中,业务单据模型反应了业务单据元数据的结构形式及
相互之间的关系,是业务单据的基础。本发明设计了一个核心的业务单据数据 表结构,为了表现单据其他辅助信息的关系,同时建立一些辅助的外围信息表
结构,它们之间通过主键(PK)和外键(FK)进行关联,然后生成业务单据 元数据。
其中,主键唯一标识表中的所有行的一个列或一组列,其中,主键不允许 空值,且由于不能存在具有相同的主键值的两个行,因此主键值总是唯一标识 单个行;外键是用于建立和加强两个表数据之间的链接的一列或多列,通过将 保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。 例如设计核心业务单据数据表结构A表,人员信息数据表B,部门信息数 据表C。 A表中有B表和C表的主键进行关联。A表作为主表基本保持不变, B、 C表作为从表可以根据现实需要进行改变。
步骤103:进行服务模型设计,使用集成开发工具IDT开发简单属性校验, 复杂校验原子服务,单据入库、提交等原子服务,并将这些原子服务组装生成 服务元数据。
其中,原子服务是指不可再分解为更细粒度的服务。另外, 一个服务可能 由多个原子服务组成,例如,删除服务可能有一个"是否可以删除"的原子校 验服务和一个真实的删除数据库中记录的删除原子服务组成。
另外,步骤103需要业务单据引擎实现。根据基于面向服务架构 (Service-Oriented Architecture, SOA)中"服务,,的概念,本发明将业务单据 的处理逻辑进行细粒度的服务化编写。服务之间的关系(服务元数据)的定义 在服务模型设计时产生,并由单据引擎负责服务之间的协调与通讯,同时也可 以通过WEB部分功能在业务系统运行时进行在线调整与规范。
其中,如上所述的细粒度的服务化编写是指那些能够提供少量商业流程可 用性的服务,例如基本的数据访问服务,区别于粗粒度服务的提供完整商业功 能级。
例如,开发一个报销业务单据的保存功能的服务元数据,其中可能包括唯 一性校验服务L、报销金额范围校验服务M以及写数据库服务N。例如,单 据中包含一个单据的"单据编号"属性,该属性在所有单据中是不能重复的, 那么需要在保存这张单据时,必须预先判断该"单据编号"是否已经使用,则
提供一个单据编号唯一性校验服务,定义它们依次运行。
步骤104:进行业务单据定制,将页面元数据、单据模型元数据、服务元 数据组装成一个实现业务单据关联模型。
具体地,通过步骤IOI中的页面模板设计工具进行绘制页面模板界面,将 步骤102中设计的业务单据元数据结构和步骤103中设计的单据模板结构之间 建立起关联关系。例如建立业务单据元数据的相关字段属性与页面模板中的 HTML控件关联关系,建立单据引擎中的服务标签与服务元数据的关联关系。
根据步骤ioi中的页面模板设计生成页面元数据、步骤102中的业务单据 模型设计生成的业务单据元数据、以及步骤103中的服务^^莫型设计生成的服务 元数据,建立各个元数据之间的关联关系,生成业务单据元数据关联模型,如 图2所示。
另夕卜,为了满足业务单据多变的特性,本发明可以灵活定制单据,具体地, 包括下列步骤
步骤105:软件系统部署后,根据业务的变化,通过在线定制工具灵活改 变业务单据的页面表单名称与属性,改变业务单据的业务逻辑。
其中,在步骤105中,可以通过服务后台功能的热部署机制,业务表单静 态页面WEB在线动态修改,实时展现机制满足这些需求。例如软件系统部 署后,可以在线修改单据表单属性筒单校验规则(例如,属性是否必填、为空、 以及长短等校验),单据表单的文字说明的动态改变等;如上例所述的开发一 个报销业务单据的保存功能的服务元数据中,需要对保存功能增加一个报销人 员部门判断逻辑服务D,可以将该服务功能进行热部署,然后通过业务单据引 擎WEB部分功能将该服务D注入该服务元数据中,从而动态改变、定制了报 销单据服务元数据的业务逻辑。
其中,热部署机制是指,在正在运行时的应用程序升级时,不需要重新启 动应用。对于Javaweb应用程序来说,热部署就是在运行时更新Java类文件, 而不启动类似于tomcat、 websphere、 weblogic等容器。
如图3所示,为单据页面初始化流程示意图,包括下列步骤 步骤201:用户发起页面请求,通过HTTP请求传入服务器端; 步骤202:单据引擎拦截HTTP请求,分析该请求的类型,传递给对应的
单据引擎处理器进行处理;
步骤203:单据引擎处理器根据业务单据关联模型解析页面元数据,业务 单据模型元数据,服务元数据之间关系,根据页面模板动态生成单据表单页面;
步骤204:单据引擎返回生成的单据表单页面,展示数据,完成单据表单 的初始化。
如图4所示,为单据引擎服务元数据处理流程示意图,包括下列步骤 步骤301:用户发起HTTP服务请求。
其中,在步骤301中,HTTP服务请求可以包括保存单据请求,删除单据
请求,查看单据请求等;
步骤302:单据引擎拦截HTTP服务请求,分析该请求的类型; 步骤303:单据引擎处理器根据步骤104中的业务单据关联模型解析服务
元数据,根据服务元数据中定义的原子服务之间的关系生成原子服务之间的关
系逻辑其中,在步骤303中,该关系逻辑图应该理解为虚拟的,就是各服务之间 的关系,例如,所有的原子服务信息记录在服务容器中,如果定义一个保存功 能,需要哪些服务,就从这里面去查找,规定它们的执行顺序。
步骤304:单据引擎根据步骤303生成的原子服务之间的关系逻辑图,组 装运行逻辑,按照运行逻辑依次执行,在原子服务处理中如果遇到不符合逻辑 的请求,处理器终止请求,返回前端用户,并给用户相关提示;
步骤305:单据引擎执行完服务逻辑,并将处理结果返回给请求用户。
本发明的基于元数据的定制业务单据的装置,包括设计单元、执行单元和 业务单据关联单元。
其中,设计单元,用于通过页面模板设计工具开发绘制单据表单静态超文 本标记语言HTML页面模板界面、进行业务单据模型设计以及进行服务模型 设计。
执行单元,用于抽取设计单元设计的页面模板界面中的页面控件元素,存 入数据库,并输出单据的页面元数据;用于在设计单元进行服务模型设计后, 开发原子服务并将原子服务组装生成服务元数据;以及用于在进行业务单据模 型设计后,抽取单据,并生成业务单据元数据。
业务单据关联单元,用于根据不同的业务请求进行业务单据定制,将执行 单元中生成的页面元数据、单据模型元数据、服务元数据组装成一个实现业务 单据关联模型。
另夕卜,还可以进一步包括在线定制单元,用于根据业务的变化改变业务单 据的页面表单名称与属性、改变业务单据的业务逻辑。
综上所述,依照本发明的基于元数据的定制业务单据的方法及装置,利用 元数据技术,通过页面模板设计、业务单据模型设计、服务模型设计,将单据 表单与单据业务逻辑进行分离,能够解决业界单据开发中常见的单据逻辑固
定、代码重用率低、维护成本高的问题;并采用SOA^R术,将单据业务逻辑 进行细粒度的服务化编写和组装,解决业务单据的业务逻辑耦合性强,不能动 态改变的技术难点;釆用Web在线动态定制技术,对数据模型元数据,页面 模板元数据,服务元数据进行动态组装,从而定制一个包含了动态业务逻辑的 单据,对页面元素、数据字段等的改变不会导致重新修改代码,不会终止业务 软件系统的运行,满足了业务单据多变性的特性,从而提高软件开发效率,降 低了软件维护成本,达到软件系统使用者和软件系统开发者双贏的完美结合。 以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细 描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其 它的变化和修改,这些变化和修改均在本发明的保护范围内。
权利要求
1.一种基于元数据的定制业务单据的方法,其特征在于,包括下列步骤步骤A通过页面模板设计工具开发绘制单据表单静态超文本标记语言HTML页面模板界面,抽取所述页面模板界面中的页面控件元素,存入数据库,并输出单据的页面元数据;步骤B进行业务单据模型设计,并抽取单据,生成业务单据元数据;步骤C进行服务模型设计,开发原子服务并将所述原子服务组装生成服务元数据;步骤D根据不同的业务请求进行业务单据定制,将页面元数据、单据模型元数据、服务元数据组装成一个实现业务单据关联模型。
2. 如权利要求1所述的基于元数据的定制业务单据的方法,其特征在于, 在所述步骤C中,进行服务模型设计时,包括下列步骤将业务单据的处理 逻辑进行细粒度的服务化编写,服务之间的关系的定义在服务模型设计时产 生,并由单据引擎负责服务之间的协调与通讯,通过WEB在业务系统运行时 进行在线调整与规范。
3. 如权利要求1所述的基于元数据的定制业务单据的方法,其特征在于, 在所述步骤C中,所述原子服务包括简单属性校验、复杂校验、单据入库、 提交。
4. 如权利要求1所述的基于元数据的定制业务单据的方法,其特征在于, 在所述步骤D中,通过所述步骤A中的页面模板设计工具进行绘制页面模板 界面,将所述步骤B中设计的业务单据元数据结构和所述步骤C中设计的单 据模板结构之间建立起关联关系。
5. 如权利要求4所述的基于元数据的定制业务单据的方法,其特征在于, 所述建立起关联关系,包括下列步骤建立所述业务单据元数据的相关字段属 性与所述HTML页面模板中页面控件元素的关联关系,建立单据引擎中的服 务标签与服务元数据的关联关系。
6. 如权利要求1至5中任一项所述的基于元数据的定制业务单据的方法, 其特征在于,所述步骤A中的页面模板设计工具为集成开发工具IDT,并通过所述集成开发工具IDT实现所述步骤B中所述业务单据^t型设计和所述步 骤C中所述服务模型设计。
7. 如权利要求6所述的基于元数据的定制业务单据的方法,其特征在于, 在执行步骤D之后,进一步包括下列步骤根据业务的变化,通过在线定制 工具改变业务单据的页面表单名称与属性、改变业务单据的业务逻辑。
8. 如权利要求7所述的基于元数据的定制业务单据的方法,其特征在于, 在所述单据页面进行初始化时,包括下列步骤用户发起页面请求,通过HTTP请求传入服务器端; 单据引擎拦截HTTP请求,分析所述请求的类型,传递给对应的单据引擎 处理器进行处理;相应的单据引擎处理器根据所述业务单据关联模型解析页面元数据、业务单据模型元数据、服务元数据之间关系,根据页面模板动态生成单据表单页面; 所述单据引擎返回生成的单据表单页面,展示数据,完成单据表单的初始化。
9. 如权利要求7所述的基于元数据的定制业务单据的方法,其特征在于, 在单据引擎服务元数据进行处理时,包括下列步骤用户发起HTTP服务请求;单据引擎拦截HTTP服务请求,分析所述请求的类型; 单据引擎处理器根据所述业务单据关联模型解析服务元数据,根据服务元 数据中定义的原子服务之间的关系生成原子服务之间的关系逻辑图;单据引擎根据所述原子服务之间的关系逻辑图,组装运行逻辑,按照所述 运行逻辑依次执行,单据引擎执行完服务逻辑后,将处理结果返回给请求用户; 如果在原子服务处理中遇到不符合逻辑的请求,则所述单据引擎处理器终止当前服务请求,返回前端用户,并给用户相关提示。
10. —种基于元数据的定制业务单据的装置,其特征在于,包括设计单元、 执行单元和业务单据关联单元,其中,所述设计单元,用于通过页面模板设计工具开发绘制单据表单静态超文本 标记语言HTML页面模板界面、进行业务单据模型设计以及进行服务模型设 计;所述执行单元,用于抽取所述设计单元设计的页面模板界面中的页面控件元素,存入数据库,并输出单据的页面元数据;用于在所述设计单元进行服务 模型设计后,开发原子服务并将所述原子服务组装生成服务元数据;以及用于 在进行业务单据模型设计后,抽取单据,并生成业务单据元数据;所述业务单据关联单元,用于根据不同的业务请求进行业务单据定制,将 所述执行单元中生成的页面元数据、单据模型元数据、服务元数据组装成一个 实现业务单据关联模型。
11. 如权利要求10所述的基于元数据的定制业务单据的装置,其特征在 于,在所述设计单元中,页面模板设计工具为集成开发工具IDT,并通过集成 开发工具IDT进行所述业务单据模型设计以及进行服务模型设计。
12. 如权利要求10所述的基于元数据的定制业务单据的装置,其特征在 于,进一步包括在线定制单元,用于根据业务的变化改变业务单据的页面表单 名称与属性、改变业务单据的业务逻辑。
全文摘要
本发明提供一种基于元数据的定制业务单据的方法及装置,其中,该方法包括下列步骤步骤A通过页面模板设计工具开发绘制单据表单静态超文本标记语言HTML页面模板界面,抽取所述页面模板界面中的页面控件元素,存入数据库,并输出单据的页面元数据;步骤B进行业务单据模型设计,并抽取单据,生成业务单据元数据;步骤C进行服务模型设计,开发原子服务并将所述原子服务组装生成服务元数据;步骤D根据不同的业务请求进行业务单据定制,将页面元数据、单据模型元数据、服务元数据组装成一个实现业务单据关联模型。本发明能够满足业务单据多变性的特性,提高软件开发效率,降低软件维护成本。
文档编号G06F9/44GK101359290SQ20081021194
公开日2009年2月4日 申请日期2008年9月11日 优先权日2008年9月11日
发明者袁仁智, 陈心哲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1