徐榮照 洪中華 沈立東 鄒欣延 趙旭 粟源 劉洋博

摘 要 MES(Manufacturing Execution System,生產制造執行系統)是集團推進企業信息化建設的重要系統,依靠現代信息技術實現生產智能化,提升生產過程柔性化。ESB是工廠各執行系統與MES系統間集成的重要手段,其通信方式與傳統的編程對接相比具有靈活可變、即插即用等諸多優點,但是其實施難度大,主要體現在標準統一管理方面。
關鍵詞 MES;ESB;系統集成
1ESB概述
ESB是傳統中間件技術與XML、WEB結合的產物,提供了網絡中最基本的連接中樞。它可以消除應用間的技術差異,讓不同應用服務器協調配合。從功能上看,ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數據的傳輸能力,并可以提供一系列的標準接口[1]。
2ESB的核心架構
ESB的核心架構分為三個組件或子系統,即偏開發態的設計器,偏運行態的ESB核心引擎和SOA治理管控平臺三個方面的內容。以上三者組合和集成形成一款完整的ESB服務總線產品[2]。
首先對于ESB總線引擎是一個完全相對獨立的內容,即常說的ESB的Server端,一個完整的ESB引擎一般都有集成消息中間件的能力。類似ServiceMix的ESB可以看到核心是基于OSGI運行框架下的ActiveMQ+CXF組件來實現基礎核心功能。沒有設計器和管控平臺,引擎也可以獨立部署和運行,即可以自己寫代碼或寫配置文件,將開發好的服務包部署到ESB引擎環境里面。
一個ESB引擎本身也需要部署在application server里面,即引擎可以部署在類似weblogic,jboss或tomcat等各種中間件容器中。而對于很多開源的ESB可以看到引擎本身已經集成了更加輕量的Jetty作為服務運行容器。
其次是ESB設計器,設計器是屬于開發和設計態的一個內容,重點則是對http,rest,消息等各種內容進行集成。當前類似talend和mule等都提供了很強大的服務設計器能力。即我們常說的服務代理,http和soap服務集成,數據庫適配,路由,消息集成和適配,分支和條件判斷,異常處理,任務作業,組合服務等都是設計器需要支撐的核心能力。
設計器往往是給服務開發和設計人員使用,目的是為了簡化服務的開發和封裝,提升開發效率,一個開放的架構模式最好的方式就是脫離了設計器仍然可以通過其他手工方式進行服務的開發和封裝,而不是被設計器綁定。而對于設計器本身的輸出,一種是轉化為了普通的java代碼,還有一種方式是設計器的輸出為xml配置文件。可以看到對于xml配置文件這種方式更加方便和解耦,在設計器產生部署包或測試運行的時候,設計器端首先是讀取xml配置文件的內容再動態生成和部署服務[3]。
最后一個內容是SOA管控平臺,主要的作用是實現服務的全生命周期管理,包括服務的元數據管理,服務目錄庫,服務的申請,服務的開通和鑒權,服務運行日志審計和監控,服務運行分析,服務預警,服務SLA等各種功能。即SOA管控平臺提升了對ESB引擎本身的管控和治理能力[4]。
ESB數據傳輸流程:
(1)推送流程:接收、校驗、構建SOAP響應、推送數據、保存響應。
(2)獲取流程:接收、校驗、構建SOAP響應、請求數據、保存響應。
(3)服務檢測:定時觸發、構建SOAP響應、調用檢測、更新狀態。
(4)數據重傳:定時觸發、根據失敗數據查找對應服務和方法、構建SOAP響應、發送[5]。
3ESB在工廠的實施
ESB在系統間通訊方面就起了很重要的作用。所有通訊都通過ESB服務器,并且對所有系統開放的接口都是一樣的,在未來有新系統需要與原有系統進行通訊的時候就可以只進行一次開發。ESB主要解決系統異構集成、 業務功能擴展、數據共享和數據交換的問題,同時具有不錯的拓展性,能很好地適應未來企業現代化發展趨勢。
工廠目前使用的ESB是使用WEB并通過XML通訊的,可以在ESB服務器上查看所有系統間的通訊過程,并可看到具體的申請和反饋信息。我們可以通過監控服務調用的成功率、服務響應平均時間、調用違規次數等指標來了解服務的運行情況。
4結束語
MES作為生產調度指揮系統,需要與其他所有生產相關的系統進行通訊,從而指揮整個生產系統相互配合。本文針對企業服務總線ESB進行了使用及技術方面的說明,詳細描述了ESB的核心架構和重要作用,結合工廠的實際情況,將現有系統進行整合,而整合這些系統的通信手段就是ESB。所有需整合的系統依照ESB的接口標準修改或開發統一的接口,系統的連接方式由原本體外通訊修改為:系統?ESB?系統。
參考文獻
[1] 趙萬青.數據交換與共享系統的設計與實現[D].湖北:華中科技大學,2012.
[2] 薛軍超.MySQL網絡數據庫開發[M].北京:人民郵電出版社,2001: 229.
[3] 王翔,孫遜.模式-工程化實現及擴展(設計模式C# 版)[M].北京:電子工業出版社,2012:10.
[4] 趙朋飛.基于ESB的Web服務管理系統的設計與實現[J].計算機與現代化,2013,(10):204-207.
[5] 楊毅,楊杰.一種提高軟件需求分析質量的方法[J].計算機系統應用,2014,23(5):16-20.