企業應用集成(EntERPrise Application Integration,EAI)是指對企業中完成不同業務功能的應用系統進行集成并建立可供數據交流和應用溝通的紐帶,進而使系統間的信息交互成為可能的過程。傳統的EAI主要有數據集成、應用接口集成和業務邏輯集成,這3種集成方式均屬于緊耦合模式。然而,這類集成方式存在著缺陷,如:易導致數據損壞,暴露了數據庫的安全缺口;當采用API接口進行修改時,會增加過大的工作量,也可能導致現有業務系統的不穩定性。因此,緊耦合模式降低了業務系統的靈活性和擴展性,增加了維護難度,阻礙了業務的流程調整和優化,不利于企業業務的發展。
上海煙草機械有限責任公司(上海煙機)信息化(一期)項目,完成了基礎數據建設并搭建了信息化應用平臺(PDM/CAPP/CAD,ERP,MES/NCS,KBS,HR,CRM),初步實現了上述6大業務系統的緊耦合模式集成,見圖1。隨著市場競爭的日益加劇,煙機制造企業將從傳統的“以產品為導向”的管理模式,逐步轉變為“以市場為導向”和“以客戶為導向”的管理模式,為了完成這種管理模式的根本轉變,需要提升各個業務單元實體之間的協作能力。而這一要求反映到信息化建設上,就要突破原有各個獨立的業務系統之間的壁壘,提升各系統間的業務協作能力和數據交互能力,從而適應管理模式的轉變。由于受到上述緊耦合模式缺陷的制約,亟需一種面向功能層的企業應用集成方式對此應用平臺進行升級完善。
面向服務架構(Service Oriented Architecture,SOA)的出現,提供了一個良好的解決方案。借助Web服務在跨平臺、易實現以及擴展性方面的優勢,使用SOA信息集成體系,不僅能保證公司原有系統的數據安全性和邏輯可靠性,還能實現各業務系統之間的松耦合,方便業務流程的重組和優化,快速滿足不斷變化的業務需求。為此,以上海煙機為例,介紹了基于SOA模式的離散制造業信息系統在煙機企業中的集成應用。
1 基于Web服務的SOA信息集成體系
1.1 SOA技術
SOA是能夠通過連接完成特定任務的獨立功能實體,以解決在Internet環境下業務集成的需要。SOA是一個組件模型,將應用程序的不同功能單元通過相互之間定義良好的接口和契約聯系起來。其接口采用中立方式進行定義,獨立于實現服務的硬件平臺、操作系統和編程語言,從而使構建在各種系統中的服務能夠以統一、通用的方式進行交互。
傳統的Web技術解決了人與信息系統的交互和溝通問題,而Web服務技術則解決了信息系統之間的交互和溝通問題。SOA采用面向服務的商業建模技術和Web服務技術,實現系統之間的松耦合,從而實現系統之間的整合與協同。Web服務和SOA的本質思路在于使信息系統個體在溝通的基礎上實現協同工作。
1.2 采用SOA進行信息系統集成的步驟
(1)提取各應用系統中需對外暴露的功能模塊。這些功能模塊通常都是一些能夠清晰完整地表現其業務價值的軟件實體,該軟件實體包含了所能提供的全部服務。
(2)將上述功能模塊表現為服務組件的形式。定義服務的描述信息、服務的接口以及調用服務所需要的定位信息等。將軟件實體的概念模型轉換成實際的服務模型。
(3)將已實現的服務發布到服務注冊器,供其他服務調用者進行查找和綁定。
(4)綁定和調用服務,將各應用系統集成起來,實現企業應用在功能層面的集成。
1.3 SOA的核心技術
企業服務總線(EntERPrise Service Buses,ESB)是整個SOA的核心,其作用在于通過全局方式控制、掌握企業內各應用系統中松散分布的、以點對點方式通信的Web服務的實際“狀況”,并最終實現統一管理維護。針對上海煙機目前使用的信息系統現狀,制定開發了基于Net平臺的ESB系統(WebService Man-age,WSM),其主要特性如下。
(1)簡單注冊與層次管理企業內所有WebService的位置。Web服務是基于點對點的通信方式,隨著企業信息化系統的增加以及系統間集成業務量的增加。集成點將爆炸似的增長,企業系統間的交互網隨時間而變得千頭萬緒,從而使各系統Web服務數量、某個功能的Web服務化追蹤成為難題。因此,WSM系統在每個應用程序層上建立一個服務層,使用Web服務包裝各系統內的一些具體操作,提供各種用于完成系統各業務單元活動的細粒度服務(稱為業務服務)。隨后,WSM組合各種代理服務,以創建粗粒度服務(稱為代理服務),完成一次完整的業務交互,見圖2。所有注冊的Web服務將在WSM中清晰列出,就不會出現由于信息滯后而重復開發相同功能的Web服務的局面。
(2)服務聚合。在WSM系統中,一系列的Web服務調用可作為一個Web服務出現,即當調用一個粗粒度的代理服務時,多個細粒度的業務服務將按特定順序被調用,并按照具體需求返回一個結果。
(3)監控。在WSM中提供對服務執行情況的監控和詳細日志,并記錄各服務執行成功與否等狀態,便于對不同情況及時采取措施。
(4)完全基于配置。在WSM中采用配置與編程相互結合的方式,以方便客戶使用。
2 實際應用
以上海煙機信息化應用平臺中添加“設備新增計劃”為例,闡釋Web服務與WSM如何協同工作。此項流程主要在負責生產制造的MES系統中完成,同時需要辦公自動化KBS系統進行配合!霸O備新增計劃”包含“設備新增申請單”、“設備開箱驗收單”、“設備固定資產驗收單”3個流程。首先在MES中創建計劃,逐個填寫單證后在KBS中啟動上述3個流程,前一流程未結束時不可啟動后續流程,MES與KBS的交互方式見圖3。對比緊耦合方式,基于WSM和Web服務方式進行該工作的交互方式見圖4。
首先,進行細粒度服務建設:
(1)MES中提供以計劃號、流程號為參數的業務服務(細粒度)A,取得“設備新增申請單”或“設備開箱驗收單”或“設備固定資產驗收單”的數據,并在WSM中注冊。
(2)MES中提供以計劃號、流程號為參數的改變流程狀態的業務服務(細粒度)c,用于將某流程狀態改為指定狀態,并注冊到WSM。
(3)MES中提供以計劃號、流程號以及相應審批信息為參數的業務服務(細粒度)D,用于將流程審批信息插入數據庫中,并注冊到WSM。
(4)KBS中提供以流程類型以及所需信息(如“設備新增申請單”數據)為參數的業務服務(細粒度)B,用于啟動某種流程,并注冊到WSM。
其次,進行粗粒度服務建設:
(5)WSM中創建以計劃號、流程號為參數的“新建設備新增申請單”代理服務(粗粒度)X,該服務中首先調用A,然后調用B,并將A的返回數據傳人B中。
(6)WSM中創建以審批信息為參數的“完成設備新增申請單”代理服務(粗粒度)Y,該服務中調用C,并傳人完成標志,然后調用D并傳入審批信息。
最后,完成系統內調用:
(7)MES中在原來插入KBS數據庫相應單證數據的位置調用x。
(8)KBS中在原流程完畢后,在審批信息與狀態回寫至MES的位置調用Y,并傳入流程審批信息。在上述實例中,由于采用了基于Web服務與WSM-ESB的SOA集成方式,各系統實現了“非侵入式”交互,這樣各系統僅完成各自的職能,其他系統也僅是數據的提供者,原來各系統相互的數據庫依賴轉變為僅依賴于WSM的代理服務(粗粒度),保證了各業務系統的穩定性和數據交互的可靠性。細粒度的服務作為單一功能點可以被多個粗粒度的服務復用,而粗粒度的服務只需做到簡單組合或數據合并。若業務需求發生變化,無需更改各系統的代碼調用點,只需重新組合代理服務(粗粒度)即可滿足新需求,從而達到了“業務敏捷”的目的,同時降低了重復開發的風險和維護成本。
3 結語
上海煙機公司通過基于SOA模式的信息系統業務整合應用,實現了將業務流程從單一、點對點、重復向維護成本較低的高度利用、共享服務應用轉變,迅速適應和傳送企業關鍵業務服務,以滿足市場需求,提高服務水平。同時高效地轉入轉出能夠降低整個業務的’復雜性和難度,節約時間和IT應用成本。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:SOA模式下的離散制造業信息系統集成應用