苑擎飏 宋洪波
摘要: 隨著信息技術(shù)的不斷提高,汽車制造企業(yè)信息化程度也隨之快速發(fā)展,在發(fā)展過程中不可避免的產(chǎn)生了很多的信息“孤島”,面對(duì)日益增加的信息化復(fù)雜程度,企業(yè)應(yīng)用集成技術(shù)日益被關(guān)注和重視。本文結(jié)合某汽車制造企業(yè)信息化的建設(shè)實(shí)施,采用ESB數(shù)據(jù)整合技術(shù)對(duì)局部業(yè)務(wù)系統(tǒng)進(jìn)行集成實(shí)踐,實(shí)現(xiàn)了數(shù)據(jù)交換與同步的基本應(yīng)用,取得了一些成果與經(jīng)驗(yàn),對(duì)該企業(yè)今后的信息化工作產(chǎn)生了積極的推動(dòng)作用。
Abstract: With the continuous improvement of information technology, the degree of informatization of automobile manufacturing enterprises also develops rapidly. In the process of development, a lot of information "isolated islands" inevitably come into being. Facing the increasing complexity of informatization, increasingly, Enterprise Application Integration is of interest and importance. Based on the construction and implementation of the informatization of a certain automobile manufacturing enterprise, this paper uses ESB data integration technology to integrate the local business systems, realizes the basic application of data exchange and synchronization, obtains some achievements and experiences, which promotes the informatization of enterprise.
關(guān)鍵詞: 面向服務(wù)架構(gòu)(SOA);企業(yè)服務(wù)總線(ESB);應(yīng)用
Key words: SOA;ESB;applation
中圖分類號(hào):P315.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)10-0241-03
隨著汽車制造行業(yè)信息化程度的提高,企業(yè)通過信息系統(tǒng)的建設(shè)不斷提高組織的管理水平、生產(chǎn)能力,從而提高了企業(yè)的競爭力。但是,信息系統(tǒng)建設(shè)是一個(gè)循序漸進(jìn)的過程,在不斷滿足企業(yè)需要的同時(shí),系統(tǒng)復(fù)雜程度不斷升高,系統(tǒng)間的信息共享需求日益凸顯。企業(yè)內(nèi)的信息系統(tǒng)往往存在多個(gè),而且實(shí)現(xiàn)的技術(shù)方式各有不同,系統(tǒng)間也沒有建立統(tǒng)一規(guī)范的接口,大大提高了IT運(yùn)維的成本,降低了IT服務(wù)能力。面對(duì)這樣的問題,如果全部重新規(guī)劃,原來的IT資產(chǎn)會(huì)被大量浪費(fèi),所以,如果可以通過技術(shù)手段,在盡量保持原有系統(tǒng)的前提下,又能讓個(gè)信息系統(tǒng)可以互相通信協(xié)作滿足企業(yè)的業(yè)務(wù)需要,就可以降低成本,讓企業(yè)原有IT資產(chǎn)充分利用。企業(yè)應(yīng)用集成(Enterprise Application Integration,EAI)是對(duì)企業(yè)中完成不同業(yè)務(wù)功能的應(yīng)用系統(tǒng)進(jìn)行集成,建立起可供數(shù)據(jù)交流共享和應(yīng)用溝通的中心系統(tǒng),使現(xiàn)有的應(yīng)用系統(tǒng)和數(shù)據(jù)庫能夠在新的環(huán)境下良好的運(yùn)行。
迄今為止系統(tǒng)集成技術(shù)已經(jīng)歷了三代,第一代EAI技術(shù)為點(diǎn)對(duì)點(diǎn)集成模式,部署模型采用網(wǎng)狀結(jié)構(gòu),采取定制代碼或傳統(tǒng)消息中間件的異步編程模型,能有效解決數(shù)據(jù)傳輸?shù)目煽啃?、穩(wěn)定性與安全性問題,但系統(tǒng)缺乏彈性與擴(kuò)展性。第二代技術(shù)為集線器集成模式,采用星型結(jié)構(gòu)。但中央服務(wù)器的存在導(dǎo)致無法實(shí)現(xiàn)分布式部署;中央服務(wù)器承擔(dān)較重責(zé)任,帶來壓力瓶頸以及硬件上的額外投資,缺乏靈活性且難于管理。以第一代、第二代為代表的傳統(tǒng)EAI技術(shù)不能很好的滿足企業(yè)應(yīng)用系統(tǒng)集成整合的需求。
以面向服務(wù)架構(gòu)(SOA)為代表的第三代分布式模式明確提出了良好的封裝和簡練的接口可以降低應(yīng)用系統(tǒng)之間的耦合度,將系統(tǒng)的實(shí)現(xiàn)和接口分離,以便能夠適應(yīng)新形勢下的需求。SOA作為一種構(gòu)造分布式系統(tǒng)的方法,它以服務(wù)的形式將業(yè)務(wù)應(yīng)用功能提供給用戶,構(gòu)造出靈活的以服務(wù)為中心的架構(gòu),不僅極大減少了系統(tǒng)間的耦合,還將復(fù)用性能提高了,同時(shí)實(shí)現(xiàn)了共享系統(tǒng)之間的數(shù)據(jù)共享。企業(yè)服務(wù)總線(ESB)整合技術(shù)在SOA企業(yè)信息化建設(shè)中承擔(dān)中間連接器的關(guān)鍵作用,協(xié)調(diào)各獨(dú)立應(yīng)用系統(tǒng)間的數(shù)據(jù)交換與共享。
企業(yè)服務(wù)總線(Enterprise Service Bus,ESB),它是將傳統(tǒng)中間件技術(shù)和Web、XML服務(wù)等技術(shù)結(jié)合起來形成的產(chǎn)物,對(duì)于企業(yè)神經(jīng)系統(tǒng)的構(gòu)筑來說,ESB是必不可少的元素,同時(shí)它也是網(wǎng)絡(luò)中最基本的連接中樞。與傳統(tǒng)的軟件架構(gòu)相比,ESB具有明顯優(yōu)勢,主要體現(xiàn)在以下方面:一是解決方案成本更低;二是消除了不同應(yīng)用之間的技術(shù)差異,大大提高了應(yīng)用的兼容性,有利于不同服務(wù)之間的通信與整合。ESB的體系結(jié)構(gòu)見圖1。
從功能的角度分析,ESB的處理模式是以事件驅(qū)動(dòng)和文檔導(dǎo)向的,其運(yùn)行管理機(jī)制是分布式的,它支持基于內(nèi)容的過濾和路由,可提供一系列的標(biāo)準(zhǔn)接口,具有強(qiáng)大的數(shù)據(jù)傳輸能力。
ESB以總線的形式實(shí)現(xiàn)不同應(yīng)用系統(tǒng)之間的通信,它是一種新的集成方法。與集線器集成、點(diǎn)對(duì)點(diǎn)集成等傳統(tǒng)的集成方式相比,ESB具有明顯優(yōu)勢,具體表現(xiàn)如下:
1.1 基于標(biāo)準(zhǔn)和開放的整合技術(shù)
ESB支持Web Services系列協(xié)議和規(guī)范,是SOA的核心要件,且通過支持JCA、JMS、SOAP等連通標(biāo)準(zhǔn)可讓ESB將企業(yè)和合作伙伴的應(yīng)用進(jìn)行有效整合,從異構(gòu)性的角度出發(fā),集成系統(tǒng)得到了極大簡化。通過采用這些開放標(biāo)準(zhǔn),可忽視版本和API的變化,避免傳統(tǒng)集成中間件中存在的不足之處,如此一來即使版本或者服務(wù)出現(xiàn)變化,另一端服務(wù)的代碼無需跟著改動(dòng),不僅簡化了工作環(huán)節(jié),也便于服務(wù)重用和替換的實(shí)現(xiàn)。
1.2 基于事件驅(qū)動(dòng)的服務(wù)流程
利用消息通信總線在松散耦合的各個(gè)服務(wù)和應(yīng)用間傳遞事件,開展正確的轉(zhuǎn)換和路由,且調(diào)用各服務(wù)的接口便可實(shí)現(xiàn)存取數(shù)據(jù),從而順利的完成業(yè)務(wù)流程。由于在現(xiàn)實(shí)世界中處理業(yè)務(wù)所需時(shí)間較長,而且過程極為復(fù)雜,因此基于事件驅(qū)動(dòng)的服務(wù)流程機(jī)制,有利于將企業(yè)間的異步商業(yè)流程整合成一個(gè)以消息、事件和服務(wù)為中心的信息傳遞和呼叫方式。
1.3 集成將更簡單、更便宜
ESB技術(shù)已經(jīng)被廣泛應(yīng)用在集成市場,未來其應(yīng)用市場還將越來越寬廣,這是因?yàn)榕c傳統(tǒng)的機(jī)場市場相比,ESB技術(shù)具有明顯的成本優(yōu)勢。傳統(tǒng)的集成服務(wù)器是龐大的,升級(jí)一次所需時(shí)間和財(cái)力巨大,而ESB基于網(wǎng)絡(luò)是輕便的,其升級(jí)相對(duì)更加容易,大大降低了企業(yè)應(yīng)用集成方面的費(fèi)用。當(dāng)前市面上ServiceMix、Celtix、Mule等多種開源ESB,已經(jīng)在金融和電信等領(lǐng)域得到了一定應(yīng)用,表現(xiàn)出了明顯的成本優(yōu)勢。此外,ESB的采用還大大降低了企業(yè)的培訓(xùn)和管理成本,對(duì)現(xiàn)有投資而言是保護(hù),十分有利于企業(yè)現(xiàn)有IT資產(chǎn)的作用和功能的發(fā)揮。
開源Mule是基于ESB架構(gòu)理念的消息平臺(tái),它是一個(gè)以Java為核心的輕量級(jí)的消息框架和整合平臺(tái)。Mule的核心組件是Service Component,其他組件有主要執(zhí)行消息的輸入(Inbound Router)、輸出(Outbound Router)和應(yīng)用邏輯(Business Logic);服務(wù)組件的輸入和輸出由EndPoint進(jìn)行簡單配置即可,它并不負(fù)責(zé)消息格式的轉(zhuǎn)換,消息格式轉(zhuǎn)換工作由轉(zhuǎn)換器(Transformer)按照所集成的應(yīng)用系統(tǒng)和服務(wù)組件的需要?jiǎng)討B(tài)完成;傳輸管道(Transport Pipe)完成傳輸不同協(xié)議格式數(shù)據(jù)的任務(wù),它支持30多種傳輸協(xié)議。Mule關(guān)注其靈活性、高效性以及易開發(fā)性。根據(jù)上述思想,我們可以結(jié)合基于開源Mule ESB的EAI框架來實(shí)現(xiàn)一個(gè)汽車企業(yè)局部業(yè)務(wù)系統(tǒng)之間的的數(shù)據(jù)交換。
2.1 系統(tǒng)架構(gòu)
在汽車企業(yè)信息化建設(shè)的實(shí)踐中選取Mule ESB實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)交換與同步,所有對(duì)數(shù)據(jù)的處理操作都封裝成服務(wù),注冊(cè)到Mule ESB中。業(yè)務(wù)數(shù)據(jù)庫是數(shù)據(jù)的來源,數(shù)據(jù)緩存交換系統(tǒng)中存放標(biāo)準(zhǔn)化后的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)。車企ESB系統(tǒng)架構(gòu)圖2所示。
2.2 數(shù)據(jù)交換過程
如圖2所示,各業(yè)務(wù)系統(tǒng)分別維護(hù)企業(yè)統(tǒng)一的數(shù)據(jù)格式,通過Mule把變動(dòng)的數(shù)據(jù)傳遞給數(shù)據(jù)緩存交換系統(tǒng),再由后者通過Mule進(jìn)行變更數(shù)據(jù)的發(fā)布,其他需要該信息的系統(tǒng)接受數(shù)據(jù),并更新本地?cái)?shù)據(jù)庫,以確保業(yè)務(wù)系統(tǒng)中存在數(shù)據(jù)的唯一性和有效性。為了降低耦合性,提高靈活性,將Mule ESB數(shù)據(jù)交換與同步工作分為:導(dǎo)入、處理、分發(fā)和導(dǎo)出四個(gè)步驟,典型的數(shù)據(jù)交換過程如圖3所示。
數(shù)據(jù)交換過程描述:
①當(dāng)業(yè)務(wù)系統(tǒng)數(shù)據(jù)發(fā)生變化時(shí),通過觸發(fā)Web Service實(shí)時(shí)導(dǎo)入到增量表中;
②Mule 觸發(fā)相應(yīng)組件的輸入和輸出進(jìn)行數(shù)據(jù)處理(數(shù)據(jù)校驗(yàn)、邏輯分析、重復(fù)數(shù)據(jù)處理等);
③處理后的數(shù)據(jù)進(jìn)入數(shù)據(jù)緩存交換系統(tǒng),需分發(fā)的數(shù)據(jù)也通過調(diào)用相關(guān)的服務(wù),先存放在數(shù)據(jù)交換區(qū)中;
④數(shù)據(jù)交換區(qū)與Mule服務(wù)組件共同完成導(dǎo)出和同步的工作。
2.3 數(shù)據(jù)服務(wù)
數(shù)據(jù)緩存交換系統(tǒng)向業(yè)務(wù)系統(tǒng)提供相應(yīng)的數(shù)據(jù)輸入Web Service,讓其進(jìn)行調(diào)用。并對(duì)錄入的信息經(jīng)過一定的處理,再傳遞到在數(shù)據(jù)緩存交換的數(shù)據(jù)庫中。這種方式可以保障數(shù)據(jù)緩存交換系統(tǒng)數(shù)據(jù)存儲(chǔ)的安全,使得數(shù)據(jù)緩存交換的數(shù)據(jù)結(jié)構(gòu)對(duì)各業(yè)務(wù)系統(tǒng)透明,而且系統(tǒng)耦合度低,不需要依賴業(yè)務(wù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),只需定義Web Service接口即可。此外,按照一定的業(yè)務(wù)配置處理數(shù)據(jù)的同步規(guī)則,數(shù)據(jù)緩存交換系統(tǒng)可實(shí)現(xiàn)數(shù)據(jù)緩存交換系統(tǒng)與多個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)分發(fā)工作。
隨著ESB的發(fā)展及企業(yè)信息化建設(shè)的推進(jìn),ESB提供了一個(gè)強(qiáng)大的、可伸縮的集成平臺(tái),融合SOA和Web Service的思想,用低成本、快速地實(shí)現(xiàn)靈活的集成,最大化業(yè)務(wù)的投資收益,成為車企實(shí)現(xiàn)應(yīng)用系統(tǒng)信息化集成的主要實(shí)施方案。本文結(jié)合某車企信息化的建設(shè)實(shí)施,整合已有各系統(tǒng),在局部范圍內(nèi)采用ESB數(shù)據(jù)整合技術(shù)進(jìn)行了實(shí)踐,實(shí)現(xiàn)了數(shù)據(jù)交換與同步的基本應(yīng)用,取得了不錯(cuò)的效果,同時(shí)這些成果和經(jīng)驗(yàn)將為未來ESB數(shù)據(jù)整合技術(shù)的深入研究與應(yīng)用提供參考。
[1]JIANG Jichen, GAO Ming. Enterprise Service Bus and an Open Source Implementation [Z]. China: Computer Science, 2007.
[2] Dave Chappell. Enterprise Service Bus[M].Sebastopol:OReilly,2004.
[3]Colombe Philippe Lalanda,Mediati on and Enter prise Service Bus[EB/OL].http://ftp.informatik.rwth2aachen.de/Publicati ons/CEUR2WS/Vol-2168/MEDIATE20052-paper5.pdf,2005.
[4]張文迪.基于JAVA Reflection/Spring的WEB框架研究與應(yīng)用[D].西南財(cái)經(jīng)大學(xué),2010.
[5]李曉東,楊揚(yáng),郭文彩.基于企業(yè)服務(wù)總線的數(shù)據(jù)共享與交換平臺(tái)[J].計(jì)算機(jī)工程,2006,21(32):217-223.
[6]魯亞林,傅鵬.面向服務(wù)的企業(yè)應(yīng)用集成探討[J].現(xiàn)代計(jì)算機(jī),2006,247:9-19.
[7]周競濤,張樹生,趙寒,王明微,張超,王克飛,董小鋒.基于語義模型的總線式企業(yè)信息集成框架[J].計(jì)算機(jī)集成制造系統(tǒng),2006(03).
[8]周航濱,夏安邦,張長昊.基于Web服務(wù)的跨企業(yè)信息集成框架[J].計(jì)算機(jī)集成制造系統(tǒng)-CIMS,2003(01).