• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SSi框架的飼料安全追溯系統(tǒng)設(shè)計與實(shí)現(xiàn)

      2017-01-08 09:31:22丹董
      飼料工業(yè) 2017年15期
      關(guān)鍵詞:組件邏輯框架

      ■田 丹董 玲

      (1.沈陽工學(xué)院信息與控制學(xué)院,遼寧撫順113122;2.遼寧省農(nóng)牧業(yè)機(jī)械研究所有限公司,遼寧沈陽110036)

      “民以食為天,食以安為先”,食品是人類生存發(fā)展最基本的物質(zhì)條件,食品安全涉及人類最基本的權(quán)利保障,事關(guān)每個人的身體健康,也是社會安全穩(wěn)定的重要組成部分。近年來從蘇丹紅到三聚氰胺、從抗生素濫用到瘦肉精等重大食品安全問題不斷被爆出,食品安全成為社會關(guān)注的焦點(diǎn),提高食品安全性已經(jīng)刻不容緩。隨著人民生活水平提高,動物性食品在食品的消費(fèi)結(jié)構(gòu)比例越來越高,飼料作為生產(chǎn)動物性食品的主要投入品和安全監(jiān)管的源頭,已成為動物性食品安全的前提和關(guān)鍵。近年來,農(nóng)藥、飼料添加劑和動物激素等的大量使用,對促進(jìn)養(yǎng)殖業(yè)發(fā)展和增加養(yǎng)殖業(yè)收入發(fā)揮了重要作用,但也給動物性食品安全帶來了極大隱患[1]。飼料和由此引發(fā)的畜產(chǎn)品安全衛(wèi)生問題日益受到人們關(guān)注,飼料安全即食品安全的理念逐漸被越來越多的人所接受。目前飼料安全監(jiān)管的技術(shù)含量不高、專業(yè)性不強(qiáng),加之涉及的部門較多,成為我國食品安全監(jiān)管的薄弱環(huán)節(jié)。

      可追溯性是指追溯所考慮對象的歷史、應(yīng)用情況或所處場所的能力。飼料由生產(chǎn)到使用經(jīng)過了原料采購、飼料生產(chǎn)、飼料貯運(yùn)、飼料銷售和飼料消耗等環(huán)節(jié),生產(chǎn)鏈條長,生產(chǎn)過程復(fù)雜,每個環(huán)節(jié)出現(xiàn)問題都會引起安全問題[2-3]。本文參照食品安全追溯系統(tǒng)構(gòu)建飼料安全追溯系統(tǒng),采用先進(jìn)的計算機(jī)和互聯(lián)網(wǎng)技術(shù),以農(nóng)業(yè)部2014年第1號令《飼料質(zhì)量安全管理規(guī)范》為基礎(chǔ),對飼料生產(chǎn)、流通和消耗的全過程信息進(jìn)行管理,實(shí)現(xiàn)生產(chǎn)可記錄、來源可追溯、去向可追蹤、責(zé)任可追究,為企業(yè)提供溯源信息的集中化管理,為政府監(jiān)管提供基礎(chǔ)數(shù)據(jù)支持,為公眾提供查詢溯源信息的窗口,同時提供診斷預(yù)警和質(zhì)量投訴等功能,架起保障飼料安全的防火墻,促進(jìn)養(yǎng)殖業(yè)的健康發(fā)展,為保障人民健康和提高生活水平服務(wù)。

      1 SSi框架結(jié)構(gòu)

      框架是可復(fù)用的設(shè)計構(gòu)件,規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明了系統(tǒng)構(gòu)件之間的依賴關(guān)系和控制流程。MVC是目前最流行的軟件開發(fā)框架,將系統(tǒng)分為模型、視圖和控制器三部分,每部分相互獨(dú)立,具有耦合性低、重用性高、易于維護(hù)和易于擴(kuò)展等特點(diǎn),開發(fā)人員能夠集中精力于業(yè)務(wù)邏輯,有利于軟件工程化管理和提高開發(fā)效率。J2EE領(lǐng)域包含多種MVC框架技術(shù),Struts2、SSH和SSi是主流的應(yīng)用開框架,本系統(tǒng)基于SSi框架開發(fā),框架結(jié)構(gòu)如圖1所示[4-5]。

      圖1 SSi框架結(jié)構(gòu)

      1.1 Struts2

      Struts2是繼承了Struts設(shè)計思想并加入WebWork而形成的新框架,可以作為獨(dú)立的框架使用,也可以與其他框架整合而形成新框架。本系統(tǒng)將Struts2作為SSi框架的組成部分實(shí)現(xiàn)控制層,接收來自表示層的請求,調(diào)用業(yè)務(wù)邏輯方法進(jìn)行處理。

      1.2 Spring

      Spring是輕量級容器,是J2EE領(lǐng)域全方位應(yīng)用程序框架,針對Servlet和EJB等容器存在的部署復(fù)雜、運(yùn)行緩慢、服務(wù)繁多和難以測試等問題提供了解決方案。本系統(tǒng)將Spring作為SSi框架的組成部分實(shí)現(xiàn)業(yè)務(wù)邏輯層,完成核心業(yè)務(wù)處理。

      1.3 iBatis

      iBatis是Apache的開源項目,iBatis一詞來源于“internet”和“abatis”的組合,是O/R Mapping解決方案。iBatis框架針對SQL語句輸入輸出進(jìn)行映射,從關(guān)系型開始到對象型的思路來解決數(shù)據(jù)庫操作問題,依據(jù)持久化的對象得到運(yùn)行結(jié)果。

      2 飼料安全追溯系統(tǒng)架構(gòu)

      飼料安全追溯系統(tǒng)的目標(biāo)是“源頭可追溯、生產(chǎn)有記錄、流向可跟蹤、信息可查詢、產(chǎn)品可召回、責(zé)任可追究”,實(shí)質(zhì)是飼料安全信息管理系統(tǒng),運(yùn)用計算機(jī)和網(wǎng)絡(luò)通信技術(shù),對飼料追溯鏈的信息進(jìn)行管理和監(jiān)控?;诩軜?gòu)的設(shè)計思想,系統(tǒng)邏輯上由信息采集層、信息處理層、信息服務(wù)層和信息用戶層等構(gòu)成,參照相關(guān)文獻(xiàn)[6-8],設(shè)計的系統(tǒng)架構(gòu)如圖2所示。

      圖2 飼料安全追溯系統(tǒng)架構(gòu)

      2.1 信息采集層

      基于數(shù)據(jù)信息采集技術(shù),將飼料追溯鏈條各環(huán)節(jié)的信息采集到數(shù)據(jù)庫系統(tǒng)中。信息采集包括兩種方法,一種是自動采集,通過計算機(jī)串口將數(shù)字化設(shè)備上的信息直接采集到系統(tǒng)中;二是手工錄入,不具備自動采集條件的使用這種方法。

      2.2 信息處理層

      信息處理層是系統(tǒng)架構(gòu)的核心,運(yùn)用數(shù)據(jù)編碼技術(shù)、數(shù)據(jù)交換技術(shù)和數(shù)字化管理技術(shù),依據(jù)《飼料質(zhì)量管理規(guī)范》構(gòu)建質(zhì)量安全信息管理系統(tǒng),系統(tǒng)由6個子系統(tǒng)構(gòu)成。其中,原料采購管理子系統(tǒng),管理飼料原料、添加劑和供應(yīng)商等信息;生產(chǎn)過程控制子系統(tǒng),建立配方標(biāo)準(zhǔn)和設(shè)備檔案數(shù)據(jù)庫,根據(jù)工藝流程記錄生產(chǎn)信息;產(chǎn)品質(zhì)量控制子系統(tǒng),對質(zhì)量巡查信息實(shí)時保存,全面保存出廠檢驗、質(zhì)量抽查和產(chǎn)品留樣信息;貯存運(yùn)輸管理子系統(tǒng),管理出入庫記錄、銷售臺賬和運(yùn)輸車輛等信息;飼料銷售管理子系統(tǒng),管理銷售客戶、產(chǎn)品投訴和產(chǎn)品召回等信息;飼料消耗管理子系統(tǒng),全面記錄飼料消耗的時間、數(shù)量、環(huán)境和用途等信息。

      2.3 信息服務(wù)層

      基于多平臺追溯技術(shù)和系統(tǒng)集成技術(shù),將信息處理層的信息向用戶提供服務(wù)。信息處理層包括6個子系統(tǒng),需要將這些功能集成,通過統(tǒng)一的飼料安全追溯系統(tǒng),并使用局域網(wǎng)絡(luò)、專用網(wǎng)絡(luò)、互聯(lián)網(wǎng)絡(luò)和移動網(wǎng)絡(luò)等多種通信方式服務(wù)。

      2.4 信息用戶層

      系統(tǒng)包括采購、生產(chǎn)、貯運(yùn)、銷售、飼養(yǎng)、監(jiān)管和大眾等多種用戶,為了保證系統(tǒng)安全,通過統(tǒng)一認(rèn)證和授權(quán)管理為不同用戶提供不同的功能和操作權(quán)限。對于查詢和跟蹤用戶,可以使用智能手機(jī);對于信息操作管理用戶,建議使用電腦。

      3 飼料安全追溯系統(tǒng)實(shí)現(xiàn)

      飼料安全追溯系統(tǒng)包括6個子系統(tǒng),每個子系統(tǒng)又包括若干功能,限于文章篇幅,本文僅實(shí)現(xiàn)生產(chǎn)過程控制子系統(tǒng)的營養(yǎng)素配比標(biāo)準(zhǔn)模塊,其他模塊實(shí)現(xiàn)可參照本模塊。

      3.1 iBatis實(shí)現(xiàn)數(shù)據(jù)持久層

      數(shù)據(jù)持久化與具體數(shù)據(jù)庫表的邏輯結(jié)構(gòu)相關(guān)。基于SQLServer數(shù)據(jù)管理系統(tǒng)的營養(yǎng)素配比標(biāo)準(zhǔn)表的邏輯結(jié)構(gòu)設(shè)計結(jié)果如表1所示。

      表1 營養(yǎng)素配比標(biāo)準(zhǔn)表(Nutrient Ratio Standard)

      iBatis持久化主要包括四項工作[9-10]:

      ① 編寫JDBC連接屬性文件*.properties,用來配置數(shù)據(jù)庫連接信息。數(shù)據(jù)庫連接信息不寫在class中,而是放入JDBC連接屬性文件,程序從屬性文件讀入取值,以實(shí)現(xiàn)“運(yùn)行時動態(tài)加載”。文件內(nèi)容以“鍵=值”(key-value)的格式。通常的配置信息包括數(shù)據(jù)庫用戶名和密碼、初始化連接數(shù)量和最大連接數(shù)量、連接超時等待時間,連接池中最大空閑的連接數(shù)和最小空閑的連接數(shù)等。

      ② 編寫總體配置文件sqlMapConfig.xml,用來完成數(shù)據(jù)庫操作相關(guān)資源配置。SqlMap的配置是iBatis中應(yīng)用的核心,用XML文件統(tǒng)一配置不同的屬性。SqlMapConfig.xml作為總體配置文件,主要負(fù)責(zé)描述數(shù)據(jù)連接信息及Sq1Map.xml的位置。SqlMapConfig.xml文件包括三類結(jié)點(diǎn)[12]:<settings>節(jié)點(diǎn)定義數(shù)據(jù)庫操作的相關(guān)信息;<transactionManager>節(jié)點(diǎn)定義iBatis的事務(wù)管理器;<sqlMap>節(jié)點(diǎn)指定映射文件的位置。

      ③編寫實(shí)體類映射文件,用來填寫SQL語句。實(shí)體類映射文件用于完成對數(shù)據(jù)庫對象的操作,包括要執(zhí)行各種SQL語句,存儲過程,輸入?yún)?shù)映射,返回結(jié)果映射,緩存機(jī)制,并且能通過幾種相對比較復(fù)雜的配置實(shí)現(xiàn)對象之間的關(guān)聯(lián)關(guān)系和延遲加載,實(shí)現(xiàn)了數(shù)據(jù)存儲邏輯與上層邏輯代碼分離。映射文件包括Mapped Statements、Parameter Maps、Result Maps 和Cache Models等配置。映射文件可以很簡單,也可以很復(fù)雜,這是iBatis與其他持久化的工具相比具有的靈活性和高性能。

      ④編寫DAO實(shí)現(xiàn)類,即iBatis要操作的對象。數(shù)據(jù)訪問對象(DAO,Data Access Objects)是面向?qū)ο蟮慕涌?,用于完成對?shù)據(jù)庫的操作,處于業(yè)務(wù)邏輯與數(shù)據(jù)庫資源之間,提高了類的獨(dú)立性。數(shù)據(jù)庫中需要操作的每一張表都需要編寫DAO實(shí)現(xiàn)類。DAO與業(yè)務(wù)邏輯層傳遞的是一個實(shí)體對象,是數(shù)據(jù)庫表在程序中的一個映射[13-14]。針對每個屬性get和set方法作為訪問接口,實(shí)體對象類不需要繼承iBatis的類或?qū)崿F(xiàn)iBatis接口,提高了類的獨(dú)立性。“營養(yǎng)素配比標(biāo)準(zhǔn)表NutrientRatioStandard”對應(yīng)實(shí)體的DAO實(shí)現(xiàn)如下:

      3.2 Spring實(shí)現(xiàn)業(yè)務(wù)邏輯層

      系統(tǒng)的業(yè)務(wù)需求決定了業(yè)務(wù)邏輯組件所包含的方法,用戶的每個業(yè)務(wù)請求通常對應(yīng)一個業(yè)務(wù)邏輯方法。實(shí)現(xiàn)具體的業(yè)務(wù)邏輯包括以下三步:

      ①定義業(yè)務(wù)邏輯組件接口。接口是一系列方法的聲明,提高了軟件系統(tǒng)的靈活性和擴(kuò)展性。營養(yǎng)素配比標(biāo)準(zhǔn)管理包括4個用戶請求,分別是添加、修改、刪除和查詢。業(yè)務(wù)邏輯組件需要定義這4個方法,系統(tǒng)的控制器組件面向這4個接口編程,就可實(shí)現(xiàn)控制器組件與業(yè)務(wù)邏輯組件的實(shí)現(xiàn)類分離。

      ②業(yè)務(wù)邏輯組件實(shí)現(xiàn)類。實(shí)現(xiàn)類就是實(shí)現(xiàn)了接口中那些方法的方法體,業(yè)務(wù)邏輯組件接口必須通過實(shí)現(xiàn)類來完成具體的業(yè)務(wù)功能。為了讓業(yè)務(wù)邏輯組件接受Spring容器注入DAO組件,需要為業(yè)務(wù)邏輯組件提供對應(yīng)的setter方法。業(yè)務(wù)邏輯類通過數(shù)據(jù)持久層實(shí)現(xiàn)對數(shù)據(jù)庫的操作,因此,業(yè)務(wù)邏輯方法需要捕獲數(shù)據(jù)持久層異常,并拋出用戶自定義異常,從而為操作者提供更豐富的提示信息。

      ③配置業(yè)務(wù)邏輯組件。包括三種配置,一,將業(yè)務(wù)邏輯組件實(shí)現(xiàn)類部署在Spring容器中,并為業(yè)務(wù)邏輯方法增加控制;二,配置業(yè)務(wù)邏輯組件所依賴的DAO組件;三,為業(yè)務(wù)邏輯組件增加事務(wù)控制,Spring為BeanNameAutoProxyCreator后處理器傳入事務(wù)攔截器,將目標(biāo)Bean生成事務(wù)代理,因此,首先定義Bean-NameAutoProxyCreator后處理器,然后配置事務(wù)管理器Bean和配置事務(wù)攔截器Bean。

      3.3 Struts2實(shí)現(xiàn)控制層

      Struts2控制層基于攔截器機(jī)制,F(xiàn)ilterDispacher是核心控制器,負(fù)責(zé)攔截所有的用戶請求,包含了框架內(nèi)部的控制流程和處理機(jī)制。開發(fā)需要編寫相關(guān)的配置文件,供核心控制器使用?!盃I養(yǎng)素配比標(biāo)準(zhǔn)查詢”的控制過程如圖3所示:用戶通過Web瀏覽器提出請求,過濾器查找請求并根據(jù)配置文件Struts.xml確定Action,攔截器調(diào)用業(yè)務(wù)邏輯NrsAction.java請求應(yīng)用功能,Action的execute方法用來獲取查詢結(jié)果,通過視圖界面queryNRS.jsp返回結(jié)果。

      圖3 Struts2控制過程

      4 結(jié)語

      針對當(dāng)前飼料安全監(jiān)督管理的實(shí)際需要,構(gòu)建了符合我國國情的飼料安全追溯系統(tǒng),實(shí)現(xiàn)了對飼料鏈條各環(huán)節(jié)信息的綜合管理,達(dá)到溯源、跟蹤和預(yù)警的目的。通過設(shè)計信息采集層、信息處理層、信息服務(wù)層和信息用戶層組成的系統(tǒng)架構(gòu),解決了系統(tǒng)功能和相關(guān)技術(shù)問題;基于SSi框架實(shí)現(xiàn),使得界面展示、業(yè)務(wù)邏輯處理、數(shù)據(jù)讀取完全分離,最大限度地發(fā)揮各自優(yōu)勢,降低了各層間的耦合度,增強(qiáng)了系統(tǒng)的穩(wěn)定性和健壯性,有利于后期的擴(kuò)展與維護(hù)。數(shù)據(jù)采集是本系統(tǒng)開發(fā)的重要工作,涉及到設(shè)備數(shù)字化、協(xié)議、通信和解析等若干問題,本文沒有涉及,需要系統(tǒng)開發(fā)時進(jìn)一步深入研究。另外,系統(tǒng)用戶較多,知識水平不同,對系統(tǒng)的需求也不同,需要用戶的積極配合,提供詳實(shí)可靠的基礎(chǔ)數(shù)據(jù),系統(tǒng)才能有效運(yùn)行。

      猜你喜歡
      組件邏輯框架
      刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
      法律方法(2022年2期)2022-10-20 06:44:24
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      框架
      邏輯
      創(chuàng)新的邏輯
      廣義框架的不相交性
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計
      女人買買買的神邏輯
      37°女人(2017年11期)2017-11-14 20:27:40
      WTO框架下
      法大研究生(2017年1期)2017-04-10 08:55:06
      武邑县| 东乡族自治县| 广汉市| 黄山市| 乡城县| 高尔夫| 贵阳市| 从化市| 虞城县| 宣武区| 舞阳县| 漾濞| 那坡县| 秀山| 沙坪坝区| 浏阳市| 丁青县| 西华县| 平安县| 临桂县| 临夏县| 常宁市| 江孜县| 尚志市| 梓潼县| 安达市| 荥经县| 家居| 桓仁| 枞阳县| 桂平市| 张家界市| 东阳市| 连州市| 新宁县| 井陉县| 湛江市| 卓资县| 罗定市| 灵山县| 庄河市|