文/王士平
軟件定義糧食業(yè)務共創(chuàng)“互聯(lián)網(wǎng)+糧食”時代
文/王士平
糧食行業(yè)是一個關系國計民生的基礎行業(yè),是關系經(jīng)濟發(fā)展和社會穩(wěn)定繁榮的基礎,是傳統(tǒng)行業(yè)的典型代表。而云計算、大數(shù)據(jù)作為一個先進的信息技術,在各行業(yè)的“互聯(lián)網(wǎng)+”轉(zhuǎn)型應用中備受關注。試想,當傳統(tǒng)的糧食行業(yè)遇見云計算技術,將會產(chǎn)生哪些顛覆性的變化、帶來怎樣的生機?
首先,糧食領域是一個計算機應用相對落后的領域。從行業(yè)信息化的角度來看,行業(yè)信息化基本經(jīng)歷了兩個主要階段,一是計算機應用系統(tǒng)輔助業(yè)務階段,二是軟件定義業(yè)務階段。
在過去三十多年的時間里,行業(yè)信息化的定位一直是通過計算機應用系統(tǒng)輔助業(yè)務管理和運作。在這個模式下,計算機應用系統(tǒng)的主要任務是規(guī)范化業(yè)務操作流程,并通過軟件邏輯將業(yè)務操作流程固化下來,通過業(yè)務人員向計算機應用系統(tǒng)輸入數(shù)據(jù)或執(zhí)行相應的操作,完成規(guī)范化的業(yè)務流程。三十多年來的實踐證明,這樣的信息化模式很難適應業(yè)務發(fā)展的需求。主要表現(xiàn)在以下三個方面。
(一)業(yè)務流程梳理和規(guī)范化是計算機應用系統(tǒng)成功運作的前提。在現(xiàn)實實踐中,人們發(fā)現(xiàn)其實很難將本企業(yè)或本行業(yè)錯綜復雜的業(yè)務流程完整的規(guī)范化和梳理清楚,一個折中的辦法就是選擇一條相對清晰的業(yè)務線,進行流程梳理和規(guī)范,并基于此開發(fā)相應的計算機應用系統(tǒng)。隨著時間的推移,一個企業(yè)的多個業(yè)務條線會被分解成多個細分領域進行相應的流程規(guī)范和梳理工作,從而逐步形成了多應用系統(tǒng)的局面。也就是在信息化領域一直被詬病的信息孤島或“煙囪”式應用系統(tǒng)。
(二)在一個企業(yè)當中,細分業(yè)務領域之間的業(yè)務協(xié)同是很難避免的。在應用層面而言,帶來的就是大量的應用系統(tǒng)集成工作。多應用系統(tǒng)的集成帶來的弊端也是非常明顯的,例如高度的系統(tǒng)復雜性帶來的系統(tǒng)脆弱性和低可用性,大量的人工干預降低了信息的可信度。這兩個核心問題一直伴隨著行業(yè)信息化進程的三十多年,使得很多行業(yè)的計算機應用系統(tǒng)陷入“失之不可、棄之不能、用之無效”的尷尬境地。
(三)通過計算機應用系統(tǒng)固化業(yè)務流程的另一個弊端在于,業(yè)務的變化是永恒的,這種變化從大的業(yè)務模式改變到細微的操作規(guī)范或操作習慣的調(diào)整,而僵化的計算機應用系統(tǒng)很難適應業(yè)務的這些快速變化(從業(yè)務環(huán)境到操作習慣)。計算機應用系統(tǒng)不適應業(yè)務變化的突出表現(xiàn)體現(xiàn)在:應用程序的不斷更新,我們很難看到一個應用系統(tǒng)在規(guī)定的預算和規(guī)定的時間內(nèi)完成預期目標,并轉(zhuǎn)向正常運維。開發(fā)人員跟隨應用系統(tǒng)運行的整個生命周期是一個普遍的現(xiàn)象。新一批業(yè)務需求的提出,往往導致將以往應用系統(tǒng)完全推翻、重新建設。因為在一個固化的業(yè)務流程框架下實現(xiàn)的應用邏輯不具備可擴展性,從而極大地提高了軟件開發(fā)和總擁有成本。
軟件定義業(yè)務是隨著云計算、大數(shù)據(jù)技術的成熟出現(xiàn)的一種新的計算機應用架構模式。仔細分析一下“業(yè)務流程”,我們會發(fā)現(xiàn),業(yè)務流程實際上是由具體的業(yè)務節(jié)點上的“業(yè)務操作活動”與“業(yè)務操作活動”的傳遞邏輯構成的。傳統(tǒng)的應用邏輯定義是企圖將整個業(yè)務流程——從“業(yè)務操作活動”到“業(yè)務操作活動”的傳遞邏輯完全地固化下來,并通過應用系統(tǒng)來實現(xiàn)。而在現(xiàn)實世界中,“業(yè)務操作活動”和“業(yè)務操作活動”的傳遞邏輯都可能會發(fā)生變化,從而導致應用系統(tǒng)的不穩(wěn)定和低可用性。與傳統(tǒng)應用架構模式企圖固化規(guī)范化的業(yè)務流程不同,軟件定義業(yè)務只是通過軟件定義具體的“業(yè)務操作活動”并以微服務的形式將軟件定義的“業(yè)務操作活動”注冊在云計算服務平臺上。具體的業(yè)務流程可以通過靈活編排相應的微服務快速實現(xiàn)。在這樣的應用架構模式下,計算機信息處理實際上由傳統(tǒng)的輔助業(yè)務角色轉(zhuǎn)向定義業(yè)務的角色。傳統(tǒng)意義上的人工業(yè)務操作活動將被軟件定義和操作。實踐證明,軟件定義業(yè)務的架構模式優(yōu)勢是明顯的:
(一)微服務實現(xiàn)的業(yè)務邏輯簡單,通過云開放平臺注冊后形成企業(yè)業(yè)務知識資產(chǎn)的積累和沉淀。任何“業(yè)務操作活動”層面的變化,都可以通過調(diào)整微服務快速實現(xiàn)。任何“業(yè)務操作活動”的傳遞邏輯變化,都可以通過對微服務的重新編排和調(diào)整來實現(xiàn)。
(二)軟件定義業(yè)務的應用架構以云平臺服務為基礎,打破了傳統(tǒng)應用的邊界,沉淀下來的業(yè)務資產(chǎn)可以通過“微服務”持續(xù)優(yōu)化,從而實現(xiàn)了應用系統(tǒng)的靈活性和可擴展性。
(三)微服務的可復用性和可持續(xù)優(yōu)化,極大地降低了應用的總擁有成本。業(yè)務流程的實現(xiàn)是通過自動化的“微服務”編排實現(xiàn)的,從而避免了傳統(tǒng)應用架構帶來的應用集成的許多弊端。
在三十多年的信息化實施歷程中,許多行業(yè)都經(jīng)歷過或正在經(jīng)歷傳統(tǒng)應用架構的實現(xiàn)路徑或軟件定義業(yè)務的應用架構實現(xiàn)路徑。雖然許多信息化實現(xiàn)相對成熟的行業(yè),比如銀行、電信行業(yè),其信息化工作起步早,覆蓋領域相對完整,但它們今天面臨的局面卻是向新的應用架構的轉(zhuǎn)型困難,因為這些行業(yè)的大量業(yè)務依賴于傳統(tǒng)的應用架構,而且持續(xù)維護的成本居高不下。沉重的歷史包袱使得這些行業(yè)采用云計算架構舉步維艱。相對這些信息化起步較早的行業(yè),雖然糧食行業(yè)的信息化工作起步較晚,但由于沒有歷史包袱,而且正巧趕上云計算、大數(shù)據(jù)技術的成形期。如果正確選擇軟件定義業(yè)務的云計算平臺架構,其彎道超車的效應是明顯的。軟件定義糧食業(yè)務為糧食業(yè)務現(xiàn)代化帶來的改變主要體現(xiàn)在以下幾個方面:
圖1 從業(yè)務藍圖到應用設計思路
通過軟件定義糧食業(yè)務的方法,將糧食業(yè)務場景化,所有業(yè)務場景均來自于糧食業(yè)務活動,從糧食業(yè)務的整體入手,將整體業(yè)務劃分業(yè)務域。然后進行進一步細化,在各個業(yè)務域中劃分業(yè)務子域,再將全部業(yè)務活動與業(yè)務子域進行匹配,形成業(yè)務藍圖全景視圖,針對梳理的業(yè)務活動進行微服務設計。從業(yè)務分析到微服務再到應用設計的整體需求開發(fā)思路如圖1所示。在應用設計時,采用微服務架構的設計模式,使每個條線的業(yè)務人員成為這個微服務的產(chǎn)品經(jīng)理,持續(xù)參與糧食業(yè)務的定義。
案例分析:
在日常工作中,儲備庫的倉庫保管員每天都要檢查糧倉內(nèi)的糧情,包括:糧食溫度、糧食濕度、倉內(nèi)溫度、倉內(nèi)濕度等數(shù)據(jù),以便及時對糧倉進行通風、降溫等操作,保證糧食能夠在一個適宜的環(huán)境長期儲存。然后需要線下填寫“糧情檢查報告”并進行存檔。工作流程復雜,且不利于實現(xiàn)數(shù)據(jù)的及時共享。
通過“軟件定義糧食”的思維,使倉庫保管員參與應用設計,將填寫“糧情檢查報告”的工作通過線上的應用實現(xiàn)。此外,倉庫保管員還可以根據(jù)自己工作內(nèi)容的變化,提出需求變更,通過對微服務的迭代持續(xù)滿足工作需要。例如:“糧情檢查報告”需要記錄的內(nèi)容發(fā)生變化、糧倉進行智能化改造后可以自動采集糧情數(shù)據(jù)等,倉庫保管員也可根據(jù)業(yè)務變化提出需求變更,更改檢查報告的填寫內(nèi)容、在檢查報告上自動填寫糧情數(shù)據(jù)等。在這個過程中,倉庫保管員就成為“糧情檢查報告”這個微服務的產(chǎn)品經(jīng)理。
圖2 持續(xù)交付-應用設計原則
圖3 微服務拼裝,實現(xiàn)新應用
圖4 云平臺+微服務的模式
在傳統(tǒng)的需求項目型開發(fā)模式中,業(yè)務流程復雜,一旦定義很難隨時變更,而且業(yè)務邏輯散落在項目的很多點上,導致業(yè)務人員參與度很低。相比之下,在基于業(yè)務活動向應用轉(zhuǎn)化的過程中,以微服務架構進行應用開發(fā)設計,項目組基于“項目不停、需求不斷,持續(xù)迭代、持續(xù)交付”的原則及過程。業(yè)務活動轉(zhuǎn)化為功能應用過程如圖2所示。每個微服務都是一個獨立的業(yè)務,業(yè)務人員(微服務產(chǎn)品經(jīng)理)可隨時提出需求變更,對微服務進行迭代,保證了業(yè)務流程的充分靈活性。此外,根據(jù)業(yè)務需求,可通過將不同的微服務進行編排組合,來實現(xiàn)新的業(yè)務功能,減少了重復開發(fā),提高了開發(fā)效率。
案例分析:
基于糧庫需要實現(xiàn)倉內(nèi)視頻監(jiān)控和庫區(qū)視頻監(jiān)控的需求,設計了“庫區(qū)視頻監(jiān)控應用”和“倉內(nèi)視頻監(jiān)控應用”。將視頻監(jiān)控的業(yè)務場景固化為“視頻監(jiān)控服務”,此服務能夠調(diào)用各個視頻廠商的監(jiān)控平臺獲得糧庫內(nèi)安裝的各個攝像頭的實時視頻?!皫靺^(qū)視頻監(jiān)控應用”和“倉內(nèi)視頻監(jiān)控應用”通過調(diào)用“視頻監(jiān)控服務”獲取實時視頻。
基于糧庫出入庫業(yè)務需求,設計了“一卡通出入庫應用”,該應用調(diào)用“出入庫服務”、“合同管理服務”、“庫存管理服務”等多個服務實現(xiàn)了糧食出入庫整個流程的功能。以“糧食汽車入庫流程”為例,涉及:在門口處發(fā)卡、在質(zhì)檢中心扦樣和化驗、地磅房處過毛重、糧倉處執(zhí)行糧食入庫、返回磅房過皮重、返回門口退卡出庫,共7個步驟的操作。
之后,糧庫又提出要實現(xiàn)對庫區(qū)正在作業(yè)車輛進行視頻監(jiān)控的需求,因此設計了“庫區(qū)車輛監(jiān)控應用”,需要確定每輛車當前的位置,并調(diào)用能夠監(jiān)控到該位置的視頻監(jiān)控。因此,“庫區(qū)車輛監(jiān)控應用”可以直接調(diào)用“出入庫服務”獲得車輛的作業(yè)步驟和作業(yè)位置,調(diào)用“視頻監(jiān)控服務”獲得相應位置的視頻監(jiān)控。只是通過對原來業(yè)務服務的重新編排,即可實現(xiàn)“庫區(qū)車輛監(jiān)控應用”這一新的業(yè)務功能。(圖3)
圖5 國家、省級、企業(yè)三級可擴充的云服務架構
平臺經(jīng)濟、共享經(jīng)濟是互聯(lián)網(wǎng)的主流思想,云平臺的精髓也是資源共享、業(yè)務共創(chuàng)。如圖4所示,在云平臺上,一切資源皆為共享資源,微服務資產(chǎn)沉淀在云平臺上,能夠降低IT建設的成本,提高建設效率。通過云平臺+微服務的模式,未來可以實現(xiàn)微服務和輕應用跨省、跨地區(qū)之間的應用,各省、地區(qū)只需要根據(jù)自身糧食業(yè)務特點進行個性化開發(fā),并且也可以將自身新建的好的服務和應用沉淀到云平臺,供其他省調(diào)用,能夠大幅度降低整個國家糧食體系的IT建設成本,提高各省、地區(qū)的參與積極性。
案例分析:
為進一步提升糧食信息化水平,搭建國家、省級、企業(yè)三級可擴充的云服務架構。如圖5所示,采取國家、省級、企業(yè)三級總體平臺架構,國家和省級平臺主要服務糧食行政管理和宏觀調(diào)控,企業(yè)平臺主要服務糧食企業(yè)生產(chǎn)和經(jīng)營決策。
國家級糧食應用云,基于標準化業(yè)務服務形成數(shù)據(jù)分析和智能決策應用,國家標準化核心糧食業(yè)務服務平臺是其基礎服務。在推廣國家級核心業(yè)務平臺的基礎上,地方擴充自己的業(yè)務服務能力,形成地方特色的糧食管理應用云,通過業(yè)務服務能力形成從感知層-操作層-管理層-決策層端到端的業(yè)務應用。企業(yè)糧食管理應用云主要是應用省級平臺,在此基礎上,為防止斷電、斷網(wǎng)等突發(fā)事件的發(fā)生,搭建本地應急平臺,能夠保證突發(fā)事件期間本地糧食業(yè)務的正常開展,當突發(fā)事件消除后,能夠自動切換到使用省級平臺,同時本地數(shù)據(jù)會自動更新到省級平臺。(圖5)
隨著云計算技術的不斷發(fā)展,以及在糧食業(yè)務應用方面的不斷探索,將更好地以軟件定義糧食業(yè)務,加快糧食信息化發(fā)展的進程,共創(chuàng)“互聯(lián)網(wǎng)+糧食”時代。
作者單位:怡和祥云(北京)科技有限公司