王少林, 田晨璐, 毛錫雙, 魏仁政, 李 程
?
面向服務的水泥企業信息系統集成架構①
王少林1, 田晨璐1, 毛錫雙2, 魏仁政1, 李 程1
1(山東建筑大學, 濟南 250101)2(廣西壯族自治區墻體材料改革辦公室, 南寧530028)
為滿足水泥企業流程重組與業務協同對企業信息系統的要求, 在充分考慮水泥企業的信息化現狀的基礎上, 綜合利用混合云的優勢, 以面向服務的方法構建了水泥企業信息系統應用集成架構, 設計了一種針對大型水泥企業的服務劃分算法, 以移動服務和設備診斷檢測服務為例詳細闡述了服務實現的過程. 以該應用集成架構為基礎構建了某水泥企業應用集成平臺, 充分利用了云端資源及企業內部信息資源, 實現了該水泥企業信息系統的應用集成、共享及遠程訪問, 滿足了該企業滿足科學管理、流程優化、協同業務等信息化需求.
混合云; SOA; 水泥企業; 應用集成; 架構
水泥工業是國民經濟的重要基礎產業之一, 屬于典型的流程型行業, 利用信息技術, 促進水泥行業的發展, 是兩化融合的目標之一[1]. 在水泥企業生產計劃中, 年度計劃具有重要意義. 年度生產計劃和銷售計劃, 決定了企業物料采購計劃. 一般情況下, 企業按月份簽訂供貨合同以及結算貨款. 每周、每日生產計劃的物料平衡依靠原材料庫存來保證和調節[2]. 生產、采購、庫存、銷售等各環節相互配合完成水泥企業運營業務, 其運營業務流程如圖1所示.
在水泥企業信息化過程中, 由于信息系統的引入缺少規劃性, 每引入一個新的子系統就會新增相應的軟硬件基礎設施, 出現重復建設的問題, 系統資源利用率低且建設周期長. 系統與系統之間沒有統一的接口標準, 信息孤島現象廣泛存在, 運維成本較高, 不利于水泥企業流程重組. 此外, 當前水泥企業均采用數據覆蓋模式以實現海量數據的再存儲, 這種模式導致數據資源的極大浪費.
針對目前水泥信息化現狀, 為滿足水泥企業面臨的業務重組及應用集成需求, 部分研究人員針對水泥企業系統應用集成進行研究, 提出一些架構設計[2-4], 雖然一定程度上解決了異構系統的互操作問題, 但系統開放性與靈活性較差, 難以滿足企業信息化的新需求. 楊陽[5]等人基于SOA方法進行系統集成設計, 并應用于水泥監控平臺, 取得了良好的效果, 但并未考慮對數據資源的保護與云端資源的利用.

圖1 水泥企業生產運營業務流程
SOA(Service-Oriented Architecture)即面向服務架構, 其思想表現是將信息系統的邏輯功能分解為更小的獨立功能單元, 依據業務流程分析, 將相關功能進行聚合, 并通過標準技術, 將集合后的功能封裝為獨立存在的服務, 各服務相互配合, 實現用戶需求的業務, 進而實現系統的體系化[6]. 在云計算的部署模式中公有云的計算能力強, 價格較低, 但是安全性差, 過多的依賴網絡帶寬; 私有云建設價格較高, 計算能力冗余少, 但安全性高; 社區云可充分利用區域內的計算能力, 但是現在仍處于探索階段, 有很多技術問題需要解決; 混合云綜合了私有云與公有云的優勢, 以較少的資金投入獲取足夠的存儲能力并保證數據安全[7].
SOA的優勢在于應用集成與部署, 云計算的優勢在于無限的存儲與計算能力. 應用SOA方法, 充分利用混合云的優勢, 對水泥企業信息系統應用集成架構進行設計, 滿足企業流程重組與業務協同的需求, 實現水泥企業異構、分布式信息系統的應用集成和共享、數據資源的保護、集成平臺的遠程訪問功能.
傳統水泥企業中會存在多種遺留信息系統, 本文從業務驅動的角度自上而下進行平臺開發, 集成企業各應用系統與云端資源, 基于混合云建立水泥企業公有云數據中心與私有數據中心, 有效集成并保護水泥生產及業務數據. 企業內部各個信息系統所需的功能邏輯實現模塊以服務的形式按照標準進行封裝, 服務之間通過簡單、中立接口進行通訊, 針對云端Saas資源, 采用服務鏈接與調用API的模式進行集成, 水泥信息系統應用集成邏輯架構如圖2所示.

圖2 水泥信息系統應用集成邏輯架構
為確保集成平臺建設的靈活性、可移植性, 適應企業業務變化與流程重組需求, 水泥企業應用集成架構采用數據資源與功能服務相分離、功能服務與業務應用相分離的思路, 其架構主要包含用戶訪問層、應用層、服務層、運維層、數據支撐層與基礎設施層. 它們之間相互獨立, 又緊密聯系, 形成多層體系結構的特點, 其架構如圖3所示.

圖3 水泥企業應用集成平臺架構
2.1 用戶訪問層
用戶通過統一的登錄界面進行訪問, 獲取權限內的功能應用. 統一登錄功能的設計采用基于角色的授權方法[8], 并引入權限的繼承與私有概念, 將管理理念滲透到統一登錄平臺中. 高權限的用戶可全部或部分繼承低權限用戶的非私有權限, 用戶的私有權限受到保護, 不允許繼承. 此外, 用戶訪問層與用戶進行直接交互, 界面風格需規范統一, 依據用戶所關心的具體內容進行個性化設計, 為用戶提供友好訪問界面.
2.2 應用層
應用層由生產管理、財務管理、庫存管理、質量管理、設備管理等的實現流程及框架組成, 流程采用高級語言定制的方式實現. 應用層接受訪問層業務請求, 在服務運維層的輔助下, 與服務直接交互, 處理服務返回信息, 完成相關業務功能. 一個應用的實現一般需要調用服務層的一個粗粒度服務與多個細粒度服務. 應用層與服務層相分離, 保證了服務的獨立性, 方便實現業務重組, 增強架構的靈活性.
2.3 服務層
服務層包括企業內部發布的服務和云端SaaS及其API. 水泥企業信息系統提供的服務一般有生產現場管理基服務、設備檢測診斷服務、稱重計量服務、質量檢驗服務、報表服務、用戶管理與安全服務、能效分析基服務、辦公管理服務等. 在未采用面向架構以前, 上述各個服務都是單獨的子系統提供. 在某種程度上來說, 子系統之間存在信息間隙, 比如存在異構數據或同一數據由多個系統同時維護等問題. 這樣會導致系統的可擴展性不足, 例如若需要在原有系統基礎上新建應急指揮平臺, 應急指揮平臺需要全面、有效的生產現場運行狀態、設備檢驗診斷等信息, 同時需要急修、調度、客服人員管理等多個業務系統相配合, 單純依靠管理員登錄不同的業務子系統, 操作相當復雜, 既降低工作效率, 又無法獲取全面的信息資源. 服務層增強了系統的可擴展性與協同能力.
當水泥運營流程相對單一時, 可通過人工分析進行服務劃分, 但是隨著運營流程細化, 人工劃分科學性與可靠性受到質疑. 服務粒度的粗細影響業務流程的柔性, 隨著業務服務平均粒度增大, 流程的柔性度將先逐漸增長, 達到一定的程度后將逐漸下降[9]. 因此, 本文采用服務最小粒度化、分類再聚合的思路, 結合水泥企業業務流程分析進行服務劃分.
定義1. 服務基礎集SS(NM SF RU((NMi,&i),j) RD(((NMi,&i)),j) ID)
服務基礎集是指所有單粒度服務集合, 所謂單粒度服務是指不可再分服務, 服務無中間結果, 服務內部無對等服務. 其中NM代表名字, SF代表提供服務的軟件, RU代表上級服務關系, RD代表下級服務關系, ID代表服務標示. NM由一系列編號組成, 編號位數由服務等級決定, 服務編碼由服務內容與服務提供軟件決定, SF由一系列編號組成, 編號由服務所屬部分, 及軟件主業務決定; RU是與該服務相聯系的上級服務, 包括服務名稱NMi與關聯度&i, 關聯服務數量j, RD是與該服務相聯系的下級服務, 包括服務名稱NMi與關聯度&i, 關聯服務數量j; ID為服務標示, 表示服務類別, 通過服務標示顯示是否為同一類可替換服務.
定義2. 業務流集BF(BSi(BSij))(i, j為自然數)
業務流集是指所有業務流的集合, 業務流用BSi(BSij)表示, BSij是組成業務流的具體業務, 業務在業務流中順序存儲.
定義3. 服務集SV(SVi(NM SF(sfi))ID(idi))
服務集是最終呈現在服務層的單粒度服務聚合后的服務的集合, 服務集中的服務用SVi(NM SF(sfi) ID(idi)), 聚合后的服務具有更強的獨立性, NM代表名稱, SF(sfi)代表提供服務的軟件集, ID(idi)為服務標示, 表示聚合后服務內部基礎服務的服務類別, 通過服務標示, 顯示服務內部基礎服務的可替換性.
以下是本文設計的大型水泥企業服務劃分算法:
算法: 水泥服務劃分算法
輸入: BF,SS
輸出: SV
方法:
服務基礎集對象的RU、RD均置零
for each 業務流BSi屬于BF
for BSi業務序列
業務序列匹配服務
if 服務匹配
掃描RU、RD,
if 已有服務關系, 則更新&i, 即&i加1
else 創建新的服務關系
end if
end if
end for
end for
for each Si屬于SS
if Si.RU.j=0or1 and Si.RD.j=0or1
服務劃分為A類服務
else
服務劃分為B類服務, 表示服務為SVi
end if
end for
標記A中所有Si為unvisited
do
隨機選取服務Si
標記Si為visited
Si為sv
repeat
將sv的上、下級服務與A中unvisited服務進行匹配
if 上級服務可匹配
將上級服務標記為visited
聚合服務為sv
end if
if 下級服務可匹配
下級服務標記為visited
聚合下級服務與sv替換原sv
end if
until sv無上下級匹配服務
輸出sv為SVi
標記為C類服務
until 沒有標記為unvisited的服務
通過算法, 得到細粒度的公共服務, 即B類服務, 以及粗粒度的專項服務, 即C類服務, B類服務與C類服務共同構成服務集SV, 某水泥廠服務層劃分如圖3服務層所示. 生產現場管理服務、設備檢測診斷服務、質量檢驗服務等為基服務, 即B類公共服務, 頻繁為外界提供服務. 生產管理服務、財務管理服務等為C類專項服務, 這類服務為粗粒度服務, 服務于某個業務部門.
2.4 運維層
運維層接受和響應用戶訪問層來的業務請求, 與服務提供層的服務進行信息交互, 是用戶訪問層與服務提供層的中介. 服務運維層進行平臺與服務的管理運維, 為平臺運行安全性與平穩性提供保障, 該層包括業務邏輯庫、服務管理器、服務元信息庫、服務目錄、服務日志及服務配置文件等模塊.
2.5 數據支撐層
數據支撐層維護和管理公共平臺所有數據資源, 對不同來源、不同種類數據進行統一管理, 提供多種通用的數據訪問接口, 為平臺運行提供數據支撐. 通過調用服務提供層的相關數據處理服務進行數據清洗、轉換、加載, 構建數據倉庫, 為平臺數據挖掘及相關決策分析提供基礎.
水泥企業現有信息存儲設備難以長時間存儲巨大生產數據量, 現主要采用數據覆蓋機制進行存儲資源的節約, 因而導致數據資源的極大浪費. 企業建立公有云數據中心與企業私有數據中心, 將非敏感數據存入公有云數據中心, 敏感數據存入企業私有數據中心. 數據運維管理機制主要包括數據轉換機制、數據交互機制、數據規約機制、數據查詢機制、數據整合機制, 其中數據交互機制中的數據映射子機制, 主要通過目錄映射與定期數據轉存設置實現數據自動上傳與更新, 保證數據安全的同時, 為企業節省開支[8].
2.6 基礎設施層
基礎設施層位于最底層, 是整個平臺的基礎與支撐, 提供開發、運行、使用的基礎平臺和用于數據傳輸的安全通道等, 為上層“建筑”提供基本支持. 基礎設施層包括用戶操作的計算機系統, 支持應用系統開發、運行的服務器系統和各類操作系統、各種存儲設備(系統), 還包括數據備份、容災、備災等保障數據安全的設備設施.
3.1 移動服務的設計與實現
隨著移動終端設備的普及, 水泥企業逐漸產生了將現存信息系統中部分功能遷移到移動平臺的需求. 在混合云環境下本文將移動服務WebService部署到公有云, 為水泥企業職工提供人事管理、信息發布、遠程辦公等服務,并注冊到企業的UDDI服務注冊中心.企業職工可以通過下載相應的智能手機客戶端軟件遠程訪問已發布的WebService, 實現相應的應用功能.
以信息發布服務為例, 查詢發布信息的時序圖如圖所示. 企業職工通過智能手機APP登錄之后, 選擇信息查詢服務, 選擇具體日期, 點擊查詢按鈕將查詢請求通過WebService發送到Web服務器, 由相應的程序對請求進行解析, 然后查詢相應的數據庫, 將查詢結果返回給手機APP顯示到界面上. 移動終端利用webservice和web服務器通信, 無論是調用哪一種具體服務, 收到的數據都是xml形式, 因此移動終端只需編寫一種解析程序就可以實現對異構數據的解析.

圖4 查詢發布信息時序圖
本文中移動終端為Android平臺, 獲取WebService的方法是調用第三方類庫kSOAP2. Android開發的具體的實現方法如下:
STEP1: 導入所需的jar文件;
STEP2: 實例化SoapObject對象;
STEP3: 設置調用接口方法參數, 本文中為日期參數;
STEP4: 設置SOAP請求信息;
STEP5: 注冊Envelope;
STEP6: 構建傳輸對象, 生成WSDL;
STEP7: 調用WebService;
STEP8: 返回xml格式文件.
3.2 設備檢測診斷服務的設計與實現
設備檢測診斷服務包括以下幾個子服務, 設備運行狀態信息獲取服務、設備狀態評估服務、參數異常報警服務、故障診斷服務、設備故障報警信息服務、設備綜合監測與評價結果服務. 通過設備運行信息獲取服務獲取各設備的運行狀態信息, 設備狀態評估服務主要獲取經計算后的幅值域(峰值、均值、均方根等)與設備震動情況(實測值/初值), 為設備狀態評估提供邏輯數據, 設備狀態評估分為健康、亞健康、不健康、病態等; 參數異常服務無輸入參數, 該服務主要針對水泥廠關鍵設備的關鍵狀態進行監測, 并返回是否報警及報警信息; 故障診斷服務為故障診斷邏輯模塊提供數據支持, 輸出功率值、幅值域參數等, 返回各指標值; 設備故障報警信息服務提供某時間段的某設備或多個設備的報警信息; 設備綜合監測與評價結果服務主要服務于設備管理層領導, 給出設備綜合信息狀況.
本服務中WebService是基于.NET平臺開發實現. 在.net平臺下, 新建一個WebService項目, 將相關功能邏輯分別封裝入該Web服務的Web方法中, 并修改其默認XML命名空間, 保證其唯一性, 編譯后, VisuaI Studio. NET 將自動生成相應的 WSDL 文件, 生成網站, 即創建完設備監測診斷Web服務. 本服務的webservice部署在企業內部IIS之上. 將該服務發布到IIS時, 需要創建虛擬目錄指針指向該服務. 由于本系統中服務數量較多, 需要單獨描述每個服務, 即在[WebMethod(Description ="對該服務的描述")]. Webservice中的設備檢測診斷服務幫助界面如圖5.

圖5 設備檢測診斷服務幫助界面
以煤磨設備運行狀態信息查詢服務為例說明服務方法的測試實現. 點擊DRStatusInfo超鏈接, 出現圖6所示畫面, 輸入煤磨ID值、時間, false, 點擊調用, 即返回煤磨狀態監測參數xml結果, 如圖7所示, 包括設備名稱(EQUIPMENT)、返回時間(TIME)及煤磨的狀態監測參數, 其中煤磨狀態監測參數之間以“/”隔離, 格式為“煤磨參數編碼: 煤磨參數value”,當有應用程序調用該服務時, 需要按照此協議進行解析.
水泥集成平臺構建過程中, 在服務注冊中心查詢到該服務, 添加引用, 創建設備監測診斷服務代理對象, 通過該服務代理對象調用設備信息查詢服務方法.
某水泥企業現有兩條日產5000噸的熟料生產線, 每條熟料生產線均配有余熱發電廠. 兩條生產線的DCS系統分別由西門子和浙大中控提供, 兩個發電廠的DCS系統分別由和利時和浙大中控提供. 此外, 磅房計量稱重系統(計量熟量料的出庫量和煤炭等原料的入庫量), 能源管理系統, 及各個部門生產經營管理系統, 生產過程信息管理系統、生產原料管理系統是原有系統的遺留系統, 其服務器平臺為J2EE. 報表系統、能耗信息管理系統為本次新增系統, 主要為實現該水泥企業生產過程與管理決策的管控一體化, 實現流程優化與業務重組. 本次所設計的面向服務的水泥企業應用集成架構, 采用了Ajax、WebService 、Cristal 報表等技術, 并將原有遺留子系統進行信息集成, 基于.net平臺實現該企業的應用集成平臺.
平臺主要采用兩種方式進行企業內部的信息系統應用集成. 一種主要針對信息集成, 將對原有數據庫的邏輯操作封裝為Web服務, 發布到IIS上, 生成服務目錄, 其他應用有使用到相關數據庫的數據時, 通過查詢服務目錄, 調用相關數據庫操作服務, 實現數據的讀取、錄入、及相關運算; 另一種方式是針對遺留系統的升級或改造. 當構建web服務時, 引用遺留系統的.dll文件, 可直接使用.dll文件中的公有方法, .dll文件作為服務的構件, 可以實現功能的改進與再創造. 此外, 針對云端Saas, 建立云端服務的目錄映射機制, 方便云服務集成.
所搭建水泥應用集成平臺部分界面如圖8、圖9所示, 用戶進入平臺后, 即可選擇所需服務. 該企業信息系統完成集成后, 業務的邏輯更加分明, 改善了業務流程, 降低了系統二次集成成本與開發難度, 減少了維護和管理集成系統工作量.
本文在分析當前水泥企業生產經營業務流程及信息化現狀的基礎上, 綜合利用SOA與混合云的優勢, 應用面向服務方法進行水泥企業信息系統應用集成架構設計, 在該架構下, 具體邏輯業務由一系列相對獨立、低耦合、可重用的服務實現. 以該架構為基礎搭建了某水泥企業應用集成平臺, 該平臺實現了企業信息系統的集成、共享及遠程訪問, 適應于該企業集團化、規模化的快速發展, 滿足科學管理、協同業務、流程優化等信息化需求, 取得了良好的效果.
1 董鍇.水泥生產企業信息化戰略研究.科技情報開發與經濟, 2011,21(2):128–131.
2 仲琴,吳士亮,徐宏斌.水泥行業信息化需求特點分析及信息化參考架構設計研究.中國制造業信息化:學術版,2008, 37(5):17–20.
3 盧揚帆,王海東,李海亮,等.基于DCS/MES/ERP 集成系統在水泥企業的研究與應用.中國水泥,2013,(3):102–104.
4 胡蘇楠.山東省散裝水泥管理系統設計與開發[碩士學位論文].濟南:山東大學,2011.
5 楊陽.基于SOA的系統集成方法及其在水泥生產監控中的應用[碩士學位論文].武漢:武漢理工大學,2013.
6 He W, Da XL. Integration of distributed enterprise applications: A survey. IEEE Trans. on Industrial Informatics, 2014, 10(1): 35–42.
7 Zou C, Deng H, Qiu Q. Design and implementation of hybrid cloud computing architecture based on cloud bus. 2013 IEEE Ninth International Conference on Mobile Ad-hoc and Sensor Networks(MSN). IEEE. 2013. 289–293.
8 彭友,鞠航,王延章.復雜時空約束條件下基于角色的轉授權模型研究.大連理工大學學報,2013,3(3):462–468.
9 陳華,方丁,趙衛東.SOA中業務服務粒度與流程柔性的關系研究.計算機工程與應用,2009,45(27):7–10.
Service Oriented Integrated Architecture for Cement Enterprise Information Systems
WANG Shao-Lin1, TIAN Chen-Lu1, MAO Xi-Shuang2, WEI Ren-Zheng1, LI Cheng1
1(Shandong Jianzhu University, Jinan 250101, China)2(Guangxi Wall-Materials Reform Office, Nanning 530028, China)
There is a need for procedure reorganization and business collaboration in cement enterprises. Aiming at this demand, the current operating circumstances and informatization status are analyzed in this paper. Based on the analysis, we apply service oriented methods in the integration for the cement enterprise application with comprehensive utilization of the advantage of hybrid cloud. A service partition algorithm for cement enterprise is designed. In addition, mobile services and equipment diagnosing services are illustrated in details. We build a cement enterprise platform for application integration based on the architecture which makes full use of the cloud and enterprise resources. Integration and sharing of the applications are realized. The remote access to the platform is achieved. The platform satisfies enterprise scientific management, process optimization, and business collaboration needs.
hybrid cloud; SOA; cement enterprise; application integration; architecture
廣西壯族自治區科技攻關項目(2060402)
2016-04-16;收到修改稿時間:2016-06-12
[10.15888/j.cnki.csa.005561]