MCA元模型组件架构初步构想
企业级应用以功能用例(Function Case)为基本单位,例如:订单管理,审批流程,资产负债表查看,一个最终用户可用的功能由数据层,逻辑组件层,表示层等几层组成。
而目前通常的设计模式,将一个Function Case几层进行独立设计,没有在整体上形成统一; 换个角度说,EJB只包含了接口定义;Web Service包含接口和数据元定义;SCA,SDO更为明显的将接口和数据元分离。 这几者从其自身来讲,仅能表达数据模型,操作接口,而无法表达展示层面的逻辑。
我在公司一个高复用组件的设计过程中,通过分析既有的一个些规范,构想了元模型组件架构(MetaModel Component Architecture),或叫 CaseBean。
其基本目标是:以功能用例(Function Case)为单位,每个CaseBean能脱离自己所在的环境和系统,独立表达自己,包括:数据元,操作元,视图元以及数据; 即 CaseBean 是一个元定义+实例化数据的组件。
概念架构:
具体特性和目标包括:
1) 独立性:CaseBean 独立于应用和系统,不依赖于具体的EJB Container, Web Service context, 或者 ROR,PHP等开发环境。
2) 自描述: 数据元,操作元,视图元能分别表达一个功能用例的数据模型,操作接口,界面展示的元定义,并且它包含一个对应当前操作的数据包实例。
3) 兼容性:不依赖于任何环境,因此能被任何系统集成和使用。
4) 实现无关:虽然CaseBean 定义了操作元,但它不实现具体操作逻辑。 需要依赖于被集成的系统提供操作实现。如: 订单CaseBean要查询订单数据,需要到对应的 EJB,Web Service,ROR组件等组件对执行实际操作。 1 楼 walle1027 2009-04-14 我也有这个构想,楼主有什么新的进展吗? 2 楼 findhappy7 2009-04-15 不少公司内部已经实现了,,, 3 楼 raymond2006k 2009-04-17 findhappy7 写道不少公司内部已经实现了,,,
如果真有实现,那不吝赐教了。
我想的是在SOA思想之上来架构MCA( 或者说是 COA),是为了 解决SOA架构目前 问题。 4 楼 raymond2006k 2009-12-06 walle1027 写道 我也有这个构想,楼主有什么新的进展吗?
4月份时有了一个初步的实现版本。View 视图部分采用 Flex 开发,依据ViewMeta,OperationMeta 实现通用性列表和编辑页面。不过几个部分没有分离开来,还比较粗糙。
这半年一直忙着工作上的项目。这块东东也放了好久。期待有时间时再搞吧。