2008年的經(jīng)濟變革給長期財務(wù)規(guī)劃帶來了巨大挑戰(zhàn),同時也激發(fā)了企業(yè)追求更高的生產(chǎn)率和效率,但是與此同時,企業(yè)也獲得到了更好地響應(yīng)和敏捷性。盡管移動性允許工作人員每時每刻都能對準目標,但是云計算會向工作人員提供他們所需的敏捷信息資源。為了有所改變我們必須充分利用高效的生產(chǎn)力、效率和敏捷性。
面向服務(wù)架構(gòu)有助于IT技術(shù)業(yè)務(wù)轉(zhuǎn)型,但是卻產(chǎn)生新問題:
我們正從工作流時代轉(zhuǎn)向時間驅(qū)動時代嗎?
企業(yè)架構(gòu)(EA)使IT模型變得效率變得更低了嗎?
我們可以將應(yīng)用程序視為松散的元素組合?
從IT技術(shù)變革的角度來看,面向服務(wù)架構(gòu)(SOA)邁出了積極的一步。軟件被組件化,并視為帶有松散耦合的敏捷服務(wù),增加到使用面向業(yè)務(wù)流程語言(例如 BPEL)的應(yīng)用程序中。SOA已經(jīng)保存了應(yīng)用開發(fā)的集成模型,并使連接人員和IT元素的工作流更加靈活,以此解決業(yè)務(wù)中會出現(xiàn)的問題。然而其他技術(shù)也對SOA構(gòu)成挑戰(zhàn),最大的障礙可能來自于最先推動業(yè)務(wù)轉(zhuǎn)型的一方。
工作流與IT技術(shù)革命
個人電腦的出現(xiàn),使得移動性成為生產(chǎn)力發(fā)展最重要的因素。通過一個簡單的手持設(shè)備,工作人員就可以進入公司的資源,當然僅限于特定工作人員,而不是任意一個工作人員。
面臨的挑戰(zhàn)是,每個空桌子上有一個輸入、輸出盒子。這些盒子表明工作人員已經(jīng)被工作流驅(qū)動;然而,正如在現(xiàn)實生活中一樣,工作人員是事件的驅(qū)動力量。正如大多數(shù)架構(gòu)師所知,SOA一直專注于工作流和編排工作。這是如何固定下來的?
答案是后端操作?,F(xiàn)代化SOA應(yīng)用程序并沒有按照流程順序逐次安排工作,而是允許流程事件并行運行,其中只需要掌握信息的傳遞關(guān)系即可。其目標并不是序列任務(wù),而是要以某種方式完成業(yè)務(wù)流程的改變。
還會完成其他的事情嗎?會有新服務(wù)嗎?現(xiàn)在就可以運行嗎?現(xiàn)在是手動調(diào)用嗎?每時每刻現(xiàn)代化SOA流程都可以進行任何工作,而不需要按清單順序進行工作,并且將工作提前化分為一系列獨立的服務(wù)或事件活動。
IT模型設(shè)計與結(jié)構(gòu)
第二個問題是EA影響軟件設(shè)計和結(jié)構(gòu)的方式。十年或者更久以后,人們會普遍認為EA應(yīng)該專注于業(yè)務(wù)而不是IT工具。使用過幾乎所有EA方法完成功能或流程設(shè)計時,EA和軟件架構(gòu)之間存在一種特定的傳遞。問題是,工具和業(yè)務(wù)流程都是處于被動活動狀態(tài)—不考慮需要哪種設(shè)備支持的情況下你就不能構(gòu)建出處理流程。
由于人們的思維方式,因此傳統(tǒng)EA模型傾向于創(chuàng)建流水線式工作方式。這些流水線式工作方式然后固化成工作流,成為至今仍然使用的工作流程。然而,隨著生產(chǎn)規(guī)劃中移動意識的增強,這些流水線式工作方式在未來的生產(chǎn)中是不可行的。
我們需要做的是在功能/流程設(shè)計階段找到EA和軟件架構(gòu)之間的共同之處。這么做的目的是要刪除工作流中的特定概念,集中于工作者個人任務(wù)。
每個工作者都有事情要做,也需要使用一系列的工具。在構(gòu)建業(yè)務(wù)流程中配對是很重要的,這一過程不是人們憑借想象而創(chuàng)建出來的。我們將提供給工作人員的服務(wù)投入到EA流程中,這樣基于事件的輸出結(jié)果會出現(xiàn),并以服務(wù)為基礎(chǔ)(而不是以工作流為基礎(chǔ))與服務(wù)相結(jié)合。
政府應(yīng)該如何治理IT革命
如今正在使用的SOA通過網(wǎng)絡(luò)服務(wù)描述語言提供了一種強結(jié)構(gòu)化服務(wù)/流程輸入和輸出定義和業(yè)務(wù)流程執(zhí)行語言(BPEL)。隨著工作人員授權(quán)范圍越來越以事件為中心,以及企業(yè)轉(zhuǎn)向處理這些事件,因此,這些定義的嚴謹性會不夠充分。特別是,一種純以事件為導(dǎo)向的架構(gòu)必須要么重新定義工作流概念,要么弄清楚如何將流程規(guī)則強加于斷開式事件驅(qū)動任務(wù)集中。
由于服務(wù)會從工作流程中重新傳入到支持工作者所需要完成的任務(wù)中,因此任務(wù)級別治理必須被視為與任務(wù)功能并行的服務(wù)。你不能在事件流程中同時進行治理活動,而是必須在處理事件的過程中進行治理。實際上,這就意味著,在服務(wù)背后存在一個治理層,該治理層提供了安全保障和政策協(xié)調(diào)。工作人員處理后的事件還要經(jīng)過治理實踐,因為它們將會成為數(shù)據(jù)庫資源。
當將事件驅(qū)動流程添加到整個應(yīng)用程序或者業(yè)務(wù)流程中時,同樣要遵循這一原則。當工作人員完成任務(wù)時,他們實際上正在選擇一系列必須做的事務(wù)清單。每次選擇都會改變事件(也就是流程步驟)以后的處理方式。這種事件驅(qū)動的檢驗必須保證未來事件是已經(jīng)被解釋過的,而不是工作流的線性描述。通過事件驅(qū)動任務(wù)的積累來確保滿足合規(guī)性需求,這樣就可以在這一層級中加入治理工作。
不是所有的業(yè)務(wù)流程都是事件驅(qū)動的;裝配線上會顯示一些必須按順序進行才有效的任務(wù)。然而,原有流程的變革需要引進新技術(shù)并對新工作實踐進行思索。如果能勇于面對未來的挑戰(zhàn),那么SOA未來會占有一席之地。