摘? 要:隨著物聯(lián)網(wǎng)的興起,各個領(lǐng)域都在現(xiàn)有問題開發(fā)相關(guān)的物聯(lián)網(wǎng)應(yīng)用系統(tǒng),物聯(lián)網(wǎng)技術(shù)不是新技術(shù),它是綜合應(yīng)用現(xiàn)有技術(shù),進(jìn)行整合開發(fā)的技術(shù)。本文主要闡述農(nóng)產(chǎn)品溯源系統(tǒng)中,Web Service技術(shù)的應(yīng)用開發(fā)思想。在運(yùn)用Web Service技術(shù)后,以解決不同平臺間的服務(wù)共享問題,同時使系統(tǒng)的功能得以復(fù)用。正是基于Web Service技術(shù)的優(yōu)勢,使得農(nóng)產(chǎn)品溯源系統(tǒng)相關(guān)數(shù)據(jù)交互問題得到圓滿解決。同時在系統(tǒng)其他應(yīng)用領(lǐng)域中,Web Service技術(shù)也能有效解決涉及的廠家內(nèi)部之間、不同廠商之間、不同系統(tǒng)平臺開發(fā)之間的數(shù)據(jù)交互問題。
關(guān)鍵詞:農(nóng)產(chǎn)品溯源系統(tǒng)架構(gòu);Web Service技術(shù);服務(wù)共享
中圖分類號:TP311? ? ?文獻(xiàn)標(biāo)識碼:A
Research on the Development of Farm Produce Traceability
Application System Based on Web Service Technology
LIN Zhipeng
(Fujian Forestry Vocational Technical College,Nanping 353000,China)
Abstract:Internet of things technology has been applied in almost all aspects of our daily life with its rapid development.It is not a new technology but an integrated development of current different technologies.This paper introduces the development of a farm produce traceability application system based on Web Service technology.With the help of Web Service technology,not only the problems of service sharing among different platforms can be solved,but also the system function can be reused.In the system,the issue of interaction among different manufacturers,different system platforms can also be solved by Web Service technology and ensure its efficient operation.
Keywords:farm produce traceability system architecture;Web Service technology;service sharing
1? ?引言(Introduction)
現(xiàn)在是互聯(lián)網(wǎng)+時代,其中物聯(lián)網(wǎng)技術(shù)更是引導(dǎo)著世界信息產(chǎn)業(yè)的第三次革命浪潮。農(nóng)產(chǎn)品溯源系統(tǒng)是指在一定的產(chǎn)業(yè)區(qū)域內(nèi),綜合運(yùn)用物聯(lián)網(wǎng)相關(guān)技術(shù),其中有Web Service技術(shù)實(shí)現(xiàn)數(shù)據(jù)交互的重要手段[1,2],將農(nóng)產(chǎn)品的養(yǎng)殖、運(yùn)輸、加工及流通等過程中產(chǎn)生的數(shù)據(jù)信息,基本上是來自不同平臺系統(tǒng)的數(shù)據(jù)信息,需要進(jìn)行相互關(guān)聯(lián),有效整合后,形成一個完整的農(nóng)產(chǎn)品數(shù)據(jù)信息追溯鏈。通過開發(fā)農(nóng)產(chǎn)品養(yǎng)殖、農(nóng)產(chǎn)品運(yùn)輸、農(nóng)產(chǎn)品加工、農(nóng)產(chǎn)品零售、農(nóng)產(chǎn)品市場監(jiān)管、農(nóng)產(chǎn)品追溯查詢等應(yīng)用子系統(tǒng),并建立統(tǒng)一數(shù)據(jù)交換中心,最好是省市級的農(nóng)產(chǎn)品品質(zhì)信息安全追溯數(shù)據(jù)中心,從而實(shí)現(xiàn)從農(nóng)產(chǎn)品養(yǎng)殖、農(nóng)產(chǎn)品加工到農(nóng)產(chǎn)品零售終端等,此過程產(chǎn)生的正向跟蹤信息加以傳遞使用。以及從農(nóng)產(chǎn)品零售到農(nóng)產(chǎn)品養(yǎng)殖與防疫過程等此過程產(chǎn)生的相關(guān)農(nóng)產(chǎn)品信息的逆向溯源[1,2],還有農(nóng)產(chǎn)品流通中所需的監(jiān)管和品質(zhì)的綜合查詢分析等流程自動化。其完整的硬件拓?fù)浣Y(jié)構(gòu)示意如圖1農(nóng)產(chǎn)品溯源系統(tǒng)的硬件拓?fù)鋱D所示。
2? ?系統(tǒng)設(shè)計(jì)(System design)
在本系統(tǒng)的開發(fā)過程中,應(yīng)將整個系統(tǒng)分為三層來架構(gòu),其中有UI界面交互層(User Interface)、Web Service服務(wù)層(融入BLL業(yè)務(wù)邏輯層-Business Logic Layer)和DAL數(shù)據(jù)訪問層(Data Access Layer)[3,4]。
具體的應(yīng)用思想表述為:UI界面交互層(User Interface):其功能是為農(nóng)產(chǎn)品溯源系統(tǒng)用戶提供操作數(shù)據(jù)交互窗口,比如在農(nóng)業(yè)生產(chǎn)環(huán)節(jié),通過Win Form窗口調(diào)用Web Service中的BLL層業(yè)務(wù)邏輯,產(chǎn)生農(nóng)產(chǎn)品生產(chǎn)時需要的追溯碼,打印并加載到數(shù)據(jù)庫中心。在流通追溯環(huán)節(jié),提供web頁面調(diào)用BLL層業(yè)務(wù)功能,在頁面中通過輸入追溯碼,查詢農(nóng)產(chǎn)品養(yǎng)殖信息等。
BLL業(yè)務(wù)邏輯層(Business Logic Layer):該層是本系統(tǒng)中應(yīng)用思想的核心,主要表現(xiàn)為Web Service服務(wù)層,其主要負(fù)責(zé)處理農(nóng)產(chǎn)品溯源系統(tǒng)的關(guān)鍵業(yè)務(wù)調(diào)用接口,達(dá)到解決不同平臺的數(shù)據(jù)傳輸問題。其次對于較為復(fù)雜的業(yè)務(wù)邏輯判斷和關(guān)聯(lián)到數(shù)據(jù)庫的有效數(shù)據(jù)驗(yàn)證業(yè)務(wù),也是在該層進(jìn)行業(yè)務(wù)實(shí)現(xiàn),向外提供服務(wù)接口。比如可通過傳遞參數(shù)值種植戶名字,調(diào)用相應(yīng)Web Service接口函數(shù),返回生成的追溯碼信息。再比如在加工環(huán)節(jié),對于加工廠,通過傳遞參數(shù)值IC號、持卡人名字,調(diào)用Web Service接口函數(shù),返回開卡信息等。
DAL數(shù)據(jù)訪問層(Data Access Layer):該層主要為Web Service服務(wù)層提供數(shù)據(jù)庫的基本連接訪問、數(shù)據(jù)查詢、數(shù)據(jù)操作。與其他類型的系統(tǒng)開發(fā)不同在于,本層不提供給其他層調(diào)用,只提供給Web Service層調(diào)用。整體數(shù)據(jù)分層交互思想,如圖2農(nóng)產(chǎn)品溯源應(yīng)用系統(tǒng)的數(shù)據(jù)交互架構(gòu)圖所示。
由此通過Web Servicer技術(shù)在瀏覽器、PC終端、PDA平臺、電子秤、查詢終端的數(shù)據(jù)交互中起著橋梁的作用,這些平臺全都在調(diào)用Web Service層的服務(wù)接口基礎(chǔ)上,再實(shí)現(xiàn)其應(yīng)用功能[5,6]。否則就得重新從底層開始開發(fā)各個平臺的應(yīng)用系統(tǒng)業(yè)務(wù)功能,達(dá)不到功能模塊復(fù)用的目的。下面對Web Service技術(shù)特點(diǎn)進(jìn)行簡要說明。
3? 系統(tǒng)實(shí)現(xiàn)之Web Service技術(shù)的作用(The role of system implementation of web service technology)
Web Service技術(shù)是什么,它到底在什么情況下適合使用?,F(xiàn)從之前人們開發(fā)應(yīng)用程序習(xí)慣出發(fā),發(fā)現(xiàn)客戶端與服務(wù)器的通信存在諸多不便。比如傳統(tǒng)的桌面應(yīng)用程序用C/S架構(gòu),使用DCOM與服務(wù)器通信與遠(yuǎn)程調(diào)用,在大型網(wǎng)絡(luò)中配置DCOM工作就是一項(xiàng)挑戰(zhàn),也成為配置管理員的噩夢。造成現(xiàn)在的配置管理員寧愿忍受網(wǎng)頁界面的功能局限,也不愿在局域網(wǎng)上再去運(yùn)行DCOM。那就產(chǎn)生了另一個后果,為了發(fā)布容易,使得開發(fā)難度更大,用戶得到的是一個用戶界面功能極其受限的系統(tǒng)。換個說法就是開發(fā)人員花更多的物力和人力,卻讓客戶獲取一個功能更弱的應(yīng)用系統(tǒng)。例如,讓會計(jì)師來選擇是使用基于B/S的會計(jì)軟件,還是使用對于商業(yè)用戶更加友好的C/S架構(gòu)的Windows應(yīng)用程序。絕大多數(shù)商業(yè)用戶都是選擇后者。
在C/S架構(gòu)中,要實(shí)現(xiàn)客戶端與服務(wù)器通信,其中完美的解決方法是使用HTTP協(xié)議。這是因?yàn)榉阑饓νǔV辉试SHTTP連接,任何Web瀏覽器都可以在HTTP協(xié)議下運(yùn)行。但是商用程序在使用過程中又產(chǎn)生一個新問題,就是如何實(shí)現(xiàn)與其他程序的交互。因?yàn)槌薟indows平臺,還有大量的其他平臺程序,還有大量運(yùn)行使用老式語言開發(fā)的程序,要進(jìn)行數(shù)據(jù)交互,這個任務(wù)需要有一個通信標(biāo)準(zhǔn),獨(dú)立于平臺的規(guī)范技術(shù)來支持,這就是Web Service技術(shù)。
Web Service技術(shù)是一個應(yīng)用程序,其暴露出API接口,讓外界通過Web方式進(jìn)行調(diào)用。它是建立分布式應(yīng)用程序的可交互操作平臺。Web Service技術(shù)平臺也是一套標(biāo)準(zhǔn),一套協(xié)議用于創(chuàng)建新分布式應(yīng)用程序平臺。其主要提供標(biāo)準(zhǔn)來描述Web Service服務(wù),同時提供足夠的信息來調(diào)用該服務(wù);實(shí)際上就是進(jìn)行遠(yuǎn)程調(diào)用的一種遠(yuǎn)程過程調(diào)用協(xié)議RPC。這種協(xié)議是與平臺無關(guān)的。所以Web service技術(shù)平臺應(yīng)包含三個技術(shù):XML、XSD、SOAP、WSDL[7]。
XML是可擴(kuò)展的標(biāo)記語言,是用于表示數(shù)據(jù)的基本格式。優(yōu)點(diǎn)在于與平臺和廠商都無關(guān),比起技術(shù)優(yōu)越性,這點(diǎn)更重要。XML只解決數(shù)據(jù)的表示問題,但是數(shù)據(jù)的標(biāo)準(zhǔn)類型問題,需用XSD,即W3C制定的XML Schema來負(fù)責(zé)。不管用何種語言來構(gòu)造Web Service,都需要根據(jù)Web Service標(biāo)準(zhǔn)轉(zhuǎn)換為XSD類型,該過程可利用工具自動完成。
SOAP是簡單對象訪問協(xié)議,其提供調(diào)用Web Service的標(biāo)準(zhǔn)RPC方法。它也是基于XML和XSD的,主要是定義SOAP消息的編碼方式,及使用SOAP的HTTP協(xié)議。
WSDL是基于XML的Web Service描述語言。主要用于描述Web Service服務(wù)和相關(guān)函數(shù)、參數(shù)及返回值信息。它是機(jī)器和人皆可閱讀的。可利用新的開發(fā)工具自動生成WSDL文檔,產(chǎn)生相應(yīng)的調(diào)用代碼。為了使以上三種技術(shù)整合使用,加速推廣Web Service技術(shù)、加強(qiáng)其互操作能力,而產(chǎn)生基于標(biāo)準(zhǔn)的服務(wù)描述和發(fā)現(xiàn)的規(guī)范,既是UDDI商業(yè)注冊中心。其完整架構(gòu)如圖3基于Web Service技術(shù)的數(shù)據(jù)流示意圖所示。
適合使用Web Service技術(shù)平臺的情況:(1)跨越防火墻;(2)應(yīng)用程序集成;(3)B2B集成;(4)軟件復(fù)用。同時發(fā)現(xiàn)不適合使用Web Service技術(shù)的情況有:(1)單機(jī)版應(yīng)用程序;(2)局域網(wǎng)上的同構(gòu)應(yīng)用程序。因而農(nóng)產(chǎn)品溯源系統(tǒng)的數(shù)據(jù)跨平臺交互、功能復(fù)用需求,完全符合使用Web Service技術(shù)的情況。
4? 系統(tǒng)實(shí)現(xiàn)之Web Service服務(wù)層創(chuàng)建與應(yīng)用(System implementation-building and application of Web services layer)
下面將詳細(xì)說明需要搭建的Web Service服務(wù)層的功能函數(shù)。
首先,運(yùn)用數(shù)據(jù)庫技術(shù),在SQL Server 2005平臺,作為數(shù)據(jù)庫服務(wù)器平臺,依據(jù)圖2中農(nóng)產(chǎn)品溯源應(yīng)用系統(tǒng)的數(shù)據(jù)交互架構(gòu)圖原型,先構(gòu)造相應(yīng)的數(shù)據(jù)中心,主要是建立數(shù)據(jù)表的過程。
其次,在Visual Studio2008集成開發(fā)環(huán)境,點(diǎn)擊主菜單的“文件”→“新建”→“項(xiàng)目”子菜單,在彈出“新建項(xiàng)目”窗口中選擇“Visual C#”下的“ASP.NET Web服務(wù)應(yīng)用程序”子節(jié)點(diǎn),將名字修改為“PLEDU_FarmProductTrace”,點(diǎn)擊確定,創(chuàng)建該項(xiàng)目。
追溯碼是一串唯一標(biāo)識農(nóng)產(chǎn)品的16位數(shù)字序列,是在生產(chǎn)環(huán)節(jié)生成后,就一直跟隨農(nóng)產(chǎn)品,不再改變,直到消亡。由于追溯碼是整個系統(tǒng)的核心數(shù)據(jù),需在所有子系統(tǒng)中流動,因此,采用便捷的二維碼、RFID等方式,同時加入相應(yīng)的其他信息,如種植戶的名稱等生成二維碼,讀寫RFID碼。根據(jù)追溯碼獲取種植、防疫、交易、進(jìn)場加工、入場、出場、零售等流通環(huán)節(jié)信息。
農(nóng)產(chǎn)品溯源系統(tǒng)的Web Service服務(wù)共創(chuàng)建如下:
⑴WS_BaseData.asmx服務(wù)內(nèi)部實(shí)現(xiàn)的接口函數(shù)有:
用于合法用戶驗(yàn)證函數(shù):函數(shù)名AdminUserLogin,參數(shù)為username、password;字符串類型。
用于提取合法用戶函數(shù):函數(shù)名HouUserInfo,參數(shù)分別為username、password,字符串類型。
用于產(chǎn)生農(nóng)產(chǎn)品追溯碼使用記錄函數(shù):函數(shù)名ProduceTraceCodeRecord,參數(shù)分別為traceCode、user,字符串類型。
用于根據(jù)IC卡號獲取用戶名函數(shù):函數(shù)名SelectUserNameByIcID,參數(shù)為ICID,字符串類型。
⑵WS_BaseDevice.asmx服務(wù)內(nèi)部實(shí)現(xiàn)的函數(shù)有:
用于追加農(nóng)產(chǎn)品防疫記錄函數(shù):函數(shù)名AddPreventionInfo,參數(shù)分別為日期型preventionDate、字符串類型的medicineName、regionName、traceCode。
用于追加交易信息函數(shù):函數(shù)名AddTradeInfo,參數(shù)分別為字符串IC序列號sellerIcNo、日期transTime、字符串FarmProductsName、浮點(diǎn)型price、totalPrice、FarmProductsWeight、字符串traceCode。
⑶WS_RuChangEnterRegister.asmx服務(wù)內(nèi)部實(shí)現(xiàn)的函數(shù)有:
用于追加農(nóng)產(chǎn)品進(jìn)場加工函數(shù):函數(shù)名AddEnterHouseRegister,參數(shù)分別有字符串vehicleNo、整型type、字符串producingArea、字符串quarantineSN、字符串quarantineOfficer、字符串quarantineResult、日期signDate、整型operatorId、字符串traceCode。
用于根據(jù)農(nóng)產(chǎn)品追溯碼號獲取養(yǎng)殖廠信息函數(shù):函數(shù)名GetOwnerByTraceCode,參數(shù)為字符串traceCode。
用于依據(jù)傳遞的追溯碼檢測農(nóng)產(chǎn)品入場記錄存在性的函數(shù):函數(shù)名HasEnterInfoByTraceCode,參數(shù)為字符串traceCode。
用于根據(jù)日期和追溯碼檢索農(nóng)產(chǎn)品入場記錄函數(shù):函數(shù)名QueryFarmProductEnterInfo,參數(shù)分別為日期startDate、endDate、字符串traceCode。
用于根據(jù)生豬ID號刪除農(nóng)產(chǎn)品入場記錄的函數(shù):函數(shù)名DeleteEnterFarmProductInfoByID,參數(shù)為整型id。
用于更新農(nóng)產(chǎn)品入場記錄的函數(shù):函數(shù)名UpdateFarmProductEnterRecord,參數(shù)分別為整型id、fruitType、字符串productingArea、quartineSN、quartineOfficer、quartineResult、vehicleNo、signDate、整型operatorId。
⑷WS_WarehouseFarmProductOutputRegister.asmx服務(wù)內(nèi)部實(shí)現(xiàn)的函數(shù)有:
用于增加農(nóng)產(chǎn)品出場信息函數(shù):函數(shù)名AddFarmProductOutputInfo,參數(shù)分別為整型enterID、字符串quarantineFarmProductProductsSN、浮點(diǎn)數(shù)productWeight、整型operatorID、字符串buyerIcNo、日期outPutDate。
用于根據(jù)農(nóng)產(chǎn)品追溯碼獲取農(nóng)產(chǎn)品養(yǎng)殖戶記錄函數(shù):函數(shù)名SelectFarmProductOwner,參數(shù)為字符串traceCode。
用于根據(jù)農(nóng)產(chǎn)品追溯碼獲取農(nóng)產(chǎn)品入場記錄函數(shù):函數(shù)名SelectFarmProductEnterInfoByTraceCode,參數(shù)為整型traceCode。
用于依據(jù)IC號獲得銷售客戶購買的農(nóng)產(chǎn)品總重量函數(shù):函數(shù)名SelectTotalFarmProductSelledWeightByIcND,參數(shù)為字符串icND。
用于依據(jù)生產(chǎn)日期和農(nóng)產(chǎn)品追溯碼查詢農(nóng)產(chǎn)品出場記錄函數(shù):函數(shù)名GetFarmProductOutPutInfo,參數(shù)分別為日期型startDate、endDate、字符串traceCode。
用于檢索農(nóng)產(chǎn)品買家名根據(jù)傳遞的IC卡號函數(shù):SelectFarmProductBuyerNameByIcND,參數(shù)為字符串ICND。
用于根據(jù)農(nóng)產(chǎn)品出場記錄ID號刪除農(nóng)產(chǎn)品出場記錄函數(shù):函數(shù)名DeleteFarmProductOuputRecordByID,參數(shù)為整型ID號。
用于根據(jù)id號出場日期和檢疫號更新農(nóng)產(chǎn)品出場記錄函數(shù):函數(shù)名UpdateFarmProductOutputRecord,參數(shù)分別為整型出場ID、日期exitDate、字符串quartineFruitProductsSN。
創(chuàng)建完以上函數(shù)代碼后,可利用圖1的服務(wù)器,在IIS配置WebService服務(wù)層應(yīng)用程序,提供API接口給外界調(diào)用,則在PDA、電子秤、Web查詢終端等平臺,直接調(diào)用API接口,進(jìn)行二次開發(fā)。
例如在開發(fā)PC端農(nóng)產(chǎn)品溯源管理系統(tǒng),需要打印農(nóng)產(chǎn)品的溯源二維碼功能窗口[8],如圖5所示。其調(diào)用Web Service服務(wù)中的WS_BaseData服務(wù),實(shí)現(xiàn)生成按鈕的主要代碼如下:
WS_BaseData.WS_BaseData myQrCode = new WS_Base.WS_BaseData();
try{
myQrCode.ProduceTraceCodeRecord (this.txtTraceMark.Text,this.txtOwner.Text);
MessageBox.Show("增加數(shù)據(jù)集記錄操作成功!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch (Exception Err) {
MessageBox.Show("增加數(shù)據(jù)集記錄操作失?。?+Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
其他子系統(tǒng)的功能開發(fā)代碼,與上面代碼相似??梢奧eb Service服務(wù)調(diào)用的實(shí)現(xiàn)代碼量少,開發(fā)簡單,功能還可以給其他平臺復(fù)用。整個農(nóng)產(chǎn)品溯源系統(tǒng)開發(fā)解決方案中其他項(xiàng)目有:Web Service項(xiàng)目,9000項(xiàng)目用于Web端查詢網(wǎng)站,PDA平臺開發(fā)項(xiàng)目等。如圖4農(nóng)產(chǎn)品溯源系統(tǒng)解決方案示意圖。
5? 其他子系統(tǒng)的功能實(shí)現(xiàn)(Function implementation of the other subsystems)
接下來還要創(chuàng)建農(nóng)產(chǎn)品生產(chǎn)、農(nóng)產(chǎn)品養(yǎng)殖防疫、農(nóng)產(chǎn)品加工前檢疫、農(nóng)產(chǎn)品檢疫、農(nóng)產(chǎn)品交易、農(nóng)產(chǎn)品追溯查詢六個子應(yīng)用程序,詳細(xì)功能實(shí)現(xiàn)思想說明如下。
5.1? ?生產(chǎn)子系統(tǒng)實(shí)現(xiàn)
該環(huán)節(jié)主要在移動環(huán)境下操作,因而考慮在Android平臺下,開發(fā)手機(jī)客戶端應(yīng)用程序。為了實(shí)現(xiàn)農(nóng)產(chǎn)品生產(chǎn)的智能監(jiān)控目的,主要利用Android手機(jī)和平板電腦配置的相關(guān)傳感設(shè)備。農(nóng)場主在Android平臺上操作設(shè)備,收集各種生產(chǎn)數(shù)據(jù),并進(jìn)行過程農(nóng)產(chǎn)品遠(yuǎn)程生產(chǎn)管理。例如,配置相應(yīng)的溫濕度Zigbee無線傳感器,獲取生產(chǎn)環(huán)境的溫度和溫度數(shù)據(jù)值,為農(nóng)場主提供決定是否給農(nóng)場進(jìn)行降溫除溫的重要依據(jù);還可配置火焰Zigbee無線傳感器節(jié)點(diǎn),第一時間獲取到火情信息,為火情的防控提供及時監(jiān)控?cái)?shù)據(jù)等。最后利用Wi-Fi連接網(wǎng)絡(luò),把數(shù)據(jù)通過調(diào)用Web Service服務(wù)上傳到數(shù)據(jù)庫服務(wù)器上,作為數(shù)據(jù)服務(wù)中心。
5.2? ?養(yǎng)殖防疫子系統(tǒng)實(shí)現(xiàn)
其主要是在WindowsCE平臺下的PDA設(shè)備應(yīng)用程序開發(fā)。其主要功能是采用手持PDA設(shè)備收集農(nóng)產(chǎn)品防疫信息,錄入時也可采用掃描二維碼標(biāo)識,來實(shí)現(xiàn)農(nóng)業(yè)專家在轄區(qū)內(nèi)對農(nóng)產(chǎn)品養(yǎng)殖戶進(jìn)行防疫時,將防疫信息通過該系統(tǒng),調(diào)用Web Service服務(wù),上傳到數(shù)據(jù)庫服務(wù)中心,作為生豬養(yǎng)殖防疫的源頭信息。
5.3? ?加工前檢疫子系統(tǒng)實(shí)現(xiàn)
其主要是在PC端開發(fā)C/S應(yīng)用程序。主要功能是通過調(diào)用Web Service層的服務(wù),將RFID和二維碼數(shù)據(jù)等農(nóng)產(chǎn)品來源信息錄入到電腦上,包括:農(nóng)場、農(nóng)場主及農(nóng)產(chǎn)品的溯源標(biāo)簽等信息。為了輸入方便,可在農(nóng)產(chǎn)品加工場的入場加工流程水線上安裝無線RFID識別卡設(shè)備和RFID標(biāo)簽[9],收集相關(guān)信息到電腦上,同時監(jiān)控機(jī)將自動拍下現(xiàn)場證明圖片,從而實(shí)現(xiàn)農(nóng)產(chǎn)品加工前都要進(jìn)行該檢疫過程。
5.4? ?加工后檢疫子系統(tǒng)實(shí)現(xiàn)
其主要是用Visual Studio 2008集成開發(fā)環(huán)境,在PC端開發(fā)C/S應(yīng)用程序。主界面示意圖如圖6農(nóng)產(chǎn)品溯源系統(tǒng)客戶端界面。主要功能是通過遠(yuǎn)程調(diào)用Web Service服務(wù),將檢疫信息通過網(wǎng)絡(luò)上傳到數(shù)據(jù)庫服務(wù)中心,同時監(jiān)控自動拍攝現(xiàn)場證明圖像保存。在農(nóng)產(chǎn)品加工出廠時,對農(nóng)產(chǎn)品進(jìn)行包裝稱重,產(chǎn)生農(nóng)產(chǎn)品安全質(zhì)量檢疫信息,并打印相應(yīng)的農(nóng)產(chǎn)品追溯碼,在農(nóng)產(chǎn)品的包裝上粘上標(biāo)碼,從而使農(nóng)產(chǎn)品的溯源標(biāo)簽與農(nóng)產(chǎn)品的安全質(zhì)量追溯碼相連接起來。并實(shí)現(xiàn)農(nóng)產(chǎn)品養(yǎng)殖防疫與農(nóng)產(chǎn)品交易信息的交互,解決了農(nóng)產(chǎn)品在生產(chǎn)過程的全程可溯源。
5.5? ?交易子系統(tǒng)實(shí)現(xiàn)
其主要是在Linux平臺下,開發(fā)嵌入式應(yīng)用程序。主要功能是通過遠(yuǎn)程調(diào)用WebService服務(wù),將在智能農(nóng)產(chǎn)品追溯電子臺秤的數(shù)據(jù)信息,上傳到數(shù)據(jù)服務(wù)中心保存。具體業(yè)務(wù)過程是農(nóng)產(chǎn)品零售攤點(diǎn)商戶用IC卡進(jìn)行身份標(biāo)識進(jìn)貨,后在農(nóng)產(chǎn)品大包裝上賦上農(nóng)產(chǎn)品安全溯源碼,在攤主進(jìn)行零售時,利用手持條碼掃描槍,復(fù)制相關(guān)的農(nóng)產(chǎn)品溯源碼,粘貼在食品小包裝袋上。從而實(shí)現(xiàn)了零售農(nóng)產(chǎn)品的可溯源。其架構(gòu)如圖7農(nóng)產(chǎn)品溯源電子秤應(yīng)用開發(fā)架構(gòu)示意圖所示。
5.6? ?追溯查詢子系統(tǒng)實(shí)現(xiàn)
其主要是應(yīng)用MVC三層架構(gòu)的思想,采用ASP.NET網(wǎng)頁編程語言,開發(fā)基于B/S架構(gòu)的調(diào)用WebService服務(wù)的農(nóng)產(chǎn)品溯源查詢網(wǎng)站系統(tǒng)。其主要功能是在消費(fèi)者購買農(nóng)產(chǎn)品后,在市場監(jiān)管部門安裝的查詢終端上掃描相應(yīng)的農(nóng)產(chǎn)品溯源碼,就可以查詢出農(nóng)產(chǎn)品的養(yǎng)殖、防疫、檢疫、加工信息。從而實(shí)現(xiàn)整個農(nóng)產(chǎn)品生產(chǎn)、銷售的質(zhì)量保障閉合環(huán)節(jié)[10]。該農(nóng)產(chǎn)品溯源查詢網(wǎng)站界面效果如圖8豬肉溯源查詢子系統(tǒng)網(wǎng)站界面所示。
6? ?結(jié)論(Conclusion)
通過以上的研究設(shè)計(jì),整個農(nóng)產(chǎn)品溯源系統(tǒng)通過遠(yuǎn)程調(diào)用Web Service服務(wù),使得農(nóng)產(chǎn)品溯源各個業(yè)務(wù)子系統(tǒng)的數(shù)據(jù)得以交互傳遞,有效解決了農(nóng)產(chǎn)品溯源的業(yè)務(wù)需求。因Web Service技術(shù)提供的開放性、語言無關(guān)性、平臺無關(guān)性、廠商無關(guān)性和支持“即插即用”,為實(shí)現(xiàn)農(nóng)產(chǎn)品質(zhì)量安全保障體系的構(gòu)建,提供了有力的信息技術(shù)手段。將農(nóng)產(chǎn)品養(yǎng)殖、運(yùn)輸、屠宰加工及流通的信息形成完整的信息追溯鏈[10]。可建立起省市級的農(nóng)產(chǎn)品質(zhì)量安全信息追溯中心,達(dá)到農(nóng)產(chǎn)品從養(yǎng)殖、加工到零售的正向跟蹤,同時也可實(shí)現(xiàn)農(nóng)產(chǎn)品零售到養(yǎng)殖防疫的逆向溯源。該系統(tǒng)能為農(nóng)產(chǎn)品流通的監(jiān)管與綜合分析提供有力保障。從中也看出物聯(lián)網(wǎng)的廣泛應(yīng)用,將為企業(yè)的各種業(yè)務(wù)服務(wù)集成,帶來巨大的商機(jī)。
參考文獻(xiàn)(References)
[1] Pasteur,Olivier Dang,Tuan Delon,et al.Using Web Services to exchange power plant process data[J].Industrial Informatics,2007 5th IEEE International Conference on; Vienna,Austria.1.1,2007:30-32.
[2] Calvin Austin. Web Services: Why Can't We Just Talk?[J].Java developer's journal: JDJ,2005,10(2):23-26.
[3] Jiang Zhong,Ang Li,Pan Deng,et al.Web Service Recommendation Based on Latent Features[J].Journal of information and computational science,2012,9(1):50-52.
[4] 吳家菊,劉剛,席傳裕.基于Web服務(wù)的面向服務(wù)(SOA)架構(gòu)研究[J].現(xiàn)代電子技術(shù),2005,28(14):1-4;7.
[5] 林春火.基于面向Web Service、SOA的供應(yīng)鏈管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2007,3(14):310-312.
[6] 郭正紅,趙丙辰.基于Web服務(wù)的物聯(lián)網(wǎng)體系結(jié)構(gòu)模型及應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(5):105.
[7] 徐瑞霞.基于Web服務(wù)的物聯(lián)網(wǎng)體系結(jié)構(gòu)模型應(yīng)用探析[J].信息化建設(shè),2015(12):103.
[8] 余玲,劉幺和,鄒紹文.基于物聯(lián)網(wǎng)的二維條碼識別及語音播報(bào)的研究[J]. 計(jì)算機(jī)與數(shù)字工程,2010,38(11):72-75.
[9] 王世堂.基于RFID的汽車生產(chǎn)信息追蹤系統(tǒng)的研究[D].北京工業(yè)大學(xué),2007:57.
[10] 徐冬寅,程濤.基于Web Service的農(nóng)產(chǎn)品質(zhì)量安全檢測管理系統(tǒng)的開發(fā)與應(yīng)用[J].上海農(nóng)業(yè)學(xué)報(bào),2015(4):80-84.
作者簡介:
林志鵬(1981-),男,本科,副教授,高級工程師.研究領(lǐng)域:計(jì)算機(jī)語言,算法,信息系統(tǒng)軟件開發(fā)與應(yīng)用.