總結(jié)一下,個(gè)人認(rèn)為企業(yè)應(yīng)用的核心組成要素是“數(shù)據(jù) + 服務(wù)”,
而服務(wù)又分為原子服務(wù),聚合服務(wù),流程服務(wù)。權(quán)限也是一種數(shù)據(jù),供“權(quán)限服務(wù)”消費(fèi)。后面暫不考慮權(quán)限處理。信令流因?yàn)橛玫蒙伲芏嗳丝赡芏疾恢朗鞘裁礀|西,這里也不考慮,如果遇到了記得使用流程技術(shù)把信號(hào)的處理也流程化就可以了,可參考apache的SCXML,雖然號(hào)稱是個(gè)狀態(tài)機(jī)引擎,但是請(qǐng)君用你的慧眼觀察一下它的schema,顯然是一個(gè)活動(dòng)圖。
接下來的推導(dǎo)分為兩個(gè)階段,第一階段先推導(dǎo)支撐技術(shù),第二階段再推導(dǎo)以什么樣的開發(fā)方式將這些支撐技術(shù)串起來,達(dá)到快速開發(fā)的目的。
下表中列出了對(duì)上面的核心組成要素(數(shù)據(jù)+服務(wù))的一些支撐技術(shù):
要素
|
支撐技術(shù)
|
考慮
|
數(shù)據(jù)實(shí)體
|
Java,sdo,c++等等
|
|
原子服務(wù)
|
Java,c++,c,腳本等等
|
沒什么可說的,碼肯定是要編的
|
聚合服務(wù)
|
SCA
|
用sca來將原子服務(wù)裝配成聚合服務(wù)。如果想要使用什么數(shù)據(jù)轉(zhuǎn)換啊,接口映射啊,安全控制啊之類的特性的話也可以引進(jìn)ESB,作為SCA的一種container。
|
操作流程
|
實(shí)現(xiàn)一個(gè)SCA中的container,接受操作流程的描述文件的作為執(zhí)行文件
|
|
View
process
|
在web應(yīng)用下,采用一種webflow的實(shí)現(xiàn),swing下就自己寫把。
|
|
Business
process
|
WFA類流程,EOS or OBE類似的工作流引擎,可直接將EOS或者OBE提供的API作為一個(gè)原子組件
|
|
Orchestration Process
|
EAI類流程,用ODE,一個(gè)bpel引擎,也作為SCA的一個(gè)container,BPEL作為一種組件實(shí)現(xiàn)方式
|
|
下面在列一些輔助支撐技術(shù),這些技術(shù)是為了讓企業(yè)應(yīng)用這些大廈能夠構(gòu)建的更快,畢竟蓋房子,有了水泥和磚是不夠的,還要有扁擔(dān),簸箕等等。
技術(shù)
|
作用
|
元數(shù)據(jù)技術(shù)
|
利用元數(shù)據(jù)描述數(shù)據(jù)實(shí)體,以及對(duì)數(shù)據(jù)實(shí)體、實(shí)體屬性的約束、權(quán)限等信息,可以基于RBAC的權(quán)限系統(tǒng)設(shè)計(jì)思路,將用戶組織機(jī)構(gòu)與權(quán)限關(guān)聯(lián)起來,實(shí)現(xiàn)自動(dòng)生成頁(yè)面時(shí),對(duì)特定用戶的權(quán)限控制,等等其它的東東。
|
表單生成技術(shù)
|
根據(jù)元數(shù)據(jù)生成表單,支持可視化的定制表單布局等,支持生成jsp等,如果需要多種展現(xiàn),可以生成多種特定的展現(xiàn)實(shí)現(xiàn),如swing界面等
|
圖形化建模技術(shù)
|
可視化的建模view process,Orchestration
process,business process,operation process等
|
圖形化組件裝配技術(shù)
|
可視化的將組件裝配成大粒度組件等
|
代碼生成技術(shù)
|
根據(jù)元數(shù)據(jù)生成數(shù)據(jù)實(shí)體、DAO代碼等
|
這里這個(gè)SCE大致包括一些什么東西就清楚了,下面用一個(gè)序列圖來表示用戶基于SCE的一種自頂向下的開發(fā)方式。當(dāng)然也應(yīng)該支持自下而上。