摘要:分析了農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)的業(yè)務(wù)流程與功能模塊,介紹了面向服務(wù)體系架構(gòu)及其特點,構(gòu)建了基于SOA(Sevice—oriented Architecture)思想的農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng),并對系統(tǒng)架構(gòu)中的服務(wù)設(shè)計進行了描述。
關(guān)鍵詞:面向服務(wù)架構(gòu)(Sevice—oriented Architecture,SOA);農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng);業(yè)務(wù)流程;服務(wù)設(shè)計
中圖分類號:TP315 文獻標識碼:A 文章編號:0439—8114(2012)19—4369—05
隨著生活水平的提高和安全意識的加強,農(nóng)產(chǎn)品的安全性越來越得到人們的關(guān)心和重視,特別是近年來發(fā)生的食品安全事件,嚴重影響了消費者對農(nóng)產(chǎn)品的消費信任和農(nóng)產(chǎn)品的國際競爭力[1]。近幾年各級政府為建立農(nóng)產(chǎn)品質(zhì)量安全可追溯體系做了大量工作并頒布了相關(guān)法規(guī)和標準,很多研究機構(gòu)和學者也開展了食品可追溯系統(tǒng)的研究[2—4]。但是,農(nóng)產(chǎn)品供應(yīng)鏈具有參與方眾多,結(jié)構(gòu)松散,不確定因素多,業(yè)務(wù)流程和核心數(shù)據(jù)不穩(wěn)定等特點,傳統(tǒng)的信息追溯系統(tǒng)已經(jīng)不能滿足要求,建立可通過服務(wù)調(diào)用滿足不同種類農(nóng)產(chǎn)品追溯的信息管理系統(tǒng),提高追溯性能非常重要。該文通過對農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)進行研究,提出了基于SOA(Sevice—oriented Architecture)思想的系統(tǒng)架構(gòu),將農(nóng)產(chǎn)品種植、加工、儲存、運輸、銷售等環(huán)節(jié)分解成相對獨立的服務(wù),使追溯流程變得更加彈性和靈活,能夠快速響應(yīng)農(nóng)產(chǎn)品多變的需求,建立“從農(nóng)田到餐桌”的全程信息追溯技術(shù)體系。
1 系統(tǒng)研究
1.1 系統(tǒng)目標
農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)的建立是為了實現(xiàn)農(nóng)產(chǎn)品生產(chǎn)過程的規(guī)范性和質(zhì)量安全的可追溯性。根據(jù)系統(tǒng)記錄的信息可追溯農(nóng)產(chǎn)品在不同生產(chǎn)流通環(huán)節(jié)所處的空間位置、農(nóng)產(chǎn)品狀態(tài)、投入品信息及相關(guān)責任者。系統(tǒng)以條碼技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)為支撐,以各項目建設(shè)單位采集的生產(chǎn)數(shù)據(jù)為基礎(chǔ),圍繞“企業(yè)生產(chǎn)、質(zhì)量檢測、政府監(jiān)管、消費者查詢”四條主線,對農(nóng)產(chǎn)品種植、加工、運輸、銷售等環(huán)節(jié)進行剖析,對農(nóng)產(chǎn)品的種植環(huán)境、農(nóng)事活動、銷售狀況等實施電子化管理,構(gòu)建適用于不同種類農(nóng)產(chǎn)品、能根據(jù)企業(yè)生產(chǎn)流程靈活定制的農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng),實現(xiàn)對上市農(nóng)產(chǎn)品“源頭可追溯、流向可跟蹤、原因可查明、信息能查詢”的總體目標,從而達到提高農(nóng)產(chǎn)品安全和質(zhì)量的目的。
1.2 系統(tǒng)業(yè)務(wù)流程設(shè)計
農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)的設(shè)計,以具有一定規(guī)模的農(nóng)場或生產(chǎn)企業(yè)進行產(chǎn)品生產(chǎn)、銷售所采用的供應(yīng)鏈模式為基礎(chǔ)。企業(yè)在實施追溯系統(tǒng)前,系統(tǒng)實施人員通過對企業(yè)的種植、管理、收獲、運輸、包裝及銷售等生產(chǎn)流程進行剖析,根據(jù)企業(yè)的實際生產(chǎn)需求,為企業(yè)量身定制追溯系統(tǒng);企業(yè)通過條碼、RFID等技術(shù)采集追溯鏈的底層信息,將種植、收購、加工、包裝、物流等環(huán)節(jié)采集的生產(chǎn)流程數(shù)據(jù)進行匯聚,形成追溯鏈并向農(nóng)墾數(shù)據(jù)中心上報可追溯數(shù)據(jù);農(nóng)墾數(shù)據(jù)中心在企業(yè)上報的數(shù)據(jù)基礎(chǔ)上進行數(shù)據(jù)有效性檢驗,政府監(jiān)管部門可通過農(nóng)墾數(shù)據(jù)中心的數(shù)據(jù)進行投入品使用、問題產(chǎn)品等指標分析并對產(chǎn)品進行檢測,消費者通過網(wǎng)站、語音、短信等方式查詢。系統(tǒng)業(yè)務(wù)流程設(shè)計如圖1。
1.3 系統(tǒng)功能模塊設(shè)計
農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)為生產(chǎn)者、消費者和監(jiān)管者提供了一個信息交互平臺。系統(tǒng)提供農(nóng)產(chǎn)品追溯、預警分析、認證監(jiān)管和產(chǎn)品真?zhèn)舞b定等功能。信息服務(wù)以子系統(tǒng)形式依次在各實體間傳遞,設(shè)計開發(fā)了6個子系統(tǒng):企業(yè)定制子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)、企業(yè)數(shù)據(jù)匯總子系統(tǒng)、企業(yè)追溯數(shù)據(jù)處理子系統(tǒng)、消費者查詢子系統(tǒng)和政府監(jiān)管子系統(tǒng)(圖2)。
定制子系統(tǒng)用于農(nóng)產(chǎn)品生產(chǎn)流通環(huán)節(jié)個性化信息(如生產(chǎn)流程、采集內(nèi)容等)的定制,使追溯系統(tǒng)能夠更好地適應(yīng)各種復雜的生產(chǎn)流程,進行信息的采集、處理、查詢和統(tǒng)計。個性化定制主要包含農(nóng)產(chǎn)品種植、生產(chǎn)、加工、銷售等過程的定制;投入品、加工設(shè)備、儲存、運輸、銷售等過程采集信息的定制;字典結(jié)構(gòu)定制;查詢信息、監(jiān)管信息定制;用戶特殊處理的定制。
數(shù)據(jù)采集子系統(tǒng)用于整個追溯鏈底層信息的采集和基礎(chǔ)數(shù)據(jù)管理。信息采集主要包含字典維護、信息采集、數(shù)據(jù)上傳至企業(yè)中心服務(wù)器等模塊。
企業(yè)數(shù)據(jù)匯總子系統(tǒng)用于將種植、儲存、運輸、銷售等各個采集點采集到的數(shù)據(jù)進行匯聚,產(chǎn)生追溯鏈,并將數(shù)據(jù)打包上報,是企業(yè)向農(nóng)墾數(shù)據(jù)中心上報數(shù)據(jù)的惟一出口。主要包含接收采集點數(shù)據(jù)并匯總,數(shù)據(jù)校驗、產(chǎn)生追溯鏈及消費者查詢信息,數(shù)據(jù)打包上報、歸檔等模塊。
企業(yè)追溯數(shù)據(jù)處理子系統(tǒng)是自動等候程序,運行在農(nóng)墾數(shù)據(jù)中心服務(wù)器。將企業(yè)上報的追溯數(shù)據(jù)進行解包、校驗并更新數(shù)據(jù)庫,便于消費者和監(jiān)管者使用。
消費者查詢子系統(tǒng)為農(nóng)產(chǎn)品終端消費者提供網(wǎng)站、短信、電話語音查詢,了解農(nóng)產(chǎn)品的產(chǎn)地、加工日期等信息,實現(xiàn)質(zhì)量追溯的基本需求。
政府監(jiān)管子系統(tǒng)提供問題農(nóng)產(chǎn)品、投入品的追溯與跟蹤,確定問題產(chǎn)品的流向;對問題產(chǎn)品的影響范圍作出評估,包括對不合格投入品、生產(chǎn)環(huán)境等可能影響到其他農(nóng)產(chǎn)品的質(zhì)量作出預警;對投入品使用進行監(jiān)管,包括投入品使用情況分析、統(tǒng)計及投入品生產(chǎn)商、銷售商的信息管理。
企業(yè)定制子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)和企業(yè)數(shù)據(jù)匯總子系統(tǒng)主要面向生產(chǎn)企業(yè),采集追溯數(shù)據(jù)形成追溯鏈。監(jiān)管子系統(tǒng)面向政府及職能部門,提供檢測、管理數(shù)據(jù)。消費者可以通過網(wǎng)站、語音、短信等方式對農(nóng)產(chǎn)品進行全方位追溯。根據(jù)農(nóng)產(chǎn)品追溯碼將生產(chǎn)、監(jiān)管、檢測和消費等環(huán)節(jié)連接在一起,一旦發(fā)現(xiàn)問題,能夠通過溯源技術(shù)進行有效控制,保障了消費者的合法權(quán)益,同時系統(tǒng)實施提高了生產(chǎn)企業(yè)管理的信息化、標準化水平,有利于企業(yè)擴大生產(chǎn)經(jīng)營規(guī)模,提高生產(chǎn)效率。
2 基于SOA思想的系統(tǒng)架構(gòu)設(shè)計
2.1 面向服務(wù)架構(gòu)
面向服務(wù)架構(gòu)(Service—oriented Architecture, SOA)并不是一種專門的技術(shù)或開發(fā)方法,它只是一種系統(tǒng)開發(fā)和動作的指導思想[5]?;赟OA架構(gòu)的應(yīng)用系統(tǒng)可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進行分布式部署、組合和使用。它屏蔽了不同平臺、編程語言、操作系統(tǒng)和硬件架構(gòu)之間的差異。在這種模式下,一個應(yīng)用或部分應(yīng)用是一種服務(wù),可以被重用和共享[6]。服務(wù)之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊。
SOA結(jié)構(gòu)模型一般由服務(wù)提供者、服務(wù)使用者和服務(wù)注冊中心三部分構(gòu)成(圖3)。服務(wù)提供者將自己的服務(wù)和接口合約發(fā)布到服務(wù)注冊中心,以便服務(wù)使用者發(fā)現(xiàn)和訪問。服務(wù)注冊中心包含了可用服務(wù)的存儲庫,提供一種讓服務(wù)提供者與服務(wù)使用者交流的方法;服務(wù)使用者通過服務(wù)注冊中心查詢服務(wù),通過傳輸綁定服務(wù),并執(zhí)行服務(wù)功能。
與傳統(tǒng)架構(gòu)相比,SOA讓整個IT環(huán)境變得更富有彈性,通過借助現(xiàn)有的應(yīng)用來組合和產(chǎn)生新服務(wù),提供給企業(yè)更好的靈活性來構(gòu)建應(yīng)用程序和業(yè)務(wù)流程,最大程度地減少系統(tǒng)的耦合,提高可重用性,實現(xiàn)了和其他外部系統(tǒng)的信息溝通,達到了無縫集成的效果。
2.2 系統(tǒng)架構(gòu)設(shè)計
基于SOA思想的農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)將農(nóng)產(chǎn)品供應(yīng)鏈的業(yè)務(wù)流程和功能以服務(wù)的形式存在,和數(shù)據(jù)采集層的信息處理交互,并向追溯信息匯聚、查詢層提供服務(wù),通過數(shù)據(jù)庫進行數(shù)據(jù)通訊。目標是不能讓流程邏輯硬編碼至下層應(yīng)用中,使各個應(yīng)用系統(tǒng)分開維護,通過調(diào)用對方的服務(wù),有利于針對業(yè)務(wù)需要與需求的變化快速修改業(yè)務(wù)流程和功能。這樣能夠使業(yè)務(wù)流程更加流暢,系統(tǒng)功能更加強大,并且提供一個靈活、方便的流程集成機制。系統(tǒng)的總體架構(gòu)分4層:用戶交互層、業(yè)務(wù)邏輯層、服務(wù)提供層、數(shù)據(jù)應(yīng)用層[7](圖4)。
用戶交互層將根據(jù)不同的用戶需求和權(quán)限提供不同的客戶端界面,這些界面可以以桌面應(yīng)用程序或網(wǎng)頁的形式存在,通過HTTP和SOAP協(xié)議訪問。客戶端界面為用戶提供調(diào)用業(yè)務(wù)邏輯層服務(wù)的接口和輸入調(diào)用參數(shù)的接口。通過對客戶的需求進行分析,為不同類別的用戶提供相應(yīng)服務(wù)的調(diào)用接口界面。服務(wù)調(diào)用對用戶來說是完全透明的,用戶只需根據(jù)界面提供的接口和功能說明提供相應(yīng)的參數(shù)即可,服務(wù)執(zhí)行結(jié)束后結(jié)果將自動返回。
業(yè)務(wù)邏輯層包含了系統(tǒng)的業(yè)務(wù)流程,是整個系統(tǒng)架構(gòu)中最重要也是最復雜的一層。追溯系統(tǒng)的健壯性、靈活性和可維護性很大程度取決于該層的設(shè)計。業(yè)務(wù)邏輯層通過響應(yīng)用戶交互層的請求,將復雜的功能和流程簡化為服務(wù)和服務(wù)的組合,通過不同粒度服務(wù)之間的相互調(diào)用和交互,構(gòu)造出復雜的業(yè)務(wù)邏輯和功能,并通過組合、編排將服務(wù)綁定成一個流程,作為單獨的功能和接口來應(yīng)用。
服務(wù)提供層是體系架構(gòu)的重要部分,它將系統(tǒng)的流程和功能分割為具體的服務(wù),該層的服務(wù)有不同的粒度,服務(wù)通過一定的標準來發(fā)布,服務(wù)可以被發(fā)現(xiàn)或者直接靜態(tài)綁定,然后被調(diào)用,或者可能的話,編排到組合服務(wù)中。它集中了數(shù)據(jù)提供層提供的數(shù)據(jù)信息和服務(wù)提供者提供的服務(wù)信息,并將用戶提出的服務(wù)請求分解成不同的子服務(wù),總的來說,可以被映射成具體系統(tǒng)中的任何功能模塊。
數(shù)據(jù)應(yīng)用層中存放了與應(yīng)用程序相關(guān)的業(yè)務(wù)數(shù)據(jù)和控制數(shù)據(jù),這些數(shù)據(jù)存放在一個或者多個數(shù)據(jù)庫中。各采集點采集到的數(shù)據(jù)往企業(yè)數(shù)據(jù)中心上報,通過企業(yè)中心處理模塊對上報的數(shù)據(jù)進行監(jiān)控,然后對數(shù)據(jù)匯總,形成產(chǎn)品追溯數(shù)據(jù),再往農(nóng)墾數(shù)據(jù)中心上報可追溯數(shù)據(jù),供用戶查詢使用。
3 服務(wù)設(shè)計
在對服務(wù)進行設(shè)計時主要是粒度和耦合兩個方面的權(quán)衡。粒度說明的是服務(wù)的大小,可簡單理解為服務(wù)操作的范圍;耦合代表的是服務(wù)之間的關(guān)系。粗粒度的服務(wù),其操作內(nèi)容廣且雜,而細粒度的服務(wù),操作內(nèi)容細且簡單。采用粗粒度的服務(wù)設(shè)計,可以減小服務(wù)之間的耦合性,但會增加服務(wù)的復雜性和維護的難度。采用細粒度服務(wù)的設(shè)計,可以簡化服務(wù)實現(xiàn),但增加了服務(wù)數(shù)量。服務(wù)過細過多,必然有一些服務(wù)需要組合才能實現(xiàn)一定的功能,那樣會增加服務(wù)之間的耦合度。只要其中一個服務(wù)發(fā)生了變動,就會影響到其他與之相關(guān)的服務(wù)。為了降低農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)各個部分之間的耦合性,提高服務(wù)可重用性,系統(tǒng)架構(gòu)時依據(jù)農(nóng)產(chǎn)品生產(chǎn)特點和追溯信息的采集、監(jiān)管需求,設(shè)計了3種類型的服務(wù):基本服務(wù)、組合服務(wù)和綜合服務(wù)(圖5)。
基本服務(wù)是最小粒度的服務(wù),可實現(xiàn)系統(tǒng)最基本的功能。比如數(shù)據(jù)采集服務(wù)提供整個系統(tǒng)追溯信息采集服務(wù),它包括鍵盤輸入、條碼讀入、RFID讀入、IC卡讀入以及外部系統(tǒng)數(shù)據(jù)接口服務(wù)等,為系統(tǒng)最細粒度的服務(wù)。
追溯系統(tǒng)設(shè)計的基本服務(wù)包括:①數(shù)據(jù)采集服務(wù);②數(shù)據(jù)輸出服務(wù);③表單處理服務(wù);④數(shù)據(jù)通信服務(wù);⑤字典管理服務(wù);⑥追溯碼服務(wù);⑦采集點服務(wù);⑧投入品分析服務(wù);⑨檢測指標分析服務(wù);⑩短信服務(wù);11 電話語音服務(wù);12 網(wǎng)站服務(wù);13 追溯鏈服務(wù);14 數(shù)據(jù)報送服務(wù);15 數(shù)據(jù)匯總服務(wù)。
組合服務(wù)由基本服務(wù)組合而成,是由某種特定業(yè)務(wù)進行處理的基本服務(wù)組合到一起形成的粗粒度的服務(wù)集合。依據(jù)農(nóng)產(chǎn)品企業(yè)生產(chǎn)特點和追溯信息采集需求,將系統(tǒng)核心業(yè)務(wù)服務(wù)設(shè)計成組合服務(wù),每個組合服務(wù)由若干個“基本服務(wù)”+“處理邏輯”組合而成。比如投入品使用信息采集服務(wù)可對農(nóng)產(chǎn)品在整個生產(chǎn)過程中所使用的投入品情況進行采集,它由數(shù)據(jù)采集服務(wù)、表單處理服務(wù)、數(shù)據(jù)輸出服務(wù)、字典管理服務(wù)等基本服務(wù)加上投入品特有的處理邏輯而構(gòu)成。
追溯系統(tǒng)設(shè)計的組合服務(wù)包括投入品使用信息采集服務(wù)、追溯源服務(wù)等,如表1所示。
綜合服務(wù)是最大粒度的服務(wù),按照一定的業(yè)務(wù)流程順序?qū)⒔M合服務(wù)進行合成。對于養(yǎng)殖類生產(chǎn)企業(yè)一般可分為養(yǎng)殖服務(wù)、收購屠宰服務(wù)、銷售物流服務(wù)。而對應(yīng)種植類生產(chǎn)企業(yè)一般分為種植服務(wù)、收購加工服務(wù)、銷售物流服務(wù)。
4 小結(jié)
食品安全問題不僅直接與公眾健康相關(guān),而且已成為影響中國農(nóng)業(yè)和食品產(chǎn)業(yè)國際競爭力的重要因素。建立覆蓋農(nóng)產(chǎn)品從種植到最終消費品各階段的信息追溯系統(tǒng),有利于控制農(nóng)產(chǎn)品質(zhì)量。該文分析了農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)的建設(shè)目標、業(yè)務(wù)流程及功能模塊,就追溯系統(tǒng)與SOA技術(shù)的應(yīng)用集成進行了研究分析,并在此基礎(chǔ)上提出了基于SOA思想的農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)的架構(gòu)及服務(wù)設(shè)計。系統(tǒng)體現(xiàn)了各類農(nóng)產(chǎn)品不同供應(yīng)鏈的需求,實現(xiàn)了對谷物、水果、蔬菜、禽肉、茶葉等農(nóng)產(chǎn)品的追溯,既滿足了消息者對質(zhì)量信息透明的要求,又為企業(yè)進行標準化、信息化管理提供了平臺。
參考文獻:
[1] 呂 青,王海波,顧紹平.可追溯體系及其在水產(chǎn)品安全控制中的作用[J].漁業(yè)現(xiàn)代化,2006(3):7—9.
[2] 白云峰,陸昌華,李秉柏,等.肉雞安全生產(chǎn)質(zhì)量監(jiān)控可追溯系統(tǒng)的實現(xiàn)[J].江蘇農(nóng)業(yè)學報,2006,22(3):281—284.
[3] 謝菊芳,陸昌華,李保明.基于.NET構(gòu)架的安全豬肉全程可追溯系統(tǒng)實現(xiàn)[J].農(nóng)業(yè)工程學報,2006,22(6):218—220.
[4] 楊信廷,孫傳恒,錢建平,等.基于流程編碼的水產(chǎn)養(yǎng)殖產(chǎn)品質(zhì)量追溯系統(tǒng)的構(gòu)建與實現(xiàn)[J].農(nóng)業(yè)工程學報,2008,24(2):159—164.
[5] 李廣明. 基于SOA的柔性化農(nóng)產(chǎn)品供應(yīng)鏈信息系統(tǒng)研究[J].安徽農(nóng)業(yè)科學,2010,38(25):14129—14131.
[6] 楊象馳,李鵬飛. 基于SOA的郵政物流信息系統(tǒng)規(guī)劃[J].計算機工程與設(shè)計,2007,28(19):4825—4827.
[7] 劉 敏,嚴雋薇. 基于SOA的網(wǎng)格化制造模式及體系結(jié)構(gòu)[J].同濟大學學報(自然科學版),2007,35(2):239—243.