APFrame-从大型实际项目中走出的java Web框架

来源:互联网 发布:如何卸载顽固软件 编辑:程序博客网 时间:2024/06/13 00:37

   之前做项目,一直有几个问题困扰着我们,你们是否也一样呢? 比如:

(1) 每进行一次操作后页面就刷新一次,有时还长时间地等待刷新结果。
(2) 正是因为频繁刷新,服务器端要频繁编译jsp页面,导致性能下降。
(3) 开发速度慢,代码量多,工作量大。
(4) 开发的方式和风格很难统一,代码层次结构分工不明确。
(5) 可复用的组件少,很难满足现在的需求。
(6) 权限控制不紧密,漏洞百出。

(7) 数据展示格式少,不能满足用户报表需求。

(8) 工作流数据混乱,查错极其困难......

 

 Application FrameWork(以下简称APFrame),是本人归纳和总结了许多项目后,亲手搭建的一套Web应用程序快速开发框架。现将其展示出来,希望朋友能多提提宝贵的意见。

  本框架突破传统的开发模式,从而大大提高用户体验度。

 (1) 局部刷新和回调函数的技术让您的用户感受到CS模式软件的快捷。
(2) 统一的界面风格,人性化的界面设计和酷炫的界面效果让您长时间操作系统不易疲惫。
(3) 清晰的代码层次明确分工,每层各关注的各有不同。
(4) 众多的可复用组件让您想到即可做到。
(5) 细致的先进的AOP授权,不仅可以授权到URL,还可以授权到java类中的方法和属性,甚至授权到任意HTML元素。 ^_^
(6) 优越的封装,前后台数据交互以及复杂业务逻辑的实现替您省略了大量代码。
(7) 灵活的权限框架设计,能够满足您不同需求的用户管理。

(8) 同一套程序版本,跟据数据库驱动的类型来动态加载框架sql语句文件,来适配不同的数据库。

 

APFrame框架基本功能:

 (1) 菜单管理: 无级次地增加菜单。
(2) 应用功能管理: 增加系统的应用功能,包括功能对应的子功能(子功能是该主功能上面的按钮以及数据,HTML权限)。
(3) 业务日志管理:查询系统的相关日志。
(4) 角色管理:对角色进行功能和子功能的授权。
(5) 静态字典管理:管理系统的静态数据。
(6) 序列管理:管理系统中所有表的主键的生成。
(7) 操作员管理:对可以登录操作系统的人员进行统一管理。
(8) 机构人员管理:管理机构以及机构下面的人员,以及机构人员对应的操作员。
(9) 密码修改:修改当前用户的密码。
(10) 基本信息修改:修改登录人员的基本信息。

 

APFrame-Builder APFrame的构建方式:

 APFrame-Builder采用maven进行构建和管理,您是否有这种烦恼?
管理一个或者多个项目时,项目无法定时按时发布版本和生成相关文档跟踪报告,经常无法准确地评估项目质量和跟踪进度,即使管理得不错也是花了大量时间和精力而来,如果您项目组确实存在这种情况,APFrame-Builder将替你解决该问题。

APFrame-Builder结合了软件工程方面的思想,不仅能跟工程Builder和发布版本,还能够帮您管理版本信息和项目信息,时刻关注项目情况,APFrame-Bulider由2部分组成,一部分是组件仓库,另一部分是持续集成平台,组件仓库用来管理项目当中所用到的lib包信息,以及人员提交的可以复用组件;持续集成平台定时从svn服务器上check版本做持续集成,集成测试,生成测试报告,依赖报告,自动部署等,整个过程全部自动化完成,无需人工干预。

 

APFrame-Builder功能列表:

(1) 构件包管理:管理工程中用到的lib包和自开发的组件。
(2) 项目里程碑管理: 管理项目的每个发布版本。
(3) 持续集成:定时从版本控制器中check最新的代码进行集成。
(4) 集成测试:将集成后的版本进行自动化测试,将测试的结果以报表的形式展示出来。
(5) 测试包的覆盖率:以图表的形式展示每个包下的测试情况。
(6) 类的测试覆盖率:标记出来具体的一个类里哪些代码段被测试过,哪些代码段没有经过测试。
(7) 依赖管理:该工程依赖了哪些构建包,以及构建包的版本信息。
(8) 全套javaDoc:清晰的类以及注释。
(9) PMD报告:检查项目里代码的不赞成的写法以及定义了但未使用的变量等等。


前台展示层用了Ext 2.0,因为该版本是LGPL开源协议的。该框架100%的零成本,没有使用任何的第三方收费组件,不说那么多了,来先睹为快吧:

 

  框架界面风格:

  

 

菜单管理:

 

静态字典管理:

 

角色管理,可授权到按钮以及任意html元素:

 

工作流流程监控:

 

 

统计图:

 

 

图形报表展示(分多表头):

 

 

导出到Excel,通过调用开发的组件,能够锁定行头,锁定列头,单元格分组汇总,能够程序设定打印的纸张类型,分页打印等等功能:

 

 

直接打印,程序设定分页:

 

 

开发的应用包测试覆盖率,“绿化面积”越广,代码质量越高:

 

 

代码分支测试情况:

当前类的作用是根据不同的数据库设置数据库的方言,框架是在oracle数据库上运行的,所以mysql的分支没有走,因此用红色的标记出来了,表示这个代码段可能会出现异常情况。同理,上面的if条件没有成立,if后的语句没有执行,也用红色的标记出来了

 

不求华丽的开篇,也没有壮观的结尾,从实际项目中间积累出来的APFrame,希望能够与大家一起探讨研究。

 

作者QQ: 270775449

原创粉丝点击