`
349446658
  • 浏览: 7446 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Wabacus框架开发思想及特点

阅读更多
                   Wabacus开发思想及特点

    Wabacus框架,是一个能大大提高J2EE项目开发效率的通用快速开发框架,与ExtJs,JQuery等纯客户端框架不同,它提供的是前后台的完整解决方案,可以完成SSH框架的功能,但是开发效率比它快好几倍,因为基本上不用编写JSP/JAVA代码,或只要编写很少的代码。
    Wabacus采用“面向声明”的编程思想,与传统编程思想相差很大,可以说是继“面向过程”、“面向对象”之后的又一次革命性改进,传统的编程思想不仅要程序员关注做什么,还要花很大的精力考虑如何做出来,如何做的好。虽然为了减少开发人员考虑“如何做”的复杂度,很多开发高手在各个层面提供了各种各样的框架(比如常用的Struts、Spring、Hibernate框架),但仍没有得到根本改善,J2EE开发仍是一个比较高门槛的工作,用户仍需编写大量的代码,而且这些框架本身的学习曲线都比较陡,不是那么容易掌握,精通就更困难了,用得不好还有可能起反作用。
    使用Wabacus框架开发,可以最大限度将开发人员从“如何做”中解放出来,因为它采用的是面向声明的编程思想,所谓“声明”,就是只要把要做的功能说出来,具体如何实现交给Wabacus来完成,这样极大地降低了开发难度,提升了开发效率,而且可维护性也得到了明显提升,因为没有复杂的代码需要维护了。
    当然,每个项目的具体业务非常复杂、灵活,Wabacus框架目前还没有智能到帮你处理100%你声明的功能,为了解决这个问题,支持所有场合的应用,框架提供了一系列接口方法,允许你在生命周期的各个阶段加入自己的实现,这样对于非常复杂的需求,你只要在生命周期的一个或几个阶段加入自己的实现,其它阶段使用框架提供的实现即可。目前Wabacus的策略是:80%以上的功能由框架根据开发人员的声明自动完成,20%以下的非常复杂、灵活的功能提供接口让开发人员自己实现,这样即大大提高了开发效率,又满足了各种场合的使用。
    其实声明性开发也不是Wabacus独创,在很多框架中都有使用,而且都取得非常不错的效果。比如Spring,就是将对象的依赖关系做成可声明,提高对象依赖的灵活性和可维护性;应用服务器或Spring,提供声明性事务,提高了事务控制的灵活性,减低了开发难度等等。但是它们只是着眼某一个方面,做的不够彻底,带来的改善是局部的。而Wabacus框架在更大的范围提供了声明性编程,尽量将用户的整体开发效率提到最高,所以它对J2EE开发带来的好处是立体的,全方位的。
    Wabacus在提供足够智能的功能时,并没有对运行效率带来任何损失,而且从理论上可以推断出比用SSH开发的项目性能更好,因为SSH在开发时,需要绕很多层,各个框架相互配合,尤其是Hibernate,为了保持O/R Mapping,需要在应用层缓存大量的对象,为了解决这个问题,还提出了一级缓存、二级缓存等概念。如果开发人员经验欠缺,效率更是大打折扣。而Wabacus尽量保持操作的无状态性,一次操作完成后基本上不在应用层缓存什么对象,绝大部分功能连session都不依赖。在数据库层操作也都是面向集合的,而不像Hibernate一样要经过对象的中转。同时为了进一步提高Wabacus项目的运行性能,框架会在启动加载配置文件时将运行所要的数据、依赖关系、JS文件全部准备好,运行时直接使用。
    另外,Wabacus还对很多常用但很复杂的功能做了封装,比如输入联想、主从报表、冻结标题报表、树形表格、交叉统计、数据导入/导出等功能,如果要用其它框架开发,可能要编写很多代码,但用Wabacus,只要在配置文件中声明需要这些功能即可,框架会根据用户的声明提供相应要求的这些功能。
    利用Wabacus框架进行开发,还有一个明显的好处,就是支持热部署,即用户增、删、改应用后,无需重启服务器或redeploy应用,只要在浏览器中访问一下:/ShowReport.wx?ACTIONTYPE=updateconfig,所做的所有更新即生效,这样不仅开发时更快速,上线也非常方便,基本上可以做到对服务的零中断。
    最后以一个生活中的例子说明利用Wabacus开发和用传统框架开发的区别:
        用jsp、servlet开发,相当于手写字聊天,每个字需要一笔一画地写出来,对方才明白你要表达的意思;
        用ssh框架或其它框架开发,相当于用五笔字型打字聊天,一块一块地打,再复杂的字也就五笔以内打出来,比上一种方式要快,但还是要将字实现出来才能表达自己的意思。
        用wabacus开发,相当于视频聊天,只要说出来(也就是声明出来),对方就知道你要表达的意思,而不用去把每个字写出来,因此速度比前两种方法快得多,对用户要求也很低,文盲都能顺利的与别人交流。


框架地址:http://code.google.com/p/wabacus/
在线DEMO演示地址:http://wabacus.btedu.gov.cn/WabacusDemo/ 、http://elib.hrbeu.edu.cn/WabacusDemo/
论坛地址:http://wabacus.btedu.gov.cn
(建议下载release包中WabacusDemo.war在本地部署,可以更快速体验框架提供的主要功能)
3
1
分享到:
评论
7 楼 349446658 2012-08-20  
温习哟 写道
建议取一个顺口的名字,看到你给坚持实现自己的想法,羡慕啊!要坚持下去咯!
刚刚打框架拿了下来,玩玩看.

这个单词读取来还算顺口,音标为: ['wæbəkəs]
6 楼 温习哟 2012-08-19  
建议取一个顺口的名字,看到你给坚持实现自己的想法,羡慕啊!要坚持下去咯!
刚刚打框架拿了下来,玩玩看.
5 楼 349446658 2012-07-31  
guoyl 写道
思想不错,
后期能新增几套漂亮点的主题风格就更好了。

后期看一下有没有使用框架的朋友愿意贡献出自己公司做的主题风格不。
4 楼 guoyl 2012-07-31  
思想不错,
后期能新增几套漂亮点的主题风格就更好了。
3 楼 java-007 2012-07-31  
349446658 写道
java-007 写道
功能强大,界面稍微有些难看。界面需要再加强一下。

界面可以自己定制的,开发指南文档有介绍如何新增自己的主题风格。

是吗,有时间深入研究。
2 楼 349446658 2012-07-31  
java-007 写道
功能强大,界面稍微有些难看。界面需要再加强一下。

界面可以自己定制的,开发指南文档有介绍如何新增自己的主题风格。
1 楼 java-007 2012-07-31  
功能强大,界面稍微有些难看。界面需要再加强一下。

相关推荐

    Wabacus框架

    Wabacus框架采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示,数据编辑,表单处理等功能,将J2EE的开发效率提高5倍以上,代码减少60%以上。 Wabacus框架主要特点: 采用面向声明的编程思想...

    Wabacus开发文档

    - 利用Wabacus框架开发的应用程序支持热部署,即修改配置文件后无需重启服务器,只需访问特定的URL(如/ShowReport.wx?ACTIONTYPE=updateconfig)即可使更改生效。 综上所述,Wabacus框架提供了一种高效快速的应用...

    基于Springboot的漫画网站--论文.zip

    Java项目基于springboot的课程设计,包含源码+数据库+毕业论文

    Java毕业设计-SpringBoot+Vue的分布式架构网上商城(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    GUI面板MATLAB漂浮物识别.zip

    GUI面板MATLAB漂浮物识别

    【工程项目】MATLAB道路桥梁裂缝检测[不同类型,GUI界面,Bp算法].zip

    【工程项目】MATLAB道路桥梁裂缝检测[不同类型,GUI界面,Bp算法]

    Delphi 12.3控件之高仿银豹手机APP 1.0.zip

    Delphi 12.3控件之高仿银豹手机APP 1.0.zip

    springboot高校食堂移动预约点餐系统.zip

    ava项目springboot基于springboot的课程设计,包含源码+数据库+毕业论文

    基于SSM+JSP的定西扶贫惠农推介系统+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

    GUI面板MATLAB指纹识别.zip

    GUI面板MATLAB指纹识别

    【工程项目】MATLAB的病虫害检测系统(SVM方法,GUI界面).zip

    【工程项目】MATLAB的病虫害检测系统(SVM方法,GUI界面)

    基于ssm+vue的药品商超管理系统(java毕业设计,包括源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SSM 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:vue/html5 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

    Java毕业设计-SpringBoot+Vue的旅游管理系统(附源码,数据库).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    Java毕业设计-SpringBoot+Vue的基于SpringBoot的CSGO赛事管理系统(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

    2023年计算机组成与维护教程题库及答案.pdf

    2023年计算机组成与维护教程题库及答案.pdf

    本文章是本人在学习初阶数据结构的随手笔记,不具有任何教学功能,仅供参考

    本文章是本人在学习初阶数据结构的随手笔记,不具有任何教学功能,仅供参考

    #深度学习环境配置#CUDA+CUDNN+pycharm

    #深度学习环境配置#CUDA+CUDNN+pycharm

    springboot-时间管理系统 LW PPT.zip

    ava项目springboot基于springboot的课程设计,包含源码+数据库+毕业论文

    2023年全国计算机二级笔记.pdf

    2023年全国计算机二级笔记.pdf

    【工程项目】MATLAB的CNN卷积神经网络疲劳检测(卷积神经网络).zip

    【工程项目】MATLAB的CNN卷积神经网络疲劳检测(卷积神经网络)

Global site tag (gtag.js) - Google Analytics