论文申报系统中规则生成/解析引擎的设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:zfzhy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:论文申报系统中规则生成/解析引擎用于处理系统中的规则信息,实现专业论文审核通过标准中课程及成绩之间的逻辑关系与考生实际课程、成绩的映射。它主要包括规则生成引擎与规则解析引擎,规则生成引擎可以处理系统中的群组条件信息并生成使用ETJRDL描述的XML规则文件来定义系统中的审核规则,规则解析引擎处理XML规则文件并获取审核规则信息。
  关键词: 规则生成引擎;规则解析引擎
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)31-0084-02
  论文申报系统服务器端运行于WEB容器中,它响应来自客户端的访问请求,处理来自客户端的各种系统信息并完成相应的业务处理与数据信息持久功能,它主要包括规则生成/解析引擎、业务处理、数据持久等功能模块。本文根据实际的应用需求,大多情况选择Castor框架来实现XML文件与内存Java对象的映射,并基于此实现规则生成/解析引擎。
  1 数据绑定对象(DBO)模式与Castor
  使用ETJRDL描述的XML规则文件来记录系统中的规则信息,需要一种高效的方式处理这些XML文件,以获取系统业务逻辑处理需要的规则信息。这需要将XML文档数据转换为业务数据,也就是实现XML文档数据与内存中Java对象的映射。随着XML相关技术的发展,业界出现了很多处理XML的API,如将XML数据作为流式数据进行处理的SAX,在内存中为XML文档数据构造模型树的DOM及其专为Java开发人员定制的JDOM,以及对对SAX与DOM的API进行抽象进而产生的JAXP等。这些处理XML数据信息的API各有利弊但都不适合一般性的应用需求。最好有一种方法能在Java对象与XML之间方便的序列化与反序列化的工具来实现XML文档数据与Java对象的映射。
  使用DOM、SAX、JDOM等来实现对象序列化到XML文本时,代码会涉及XML文本的结构,也就是说,在代码硬编码XML文本节点时,这种方式不具备可重用性与灵活性。要达到良好的可重用性和扩展性,必须将XML和数据交互操作的细节封装起来,也就是数据绑定对象模式。
  2 DBO模式有三个参与角色
  数据对象:被序列化到XML或从XML反序列化的对象。
  数据绑定对象:一个工具型的基本对象,抽象了XML序列化和XML API的具体使用细节。
  XML序列化API:真正实现XML序列化的具体行为,如Castor等工具。
  Castor是一种将Java对象和XML自动绑定的开源框架,它可以在Java对象、XML文档、SQL数据表以及LDAP目录之间绑定。Castor使用映射规则文件来实现,Castor是DBO模式的具体体现,它使用完全对象化的概念来实现XML数据与Java对象数据之间的相互映射,为系统中规则信息的持久化操作提供了有力的支撑。
  3 规则生成与解析引擎的设计
  规则生成引擎的设计思路
  1)规则生成引擎用于将用户定义的群组信息转换成使用ETJRDL描述的XML规则文件,它实现用户定义的条件信息与系统中的规则信息的映射。因此,其输入是系统中的群组对象,输出是XML格式的规则文件。规则生成引擎解析群组条件,根据实际应用需求构建映射规则,将群组条件映射成为系统中的规则信息。
  2)规则生成引擎模型
  规则生成引擎实现群组定义信息到论文申报规则描述信息的映射,其映射模型包括三个模块,输入部分,规则生成模块和输出部分。输入为由用户定义的群组信息,输出为使用ETJRDL描述的XML规则信息文档。输入的群组信息经过有Castor框架构建的规则生成模块按照映射规则进行编组[java与XML数据绑定],生成符合要求的输出,即XML规则文档。
  4 规则解析引擎的设计思路
  1)規则解析引擎将系统中的XML规则文件转换成为业务实体对象,它实现规则信息与内存Java对象的映射。因此,其输入是XML格式的规则文件,输出是系统定义的业务实体对象。规则解析引擎依据XML规则文件中的数据构建业务实体对象,为业务逻辑层提供操作接口。
  2)规则解析引擎模型
  规则解析引擎实现论文申报规则描述信息到业务实体对象的映射,其映射模型包括三个模块,输入部分,规则解析模块和输出部分。输入为XML格式的规则文档,输出为业务操作实体对象。输入的规则信息XML文档经过由Castor框架构建的规则解析引擎按照映射规则进行解组[Java与XML数据绑定],生成符合要求的输入,即业务实体对象。
  5 规则生成与解析引擎的实现
  在规则生成与解析引擎实现的过程中,系统中使用DBO(Data Binding Object)模式。将由ETJRDL语言定义的XML部分文档节点封装成DBO模式中的数据对象;构造RuleHandle类作为系统数据绑定对象,它提供抽象了XML的序列化和XML API的具体使用细节;而XML序列化API则由Castor提供。规则生成与解析引擎的主要类如下:
  位于RuleEngine包中的RuleObject类、ConditionObject类以及EntityObject类是DBO模式中的数据对象,分别用于构造XML规则文件的节点。RuleHandle类提供多个静态方法作为XML序列化以及其他处理XML文档的API。位于RuleEngine包中的RuleBuild类用来获取用户定义的群组信息并以此构造XML规则文件,RuleResolve类用来获取XML规则文件并对其进行解析,生成实体对象。
  主要接口说明:
  RuleBuild类
  说明:获取用户定义的群组信息,对规则生成/解析引擎做初始化设置
  主要接口描述
  getGroupInfo();
  接口描述:获取用户定义的群组信息
  validate();
  接口描述:对群组信息进行验证
  loadMapFile();
  接口描述:加载映射规则文件
  buildRuleFile();
  接口描述:生成规则信息文档
  RuleHandle类
  说明:提供抽象了XML的序列化和XML API的具体使用细节
  主要接口描述
  getMapping();
  接口描述:获得内存对象与XML之间的映射关系
  getUnmashaller();
  接口描述:获得解组对象
  getMashaller();
  接口描述:获得编组对象
  readXMLFile();
  接口描述:读取XML文件
  writeXMLFile();
  接口描述:写入XML文件
  RuleResolve类
  说明:获取XML规则文件并对其进行解析,生成实体对象。
  主要接口描述
  getRuleFile();
  接口描述:获得XML规则文件
  buildEntityObject();
  接口描述:构建内存实体对象
  listEntityObject();
  接口描述:列出实体对象
  规则生成/解析引擎获取用户定义的群组信息,将其构造为使用ETJRDL描述的XML规则文件,并最终将XML规则文件转化为业务逻辑层使用的描述了收件人的逻辑关系业务实体对象,业务逻辑层相关模块将使用这些业务实体对象来实现审核。由此,规则生成/解析引擎实现专业论文审核通过标准中课程及成绩之间的逻辑关系与考生实际课程、成绩的映射。
其他文献
给出了推广的Craig-Sakamoto定理的一个新证明.设A,B是两个正规矩阵,对于任意的复数a,b满足det(I-aA-bB)=det(I-aA)det(I-bB)当且仅当AB=O.
摘要:文章在回顾与分析国内外信息素养模式研究的基础上,构建了高职学院信息素养评价体系,并跟据此体系将高职院校信息素培养过程划分为初、中、高三种层次。初级层次建立基本信息处理过程中各个关键要素的认识与实践; 中级层次为完整的信息处理过程的反复运用;高级层次则可利用已建立的信息素养能力自由进行信息处理。  关键词:信息素养;信息素养培养模型;专业素养培养模式  中图分类号:G642 文献标识码:A 文
以上海市中心城区和外环绿带人工林为对象,于2007--2009年采用法瑞学派调查法和每木调查法相结合,共计调查典型样地908个,测定记录林下更新层木本植物的种类、数量、盖度及其生
根据一致Fredholm指标算子定义出一种新的谱集,利用该谱集及变化的本质逼近点谱,研究了单值延拓性质的紧摄动;并给出了广义(ω)性质摄动的等价刻画.
采用压片法对亚麻C-H-89品种进行染色体核型分析研究。结果表明,亚麻C-H-89品种为二倍体,染色体数目为15对,其核型公式为2n=2x=30=26m+4sm,核型类型为"2B",染色体长度比2.23,染
对9个马铃薯新品种进行引种试验,结果表明,青薯2号、陇薯8号、青薯168、青薯9号等品种综合性状较好,推荐在固阳县大面积推广种植。
为寻找加工番茄小孢子单核期鉴定的简单有效的方法,实验选用醋酸洋红、中性红、碱性品红、卡宝品红4种染色剂染色加工番茄单核期小孢子,实验结果表明:卡宝品红染色法效果最好
本文分析了陕西家禽生产现状与存在的主要问题。按产业化新思路,论证并提出了今后10a的发展目标,实施宜分两步进行:前5a以蛋鸡为主,后10a蛋、肉鸡并重发展;产业布局应以培植关中产业带为中
玉米喷施BR──120增产效应试验井明珠(铜川市农科所铜川727000)BR—120是云南大学研制生产的一种新型高效植物生长调节剂,为了探索BR—120在玉米不同生长期喷施的增产效果,我们进行了本试验。1材料与方
摘要:论文以软件工程的开发流程为主线,首先分析了系统的需求,然后完成了数据库的设计与实现,之后详细阐述了基于SSH的用户信息管理模块的设计与实现。系统表示层及控制层采用Struts2框架实现,Hibernate构架实现系统持久层,运用Spring的IoC机制对系统业务组件进行组装。  关键词: SSH 企业信息管理;用户管理  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(