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