CN103412743A - 一种基于xml的自动调用业务规则的方法 - Google Patents
一种基于xml的自动调用业务规则的方法 Download PDFInfo
- Publication number
- CN103412743A CN103412743A CN2013102946314A CN201310294631A CN103412743A CN 103412743 A CN103412743 A CN 103412743A CN 2013102946314 A CN2013102946314 A CN 2013102946314A CN 201310294631 A CN201310294631 A CN 201310294631A CN 103412743 A CN103412743 A CN 103412743A
- Authority
- CN
- China
- Prior art keywords
- xml
- node
- entity
- business rule
- assembly
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种基于XML的自动调用业务规则的方法,包括:S1、对用户请求URL进行处理,生成用户交互界面;S2、根据用户交互界面以及获取的用户交互界面上的业务操作指令生成实例化的实体XML;S3、对实体XML进行解析,进而对其绑定的业务规则进行调用。本发明的一种基于XML的自动调用业务规则的方法,灵活度高、开发效率高且用户友好性高,可广泛应用于软件产品开发中。
Description
技术领域
本发明涉及软件开发领域,特别是一种用于进行软件产品开发的基于XML的自动调用业务规则的方法。
背景技术
随着信息化的不断发展,软件产品的更新周期在加快,尤其是管理类软件也不断更新发展。推动管理类软件产品不断更新的动力如下:一方面是企业的管理理念不断创新,需要信息化技术的支持;另一方面是企业需要通过个性化管理,来提高企业的市场竞争力,需要信息技术的支撑。
目前,企业在信息化建设与实施上,通常有三种方式:(一)购买现有软件产品,迁就软件产品的管理方法;这种方式使得企业管理平民化,无法提升企业在管理上面的竞争优势;(二)购买软件产品,进行二次开发,用于满足企业的管理需要;但是产品化软件,在二次开发、维护与实施上的成本非常高,一般企业难以承受;(三)从无到有的个性化定制开发软件产品;个性化定制开发也就意味着高成本投入,甚至还意味着高风险,往往让企业望而止步。
随着现代的计算机技术和软件设计技术的发展,目前可以通过软件平台化设计来开发软件产品。但是目前软件平台与软件开发的系统中,主要是通过灵活的界面配置及功能配置,组装成不同的系统,当需要变化系统的业务规则时,还需要通过代码的二次开发,将界面、业务控制、以及数据访问进行二次组装。
综合看来,目前软件产品的开发无法避免代码开发,所以,对设计人员的设计能力要求较高,开发方式也较为单调,而且完成软件产品开发后必须进行相关调试,开发效率比较低。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种灵活度高、开发效率高且用户友好性高的可用于进行软件产品开发的基于XML的自动调用业务规则的方法。
本发明解决其技术问题所采用的技术方案是:
一种基于XML的自动调用业务规则的方法,包括:
S1、对用户请求URL进行处理,生成用户交互界面;
S2、获取用户交互界面的输入数据以及用户交互界面上的业务操作指令生成实例化的实体XML;
S3、对实例化的实体XML进行解析,获取对应的业务操作指令,进而对其绑定的业务规则进行调用。
进一步,所述步骤S3之后还包括以下步骤:
S4、将实例化的实体XML形成SQL数据并存储到数据库中。
进一步,所述步骤S1,其具体为:
根据用户请求URL,获取其对应的表单配置,并对表单配置进行解析后,调用相应的界面HTML控件,进而生成用户交互界面。
进一步,所述步骤S2,包括:
S21、根据用户交互界面对应的表单配置,获取该表单配置所绑定的实体XML结构;
S22、获取用户交互界面上的业务操作指令,并结合获取的实体XML结构进行初始化生成实体XML;
S23、循环读取用户交互界面上的每个HTML控件,获取该HTML控件的datafield属性,并判断该datafield属性的路径在实体XML中是否存在对应的节点,若存在则获取该节点,否则在实体XML中插入一个对应的节点;
S24、判断该HTML控件是否是容器控件,若不是,则获取该HTML控件的值域的值,并将该值赋值到对应的节点,否则直接执行步骤S25;
S25、判断是否所有HTML控件都遍历完成,若是,则返回该实体XML,否则继续执行步骤S23。
进一步,所述步骤S3,包括:
S31、对实例化的实体XML进行解析,获取对应的业务操作指令,并判断业务操作指令是否有绑定的业务规则,若有,则获取对应的业务规则并继续执行步骤S32,否则结束;
S32、读取业务规则的第一个节点,并判断该节点是操作节点还是引擎节点,若该节点是操作节点,则继续执行步骤S33,否则执行相应引擎操作并执行步骤S34;
S33、根据该节点的节点属性,调用相应的元组件;
S34、判断该节点是否是业务规则的最后一个节点,若不是,则返回步骤S32,否则结束。
进一步,所述步骤S33,其具体为:
根据该节点的节点属性,加载相应的适配器,并将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件。
进一步,所述节点属性包括元组件名称以及实体XML与元组件参数的转换关系。
进一步,所述步骤S33,其具体为:
根据该节点的节点属性中的元组件名称,加载相应的适配器,并通过XSLT将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件;
所述XSLT指实体XML与元组件参数的转换关系。
本发明的有益效果是:本发明的一种基于XML的自动调用业务规则的方法,通过将用户请求URL生成用户交互界面,并获取用户交互界面的输入数据以及的用户交互界面上的业务操作指令生成实例化的实体XML,进而可通过对实体XML进行解析来获得相应的业务操作指令,从而对业务操作指令绑定的业务规则进行调用。本方法可用于进行软件产品开发,灵活度高、开发效率高且用户友好性高。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种基于XML的自动调用业务规则的方法的流程图;
图2是图1中步骤S2的详细流程图;
图3是图1中步骤S3的详细流程图。
具体实施方式
参照图1,本发明提供了一种基于XML的自动调用业务规则的方法,包括:
S1、对用户请求URL进行处理,生成用户交互界面;
S2、获取用户交互界面的输入数据以及用户交互界面上的业务操作指令生成实例化的实体XML;
S3、对实例化的实体XML进行解析,获取对应的业务操作指令,进而对其绑定的业务规则进行调用。
进一步作为优选的实施方式,所述步骤S3之后还包括以下步骤:
S4、将实例化的实体XML形成SQL数据并存储到数据库中。
进一步作为优选的实施方式,所述步骤S1,其具体为:
根据用户请求URL,获取其对应的表单配置,并对表单配置进行解析后,调用相应的界面HTML控件,进而生成用户交互界面。
进一步作为优选的实施方式,参照图2,所述步骤S2,包括:
S21、根据用户交互界面对应的表单配置,获取该表单配置所绑定的实体XML结构;不同的表单配置,绑定了不同的实体XML结构,用户获取实体XML结构后,再结合业务操作指令以及用户交互界面的输入数据可生成实例化的实体XML;
S22、获取用户交互界面上的业务操作指令,并结合获取的实体XML结构进行初始化生成实体XML;根据获取的实体XML结构可进行初始化生成一个空的实体XML,这里,初始化时将获取的业务操作指令也绑定到该空的实体XML上;
S23、循环读取用户交互界面上的每个HTML控件,获取该HTML控件的datafield属性,并判断该datafield属性的路径在实体XML中是否存在对应的节点,若存在则获取该节点,否则在实体XML中插入一个对应的节点;假如在初始化时,实体XML为空,则第一次执行本步骤时插入一个与datafield属性的路径对应的节点,后续执行时根据具体情况读取路径所对应的节点或插入一个路径所对应的节点;datafield属性及路径所对应的节点均是软件设计中常用的属性,这里用于辅助生成实体XML;因为路径不一定在实体XML中存在对应的节点,因此这里须进行判断后再执行其它操作;
S24、判断该HTML控件是否是容器控件,若不是,则获取该HTML控件的值域的值,并将该值赋值到对应的节点,否则直接执行步骤S25;因为每个HTML控件都有一个值域,所以可以其值域的值赋值到上一步骤获取或者生成的对应的节点;容器控件是软件设计领域的常用控件,可认为是包括其它控件的控件,例如table控件;
S25、判断是否所有HTML控件都遍历完成,若是,则返回该实体XML,否则继续执行步骤S23。这里,返回的实体XML即前面提到的实例化的实体XML。
进一步作为优选的实施方式,参照图3,所述步骤S3,包括:
S31、对实例化的实体XML进行解析,获取对应的业务操作指令,并判断业务操作指令是否有绑定的业务规则,若有,则获取对应的业务规则并继续执行步骤S32,否则结束;
S32、读取业务规则的第一个节点,并判断该节点是操作节点还是引擎节点,若该节点是操作节点,则继续执行步骤S33,否则执行相应引擎操作并执行步骤S34;
S33、根据该节点的节点属性,调用相应的元组件;
S34、判断该节点是否是业务规则的最后一个节点,若不是,则返回步骤S32,否则结束。
步骤S3是通过对实体XML进行解析,基于不同业务操作指令所绑定的业务规则,对业务规则进行调用。业务规则包括多个节点,对应多个元组件,因此这里对业务规则的调用,体现为按照节点顺序调用相应的元组件。
进一步作为优选的实施方式,所述步骤S33,其具体为:
根据该节点的节点属性,加载相应的适配器,并将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件。
进一步作为优选的实施方式,所述节点属性包括元组件名称以及实体XML与元组件参数的转换关系。
进一步作为优选的实施方式,所述步骤S33,其具体为:
根据该节点的节点属性中的元组件名称,加载相应的适配器,并通过XSLT将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件;
所述XSLT指实体XML与元组件参数的转换关系。
本发明的一具体实施例如下:
一种基于XML的自动调用业务规则的方法,包括:
S1、对用户请求URL进行处理,生成用户交互界面;
S2、获取用户交互界面的输入数据以及用户交互界面上的业务操作指令生成实例化的实体XML,包括:
S21、根据用户请求URL,获取其对应的表单配置,并对表单配置进行解析后,调用相应的界面HTML控件,进而生成用户交互界面;
S22、获取用户交互界面上的业务操作指令,并结合获取的实体XML结构进行初始化生成实体XML;业务操作指令包括保存、删除、修改及增加等,是根据用户对用户交互界面上的界面HTML控件的操作获得的;
S23、循环读取用户交互界面上的每个HTML控件,获取该HTML控件的datafield属性,并判断该datafield属性的路径在实体XML中是否存在对应的节点,若存在则获取该节点,否则在实体XML中插入一个对应的节点;
S24、判断该HTML控件是否是容器控件,若不是,则获取该HTML控件的值域的值,并将该值赋值到对应的节点,否则直接执行步骤S25;
S25、判断是否所有HTML控件都遍历完成,若是,则返回该实体XML,否则继续执行步骤S23。
S3、对实例化的实体XML进行解析,获取对应的业务操作指令,进而对其绑定的业务规则进行调用,包括:
S31、对实例化的实体XML进行解析,获取对应的业务操作指令,并判断业务操作指令是否有绑定的业务规则,若有,则获取对应的业务规则并继续执行步骤S32,否则结束;
S32、读取业务规则的第一个节点,并判断该节点是操作节点还是引擎节点,若该节点是操作节点,则继续执行步骤S33,否则执行相应引擎操作并执行步骤S34;这里,操作节点对应的是保存、删除、修改及增加等运算处理操作,引擎节点对应的为循环、判断等逻辑操作,执行相应引擎操作即根据引擎节点的类型执行相应的操作,例如执行if语句,for语句等;
S33、根据该节点的节点属性中的元组件名称,加载相应的适配器,并通过XSLT将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件。节点属性包括元组件名称以及实体XML与元组件参数的转换关系,本步骤中的XSLT指实体XML与元组件参数的转换关系。
S34、判断该节点是否是业务规则的最后一个节点,若不是,则返回步骤S32,否则结束。
S4、将实例化的实体XML形成SQL数据并存储到数据库中。这里,将实例化的实体XML形成SQL数据并存储到数据库中,因此后续处理中可根据获取的指令,将查询到的二维表数据实例化成实体XML。
需要注意的是,在在调用一些元组件时,会因为操作系统,或者其支持环境问题,需要开发一些可以调用这类元组件的元组件(即本发明中提到的适配器),因此本实施例中采用了基于XML的数据库访问元组件的适配器。
本方法的重点在于通过实体XML进行业务规则的调用,本实施例是将获取的用户交互界面的业务操作指令也用于生成实体XML,后续对实体XML进行解析来获得业务操作指令,进而进行业务规则的调用。实际处理中,也可以采用直接对业务操作指令建立索引并与实体XML进行关联,后续通过对实体XML进行解析获得相应的索引数据,然后进行业务规则的调用等实施方式。任何对本方法的等同替换都在本发明的保护范围内。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种基于XML的自动调用业务规则的方法,其特征在于,包括:
S1、对用户请求URL进行处理,生成用户交互界面;
S2、获取用户交互界面的输入数据以及用户交互界面上的业务操作指令生成实例化的实体XML;
S3、对实例化的实体XML进行解析,获取对应的业务操作指令,进而对其绑定的业务规则进行调用。
2.根据权利要求1所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S3之后还包括以下步骤:
S4、将实例化的实体XML形成SQL数据并存储到数据库中。
3.根据权利要求1所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S1,其具体为:
根据用户请求URL,获取其对应的表单配置,并对表单配置进行解析后,调用相应的界面HTML控件,进而生成用户交互界面。
4.根据权利要求3所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S2,包括:
S21、根据用户交互界面对应的表单配置,获取该表单配置所绑定的实体XML结构;
S22、获取用户交互界面上的业务操作指令,并结合获取的实体XML结构进行初始化生成实体XML;
S23、循环读取用户交互界面上的每个HTML控件,获取该HTML控件的datafield属性,并判断该datafield属性的路径在实体XML中是否存在对应的节点,若存在则获取该节点,否则在实体XML中插入一个对应的节点;
S24、判断该HTML控件是否是容器控件,若不是,则获取该HTML控件的值域的值,并将该值赋值到对应的节点,否则直接执行步骤S25;
S25、判断是否所有HTML控件都遍历完成,若是,则返回该实体XML,否则继续执行步骤S23。
5.根据权利要求4所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S3,包括:
S31、对实例化的实体XML进行解析,获取对应的业务操作指令,并判断业务操作指令是否有绑定的业务规则,若有,则获取对应的业务规则并继续执行步骤S32,否则结束;
S32、读取业务规则的第一个节点,并判断该节点是操作节点还是引擎节点,若该节点是操作节点,则继续执行步骤S33,否则执行相应引擎操作并执行步骤S34;
S33、根据该节点的节点属性,调用相应的元组件;
S34、判断该节点是否是业务规则的最后一个节点,若不是,则返回步骤S32,否则结束。
6.根据权利要求5所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S33,其具体为:
根据该节点的节点属性,加载相应的适配器,并将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件。
7.根据权利要求6所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述节点属性包括元组件名称以及实体XML与元组件参数的转换关系。
8.根据权利要求7所述的一种基于XML的自动调用业务规则的方法,其特征在于,所述步骤S33,其具体为:
根据该节点的节点属性中的元组件名称,加载相应的适配器,并通过XSLT将实体XML转换成元组件参数,进而通过适配器结合该元组件参数调用相应的元组件;
所述XSLT指实体XML与元组件参数的转换关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310294631.4A CN103412743B (zh) | 2013-07-12 | 2013-07-12 | 一种基于xml的自动调用业务规则的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310294631.4A CN103412743B (zh) | 2013-07-12 | 2013-07-12 | 一种基于xml的自动调用业务规则的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412743A true CN103412743A (zh) | 2013-11-27 |
CN103412743B CN103412743B (zh) | 2016-06-22 |
Family
ID=49605756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310294631.4A Active CN103412743B (zh) | 2013-07-12 | 2013-07-12 | 一种基于xml的自动调用业务规则的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412743B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228173A (zh) * | 2018-01-16 | 2018-06-29 | 北明软件有限公司 | 一种可视化的数据接口开发系统和方法 |
CN109375917A (zh) * | 2018-11-01 | 2019-02-22 | 中国矿业大学(北京) | 基于xml的道路养护信息管理系统生成方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040061713A1 (en) * | 2000-09-12 | 2004-04-01 | Jennings Terry D. | Mark-up language implementation of graphical or non-graphical user interfaces |
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101339559A (zh) * | 2008-07-18 | 2009-01-07 | 北京航空航天大学 | 一种数据持久化实现方法 |
CN101661512A (zh) * | 2009-09-25 | 2010-03-03 | 万斌 | 一种识别传统表单信息并创建对应Web表单的系统及方法 |
CN101699393A (zh) * | 2009-10-09 | 2010-04-28 | 中国电子科技集团公司第二十八研究所 | 一种面向网络的智能化软件界面动态生成方法 |
-
2013
- 2013-07-12 CN CN201310294631.4A patent/CN103412743B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040061713A1 (en) * | 2000-09-12 | 2004-04-01 | Jennings Terry D. | Mark-up language implementation of graphical or non-graphical user interfaces |
CN101339559A (zh) * | 2008-07-18 | 2009-01-07 | 北京航空航天大学 | 一种数据持久化实现方法 |
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101661512A (zh) * | 2009-09-25 | 2010-03-03 | 万斌 | 一种识别传统表单信息并创建对应Web表单的系统及方法 |
CN101699393A (zh) * | 2009-10-09 | 2010-04-28 | 中国电子科技集团公司第二十八研究所 | 一种面向网络的智能化软件界面动态生成方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228173A (zh) * | 2018-01-16 | 2018-06-29 | 北明软件有限公司 | 一种可视化的数据接口开发系统和方法 |
CN108228173B (zh) * | 2018-01-16 | 2021-08-31 | 北明软件有限公司 | 一种可视化的数据接口开发系统和方法 |
CN109375917A (zh) * | 2018-11-01 | 2019-02-22 | 中国矿业大学(北京) | 基于xml的道路养护信息管理系统生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103412743B (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN107451214B (zh) | 一种非主键查询方法和分布式NewSQL数据库系统 | |
US9800675B2 (en) | Methods for dynamically generating an application interface for a modeled entity and devices thereof | |
US9256413B2 (en) | Automatic identification of services | |
CN111027921B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
US8209710B2 (en) | Implementation system for business applications | |
CN102542382B (zh) | 业务规则的操作方法和装置 | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
CN103714137B (zh) | 一种数据文件的删除方法和系统 | |
CN102508669A (zh) | 一种程序代码自动生成方法 | |
CN104571026A (zh) | 全流程冶金制造执行系统构建平台及构建方法 | |
CN104317595A (zh) | 基于svg的后台推送的组件化图形监控装置及其运行方法 | |
US9269113B2 (en) | Energy management system and a screen generation method thereof | |
CN102761443A (zh) | 命令行的配置方法及装置 | |
US8239371B2 (en) | Fast search views over business objects | |
CN105573774A (zh) | 应用程序参数管理及配置方法 | |
US9330372B2 (en) | Generating an improved development infrastructure | |
CN110019207B (zh) | 数据处理方法和装置以及脚本显示方法和装置 | |
CN103412743B (zh) | 一种基于xml的自动调用业务规则的方法 | |
CN101458628A (zh) | 一种程序版本管理方法 | |
CN101685395A (zh) | 用于产品数据管理系统的对象属性处理方法 | |
Jelliti et al. | A model based framework supporting ITIL Service IT Management | |
US20130103724A1 (en) | Network and method for managing models | |
CN104040537A (zh) | 数据库查询的自动生成和执行的系统及方法 | |
Luh et al. | A hierarchical deployment of distributed product lifecycle management system in collaborative product development |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 510663 Tianhe District, Guangzhou Province, into the road into the north of the Ming software building, No. 7, layer 1, 8 Patentee after: BEIMING SOFTWARE CO., LTD. Address before: 510663 Tianhe District, Guangzhou Province, into the road into the north of the Ming software building, No. 7, layer 1, 8 Patentee before: Beiming Software Co., Ltd. |