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