2009年8月18日 星期二 17时31分
这段时间一直在考虑企业应用系统开发框架开发的事情,这个框架目前的定位于中小企业应用的开发,做这个框架的目的非常简单,就是希望能够借助这样一个框架来帮助缩减软件开发周期,统一代码风格,从而降低系统升级或代码后期改造的复杂度,最终达到降低项目管理成本和开发成本的效果。
好像大多数事情开始之前都会先取个名字,无不例外,我也给这个框架取了个名字,叫“EasyCompany”,意寓“让公司轻松起来”,这个名字正好与美国大片《兄弟连》里边一个连队的名字相同,期望这框架能像这部影片一样得到大家的认可。
似乎有点扯远了,回到正题,还是先介绍一下涉及框架技术方面的内容,这个框架目前规划为三大部分:
1、基础开发框架
目前这个框架是以一些开源的框架为基础,在此基础之上结合实际企业应用开发的特点进行一些包装、整合,跟传统的SSH(struts+spring+hibernate)框架类似,EasyCompany目前也划分为三层,中间的逻辑层以spring为基础,请求流转控制层及数据访问层将进行全新的开发,逻辑层将会根据流转控制层和数据访问层进行一些整合性开发。请求流转控制层并不会像struts那样是一个从tag到controller的完整解决方案,而是如何扮演好controller的角色,解决好访问请求流向的控制及数据对象的传递。数据访问层暂时没有做持久化的工作,这部分功能会大大增加数据访问层的复杂度,如果控制不好还会使整个框架的性能变得低下,取消持久化带来的好处就是使配置工作变得相对简单,降低对开发人员的要求(如hibernate,如果系统架构人员对其机制不是很熟悉,有可能配置完后反而加重系统的负担)。
2、开发组件域
完成表现层组件的封装,提高表现层组件的独立性、降低其耦合性,具体如:grid、tree、combobox等。
3、功能组件域
完成一些针对企业应用中通用功能的包装,如:sso、权限系统、基于JMS的消息驱动模型、业务流程引擎、智能表单等。
目前这个框架的开发进度比较慢,现在还不能完全地把精力投入进来,之能在工作之余做一些开发工作,离上述目标还有一段距离,到目前为此完成了基础代码的架构,并完成了一些对数据访问层的开发工作,如面向对象的数据访问操作,目前基于数据表的对象声明通过元数据的方式进行定义。下面列出了数据访问接口的部分方法:
public interface BaseDAOInterface {
public Class getEntityClass();
public List getAllObjects() throws Exception;
public Object getObjectByKey(Map<String, Object> keys) throws Exception;
public Object addObject(Object object) throws Exception;
今天刚完成了对对象多主键生成方式支持功能的开发……