2 關鍵技術
2.1 基于ESB的數據集成技術
ESB為面向服務的集成提供了一個完備的基礎結構,結合了Web服務、XSLT(Extensible Stylesheet Language Transformations)以及對編排技術的支持等。ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數據的傳輸能力,并可以提供一系列的標準接口。ESB對信息進行了適當的控制和處理,滿足了面向服務架構中安全性、策略性、可靠性和統計需求。使用通信協議負責服務之間所有的信息調控、流向和轉換。ESB采用基于XML的消息格式,支持如Web服務、JMS(Java Message Service)等標準,使服務的實現和服務通信相分離,有很好的開放性和可擴展性。集成的各個應用之間可以通過ESB發送和接收消息,異步的產生消息,這些都使得ESB成為面向服務架構、面向消息架構以及事件驅動架構的良好解決方案。
本平臺中,首先根據集成需求將各個集成操作抽象成為定義良好的服務,如CAD系統的文件BOM讀取服務,ERP系統的目標BOM寫入服務,以備ESB調用;其次,集成需要完成異構系統不同數據之間的格式轉換,以便共享數據。根據BOM數據格式的要求進行數據處理,將源BOM數據格式轉換成目標BOM數據格式,ESB根據轉換文件完成數據轉換;同時,ESB根據用戶需求,通過基于內容的路由機制實現集成邏輯;最終,用戶配置的監聽機制觸發定義好的ESB,實現兩系統之間的數據集成和共享。
2.2 基于數據事件流的數據處理
信息共享的一個重要的前提就是數據轉換,即將CAD系統和ERP系統中不同數據結構的信息相互轉換,這樣才能實現數據的一致性和實時共享。然而手工硬編碼的方式去完成數據結構的轉換是不可取的,既要耗費大量精力又缺乏平臺通用性。在這里,采用數據轉換引擎進行數據轉換,不僅支持基于XSLT的XML格式之間的轉換,還支持CSV到XML、XML到CSV、Java到XML、XML到Java等多種數據轉換形式,能夠為ESB提供靈活的數據轉換服務,同時利于平臺數據轉換功能的擴展。本平臺中,數據通信采用的是XML,數據結構的表示和轉換采用的是)ML Schema和XSLT。XML Schema可以定義BOM表中的元素、屬性,定義子元素的次序及數目,定義元素是否為空,是否可包含文本,定義元素和屬性的數據類型以及屬性的默認值等。XSLT作為一種基于XML的語言,在數據轉換引擎框架的支撐下用于將源BOM的XML文檔轉換成目標BOM的XML文檔。在本平臺中,XSLT正是發揮了轉換數據的重要作用,使CAD系統和ERP系統中不同結構的BOM信息得以共享。集成數據流如圖2所示。
圖2 集成數據流圖
數據集成時,系統自動載入雙方的Schema文件,生成XSLT轉換文件。轉換服務啟動時,數據轉換引擎將結構化的數據流轉變成事件流,然后進行分析,生成最終XML結果。
2.3 基于Rete算法的規則引擎與內容路由
本平臺采用基于Rete算法的規則引擎分離業務邏輯。Rete算法是目前效率最高的前向鏈形推理算法,核心思想是將分離的匹配項根據內容動態的構造匹配樹,減少重復操作,解決時間冗余的問題,從而大大減少計算量,提高計算效率。Rete算法的狀態保存和節點共享機制使其優于傳統的模式匹配算法。
平臺基于內容的路由采用的是Drools規則引擎,它是一種基于Rete算法的高效規則引擎,配有類似Java語言的規則描述語言,支持非XML的本地語言編寫規則,能描述較為復雜的邏輯,并且能用Excel對規則進行管理,大大方便了規則的管理與維護。執行邏輯如圖3所示。

圖3 Drools工作模式簡圖
“規則庫”是編好的Drools規則集合,待進行匹配的數據稱為“事實”,“模式匹配器”的作用是對新的數據和被修改的數據進行規則的匹配。當一條規則被完全匹配,這條規則和與其匹配的事實將激活被放入“規則執行議程”,由議程來負責安排執行。
進行BOM集成時,業務過程較為復雜,Drools規則引擎將業務邏輯和業務實現完全分離,解決了集成業務的維護和擴展問題。如在平臺的實現中,對于不需要審核的BOM信息,存入平臺備份并直接導入目標ERP系統;對于需要審核的數據則先存人平臺,等待審核,審核結束之后才能導入目標系統。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:模具企業CAD與ERP集成系統關鍵技術