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