开发框架
Ver 1.1
基于经验,有如下认知:
人员能力不一,特别有创造力的很少。
同样的工具,不一样用法,不一样的效率。
对于人员素质,能够快速上手即可。对普通员工的要求越高,说明公司的开发模式越差。
关于质量,做如下保证:
90%的常规代码自动生成。手写的东西出错几率大。
通过迭代,原型,业务对象分分析,确定需求。此阶段所有代码自动生成,不做任何手工编码,但系统能运行。
接下来,少量编码,界面美工,完善。
这些的实现,赖以完善的基础框,他提供快速的开发,测试,无缝集成,发布。
会写select语句的人员不能说他就会开发。。
但是,高效的模式就能做到:
对员工做短期培训,便可达到会开发的水平。
设想的开发模式:
功能完善的基础平台,其上集成产品构件。就像windows,在上面可以安装、卸载各类应用软件一样。
所以,产品的开发,只要遵从给出的模式,就应当无缝集成。
目标:
1. 提高开发、测试、集成、发布之效率
2. 产品模块化,集成无缝化
3. 通过迭代,快速的代码自动生成技术,提高项目化软件的可控性。
4. 这是一套生成j2se代码的产品,对任务关键型不适用,但这并不说他脆弱。
功能:
1. 基础功能:
1. 1数据库访问
1. 2对象
1. 3技术框架
1. 4代码生成
2.
2. 扩展功能
2.1多web应用集成,单点登陆
2.2权限控制
2.3参数引用
3. 附件
功能介绍:
本框架提供根据数据库表,自动生成代码的功能。数据库目前支持Oralce、MsSql、MySql。生成代码基于Struts框架,代码是完全的J2SE模式。包括jsp界面(add、list、update),struts-config.xml,action类(add、list、update、delete),form类,dao类(数据访问对象),业务对象(通数据库表格字段一一对应),master类(封装业务逻辑)。
1.基础功能:
1.1 数据库访问
jdbc的统一数据库访问模式,无疑问应用的跨数据库特性提供了有力支持。本框架提供了一套数据库连接池技术,可以为不同的产品模块指定不同的数据库连接。
配置文件实例:
#how to get the config file
#add the follow java options
#-DdbConfig=$SAVED_PATH\dbprop.txt
#E.G.
#-DdbConfig=c:\db\dbprop.txt
#by default,it get config file from c:\dbprop.txt
#
#
com.virtual.test.driver=oracle.jdbc.driver.OracleDriver
com.virtual.test.url=jdbc:oracle:thin:@10.5.5.25:1521:shsw
com.virtual.test.user=vopak
com.virtual.test.password=vopak2004
com.virtual.test.size=10
com.virtual.test.database=ORACLE
default.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
default.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=northwind;SelectMethod=cursor
default.user=sa
default.password=sa
default.size=10
default.database=MSSQL
通过配置文件,指明数据库类别(额外属性,供数据库解析使用),连接属性,连接池的id,如com.virtual.test,default,若找不到指定的连接池的id,则返回default的配置。
代码实例:
public static DepartmentDAO dao = new DepartmentDAO();
public static java.util.List findAll(int start, int range) throws
Exception {
Map map = new HashMap();
List list = new ArrayList();
ConnPool cp = ConnPoolMgr.getConnPool(dao.DB_ID);
Connection conn = cp.getConn();
try {
list = dao.listAllObjects(conn, start, range);
}
finally {
cp.freeConn(conn);
}
return list;
}
1.2 对象
针对java语言开发应用,有这么两类极端的、低效的方式:A. 大多数从windows桌面应用开发转过来的人员,停留在数据纪录集层面,jsp页面到处可见sql语句;B. 疯狂的运用所谓的设计模式,遵从死板的格式,却没有快速的代码生成做支撑。
本框架,运用了一些基本类概念:A. 每个数据库表格,对应一个业务对象类,该类是最基本的java bean,包含set、get方法。B. 针对此业务对象类,关联出两个类:数据库访问类DAO,业务方法类MASTER。DAO类负责数据库访问,指明数据库表格―业务对象的关联关系,基本的增删改查功能;MASTER则是对业务方法的封装,提供了创建、查询、更新、删除等基本方法。
1.3 技术框架
基于Struts框架,代码纯J2SE形式。
PublicForm继承自ActionForm,实现了当前登陆用户的统一获取(getUserId()),分页显示参数的统一传递(getStart(),getRange()),功能扩展参数(getDoType())。
PublicAction继承自Action,附加权限的判别,异常处理,日志纪录等功能
e.g.
通过resource,operator获取当前的资源,操作,进而进行权限鉴别。
1.4 代码生成
2.扩展功能
2.1 多web应用集成,单点登陆
实现简单的SSO,即通过COOKIE共享登陆用户信息。
2.2 权限控制
提供用户管理,角色管理,授权管理
2.3 参数引用
针对最常见的主从关系,实现一种快速的引用方法,快速生成下拉框、复选框、单选框,弹出式窗口等。
3. 附件
功能演示avi,公共jar(struts 1.1,Oracle、MsSql、MySql jdbc driver),本框架核心jar(open.jar),全套源代码。
安装指南.doc,代码结构分析.doc,平台功能.doc。
dongqi_zhao@hotmail.com