季云峰
(江蘇信息職業技術學院,江蘇 無錫 214061)
企業應用集成(Enterprise Application Integration,EAI)是將基于各種不同平臺、用不同方案建立的企業應用集成的一種方法和技術。EAI旨在集成既已封裝的企業應用,通過一定的業務流程,來實現靠單個應用所不能完成的業務功能。EAI技術通過建立底層結構來實現在企業內部的ERP、CRM、SCM、數據庫、數據倉庫以及其它內部系統之間無縫地共享和交換數據。TIBCO BusinessWorks是一個可擴展、可延伸且易于使用的可用來開發一體化項目的集成平臺。
許多傳統的企業由于缺少不同系統相互集成的技術,導致很多關鍵的信息被封閉在相互獨立的系統中,部門間重復著冗余的工作,這直接導致了企業工作效率的降低和運營成本的上升。這些孤立的信息系統無法有效地提供跨部門、跨系統的綜合性的信息,也無法實現實時的信息存取和對業務流程的透視,無法實現對客戶、供應商、項目、訂單、資產等的全面掌控,無法實現企業價值鏈的全面的、徹底的透視和控制。于是對于企業應用集成的需求應運而生。
EAI就是將業務流程、應用軟件、硬件和各種標準聯合起來,在兩個或更多的企業應用系統之間實現無縫集成,使它們像一個整體一樣進行業務處理和信息共享,從而提高企業效率,為客戶提供靈活的業務服務。EAI常常表現為對一個商業實體(例如一家公司)的信息系統進行業務應用集成,但當在多個企業系統之間進行商務交易的時候,EAI也表現為不同公司實體之間的企業系統集成,例如B2B的電子商務。同時,為了實現網上交易,必須將企業后臺系統(比如ERP)與企業的外部網站集成在一起。EAI的類型有數據層級集成、應用接口層級集成、方法層級集成和用戶接口層級集成四種。
TIBCO是領先的實時業務解決方案提供商,致力于EAI企業應用集成產品和解決方案的領域。TIBCO BusinessWorks是TIBCO在Web服務戰略中的第一個應用方案,它是一個方便易用的全面的平臺,它為企業提供了可分塊逐步實施的快速地解決所面臨的集成挑戰的能力。支持全面的跨平臺Web服務的解決方案,支持新的和傳統系統,包括內部應用和業務流程集成,以及實時監控和管理。其特點包括:a.第一個可管理整個集成生命周期的解決方案,從設計到部署,直到管理,包括業務流程集成的實時管理和監控。用戶友好的模型和配置界面,支持快速的部署和培訓;b.流程模板和現成可用的與主要應用的連接能力;支持包括簡單對象訪問協議(SOAP)和Web服務描述語言(WSDL)在內的Web服務標準;c.支持業界標準,如包括 Java消息服務(JMS)的 Java 2 Platform,Enterprise Edition (J2EE)和XML標準,如XML樣式變換語言(XSLT)和 XML路徑語言 (XPath);d.通過系統組件和用戶的認證及授權保證完全的安全性;e.基于Web的管理界面,支持分布式環境中的系統和流程實時監控;f.組件式軟件解決方案,降低總體擁有成本,包括降低培訓和部署成本。
TIBCOBusinessWorks的主要組件有TIBCO Designer、TIBCO BusinessWorks engine、TIBCO Administrator、TIBCO Runtime Agent(TRA)和 TIBCO InConcert(可選),如圖 1 所示。

圖1 TIBCO主要組件
TIBCO administration domain是用戶、計算機和TIBCO管理服務器(Administration Server)監視和管理的TIBCO BusinessWorks組件的集合,如圖2所示。

圖2 TIBCO管理域組成
TIBCO Administration Server(管理服務器),對于每個管理域有一個管理服務器。組件軟件包括TIBCO BusinessWorks engine和Adapter。每個TIBCO管理域包括一個或多個Machine(計算機),當TIBCO組件或Adapter被安裝時,Machine可以被添加到管理域。User&AccessInformation由TIBCOAdministrator GUI在指定并被保存在域數據中。
Projects(項目),使用TIBCO Designer GUI創建一個項目,可以使用TIBCO Designer為項目創建一個Enterprise Archive file (EAR文檔),然后發送這個文檔到管理服務器(TIBCO admistration server)。一旦配置好,這個項目在TIBCO Administrator GUI中可見并且它的組件可以被啟動、停止和監視。
EasyWare Incorporated是一家計算機硬件制造商。到目前為止負責采購訂單管理的部門已經通過電話收到訂單并將其手工的輸入到PeopleSoft訂單管理系統中(Order Management System)。客戶服務部門也使用PeopleSoft系統中的信息,但是發現有些需要的信息不存在。另外送貨信息不在訂單管理系統中。結果,當貨物被運送時,客戶不能收到通知信息,客戶服務代表必須通過兩個步驟來獲取送貨信息:首先從PeopleSoft系統中得到Order ID,然后使用Order ID來共送貨日志來獲得送貨信息。
管理層決定要做以下改變:a.通過在與支持JMS的應用服務器通信的防火墻外的web服務器來使得可以進行訂單輸入。b.添加Siebel客戶服務系統來接收每個采購訂單的信息。c.在訂單確認之前需要進行信用檢查訂單是否超過$10,000。d.在訂單被輸入到Siebel系統前,添加送貨日期和時間到每個貨物。信息必須可以從送貨公司網站通過Internet來得到。
EasyWare面臨的挑戰是添加新的功能到業務流程,同時降低終端用戶的使用復雜度。在經過仔細考慮后IT部門決定使用TIBCO做一個原型。
集成的目的是允許EasyWare可以象以前一樣通過電話,直接訪問PeopleSoft來接收訂單,或從應用服務器接收訂單。PeopleSoft訂單管理系統繼續使用,但數據可以象以前一樣手工輸入或可以由應用服務器通過Internet接收。此外,系統必須和Siebel客戶管理系統集成。如圖3案例模塊。

如圖3案例場景
案例場景步驟如圖4所示。

(1)訂單通過Internet從銷售商那邊發過來。(2)訂單由在應用服務器上的定制的訂單抓取系統處理。(3)TIBCO BusinessWorks JMS Queue Receiver(隊列接收器)activity(節點事件)來接收輸入的訂單文檔。(4)TIBCO BusinessWorks轉換訂單為符合PeopleSoft的XML文檔,并且PeopleSoft Adapter提交訂單給PeopleSoft訂單管理系統。(5)PeopleSoft接受或拒絕訂單。當它接受訂單時,它包括Order ID。(6)當訂單總額超過$10,000,訂單被送出做信用檢查,當信用檢查不成功,客戶會立即被通知,訂單被無限期擱置。另外,當批準到來時,流程繼續。(7)TIBCO BusinessWorks通過web服務activity(節點事件)來檢查送貨安排并且給訂單添加送貨日期。(8)TIBCO BusinessWorks發送訂單的信息(包括Order ID)和送貨信息到Siebel Adapter.Siebel Adapter添加新的客戶服務記錄到Siebel系統。
目前EAI對企業來說越來越重要,企業開始采用EAI解決方案將企業內部的應用系統與外部客戶和供應商的應用系統進行鏈接,實現數據流和業務運作的自動化,從而達到業務的實時與快速。EasyWare通過對現有應用系統的集成不但使業務流程得到了改善,實現了各個系統數據無縫的交換和共享,同時也減少了用戶的使用復雜度。
[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