關於業務流程管理
(bpm)
和面向服務架構
(soa)
之間關係的討論熱鬧非凡。二者也是多年來的熱門話題,但是關於它們的討論通常都出現在互不相關的論壇上,討論它們的人通常也屬於不同的圈子。不過現在這種情況正在改變,因為這兩個概念以及相關技術的使用者和提供者正日漸將二者結合起來看待。
bpm陣營通常聲稱,
soa對於實現
bpm來說不是必需的。只需部署乙個
bpm套件,就可以更快地實現目標而不會帶來多少複雜性。
soa陣營則注重於如何從一般意義上解決企業
it的複雜性。該陣營通常聲稱
bpm是
soa的乙個特性,但是它是
soa解決方案的一部分,而不是乙個單獨的東西。當
soa領域的人士談到
bpm時,該術語通常與服務編排或流程整合同義,而不強調對業務分析人員友好的建模或人員互動,而後者對
bpm陣營來說非常重要。
為了澄清這些誤解,我認為有必要闡明bpm
與soa
的不同本質
:soa
是一種架構方法
;bpm
則是一組協調活動。
因此,可以很容易地得到使用
soa或不使用
soa的
bpm,反之亦然。我們來看看不同組合的優點。
如果部署乙個不使用
soa的
bpm套件,則可以獲得快速建立、執行和監控
/管理業務流程的能力。業務流程的模型可以由業務分析人員建立,但是其完整實現則需要與底層
it系統的整合
(以及定義使用者如何與該流程互動,但是現在我們暫不考慮)。
bpm套件(如
bea的
aqualogic bpm suite)
支援使用各種不同的技術
(面向服務的或不是面向服務的
)對應用程式和資料庫進行輕鬆訪問。實現由**和來自於並依賴於底層系統介面的元資料組成,因此,對底層資料庫和應用程式的任何更改都將導致對業務流程的更改。
如果組織和
it環境規模比較小,並且由同樣一組人來控制所有的系統(包括
bpm套件
)的話,這是完全可以的。如果底層系統完全不更改的話,這種方法同樣執行良好。
但是,如果
bpm套件由乙個小組部署,並消費來自另乙個小組的系統的服務,那麼協調和管理每個小組中的更改的任務很快就會變得非常困難。這是
soa要解決的典型問題,因此,
soa可以應用於
bpm套件的部署,就像應用於其它地方一樣。
如果bpm
作為soa
的一部分進行部署,這意味著當乙個業務流程連線到底層系統時,它連線到由企業服務匯流排所提供的**服務,這樣就隱藏了底層應用程式和資料庫的複雜性。這具有以下優點
:將業務流程連線到系統的過程會更簡單,因為
it可以公開更有用的介面,比如聚合的資料服務或使用標準協議而不是專有協議的服務。這減少了實現流程所需的
it工作量,並允許流程人員將精力集中於流程,而不是粘合流程與底層系統所需的技術。
它使得實現更為健壯,因為對底層
it系統的更改不必影響流程所使用的介面。
它在bpm
套件之外提供了乙個獨立的控制和管理層。這允許
it小組更好地管理他們所擁有和維護的服務的策略和資源。
soa還支援從
bpm套件中獲得對它所連線到的系統的更好可見度。
it小組可以在服務註冊庫中註冊服務,流程開發人員
(甚至可能是業務分析師
)可以在構建流程時瀏覽這樣的註冊庫。這確保了服務可以被正確地使用和重用,而且通常簡化了業務流程,因為使用正確的服務可以將流程本身的複雜性降至最低。
無疑,這些優點只有在
it基礎架構足夠複雜,並且/或者
bpm專案達到一定的範圍和規模時才能顯現出來。因此,在很多情況下,應該首先開發出
bpm,而將
soa元件留待以後考慮。
最好的方法是一開始就讓業務運作團隊和
it企業架構小組保持良好的對話,並針對未來進行規劃,同時支援戰術性執行。這就需要正確地組合產品。例如,
bpm套件本身應該能夠提供豐富的連通性,以便無需全面應用完善的
soa來使得
bpm執行,這一點非常重要。類似地,
bpm套件應該支援
soa,這樣
bpm與
soa才不至於存在於獨立的豎井中,這也很重要。
分析 BPM與SOA之間的區別及聯絡
關於業務流程管理 bpm 和面向服務架構 soa 之間關係的討論熱鬧非凡。二者也是多年來的熱門話題,但是關於它們的討論通常都出現在互不相關的論壇上,討論它們的人通常也屬於不同的圈子。不過現在這種情況正在改變,因為這兩個概念以及相關技術的使用者和提供者正日漸將二者結合起來看待。bpm陣營通常聲稱,so...
SOA與BPM的融合
不管是soa也好,bpm也好,乙個是從業務視角來看,另乙個是從技術視角來看有它的道理,也有的說是從上往下來實施,也有人說是從下向上來做,我想不管是什麼樣的視角,總的來說在靈動的 上來支撐我們的運營 變革 創新,為it業務創造更到的價值我想這就是殊途同歸。姚樂 首先就有請台上的嘉賓先談下各自的觀點,只...
工作流與BPM之間的區別
bpm與工作流之間的差別是什麼?它們看上去如此相像,但實際並非如此。每項bpms 業務流程管理套件 和bpm 業務流程管理 解決方案在應用程式中的 嵌入式工作流 上有著關鍵的區別。這些差異包括 嵌入式,基於應用程式的工作流通常是預先定義活動的特定應用程式序列 即在itsm情況下,變更管理工作流只是變...