關(guān)于企業(yè)的所存在的四種基本架構(gòu)可以先參考該文章:
http://blog.sina.com.cn/s/blog_539e5cba0100fobf.html
在這里我們首先關(guān)注業(yè)務(wù)架構(gòu)和應(yīng)用架構(gòu),業(yè)務(wù)架構(gòu)驅(qū)動(dòng)應(yīng)用架構(gòu),以體現(xiàn)流程驅(qū)動(dòng)IT,這也是前面SOA咨詢方法論的重點(diǎn)思想。SOA方法論的一個(gè)突出的貢獻(xiàn)就是解決了業(yè)務(wù)架構(gòu)和應(yīng)用架構(gòu)如何通過系統(tǒng)的方法進(jìn)行集成的問題??梢詤⒖嘉仪懊娴年P(guān)于SOA咨詢方法論的描述。
對(duì)于業(yè)務(wù)架構(gòu),初看架構(gòu)這個(gè)詞容易理解為靜態(tài)的事物,但是廣義的業(yè)務(wù)架構(gòu)一定是靜態(tài)和動(dòng)態(tài)分析的集成和融合,在分析過程中相互影響又相互促進(jìn)。動(dòng)態(tài)的信息即我們說的普通的價(jià)值鏈分析的思路,從企業(yè)端到端的高端流程到各個(gè)業(yè)務(wù)領(lǐng)域二級(jí),三級(jí)等流程的分析。形成高端流程->子流程->活動(dòng)->活動(dòng)單元->任務(wù)->事件的主線;而對(duì)于靜態(tài)信息則包括組織,人員,崗位,角色,業(yè)務(wù)對(duì)象和表單,規(guī)程,模板等各種信息。靜態(tài)信息的重點(diǎn)是業(yè)務(wù)領(lǐng)域和業(yè)務(wù)對(duì)象,即形成業(yè)務(wù)領(lǐng)域->業(yè)務(wù)主題域->業(yè)務(wù)模塊->業(yè)務(wù)單元->業(yè)務(wù)組件的靜態(tài)數(shù)據(jù)逐層分解。靜態(tài)信息+動(dòng)態(tài)信息+交互點(diǎn)和接口分析后形成完整的業(yè)務(wù)架構(gòu)??梢钥吹搅鞒淘偌?xì)粒度分解后的活動(dòng)單元的組合可能形成業(yè)務(wù)組件和業(yè)務(wù)模塊,同時(shí)業(yè)務(wù)模塊本身又存在更細(xì)粒度的流程和活動(dòng)分解,業(yè)務(wù)組件本身又是多個(gè)流程的組成部分,因此靜態(tài)和動(dòng)態(tài)相互融合,形成交互,所以必須分析交互和接口。
按SOA方法論的思路,企業(yè)系統(tǒng)的構(gòu)建應(yīng)該是流程驅(qū)動(dòng)IT,以業(yè)務(wù)架構(gòu)為基本導(dǎo)入進(jìn)行的,通過業(yè)務(wù)流程分析和業(yè)務(wù)主題域分析形成相關(guān)的信息子系統(tǒng)和信息組件模塊,通過業(yè)務(wù)對(duì)象分析形成IT應(yīng)用架構(gòu)中的核心概念模塊和數(shù)據(jù)庫(kù)模型。注意,端到端的流程首先進(jìn)行分解,分解后的子流程或活動(dòng)單元變成了具體的業(yè)務(wù)組件,而流程本身需要的則是這些業(yè)務(wù)組件提供的服務(wù),在業(yè)務(wù)組件變成系統(tǒng)組件并將分析出來的接口暴露成服務(wù)后,通過BPEL流程編排工具進(jìn)行流程編排是自然而然的事情,因?yàn)榉?wù)本身就是通過流程交互分析發(fā)現(xiàn)出來的。真正體現(xiàn)了流程驅(qū)動(dòng)IT的思路。
業(yè)務(wù)架構(gòu)到應(yīng)用架構(gòu)的集成需要平滑過渡,在這里可以看到IBM等大型廠商已經(jīng)在支持從業(yè)務(wù)建模平滑過渡到系統(tǒng)建模的CASE工具。從最早的MDA模型驅(qū)動(dòng)架構(gòu)來看,過渡強(qiáng)調(diào)了靜態(tài)模型本身而弱化了業(yè)務(wù)流程,而最近新的SOA的建模工具則更好的結(jié)合了原來MDA有點(diǎn)并融入了更多的流程建模的思路。而這兩年我們看到也有很多比較獨(dú)立的業(yè)務(wù)架構(gòu)平臺(tái),期望將IT系統(tǒng)的快速開發(fā)和建設(shè)前移到業(yè)務(wù)建模階段,這些業(yè)務(wù)架構(gòu)平臺(tái)的共性都包括了業(yè)務(wù)對(duì)象建模,流程建模,業(yè)務(wù)規(guī)則建模和界面建模。業(yè)務(wù)對(duì)象建模轉(zhuǎn)換為具體的數(shù)據(jù)庫(kù)設(shè)計(jì)和業(yè)務(wù)實(shí)體;流程建模轉(zhuǎn)化為BPM流程管理,包括系統(tǒng)自動(dòng)流程化處理和人工工作流引擎;業(yè)務(wù)規(guī)則建模則轉(zhuǎn)換為具體的業(yè)務(wù)邏輯和事件處理。而對(duì)于業(yè)務(wù)規(guī)則建模和流程建模在SOA中則全部集成到了BPEL流程設(shè)計(jì)中全部完成。
在企業(yè)業(yè)務(wù)建模和流程建模中常用到ARIS(集成信息系統(tǒng)架構(gòu)),ARIS不是一個(gè)工具,而是一個(gè)概念。它是一種描述業(yè)務(wù)流程的體系結(jié)構(gòu),也是一系列包含有各種元模型的建模方法。ARIS概念的核心通過以一系列事件和任務(wù)鏈圖的形式表達(dá)業(yè)務(wù)流程,這跟最近配合SOA談的另外一個(gè)概念EDA(事件驅(qū)動(dòng)架構(gòu))很吻合。在ARIS中涉及到四大核心視圖,如下:
- 組織視圖:組織結(jié)構(gòu)的靜態(tài)模型。包括:層次組織結(jié)構(gòu)的人員(people not human)資源,生產(chǎn)資源(比如,設(shè)備,運(yùn)輸?shù)?以及計(jì)算機(jī)、通信網(wǎng)絡(luò)結(jié)構(gòu)等。
- 數(shù)據(jù)視圖:業(yè)務(wù)信息的靜態(tài)模型。包括:數(shù)據(jù)模型,知識(shí)結(jié)構(gòu),信息載體,數(shù)據(jù)庫(kù)模型等。
- 功能視圖:業(yè)務(wù)流程任務(wù)的靜態(tài)模型。包括:功能層次,業(yè)務(wù)對(duì)象,支持系統(tǒng)和應(yīng)用軟件等。
- 控制(業(yè)務(wù))視圖:動(dòng)態(tài)模型,展示流程運(yùn)轉(zhuǎn)情況,并能夠?qū)I(yè)務(wù)流程與流程相關(guān)的資源、數(shù)據(jù)以及功能等聯(lián)系起來。包括:事件驅(qū)動(dòng)過程鏈、信息流、物流、通信圖、產(chǎn)品定義、價(jià)值增值圖等。
這四個(gè)視圖和我們前面談的業(yè)務(wù)架構(gòu)中的靜態(tài)模型和動(dòng)態(tài)模型的思路是一致的。但是個(gè)人感覺ARIS仍然停留在傳統(tǒng)的業(yè)務(wù)架構(gòu)平臺(tái)進(jìn)行業(yè)務(wù)建模的層面,僅僅是方法論和思路上將,無法很好的體現(xiàn)從業(yè)務(wù)到IT,業(yè)務(wù)和IT集成后融合的平滑過程。在這點(diǎn)上SOA整體方法論,包括SOA結(jié)合EDA后將更加具有優(yōu)勢(shì)。這也是我所關(guān)心的基于ARIS業(yè)務(wù)架構(gòu)和流程集成思路,可能仍然無法解決雖然流程集成了,但是IT系統(tǒng)仍然無法很好集成的問題。