J2EE快速开发框架Wabacus 3.4发布,开发效率提高5倍以上

2023-11-20 22:38

本文主要是介绍J2EE快速开发框架Wabacus 3.4发布,开发效率提高5倍以上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

J2EE 快速开发框架 Wabacus 3.4 版已发布, 通过该框架,开发者的代码量可以减少60%以上,开发效率提高五倍以上。

3.4版本主要更新列表:


  • 支持使用存储过程查询报表数据
  • 支持普通打印、Lodop打印、Pdf打印三种打印方式的配置
  • 扩展数据导出功能,支持PDF导出,支持海量数据导出、支持导出excel时自动拆分Sheet,支持多种导出多张报表数据的方式
  • 支持查询报表、输入联想选项、列过滤选项、单选框/下拉框/复选框数据的条件数据来自于URL、request、session或者requst/session中某个对象的成员变量的值
  • 完善静态模板、动态模板功能
  • 修复了用户使用时发现的一些BUG
框架地址: http://code.google.com/p/wabacus

论坛地址: http://wabacus.btedu.gov.cn/

在线DEMO演示地址:

  • http://wabacus.btedu.gov.cn/WabacusDemo/
  • http://wabacus.hrbeu.edu.cn/WabacusDemo/
  • http://elib.hrbeu.edu.cn/WabacusDemo/
另外, 在3.4版本中已经将所有源代码开放。
原文链接: http://www.iteye.com/news/25479

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在本地部署,可以更快速体验框架提供的主要功能)

这篇关于J2EE快速开发框架Wabacus 3.4发布,开发效率提高5倍以上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397943

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S