季云峰
(江蘇信息職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214061)
企業(yè)應(yīng)用集成(Enterprise Application Integration,EAI)是將基于各種不同平臺(tái)、用不同方案建立的企業(yè)應(yīng)用集成的一種方法和技術(shù)。EAI旨在集成既已封裝的企業(yè)應(yīng)用,通過(guò)一定的業(yè)務(wù)流程,來(lái)實(shí)現(xiàn)靠單個(gè)應(yīng)用所不能完成的業(yè)務(wù)功能。EAI技術(shù)通過(guò)建立底層結(jié)構(gòu)來(lái)實(shí)現(xiàn)在企業(yè)內(nèi)部的ERP、CRM、SCM、數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)以及其它內(nèi)部系統(tǒng)之間無(wú)縫地共享和交換數(shù)據(jù)。TIBCO BusinessWorks是一個(gè)可擴(kuò)展、可延伸且易于使用的可用來(lái)開(kāi)發(fā)一體化項(xiàng)目的集成平臺(tái)。
許多傳統(tǒng)的企業(yè)由于缺少不同系統(tǒng)相互集成的技術(shù),導(dǎo)致很多關(guān)鍵的信息被封閉在相互獨(dú)立的系統(tǒng)中,部門(mén)間重復(fù)著冗余的工作,這直接導(dǎo)致了企業(yè)工作效率的降低和運(yùn)營(yíng)成本的上升。這些孤立的信息系統(tǒng)無(wú)法有效地提供跨部門(mén)、跨系統(tǒng)的綜合性的信息,也無(wú)法實(shí)現(xiàn)實(shí)時(shí)的信息存取和對(duì)業(yè)務(wù)流程的透視,無(wú)法實(shí)現(xiàn)對(duì)客戶、供應(yīng)商、項(xiàng)目、訂單、資產(chǎn)等的全面掌控,無(wú)法實(shí)現(xiàn)企業(yè)價(jià)值鏈的全面的、徹底的透視和控制。于是對(duì)于企業(yè)應(yīng)用集成的需求應(yīng)運(yùn)而生。
EAI就是將業(yè)務(wù)流程、應(yīng)用軟件、硬件和各種標(biāo)準(zhǔn)聯(lián)合起來(lái),在兩個(gè)或更多的企業(yè)應(yīng)用系統(tǒng)之間實(shí)現(xiàn)無(wú)縫集成,使它們像一個(gè)整體一樣進(jìn)行業(yè)務(wù)處理和信息共享,從而提高企業(yè)效率,為客戶提供靈活的業(yè)務(wù)服務(wù)。EAI常常表現(xiàn)為對(duì)一個(gè)商業(yè)實(shí)體(例如一家公司)的信息系統(tǒng)進(jìn)行業(yè)務(wù)應(yīng)用集成,但當(dāng)在多個(gè)企業(yè)系統(tǒng)之間進(jìn)行商務(wù)交易的時(shí)候,EAI也表現(xiàn)為不同公司實(shí)體之間的企業(yè)系統(tǒng)集成,例如B2B的電子商務(wù)。同時(shí),為了實(shí)現(xiàn)網(wǎng)上交易,必須將企業(yè)后臺(tái)系統(tǒng)(比如ERP)與企業(yè)的外部網(wǎng)站集成在一起。EAI的類型有數(shù)據(jù)層級(jí)集成、應(yīng)用接口層級(jí)集成、方法層級(jí)集成和用戶接口層級(jí)集成四種。
TIBCO是領(lǐng)先的實(shí)時(shí)業(yè)務(wù)解決方案提供商,致力于EAI企業(yè)應(yīng)用集成產(chǎn)品和解決方案的領(lǐng)域。TIBCO BusinessWorks是TIBCO在Web服務(wù)戰(zhàn)略中的第一個(gè)應(yīng)用方案,它是一個(gè)方便易用的全面的平臺(tái),它為企業(yè)提供了可分塊逐步實(shí)施的快速地解決所面臨的集成挑戰(zhàn)的能力。支持全面的跨平臺(tái)Web服務(wù)的解決方案,支持新的和傳統(tǒng)系統(tǒng),包括內(nèi)部應(yīng)用和業(yè)務(wù)流程集成,以及實(shí)時(shí)監(jiān)控和管理。其特點(diǎn)包括:a.第一個(gè)可管理整個(gè)集成生命周期的解決方案,從設(shè)計(jì)到部署,直到管理,包括業(yè)務(wù)流程集成的實(shí)時(shí)管理和監(jiān)控。用戶友好的模型和配置界面,支持快速的部署和培訓(xùn);b.流程模板和現(xiàn)成可用的與主要應(yīng)用的連接能力;支持包括簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)和Web服務(wù)描述語(yǔ)言(WSDL)在內(nèi)的Web服務(wù)標(biāo)準(zhǔn);c.支持業(yè)界標(biāo)準(zhǔn),如包括 Java消息服務(wù)(JMS)的 Java 2 Platform,Enterprise Edition (J2EE)和XML標(biāo)準(zhǔn),如XML樣式變換語(yǔ)言(XSLT)和 XML路徑語(yǔ)言 (XPath);d.通過(guò)系統(tǒng)組件和用戶的認(rèn)證及授權(quán)保證完全的安全性;e.基于Web的管理界面,支持分布式環(huán)境中的系統(tǒng)和流程實(shí)時(shí)監(jiān)控;f.組件式軟件解決方案,降低總體擁有成本,包括降低培訓(xùn)和部署成本。
TIBCOBusinessWorks的主要組件有TIBCO Designer、TIBCO BusinessWorks engine、TIBCO Administrator、TIBCO Runtime Agent(TRA)和 TIBCO InConcert(可選),如圖 1 所示。
圖1 TIBCO主要組件
TIBCO administration domain是用戶、計(jì)算機(jī)和TIBCO管理服務(wù)器(Administration Server)監(jiān)視和管理的TIBCO BusinessWorks組件的集合,如圖2所示。
圖2 TIBCO管理域組成
TIBCO Administration Server(管理服務(wù)器),對(duì)于每個(gè)管理域有一個(gè)管理服務(wù)器。組件軟件包括TIBCO BusinessWorks engine和Adapter。每個(gè)TIBCO管理域包括一個(gè)或多個(gè)Machine(計(jì)算機(jī)),當(dāng)TIBCO組件或Adapter被安裝時(shí),Machine可以被添加到管理域。User&AccessInformation由TIBCOAdministrator GUI在指定并被保存在域數(shù)據(jù)中。
Projects(項(xiàng)目),使用TIBCO Designer GUI創(chuàng)建一個(gè)項(xiàng)目,可以使用TIBCO Designer為項(xiàng)目創(chuàng)建一個(gè)Enterprise Archive file (EAR文檔),然后發(fā)送這個(gè)文檔到管理服務(wù)器(TIBCO admistration server)。一旦配置好,這個(gè)項(xiàng)目在TIBCO Administrator GUI中可見(jiàn)并且它的組件可以被啟動(dòng)、停止和監(jiān)視。
EasyWare Incorporated是一家計(jì)算機(jī)硬件制造商。到目前為止負(fù)責(zé)采購(gòu)訂單管理的部門(mén)已經(jīng)通過(guò)電話收到訂單并將其手工的輸入到PeopleSoft訂單管理系統(tǒng)中(Order Management System)??蛻舴?wù)部門(mén)也使用PeopleSoft系統(tǒng)中的信息,但是發(fā)現(xiàn)有些需要的信息不存在。另外送貨信息不在訂單管理系統(tǒng)中。結(jié)果,當(dāng)貨物被運(yùn)送時(shí),客戶不能收到通知信息,客戶服務(wù)代表必須通過(guò)兩個(gè)步驟來(lái)獲取送貨信息:首先從PeopleSoft系統(tǒng)中得到Order ID,然后使用Order ID來(lái)共送貨日志來(lái)獲得送貨信息。
管理層決定要做以下改變:a.通過(guò)在與支持JMS的應(yīng)用服務(wù)器通信的防火墻外的web服務(wù)器來(lái)使得可以進(jìn)行訂單輸入。b.添加Siebel客戶服務(wù)系統(tǒng)來(lái)接收每個(gè)采購(gòu)訂單的信息。c.在訂單確認(rèn)之前需要進(jìn)行信用檢查訂單是否超過(guò)$10,000。d.在訂單被輸入到Siebel系統(tǒng)前,添加送貨日期和時(shí)間到每個(gè)貨物。信息必須可以從送貨公司網(wǎng)站通過(guò)Internet來(lái)得到。
EasyWare面臨的挑戰(zhàn)是添加新的功能到業(yè)務(wù)流程,同時(shí)降低終端用戶的使用復(fù)雜度。在經(jīng)過(guò)仔細(xì)考慮后IT部門(mén)決定使用TIBCO做一個(gè)原型。
集成的目的是允許EasyWare可以象以前一樣通過(guò)電話,直接訪問(wèn)PeopleSoft來(lái)接收訂單,或從應(yīng)用服務(wù)器接收訂單。PeopleSoft訂單管理系統(tǒng)繼續(xù)使用,但數(shù)據(jù)可以象以前一樣手工輸入或可以由應(yīng)用服務(wù)器通過(guò)Internet接收。此外,系統(tǒng)必須和Siebel客戶管理系統(tǒng)集成。如圖3案例模塊。
如圖3案例場(chǎng)景
案例場(chǎng)景步驟如圖4所示。
(1)訂單通過(guò)Internet從銷售商那邊發(fā)過(guò)來(lái)。(2)訂單由在應(yīng)用服務(wù)器上的定制的訂單抓取系統(tǒng)處理。(3)TIBCO BusinessWorks JMS Queue Receiver(隊(duì)列接收器)activity(節(jié)點(diǎn)事件)來(lái)接收輸入的訂單文檔。(4)TIBCO BusinessWorks轉(zhuǎn)換訂單為符合PeopleSoft的XML文檔,并且PeopleSoft Adapter提交訂單給PeopleSoft訂單管理系統(tǒng)。(5)PeopleSoft接受或拒絕訂單。當(dāng)它接受訂單時(shí),它包括Order ID。(6)當(dāng)訂單總額超過(guò)$10,000,訂單被送出做信用檢查,當(dāng)信用檢查不成功,客戶會(huì)立即被通知,訂單被無(wú)限期擱置。另外,當(dāng)批準(zhǔn)到來(lái)時(shí),流程繼續(xù)。(7)TIBCO BusinessWorks通過(guò)web服務(wù)activity(節(jié)點(diǎn)事件)來(lái)檢查送貨安排并且給訂單添加送貨日期。(8)TIBCO BusinessWorks發(fā)送訂單的信息(包括Order ID)和送貨信息到Siebel Adapter.Siebel Adapter添加新的客戶服務(wù)記錄到Siebel系統(tǒng)。
目前EAI對(duì)企業(yè)來(lái)說(shuō)越來(lái)越重要,企業(yè)開(kāi)始采用EAI解決方案將企業(yè)內(nèi)部的應(yīng)用系統(tǒng)與外部客戶和供應(yīng)商的應(yīng)用系統(tǒng)進(jìn)行鏈接,實(shí)現(xiàn)數(shù)據(jù)流和業(yè)務(wù)運(yùn)作的自動(dòng)化,從而達(dá)到業(yè)務(wù)的實(shí)時(shí)與快速。EasyWare通過(guò)對(duì)現(xiàn)有應(yīng)用系統(tǒng)的集成不但使業(yè)務(wù)流程得到了改善,實(shí)現(xiàn)了各個(gè)系統(tǒng)數(shù)據(jù)無(wú)縫的交換和共享,同時(shí)也減少了用戶的使用復(fù)雜度。
[1]David S.Linthicum,Enterprise Application Integration,Addison-Wesley,1999
[2]W.A.Ruh,F.X.Maginnis,W.J.Brown,Enterprise Application Integration,Wiley,2000
[3]David S.Linthicum. “Next Generation Application Integration From Simple to Web Service“.5thed.Addison-Wesley,2006
[4]www.eai.ittoolbox.com
[5]www.eaijournal.com