上一篇文章专门谈到了元数据驱动下的快速开发平台构建思路,最近在oschina刚好找到一个基于对象视图建模思想的快速开发平台EOVA,虽然其对象建模的能力较弱,但是核心思路是类似的。
对于EOVA的官方网站可以参考: http://www.eova.cn/
新手引导:http://note.youdao.com/share/?id=df8de9adaf8bf6d13646812a12f2e17f&type=note#/
这个快速开发平台的核心特点如作者介绍的,主要包括了如下内容:
0xx01:以元数据驱动业务为核心思想
0xx02:使用了极速框架JFinal,站在巨人的肩膀上
0xx03:以OOP思想结合EasyUI和Bootstrap样式自创EovaUI
0xx04:使用Beetl融合Java和Script
0xx05:兼容主流数据库Mysql、Oracle、Postgre...
0xx06:可以一键完成CRUD,但不仅限于CRUD
0xx07:灵动迅捷,多快好省,不影响你你实现任何功能
即可以理解为提供了简单对象的完整建模能力,同时在对象建模完成后可以快速的定义和配置该对象的CRUD操作界面,所见即所得。同时该开源项目本身提供足够的可扩展能力,开发人员可以自己扩展相应的拦截器类进行复杂业务和逻辑的处理。
整体上手相当简单,网站上已有详细的介绍,在这里再说下核心步骤:
1) 下载1.5稳定版本:http://git.oschina.net/eova/eova/tree/V1.5
2) 运行环境特别注意JDK 1.6,对于Eclipse, Mysql等版本整体兼容性还是不错
3) 在Mysql中建立两个Database,eova和demo,注意检查字符集必须是UTF-8格式,数据库建立完成后运行下载项目中sql目录文件夹中的两个sql脚本初始化数据库。
4) 将下载的项目导入到Eclipse后,修改jdbc.config文件连接本地mysql数据库
5) 运行和测试。
官方网站下提供了详细的用户手册和简单操作视频,具体如下:
用户手册下载地址:http://7xign9.com1.z0.glb.clouddn.com/eova_doc_1.5.pdf
操作视频下载地址:http://pan.baidu.com/s/1c1g17c0
具体试用过程简单说明如下
1)在mysql中新创建一张数据库表
2)在Eova运行起来后进入到元数据管理中,逆向导入刚才创建的数据库表并进行中文名称补充
3)进行菜单配置
4)重新登陆运行后即完成基础的CRUD功能,通过在GRID上右键编辑元数据进行字段属性的进一步配置
基本功能实现后进一步测试了拦截类相应功能,因此需要自己定义一个业务拦截类,然后在GRID中编辑元对象的时候将业务拦截器配置为刚才编写的拦截类,比如:com.demo.TestIntercept
在业务拦截器中可以看到现在主要有6个业务拦截方法,具体如下:
1)QueryBefore: 即在该方法实现中可以对查询前事件进行拦截,方便扩展查询条件。
2)QueryAfter: 查询后拦截,比如可以在查询后在GRID中显示汇总列。
3)AddBefore: 增加前拦截,我们可以对不在界面显示的默认字段进行赋值,如当前时间,当前用户等。
4)AddAfter: 增加后拦截,即在增加成功后事件触发,比如可以将新增数据存入全局变量或缓存
5)UpdateBefore: 更新前拦截,即可以检查在更新前需要满足的业务规则
6)DeleteBefore:删除前拦截,即可以检查在删除前数据的完整性要求
当然由于Eova本身的定位是对象视图管理,因此在常见业务系统的系统管理和授权方面的能力是较弱的,同时也没有集成工作流引擎,但是Eova本身有足够的开放性,自己在基于Eova来构建业务系统的时候也较为容易按需要进行扩展。由于Eova配置的所有功能都是动态根据元数据解析,具体Eova在较大业务并发量下的性能如何暂时没有进行进一步的验证。