而恰巧我所在的公司内部也有自己的快速开发框架。简单介绍下,有什么考虑不周的地方,欢迎提出。
基本组成是一个 基础框架,一个工作流引擎,一个流程管理引擎,一个类似于ESB的集成骨架
1.基础框架功能:
集成权限管理。是整个系统的入口,其核心功能是基于配置文件生成应用页面。(可配置权限,增删改,多表操作,数据验证,多种控件dropdownlist,checkbox,treeview..)。
2.工作流引擎,业务流程,表单等。流程描述语言为xpdl。流程绘制使用开源工具
3.流程管理引擎,其实现和工作流引擎一样(内核相同,接口稍有变化),它的使用者是系统,或者说是软件。通过设定的流程调用不同的服务从而实现复杂业务逻辑
4.集成骨架:相当于一个系统内部的门户,企业内部的服务在骨架上注册。同时还起着适配器的 作用。基础框架有扩展接口,骨架上集成的服务可以实现基础框架的接口。
其解决的问题主要有几个:
一,权限集中管理,若每次开发一个系统都有一个权限模块的话,不管开发还是维护都是十分麻烦的事情,就算你用dll封装,但你表还是要建把,一个人离职,你可能得从多个系统中删除用户。现在系统的入口就这一个,权限还是IIS集成的AD验证
二,消灭大部分重复代码。企业级开发,很大一部分就是面向数据库,或者讲是维护资料的系统开发。不可避免的存在很多增删改操作。代码生成器是个“好 ”主意,为什么加引号,我觉得代码生成具有双重性:A.确实简单了,B,其实复杂了。简单是生成时“嗖”一声就生成了一大堆,还有接口,三层架构。复杂是 维护时看着似是而非的代码“不敢”动手,在没有注释,没有测试的情况下,你不敢,也不知道需要修改哪些地方。 现在基本的数据维护都是一个配置文件,页面都是动态生成的。错误也还少。
三,工作流建立。大企业签单程式是跑不了的,不用框架,一个流程能让你忙上几个月。权限分配,流程走向,流程图,流程管理,哪一个都不是好惹的主。 开源框架好的也不少,可大多是java的,万一让你摊上个.net的开发团队,望工具兴叹啊。有钱,买总可以了,但流程跑的数据往往业务中还是需要的,这 样一来,开发一个流程其实也不简单啊。
同时电脑也可以跑流程,流程一样定义,只是资源是服务而不是人了,做的是计算处理而不是签字了而已。
四,功能复用。我们在开发不同系统时,常常会做很多重复劳动的。除了前面的权限,增删改等,有时大模块也会有拷贝的,比如说从SAP查询生产订单信 息。原材料管理系统。生产管理系统,品质管理系统中都要,常见的方式是三个系统各做各的。现在做成基础框架web扩展,就可以以一敌三了。
上面说了这么多,都是开发人员获得的好处,用户也是有好处的,熟悉一个界面总比一大堆要好吧。我开一个浏览器,就可以大部分的事务。
具体配置属性.原本用的是xml在家大致写下架构好了,
基础框架
page Title //页面基本信息
roles name,type//角色名,权限类别
tables name,alias,pk //数据表名,别名,主键
fields name,table,type, alias//字段配置(可无),表,别名,数据类型
controls widthUnit(宽度按比例算,假如widthUnit的值为5,而某一个控件总数为1则该控件宽为20%)
+DropDownList name,field,wideUnit, valueSourse/values//控件配置,字段,宽,数据源,
+extendButton name,field,servicename,parmsfield
其它还有上传控件,日期输入控件,treeview,各种选择控件等
grid width,widthUnit,fields, type,//列表区,字段,权限类别
+parents field,table,childrens,//包含字表的关键字段,字表名,子表字段..
+link field,formatString,valuefields//链接字段,链接格式字串,用于格式化的值域
+extend field,servicename,parmsfield//扩展功能字段,服务名称,参数字段
childgrid//子表区 和列表区基本一致