总结一下,个人认为企业应用的核心组成要素是“数据 + 服务”,
而服务又分为原子服务,聚合服务,流程服务。权限也是一种数据,供“权限服务”消费。后面暂不考虑权限处理。信令流因为用得少,很多人可能都不知道是什么东西,这里也不考虑,如果遇到了记得使用流程技术把信号的处理也流程化就可以了,可参考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的一种自顶向下的开发方式。当然也应该支持自下而上。