[摘 要] 本文提出了當(dāng)前企業(yè)面臨的業(yè)務(wù)流程管理的挑戰(zhàn),給出了建立流程層的解決方法,并基于TIBCO平臺給出了企業(yè)應(yīng)用集成和業(yè)務(wù)流程管理的詳細方案和具體實施過程。
[關(guān)鍵詞] 企業(yè)應(yīng)用集成 業(yè)務(wù)流程管理 流程層 適配器 業(yè)務(wù)服務(wù)
一、引言
在今天的商業(yè)環(huán)境中,企業(yè)間的合并、收購和聯(lián)合成為普遍現(xiàn)象。為了完成IT上的合并,大部分企業(yè)采用了企業(yè)應(yīng)用集成(Enterprise Application Integration) 技術(shù),然而EAI 在提供應(yīng)用和數(shù)據(jù)的聯(lián)通性也是有限的,并且需要高水平的集成服務(wù)。EAI技術(shù)已經(jīng)提供應(yīng)用和數(shù)據(jù)系統(tǒng)之間的通訊方法,但是潛在的問題是EAI方案是建立在以數(shù)據(jù)為中心的模式下的,沒有考慮更本質(zhì)的問題:怎樣組織內(nèi)部和外部的商業(yè)行為,因此企業(yè)不能有效的對企業(yè)業(yè)務(wù)流程進行管理,導(dǎo)致業(yè)務(wù)流程因為需要而改變后必須重新部署集成進程。
二、業(yè)務(wù)流程管理和流程層
真正的業(yè)務(wù)流程管理(Business Process Management)應(yīng)該是工作流(Workflow)和EAI 技術(shù)的結(jié)合體。它是一系列的技術(shù),從流程抽象角度上創(chuàng)建一個流程層(Process Layer),同時從應(yīng)用控制中去掉流程。同中間件提供一個數(shù)據(jù)抽象層的方法一樣,BPM 提供了一個“流程抽象層”-獨立的流程總線。用BPM代替每個應(yīng)用系統(tǒng)中控制的流程集合,通過BPM 控制應(yīng)用系統(tǒng),驅(qū)動這些流程。流程控制從分離的應(yīng)用系統(tǒng)中提取出來,使它們在BPM 層控制下,驅(qū)動流程、代理任務(wù)或活動。獨立流程層帶來的好處是:
允許客戶從不同的緯度衡量整合到現(xiàn)有系統(tǒng)的流程現(xiàn)狀,以前很難實現(xiàn)的系統(tǒng)間流程自動化和流程管控,將會變得非常簡單;由于特定流程元素需要人工交互,所以實現(xiàn)系統(tǒng)間處理會存在一些障礙。
獨立流程層提供了流程管理各階段進行規(guī)范化評估的能力和方法。流程可以被清晰定義,在獨立流程層自由控制和執(zhí)行,并可以對每一個步驟進行評估。
流程可以很容易被修改,所以BPM不只是更好地進行流程自動化流轉(zhuǎn),還提供了更加完善和有效的流程持續(xù)改進的環(huán)境和操作能力。
基于以上特點,獨立流程層能保護現(xiàn)有IT應(yīng)用投資,IT組織能以很低的代價更加快速響應(yīng)業(yè)務(wù)需求的改變。一個設(shè)計、部署良好的BPM系統(tǒng)能保證更快、更容易、更有效的企業(yè)改進。
三、TIBCO平臺架構(gòu)在企業(yè)中的實現(xiàn)
通過TIBCO成熟的企業(yè)集成平臺和業(yè)務(wù)流程管理平臺的結(jié)合可以為當(dāng)前企業(yè)解決集成和根據(jù)需求來創(chuàng)建并執(zhí)行業(yè)務(wù)流程,進行高質(zhì)、高效和低成本的運作。下面以India Finolex公司的項目需求和實例講述TIBCO集成平臺在企業(yè)應(yīng)用集成和業(yè)務(wù)流程管理中的應(yīng)用和實現(xiàn):
Finolex公司整個系統(tǒng)包括SAP系統(tǒng)(包括FI, SD, MM, HR, PP 和AM六個模塊)、其他ERP軟件和類如B2B e-connect的第三方CRM軟件。分銷商通過B2B Web應(yīng)用程序發(fā)送訂單給公司,并檢查支付情況、訂單狀態(tài)和賬戶狀態(tài)。CRM應(yīng)用程序前臺由Java Servlets和JSP開發(fā),數(shù)據(jù)庫為Oracle9i。當(dāng)訂單提交時,訂單信息通過B2B應(yīng)用程序保存并進入SAP系統(tǒng)。B2B應(yīng)用程序的Oracle數(shù)據(jù)庫和SAP通過Scheduler通信來同步SAP系統(tǒng)和Oracle系統(tǒng)的數(shù)據(jù),Scheduler由Java程序組成,調(diào)用SAP系統(tǒng)的RFC,還包括SAP系統(tǒng)端的ABAP程序。
系統(tǒng)當(dāng)前存在的問題是系統(tǒng)集成沒有實現(xiàn)人到人(P2P:People to People)和人到應(yīng)用系統(tǒng)(P2A:People to Application)的集成,使得系統(tǒng)沒法根據(jù)當(dāng)前的任務(wù)變化做出響應(yīng),企業(yè)中的業(yè)務(wù)流程或業(yè)務(wù)邏輯因為需要而改變后必須重新部署集成進程。Scheduler每隔一天同步B2B應(yīng)用程序的Oracle數(shù)據(jù)庫和SAP,因此數(shù)據(jù)不能及時更新,此外由于網(wǎng)絡(luò)的負(fù)載的問題操作很慢,從而影響了Scheduler的性能。
系統(tǒng)重新集成采用架構(gòu)圖如圖1:
系統(tǒng)通過Adapter(適配器)來集成Microsoft SQL Server 2000和SAP R/3系統(tǒng),Microsoft CRM通過Web Service與TIBCO BW完成通信。企業(yè)應(yīng)用集成層向高層提供點到點的服務(wù)(Point-to-Point Service),通過這些服務(wù)可以創(chuàng)建業(yè)務(wù)服務(wù)(Business Service),如創(chuàng)建新訂單、更新訂單、標(biāo)記刪除訂單和訂單操作檢測等。服務(wù)(Service)在服務(wù)傳輸網(wǎng)絡(luò)(Service Delivery Network)層發(fā)布并被業(yè)務(wù)流程管理層(獨立流程層)的業(yè)務(wù)流程所調(diào)用。這樣就將業(yè)務(wù)流程邏輯從應(yīng)用層分離出來,在業(yè)務(wù)流程管理層中使用TIBCO iProcess定義、設(shè)計、和管理企業(yè)業(yè)務(wù)流程。
1.系統(tǒng)應(yīng)用集成設(shè)計
ActiveDatabase適配器是數(shù)據(jù)庫和應(yīng)用系統(tǒng)之間的雙向網(wǎng)關(guān),可以在TIBCO環(huán)境中配置,支持發(fā)布-訂閱(publish-subscribe)和請求-應(yīng)答(Request-response)兩種交互方式。這里使用支持觸發(fā)的ODBC或JDBC連接到數(shù)據(jù)庫,適配器可以通過配置來訂閱來自其他應(yīng)用系統(tǒng)的消息并將其保存到目標(biāo)數(shù)據(jù)庫。觸發(fā)器可以監(jiān)測目標(biāo)數(shù)據(jù)庫來觸發(fā)其他對于數(shù)據(jù)庫的操作。Microsoft CRM中新訂單保存入Microsoft SQL 2000數(shù)據(jù)庫時,相應(yīng)操作被觸發(fā),系統(tǒng)將訂單保存入SAP R/3系統(tǒng)。SAP R/3適配器可以將SAP R/3系統(tǒng)無縫的集成到TIBCO系統(tǒng),在TIBCO Designer中允許用戶配置適配器服務(wù),直接可從SAP R/3系統(tǒng)下載RFC、BAPI和IDoc Schema等。SAP R/3適配器提供四種服務(wù),分別是發(fā)布服務(wù)、訂閱服務(wù)、請求-應(yīng)答調(diào)用服務(wù)和請求應(yīng)答服務(wù),通過這四種服務(wù)來實現(xiàn)集成。Microsoft CRM中提供了Web服務(wù),通過這些服務(wù)銷售訂單實體可以被創(chuàng)建、更新和刪除。Microsoft CRM和TIBCO中的Parsers(解析器)是不兼容的,通信中可以通過XSLT來轉(zhuǎn)換消息格式。
2.業(yè)務(wù)服務(wù)(Business Service)設(shè)計
企業(yè)應(yīng)用集成層通過通過TIBCO消息系統(tǒng)集成各個企業(yè)應(yīng)用系統(tǒng)并向業(yè)務(wù)流程管理層提供可以調(diào)用的業(yè)務(wù)服務(wù)。這里以SAP R/3系統(tǒng)的集成為例:系統(tǒng)使用R/3適配器來集成SAP R/3,集成過程較為復(fù)雜,包括SAP端的BAPI(Business Application Programming Interface)的設(shè)計,這里給出在TIBCO中服務(wù)的設(shè)計。主要的服務(wù)為創(chuàng)建新的訂單、更新訂單和標(biāo)記刪除訂單服務(wù)等。在TIBCO Designer中創(chuàng)建新的訂單的服務(wù):
3.子業(yè)務(wù)流程(Business Process)和主業(yè)務(wù)流程設(shè)計
子業(yè)務(wù)流程通過調(diào)用企業(yè)應(yīng)用集成層提供的點對點的服務(wù)來實現(xiàn)。如圖3為添加新訂單業(yè)務(wù)流程,從Microsoft CRM中獲取新的銷售訂單,然后將其保存到SAP R/3系統(tǒng)。在主業(yè)務(wù)流程設(shè)計中使用已創(chuàng)建的子業(yè)務(wù)流程形成更為復(fù)雜的業(yè)務(wù)流程。
四、結(jié)束語
企業(yè)的經(jīng)營理念將在業(yè)務(wù)流程中得以體現(xiàn),通過流程層的建立可以在不影響底層服務(wù)和應(yīng)用程序的前提下對業(yè)務(wù)流程做出更改,這種設(shè)計方法有助于提高業(yè)務(wù)的敏捷度、隔離更改所產(chǎn)生的影響,并且讓業(yè)務(wù)分析人員和IT人員的專業(yè)技能得到充分的發(fā)揮,從而實現(xiàn)企業(yè)競爭力、控制成本、管理流程復(fù)雜性和反應(yīng)。
參考文獻:
[1]Howard Smith Peter Finger,Business Process Management (BPM): The Third Wave
[2]Roger T. Buriton,Business Process Management,Techmedia,2001
[3]David S.Linthicum,Next Generation Application Integration From Simple to Web Service,Addison-Wesley,2006
[4]TIBCO.com, TIBCO Business Process Management White, 2004
[5]BPM Resource Center, http://www.tibco.com/solutions/bpm/default.jsp