撰文/中國電子科技集團第38研究所 柳吉慶 徐禮祥 張軍
基于服務總線的應用集成平臺設計與開發
撰文/中國電子科技集團第38研究所 柳吉慶 徐禮祥 張軍
隨著計算機技術和互聯網技術的快速發展,制造型企業面臨的市場競爭日益激烈,為實現有效整合產品生命周期各個階段產生的各類信息和流程,上線并實施了越來越多的企業信息系統(Enterprise Information System,EIS),然而各個EIS之間存在著編程語言差異、平臺差異、通信協議差異和數據結構差異等諸多系統異構問題,如何實現各個相關的EIS系統間的高效互通,實現數據和資源的共享,實現企業內部乃至企業之間的多個應用系統集成,成為企業相關信息技術部門迫切需要解決的重要問題。
面向服務的架構(Service-Oriented Architecture,SOA)正逐漸成為企業應用集成的發展主導方向。SOA是一種定義集成基于服務的軟件應用方法,通過服務調用和組合實現相關業務流程。服務是離散的功能單元,封裝了可重用的業務邏輯,平臺獨立、位置透明且可互操作,具有基于行業標準、松散耦合、與協議無關性和業務敏捷性等優勢。
在企業內部應用整合問題的解決方案上,較早采用的是企業應用集成(Enterprise Application Integration,EAI)方式,使用如CORBA和COM等消息中間件進行分布式、跨平臺的程序交互,使用中間件、XML等技術來進行數據分配。EAI這種基于部件的架構并沒有統一的標準,解決方案往往比較笨重,不利于規則的重新整合和修改,因而EAI并不是實現SOA的理想架構。在此背景下,企業服務總線(Enterprises Service Bus,ESB)被提出作為取代EAI的位置,成為實現SOA的一種理想集成工具。
企業服務總線是面向服務架構SOA的基礎設施,ESB是SOA參考架構的中心構件,通過ESB平臺實現各種服務注冊、管控以及服務之間的協調交互,集成基于不同硬件、不同操作系統、不同數據庫和不同傳輸協議實現的異構系統之間的應用,為SOA架構模型提供基于網絡的底層分布式總線功能,例如服務通信、協作和服務組合流程等。
基于上述分析,本文將設計一個基于ESB的企業應用統一集成平臺,并對集成平臺中的若干關鍵技術進行具體闡述。
圖1所示為基于服務總線的企業應用集成平臺總體框架示意圖。應用集成平臺的運行需要一系列外圍環境的支撐:關系數據庫或文件服務器用做數據信息的持久化存儲容器,消息服務器(Message Queue,MQ)則充當消息產生和消費的中轉代理,應用服務器則提供了基于Web頁面的服務管理控制或調用的支持。
企業應用集成平臺底層需要ESB基礎平臺的支撐,ESB基礎平臺提供了一系列的底層基礎功能組件,例如數據轉換、協議適配、消息路由、安全控制和日志記錄等。數據轉換功能可實現不同格式數據的自定義轉化,例如將xml格式數據轉化為Json格式數據;協議適配可以實現對多接口類型的兼容介入,例如常見的HTTP、FTP和JMS等協議;消息路由可實現對接口消息數據傳遞流向的自定義控制。

圖1 集成平臺總體框架
企業應用集成平臺對外提供的功能體現在對消息和服務的管控上,在遵循相關集成標準技術規范的基礎上進行消息和服務的設計開發,其中消息一般用于異步信息交互,服務則用于同步信息交互。
運行在企業內部的各個EIS通過企業應用集成平臺統一進行數據信息交互,交互的方式可分為兩大類:一類是通過部署在集成平臺的服務進行請求/響應的實時同步方式調用,另一類是通過部署在集成平臺的消息端點將關鍵信息以消息的方式進行發送或消費,消息和服務的元數據信息及使用過程信息可通過管理監控平臺獲取。
1.集成規范設計
系統集成接口成功應用的關鍵因素是參與集成開發的相關系統就接口實現達成一致,制定詳細的接口規范,接口提供方和使用方在各自開發過程中嚴格遵守此接口規范,在點對點(Point to Point)集成方式下,應用系統的接口開發是兩兩進行的,制定的接口規范通常缺乏全局考慮,僅對特定接口有效。當系統應用集成場景變得日益復雜后,一個系統往往需要對接多個其他系統,因此往往需同時遵循多個不同的接口規范,而這些接口規范存在著不一致甚至相悖的可能,造成系統集成開發無章可循的現象。在采用企業應用集成平臺后,由于對服務和消息實現了統一管理發布,因此需要就集成開發中的一些共性問題制定相關的集成規范,對企業應用系統接口的開發方和使用方開發的交付物提出明確的要求,并依據相應的規范作為集成工作評估的依據。從集成實現的方式上可將集成規范大致分為服務集成規范和消息集成規范,如圖2所示,集成規范可進一步進行逐級細化,例如服務集成規范可包含服務設計開發規范,服務設計開發規范可細分為服務命名規范、服務結構規范、服務異常處理規范等。制定集成規范是實現集成平臺有效開發管理的基礎條件,應予以充分重視。

圖2 系統集成規范體系
2.服務集成設計
服務集成是整個企業集成平臺提供的最為重要的功能之一,Web服務是實現服務集成最常見的方法,運用集成平臺的ESB技術解決集成問題的一個重要出發點是:通過服務集成功能盡量降低應用系統之間的耦合度和減少已有接口的開發調整工作,可通過服務代理、服務建模以及服務編排分別實現了服務的繼承、拓展與協同。
(1)服務代理。
采用ESB技術后,對外服務的接口將進行統一,由ESB基礎平臺暴露相關的一系列服務代理接口供服務請求方進行調用,如圖3所示,服務請求方通過ESB平臺上開放的服務地址對服務提供方的Web服務進行間接調用,ESB平臺只起到代理轉發的作用,不對服務業務邏輯本身做任何處理,因此調用ESB上的代理服務與直接調用服務提供方提供的原始服務效果是完全一樣的。

圖3 服務代理模式示意圖
此種模式下,只需服務請求方將原有的Web服務請求地址改為ESB發布的服務地址,其他不需做任何改動,若已有的系統集成Web服務接口已能滿足業務需求,則可以使用此功能實現Web服務的透明訪問。
(2)服務建模。
在企業集成平臺上發布獨立的Web 原子服務(非代理服務),與服務代理模式中ESB平臺不做任何業務處理不同的是,服務建模中的業務邏輯在ESB平臺中單獨實現,不依賴于其他應用信息系統。在服務建模中,主要完成兩部分的工作內容:服務接口和服務實現的定義,如圖4所示,服務接口主要描述了服務對外的方法、參數等信息,是生成的服務描述(WSDL)的數據來源;服務實現則負責執行具體的業務邏輯,將接口定義和實現分離也有利于保持Web服務的穩定性。

圖4 Web服務調用過程示意圖
(3)服務編排。
服務編排可被視為服務代理與服務建模功能結合的產物。ESB在內部將若干個相關聯的信息系統提供的Web服務按一定順序進行排列和組合,完成中間環節的數據格式轉化工作,最終實現多個服務的組合,組合成具有新功能的服務,發布部署在ESB平臺上供使用,使用此方式可以類似“搭積木”的方式從有限數量的基礎服務中衍生出大量的新服務,從而滿足企業內業務需求的新增和變更。
3.消息集成設計
消息的發送和消費需要消息服務器的支持,消息服務器專門用于存儲、轉發以及管理產生或消費的消息數據,具有運算速度高、運行可靠。數據吞吐能力強等特點。集成平臺中包含消息服務器,并與ESB基礎平臺保持緊密集成。
(1)消息結構設計。
如圖5所示,消息結構設計主要是對消息的消息頭屬性和消息體的結構和數據格式定義。消息頭屬性定義主要是為了便于進行消息的發送/訂閱相互匹配,消息體是消息的主體內容,雖然各類消息的具體內容和樣式不盡相同,但從通用性和規范性的角度考慮,對消息體采用的描述格式以及結構應作統一要求。

圖5 消息結構示意圖
(2)消息分類設計。
如圖6所示,按照消息數據的業務范疇對消息進行分類,每一類消息又可根據描述的粒度不同進行層層細分,從而形成一個樹形的層次劃分體系。

圖6 消息分類層次結構示意圖
對于消息的發送方來說,其所發送的消息有且只歸屬一個與之對應的消息分類(消息分類樹的末端節點),消息的分類條目隨著參與集成的應用系統增多或業務集成點的拓展而不斷更新增加,根據消息集成的領域特點,制定科學合理的分類體系,是實現消息發送與消費順利銜接的重要前提條件。
4.管控平臺設計
采用服務總線技術實現信息系統集成,各個應用系統都需要通過應用集成平臺提供的服務或消息端點進行交互,因此需要對服務和消息進行管控。集成管控平臺是集成平臺的必要輔助模塊,通過此平臺對集成平臺發布的服務進行查詢、添加、更新和刪除等操作,特定應用系統的接口開發人員可通過此平臺方便地了解提供服務的服務地址、業務功能、接口方法、接口參數和調用示例等信息;應用系統的維護人員可通過此平臺了解與本系統相關的消息、服務的運行狀態和運行性能等指標數據。
本文所設計的企業應用集成平臺已在企業內部得到了良好的應用,解決了企業之前存在的集成架構落后、集成缺乏統一管理和規范以及主數據實時同步難以實現等問題。服務集成方面,將原有各個信息系統提供的Web服務統一發布在ESB平臺上并統一進行服務日志的記錄;消息集成方面,通過制定消息讀寫技術規范,包括人員組織、物料、項目、日志和待辦事項等多種類型的業務數據以消息的形式實現多應用系統之間的數據同步,圖7所示為開發的集成平臺管控模塊實際應用界面。

圖7 集成平臺管控模塊系統應用界面
企業服務總線是當前實現SOA架構下的企業應用系統集成的一種理想集成工具,本文設計了一個基于企業服務總線的企業應用集成總體框架,對集成框架中的集成規范制定、服務與消息的集成內容以及管控平臺設計等若干關鍵技術進行了闡述,通過在企業的實際應用,證明了該集成平臺設計的可行性和有效性。
《智能制造》雜志征稿通知
一、征文范圍
1.數字化設計與制造
2.智能設計理論、方法及系統
3.自動化與現代制造系統
4.機器人技術及應用
5.虛擬設計與虛擬樣機
6.網絡化控制與制造技術
7.綠色設計與綠色制造中的智能技術
8.智能加工、智能檢測與控制
9.數字企業與數字化工廠
10.制造系統建模、運行、控制、優化與調度
11.先進制造模式與戰略
12.制造信息與知識處理
13.數控技術與數字化裝備
14.現場總線與無線傳感網技術
注:以上內容范疇供參考,圍繞智能制造全領域,具體題目請自擬。
二、論文遴選、刊錄出版和基本要求
1.《智能制造》編輯部組織編委會有關專家,對投稿進行審查、遴選,擇優刊登。審查遴選期限為自編輯部收到稿件后的三個月。對于刊登的論文,編輯部提供正式錄用通知。
2.論文內容必須是作者未正式發表過的研究成果,論文主題與智能制造相關,投稿作者須恪守學術道德規范,文責自負,嚴禁一稿多投及中途撤稿。論文字數4000~7000字。
3.論文應包括以下項目:論文題目;作者簡介(200字以內,包括姓名、工作單位、通信地址、電話、手機、電子信箱等);中文摘要、關鍵詞、標題和正文、參考文獻。
三、編輯部投稿聯系方式
聯系人:張友蘋
聯系電話:010-68993880-293
郵箱:imchina@idnovo.com.cn