孫 華,韓彩夏
(南車青島四方機車車輛股份有限公司 信息技術部,山東 青島 266111)
作為我國國民經(jīng)濟的裝備工業(yè)和支柱產(chǎn)業(yè)的機械制造業(yè),在經(jīng)濟全球化和社會信息化的大趨勢下,要求業(yè)務上具有越來越快的反應能力,使企業(yè)內(nèi)部能夠跨部門快速協(xié)作,在企業(yè)外部可以更好地與合作伙伴、重要客戶無縫協(xié)作,共同創(chuàng)新[1]。
目前機械制造業(yè)企業(yè)信息化面臨的主要問題是,企業(yè)內(nèi)部存在很多異構(gòu)子系統(tǒng),各子系統(tǒng)之間很難溝通協(xié)作。為解決這一問題,本文在分析傳統(tǒng)集成方式與基于ESB技術的集成方式的基礎上,提出基于ESB技術的機械制造業(yè)系統(tǒng)集成。實踐表明,該集成技術能有效解決信息孤島,實現(xiàn)數(shù)據(jù)同步、信息復用,優(yōu)化企業(yè)系統(tǒng)。
面向服務的架構(gòu)SOA(Service-Oriented Architecture)是一種框架模式,它將應用程序的不同功能單元(稱為服務)通過這些服務之間良好的接口聯(lián)系起來。接口采用中立的方式進行定義,它獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編譯語言,這使得構(gòu)建在系統(tǒng)中的服務可以以一種統(tǒng)一的和通用的方式進行交互,以實現(xiàn)企業(yè)級系統(tǒng)集成和信息的高度共享[2-5]。
面向服務的體系架構(gòu)中共有三種角色,它們分別是服務提供者、服務調(diào)用者和服務注冊器。服務提供者負責服務功能的具體實現(xiàn),并通過注冊服務操作將其所提供的服務發(fā)布到服務注冊器,當接收到服務調(diào)用者的服務請求時,執(zhí)行所請求的服務。服務調(diào)用者則是服務執(zhí)行的發(fā)起者,而服務注冊器則用來提供服務提供者注冊服務、提供對服務的分類和查找功能,以便服務調(diào)用者發(fā)現(xiàn)服務[6],如圖 1所示。
圖1 SOA服務模型
企業(yè)服務總線(ESB)是消息中間件的發(fā)展。ESB采用了“總線”這樣一種模式來管理和簡化應用之間的集成拓撲結(jié)構(gòu),以廣為接受的開放標準為基礎來支持應用之間在消息、事件和服務的級別上動態(tài)的互聯(lián)互通。ESB是一種在松散耦合的服務和應用之間標準的集成方式。
ESB是SOA中重要的基礎設施,為SOA提供了服務管理的方法和在分布式異構(gòu)環(huán)境中進行服務交互的功能,為SOA中的分散服務提供交互、組合和治理的基礎架構(gòu)[7-10]。
目前機械制造業(yè)信息化對策主要有以下幾方面:(1)以產(chǎn)品研發(fā)過程的信息系統(tǒng)(PLM或PDM)為信息化核心,其他CRM客戶管理系統(tǒng)、ERP工程資源計劃系統(tǒng)、MES生產(chǎn)制造過程系統(tǒng)、OA系統(tǒng)需要與PLM或PDM系統(tǒng)相集成,從PLM或PDM系統(tǒng)獲得產(chǎn)品數(shù)據(jù)、工藝信息,制造裝配信息等。(2)通過產(chǎn)品生命周期管理(PLM)或產(chǎn)品數(shù)據(jù)管理(PDM)系統(tǒng),實現(xiàn)產(chǎn)品研發(fā)過程的信息化管理,利用PLM或PDM系統(tǒng)統(tǒng)一管理CAD、CAM、CAPP、CAE等眾多CAX系統(tǒng)的產(chǎn)品數(shù)據(jù)、版本管理和設計創(chuàng)新。(3)應用ERP、辦公自動化OA系統(tǒng),企業(yè)實現(xiàn)以流程為基礎的規(guī)范化管理。(4)通過應用協(xié)作開發(fā)平臺,實現(xiàn)企業(yè)與客戶、合作伙伴和供應商的協(xié)同產(chǎn)品開發(fā)[11]。
機械制造業(yè)企業(yè)存在很多異構(gòu)子系統(tǒng),各子系統(tǒng)間易形成信息孤島,因此必須集成。目前企業(yè)常用的集成方式主要有大系統(tǒng)和點對點的方式,如圖2所示。
圖2 點對點方式
點對點集成方式存在的問題:
(1)接口種類多,數(shù)量大,隨著應用系統(tǒng)的增加,將會加大維護的壓力和成本,最終系統(tǒng)“不可維護”。
(2)數(shù)據(jù)的轉(zhuǎn)換關系(如編碼等)難以維護。
(3)數(shù)據(jù)傳輸協(xié)議多樣。
(4)容錯能力、水平擴展能力差。系統(tǒng)間的接口相對比較專一,缺乏統(tǒng)一的規(guī)則,增大了系統(tǒng)間耦合性,限制系統(tǒng)的平滑擴展。
基于ESB的集成方式[12-13]如圖3所示,與傳統(tǒng)的大系統(tǒng)和點對點集成方式相比,基于ESB的集成方式有如下優(yōu)點:
圖3 基于ESB的集成
(1)減少系統(tǒng)間接口數(shù)量,降低系統(tǒng)集成成本。
(2)統(tǒng)一管理接口協(xié)議,數(shù)據(jù)轉(zhuǎn)換規(guī)則,易于維護。
(3)成為系統(tǒng)間信息共享、服務互動的橋梁,為構(gòu)建SOA架構(gòu)奠定基礎。
由于現(xiàn)有大量異構(gòu)應用系統(tǒng)的存在,若是采用大系統(tǒng)方式共享中間庫表或點對點方式接口交互的方式進行數(shù)據(jù)的同步,會導致這種整合缺乏統(tǒng)一的數(shù)據(jù)交換標準,使得各個系統(tǒng)之間不能以一致的方式交互,流程邏輯及數(shù)據(jù)是分散的、孤立的,參與整合的各系統(tǒng)之間的耦合性大。另外,使用數(shù)據(jù)庫級的中間庫交換技術或是接口來實現(xiàn)流程及數(shù)據(jù)的整合,使得系統(tǒng)之間的交互過程變得復雜化,且應用接口的設計彼此具有很強的依賴性,限制了業(yè)務開展。系統(tǒng)的交互連接也呈現(xiàn)一個網(wǎng)狀結(jié)構(gòu)。系統(tǒng)的可維護性、可擴展性、可靠性都將面臨著挑戰(zhàn)。
針對上述集成方式優(yōu)缺點的分析,采用企業(yè)服務總線對于機械制造業(yè)企業(yè)系統(tǒng)集成變得勢在必行。
圖3所示為基于ESB的集成方式,PLM/PDM、ERP、CRM、MES、OA使用企業(yè)服務總線。企業(yè)服務總線是一種通過運行本地業(yè)務過程為服務請求者提供服務的設施。服務總線上有一個內(nèi)部服務登記處和一個服務發(fā)現(xiàn)代理。
以下應用SOA的理念采用ESB方式對機械制造業(yè)信息系統(tǒng)進行集成[14-15]?;贓SB集成的總體架構(gòu)圖如圖4所示。
圖4 基于ESB方式的總體架構(gòu)設計
(1)表示層提供一個公共信息交換平臺,可以將客戶需要的信息在客戶端完全顯示出來,供各類用戶實時查詢。
(2)業(yè)務流程層提供以業(yè)務為中心的視圖。根據(jù)其業(yè)務流程,查找服務單元層的服務或服務組合,組成應用程序。
(3)服務層提供的服務,然后將服務發(fā)布,以供業(yè)務流程層和表示層查找并綁定。
(4)服務組件層用Web服務接口將應用系統(tǒng)層的應用系統(tǒng)提供的各種功能封裝成不同粒度大小的服務,并提供對外的基于Web服務的統(tǒng)一接口。
(5)應用系統(tǒng)層提供企業(yè)內(nèi)部各應用子系統(tǒng)。這些系統(tǒng)通過協(xié)商制定專用接口進行消息傳遞。
(6)表示層、業(yè)務流程層、服務層和應用系統(tǒng)層都使用服務總線。服務總線是一種通過運行本地業(yè)務過程為服務請求者提供服務的設施,它分離了應用層和實現(xiàn)。正是服務總線分離了與業(yè)務邏輯相關的應用層和與實現(xiàn)平臺相關的構(gòu)件基礎設施,遵循該體系結(jié)構(gòu)所構(gòu)造出來的應用能適應業(yè)務和技術變化。
ESB是實現(xiàn)企業(yè)整合的有效途徑,它是一種采用開放式標準來用服務的方式描述軟件資產(chǎn)的架構(gòu),提供了一種標準的途徑來表示軟件資產(chǎn)以及其間的交互方式[12]。
采用ESB進行企業(yè)整合的體系架構(gòu)可以為企業(yè)帶來如下的價值:
(1)服務的封裝及重用以實現(xiàn)業(yè)務的靈活性。
封裝使重用成為可能,企業(yè)內(nèi)部的業(yè)務被實現(xiàn)在一個地方,可以輕松面對業(yè)務核心修改以及不斷變化。同時可以減低應用開發(fā)及維護的成本。
(2)基于標準的接口定義使得復雜系統(tǒng)的集成變得簡單。服務的實現(xiàn)和接口定義分離的方式使各種各樣的系統(tǒng)甚至是不同種類的系統(tǒng)的集成成為了可能。這種完全的松耦合架構(gòu)使服務的請求者與提供者能完全隔離,彼此的獨立變化不會互相影響。業(yè)務流程的模型化也變得更加獨立,在企業(yè)及應用層面實現(xiàn)單一的數(shù)據(jù)和工作流程。
(3)實現(xiàn)全新的應用構(gòu)建模型。當在所有的系統(tǒng)上清晰地定義了接口后,可以使用“模型”的方式把這些服務組裝成業(yè)務所需的業(yè)務流程。ESB架構(gòu)使人們在企業(yè)內(nèi)部可以輕松地搭建任意的業(yè)務流程來達到業(yè)務需求,支持業(yè)務創(chuàng)新。
通過2.2節(jié)和3.1節(jié)的分析,表1給出點對點方式與基于ESB方式的比較。
表1 點對點方式與ESB方式的比較
雖然ESB方式技術難度高,但是基于ESB的方式易維護易擴展。未來系統(tǒng)的更改,系統(tǒng)的淘汰、系統(tǒng)的更換或增加新的系統(tǒng),不影響其他在ESB內(nèi)的系統(tǒng)。長遠來看,這些工作的減少,降低了總體擁有成本TCO(Total Cost of Ownership)。
隨著機械制造業(yè)企業(yè)規(guī)模擴大,SOA的體系未來可以延伸到各子公司的系統(tǒng),不需再重新搭建SOA的架構(gòu)??梢匝杆俚卦黾有孪到y(tǒng)到ESB上,及時適應業(yè)務的需求。
由于目前機械制造企業(yè)存在很多應用子系統(tǒng),子系統(tǒng)之間無法很好地實現(xiàn)互聯(lián)互通,極大限制了業(yè)務能力的開展。本文在分析點對點和大系統(tǒng)集成方式以及基于ESB集成方式的基礎上,提出基于ESB的機械制造業(yè)系統(tǒng)集成框架,并分析了基于ESB集成方式的價值。
[1]朱森第.機械制造業(yè)企業(yè)信息化[J/OL].http://www.hb.xinhuanet.com/zhuanti/2004-09/22/content_2915828.htm.
[2]劉開茗,李海燕,馬慧,等.基于 SOA技術的企業(yè) IT架構(gòu)研究[J].河南教育學研學報,2009,18(3):46-18.
[3]ERL T, Service-Oriented Architecture Concepts, Technology,and Design[M].2005:24-71.
[4]梁愛虎.SOA思想、技術與系統(tǒng)集成應用詳解[M].北京:電子工業(yè)出版社,2007.
[5]簡斌,左國榮,閆光榮,等.基于 SOA的中小制造企業(yè)應用集成系統(tǒng)研究[J].計算機工程,2007,33(5):243-245.
[6]麻志毅,陳泓婕.一種面向服務的體系結(jié)構(gòu)參考模型[J],計算機學報,2006,29(7):1011-1019.
[7]CHAPPELL D.Enterprise service bus [M].Germany.O’Reilly Publishing,2004.
[8]MICHELSON B M.Enterprise service bus Q&A[EB/OL].http://www.ebizq.net/hot-topics/esb/features/6117, html.
[9]BIEBERSTEIN N.面向服務的架構(gòu)(SOA)指南—業(yè)務價值、規(guī)劃及企業(yè)路線[M].張寧,譯.北京:人民郵電出版社,2008.
[10]謝繼暉,白曉穎,陳斌.企業(yè)服務總線研究綜述[J].計算機科學,2007,34(11):13-18.
[11]制造業(yè)信息化的現(xiàn)狀與未來[EB/OL].http://www.ahmis.com.cn/html/GuanLiXinXiHua/7766.htm.
[12]李紹權.基于 ESB的異構(gòu)系統(tǒng)集成實現(xiàn)[J],計算機應用,2008,28(2):538-540.
[13]馮培培,王輝.基于ESB技術的系統(tǒng)集成框架的研究[J],通信技術,2010,43(1):195-197.
[14]張廣勝,蔣昌俊,湯憲飛,等.面向服務的企業(yè)應用集成系統(tǒng)描述與驗證[J].軟件學報,2007,18(2):3015-3030.
[15]邵歡慶,康建初.企業(yè)服務總線的研究與應用[J].計算機工程,2007,33(2):220-222.