2012-04-11 56 views
6

我們可以放心地說,如果ESB提供編排功能,那麼它有資格成爲BPM的實施嗎?BPM vs ESB - Orchestration?

我知道BPM有一個不同的目的,就是對一些業務流程進行建模,並且可以通過任何簡單的Java/J2EE應用程序,複雜的SOA應用程序或某個應用程序來完成這些業務流程的實現,並說我提供BPM 。是對的嗎?

回答

10

第一個問題:

你的聲明是有效的一些經營流程,其僅僅是模型請求 - 響應交互。

但是,當談到複雜的業務流程時,我們需要考慮除編排功能以外的其他一些功能。在這裏,我列出了幾個這樣的場景。

  1. 讓我們開始一個需要長時間保持其狀態的業務流程。我們通常稱它們爲國營或長期運營的業務流程。爲了支持這些類型的業務流程,應該有一個狀態持久性機制。此功能與編排功能無關。
  2. 考慮一個業務流程,這需要一些補償功能。在這種情況下,一些業務流程建模標準(如WS-BPEL)已經定義了它的compensation mechanisms。因此,除了編排功能外,還有一些其他功能需要考慮。

第二個問題:

是。但是與您提到的實現機制相比,BPM引擎中有幾個優點。

一個優點是,無法從Java應用程序實現由BPM引擎提供的建模抽象級別。比方說,我們使用JAVA應用程序來實現業務流程邏輯,並將業務流程投入生產。假設我們需要更改其合作伙伴服務的端點網址。在這種情況下,現在業務流程實施需要修改,重新編譯並部署回生產系統。如果我們使用像WS-BPEL這樣的業務流程語言標準來實現業務流程,那麼我們可以非常輕鬆地更改業務流程配置並將其推回到生產中。這提高了效率並降低了業務維護成本。 還有其他原因,如適應性和靈活性。

+1

完美答案!感謝您的解釋。 (http://stackoverflow.com/questions/345749/is-orchestration-an-esb-responsibility)這個問題也非常相似,並已被精美地回答。 – 2012-04-13 10:09:54

+1

很好的解釋! – 2013-06-03 20:56:23

7

我創建這些幻燈片前段時間正好說明了如何使用這兩個和它們之間的關係: http://www.slideshare.net/salaboy/jbpm5-community-training-module-25-bpm-for-developers

你需要了解的東西就像BPEL/ESB /業務流程之間的不同觀點BPMN(面向業務)他們有非常不同的範圍。

乾杯

+0

這似乎是一個很棒的演示。我想給+20的演示文稿,不知道這是可能的。 – 2012-04-13 10:56:26

+0

我對演示文稿有幾個問題,例如我認爲我們可以放心地說「一個工作流可以被表示爲/是一個過程」。從演示文稿看來,這似乎是不正確的。需要理由/差異。我可以在類似的問題上進行討論/聊天/郵件交流嗎? – 2012-04-13 10:57:46

+0

業務流程可以被認爲是更高層次的業務相關表示。如果你是一個技術人員,你需要儘量不要搞錯,你可以使用一個非常技術性的目的,這是不相關的商務人士一個狀態機。如果您想要,可以寫下我的博客的問題:http://salaboy.com – salaboy 2012-04-19 09:19:01

3

通常ESB被分配給中間層 - 策劃低層次服務爲更大的服務單位,將被暴露在業務使用過程 - 在頂層的BPM。

因此,業務流程編排層將使用BPM,ESB將通過在業務服務和服務支持中工作來啓用和促進這一點。

換句話說,首先您需要將所有的系統和應用程序公開爲服務;這是ESB進場的地方。

你可以看到這個鏈接:http://blogs.mulesoft.org/why-bpm-and-esb-need-to-work-together/

-2

讓我做BPM,業務流程和ESB之間的區別更加明確,通過設計模式和規範。

一般來說,「Orchestration」已被定義爲採用過程抽象,過程集中和State Repository設計模式的複合模式。由於實施了State Repository模式,與之前的文章相反,Orchestration支持長時間運行的同步業務流程,就像BPM一樣。

2的主要實際區別在於協調中間件(例如WebSphere Process Server,BizTalk,Oracle BPEL Manager和Windows Workflow Foundation)支持大多數WS *規範。這包括Ws BPEL,Ws安全性,Ws原子事務處理,Ws業務活動,Ws可靠消息傳遞等,而大多數BPM工具不。

因此,可以隨意在企業級使用業務流程,但在該範圍內使用BPM時要非常小心。

實際上,BPM和業務流程工具都支持業務流程的圖形表示。的區別在於,業務流程可通過廠商中立 BPEL(商務處理執行語言)來表示,而BPM經由供應商特定 BPMN(業務流程建模符號)表示。這是在SOA /企業級避免BPM工具的另一個原因。

在BPM工具實現Ws *規範的情況下,它是一種適用於所有實際目的的編排引擎。 BPM工具依賴於特定於供應商的BPMN和編排工具依賴於供應商中性BPEL。

在兩個BPM和業務流程需要共存,限制BPM應用程序架構(如MVC風格),並讓業務流程促進企業資產的共享情況。

ESB是一種完全不同的動物。應該用於異步,而不是同步過程和依賴於一組不同的設計模式(即服務代理,異步排隊,中間路由,和內容富集圖案)