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