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