国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論文申報(bào)系統(tǒng)中規(guī)則生成/解析引擎的設(shè)計(jì)與實(shí)現(xiàn)

2017-02-27 14:51:03張朋
電腦知識與技術(shù) 2016年31期
關(guān)鍵詞:序列化群組引擎

張朋

摘要:論文申報(bào)系統(tǒng)中規(guī)則生成/解析引擎用于處理系統(tǒng)中的規(guī)則信息,實(shí)現(xiàn)專業(yè)論文審核通過標(biāo)準(zhǔn)中課程及成績之間的邏輯關(guān)系與考生實(shí)際課程、成績的映射。它主要包括規(guī)則生成引擎與規(guī)則解析引擎,規(guī)則生成引擎可以處理系統(tǒng)中的群組條件信息并生成使用ETJRDL描述的XML規(guī)則文件來定義系統(tǒng)中的審核規(guī)則,規(guī)則解析引擎處理XML規(guī)則文件并獲取審核規(guī)則信息。

關(guān)鍵詞: 規(guī)則生成引擎;規(guī)則解析引擎

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)31-0084-02

論文申報(bào)系統(tǒng)服務(wù)器端運(yùn)行于WEB容器中,它響應(yīng)來自客戶端的訪問請求,處理來自客戶端的各種系統(tǒng)信息并完成相應(yīng)的業(yè)務(wù)處理與數(shù)據(jù)信息持久功能,它主要包括規(guī)則生成/解析引擎、業(yè)務(wù)處理、數(shù)據(jù)持久等功能模塊。本文根據(jù)實(shí)際的應(yīng)用需求,大多情況選擇Castor框架來實(shí)現(xiàn)XML文件與內(nèi)存Java對象的映射,并基于此實(shí)現(xiàn)規(guī)則生成/解析引擎。

1 數(shù)據(jù)綁定對象(DBO)模式與Castor

使用ETJRDL描述的XML規(guī)則文件來記錄系統(tǒng)中的規(guī)則信息,需要一種高效的方式處理這些XML文件,以獲取系統(tǒng)業(yè)務(wù)邏輯處理需要的規(guī)則信息。這需要將XML文檔數(shù)據(jù)轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù),也就是實(shí)現(xiàn)XML文檔數(shù)據(jù)與內(nèi)存中Java對象的映射。隨著XML相關(guān)技術(shù)的發(fā)展,業(yè)界出現(xiàn)了很多處理XML的API,如將XML數(shù)據(jù)作為流式數(shù)據(jù)進(jìn)行處理的SAX,在內(nèi)存中為XML文檔數(shù)據(jù)構(gòu)造模型樹的DOM及其專為Java開發(fā)人員定制的JDOM,以及對對SAX與DOM的API進(jìn)行抽象進(jìn)而產(chǎn)生的JAXP等。這些處理XML數(shù)據(jù)信息的API各有利弊但都不適合一般性的應(yīng)用需求。最好有一種方法能在Java對象與XML之間方便的序列化與反序列化的工具來實(shí)現(xiàn)XML文檔數(shù)據(jù)與Java對象的映射。

使用DOM、SAX、JDOM等來實(shí)現(xiàn)對象序列化到XML文本時(shí),代碼會涉及XML文本的結(jié)構(gòu),也就是說,在代碼硬編碼XML文本節(jié)點(diǎn)時(shí),這種方式不具備可重用性與靈活性。要達(dá)到良好的可重用性和擴(kuò)展性,必須將XML和數(shù)據(jù)交互操作的細(xì)節(jié)封裝起來,也就是數(shù)據(jù)綁定對象模式。

2 DBO模式有三個(gè)參與角色

數(shù)據(jù)對象:被序列化到XML或從XML反序列化的對象。

數(shù)據(jù)綁定對象:一個(gè)工具型的基本對象,抽象了XML序列化和XML API的具體使用細(xì)節(jié)。

XML序列化API:真正實(shí)現(xiàn)XML序列化的具體行為,如Castor等工具。

Castor是一種將Java對象和XML自動綁定的開源框架,它可以在Java對象、XML文檔、SQL數(shù)據(jù)表以及LDAP目錄之間綁定。Castor使用映射規(guī)則文件來實(shí)現(xiàn),Castor是DBO模式的具體體現(xiàn),它使用完全對象化的概念來實(shí)現(xiàn)XML數(shù)據(jù)與Java對象數(shù)據(jù)之間的相互映射,為系統(tǒng)中規(guī)則信息的持久化操作提供了有力的支撐。

3 規(guī)則生成與解析引擎的設(shè)計(jì)

規(guī)則生成引擎的設(shè)計(jì)思路

1)規(guī)則生成引擎用于將用戶定義的群組信息轉(zhuǎn)換成使用ETJRDL描述的XML規(guī)則文件,它實(shí)現(xiàn)用戶定義的條件信息與系統(tǒng)中的規(guī)則信息的映射。因此,其輸入是系統(tǒng)中的群組對象,輸出是XML格式的規(guī)則文件。規(guī)則生成引擎解析群組條件,根據(jù)實(shí)際應(yīng)用需求構(gòu)建映射規(guī)則,將群組條件映射成為系統(tǒng)中的規(guī)則信息。

2)規(guī)則生成引擎模型

規(guī)則生成引擎實(shí)現(xiàn)群組定義信息到論文申報(bào)規(guī)則描述信息的映射,其映射模型包括三個(gè)模塊,輸入部分,規(guī)則生成模塊和輸出部分。輸入為由用戶定義的群組信息,輸出為使用ETJRDL描述的XML規(guī)則信息文檔。輸入的群組信息經(jīng)過有Castor框架構(gòu)建的規(guī)則生成模塊按照映射規(guī)則進(jìn)行編組[java與XML數(shù)據(jù)綁定],生成符合要求的輸出,即XML規(guī)則文檔。

4 規(guī)則解析引擎的設(shè)計(jì)思路

1)規(guī)則解析引擎將系統(tǒng)中的XML規(guī)則文件轉(zhuǎn)換成為業(yè)務(wù)實(shí)體對象,它實(shí)現(xiàn)規(guī)則信息與內(nèi)存Java對象的映射。因此,其輸入是XML格式的規(guī)則文件,輸出是系統(tǒng)定義的業(yè)務(wù)實(shí)體對象。規(guī)則解析引擎依據(jù)XML規(guī)則文件中的數(shù)據(jù)構(gòu)建業(yè)務(wù)實(shí)體對象,為業(yè)務(wù)邏輯層提供操作接口。

2)規(guī)則解析引擎模型

規(guī)則解析引擎實(shí)現(xiàn)論文申報(bào)規(guī)則描述信息到業(yè)務(wù)實(shí)體對象的映射,其映射模型包括三個(gè)模塊,輸入部分,規(guī)則解析模塊和輸出部分。輸入為XML格式的規(guī)則文檔,輸出為業(yè)務(wù)操作實(shí)體對象。輸入的規(guī)則信息XML文檔經(jīng)過由Castor框架構(gòu)建的規(guī)則解析引擎按照映射規(guī)則進(jìn)行解組[Java與XML數(shù)據(jù)綁定],生成符合要求的輸入,即業(yè)務(wù)實(shí)體對象。

5 規(guī)則生成與解析引擎的實(shí)現(xiàn)

在規(guī)則生成與解析引擎實(shí)現(xiàn)的過程中,系統(tǒng)中使用DBO(Data Binding Object)模式。將由ETJRDL語言定義的XML部分文檔節(jié)點(diǎn)封裝成DBO模式中的數(shù)據(jù)對象;構(gòu)造RuleHandle類作為系統(tǒng)數(shù)據(jù)綁定對象,它提供抽象了XML的序列化和XML API的具體使用細(xì)節(jié);而XML序列化API則由Castor提供。規(guī)則生成與解析引擎的主要類如下:

位于RuleEngine包中的RuleObject類、ConditionObject類以及EntityObject類是DBO模式中的數(shù)據(jù)對象,分別用于構(gòu)造XML規(guī)則文件的節(jié)點(diǎn)。RuleHandle類提供多個(gè)靜態(tài)方法作為XML序列化以及其他處理XML文檔的API。位于RuleEngine包中的RuleBuild類用來獲取用戶定義的群組信息并以此構(gòu)造XML規(guī)則文件,RuleResolve類用來獲取XML規(guī)則文件并對其進(jìn)行解析,生成實(shí)體對象。

主要接口說明:

RuleBuild類

說明:獲取用戶定義的群組信息,對規(guī)則生成/解析引擎做初始化設(shè)置

主要接口描述

getGroupInfo();

接口描述:獲取用戶定義的群組信息

validate();

接口描述:對群組信息進(jìn)行驗(yàn)證

loadMapFile();

接口描述:加載映射規(guī)則文件

buildRuleFile();

接口描述:生成規(guī)則信息文檔

RuleHandle類

說明:提供抽象了XML的序列化和XML API的具體使用細(xì)節(jié)

主要接口描述

getMapping();

接口描述:獲得內(nèi)存對象與XML之間的映射關(guān)系

getUnmashaller();

接口描述:獲得解組對象

getMashaller();

接口描述:獲得編組對象

readXMLFile();

接口描述:讀取XML文件

writeXMLFile();

接口描述:寫入XML文件

RuleResolve類

說明:獲取XML規(guī)則文件并對其進(jìn)行解析,生成實(shí)體對象。

主要接口描述

getRuleFile();

接口描述:獲得XML規(guī)則文件

buildEntityObject();

接口描述:構(gòu)建內(nèi)存實(shí)體對象

listEntityObject();

接口描述:列出實(shí)體對象

規(guī)則生成/解析引擎獲取用戶定義的群組信息,將其構(gòu)造為使用ETJRDL描述的XML規(guī)則文件,并最終將XML規(guī)則文件轉(zhuǎn)化為業(yè)務(wù)邏輯層使用的描述了收件人的邏輯關(guān)系業(yè)務(wù)實(shí)體對象,業(yè)務(wù)邏輯層相關(guān)模塊將使用這些業(yè)務(wù)實(shí)體對象來實(shí)現(xiàn)審核。由此,規(guī)則生成/解析引擎實(shí)現(xiàn)專業(yè)論文審核通過標(biāo)準(zhǔn)中課程及成績之間的邏輯關(guān)系與考生實(shí)際課程、成績的映射。

猜你喜歡
序列化群組引擎
如何建構(gòu)序列化閱讀教學(xué)
甘肅教育(2020年14期)2020-09-11 07:58:36
關(guān)系圖特征在敏感群組挖掘中的應(yīng)用研究
電子測試(2018年14期)2018-09-26 06:04:10
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
Java 反序列化漏洞研究
基于統(tǒng)計(jì)模型的空間群組目標(biāo)空間位置計(jì)算研究
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
作文訓(xùn)練微格化、序列化初探
語文知識(2015年12期)2015-02-28 22:02:15
基于Cocos2d引擎的PuzzleGame開發(fā)
Java序列化技術(shù)的探討
群組聊天業(yè)務(wù)在IMS客戶端的設(shè)計(jì)與實(shí)現(xiàn)
洛阳市| 罗田县| 青田县| 包头市| 巴青县| 吉安市| 临江市| 武功县| 武宁县| 吴堡县| 宕昌县| 保定市| 井冈山市| 酒泉市| 克东县| 壶关县| 故城县| 宝清县| 七台河市| 湘西| 石屏县| 巫山县| 金阳县| 英山县| 泰顺县| 同江市| 紫阳县| 金华市| 绵竹市| 太保市| 周宁县| 井陉县| 彭州市| 循化| 新建县| 花莲市| 磐安县| 襄城县| 红原县| 大足县| 湘乡市|