最近公司产品希望加入报表的功能(具体需求就不说了),因为大家接触报表不多,自主研发经验不足,最终我们选择了国内收费报表作为一期目标。
在文章开始前提醒正在做报表选型的朋友一件事:选择报表不是看它功能多强大价格多便宜,而是要根据自己产品的需求来找合适自己产品及发展的报表!
最初我找了四款报表产品,分别是:快逸报表、style report、帆软报表和润乾报表。快逸报表是前同事推荐的,基本功能都有价格便宜;style report是世界上第一款用java编写的报表工具,据说现在研发团队已转移到中国;帆软报表和润乾报表在业界非常出名,是做中国式报表的专业厂商。
快逸报表的东家也是润乾,属于报表的低端产品。快逸报表是面向软件开发人员的、高性价比、易学易用的JAVA报表工具软件(非开源)。快逸报表提供了高效的报表设计方案、较强大的报表展现能力、较灵活的部署机制,并且具备一定的填报功能,为中小规模用户的数据统计分析、展现提供了理想的报表解决方案。
快译报表支持免费版(限制了很多功能)、开发版(限制了部分高级功能,5000元)和增强版(功能完全开放,10000元)。从价格上来看快逸报表就是用来跟其它收费报表打低端产品价格战的,同时其免费版的支持也吸引了很多打算用免费报表的用户。
总结下,选择快逸报表需要满足以下条件:1、由专业的软件开发人员设计报表,因为设计报表的数据集需要通过sql来生成,这种工作必须由懂得数据库的人员来做,同时报表的设计和部署界面非专业人士做起来也是很麻烦;2、中低并发的用户,这种便宜的报表在并发数过高的情况下肯定会造成性能问题,如果如果你的项目是给大公司做的,就别用这个了。
从架构图不难看出fr的整体架构与style report非常类似,该有的功能都有,并且还提供了工作流管理、组织用户管理等平台级功能(虽然这些功能做得很一般)。下面我从多方面描述帆软的产品功能:
技术平台:Java语言开发,支持JDK1.4以上;
支持数据库:主流的Oracle、SqlSever、Mysql、Access、Sybase、DB2、Postgre、Derby等;
数据源数据集获取方式:支持通过SQL、存储过程、JNDI数据源、文件数据源和程序数据源,支持类型还是很多的;
报表设计器类型:主要是类excel的CS设计器,目前版本的fr的BS设计器功能很弱,就只支持行列显示汇总;
报表设计功能:fr设计报表的能力是比较全面的,能够完全满足通用的中国式报表设计,交叉、分组、多源分片、填报、折叠树报表等等;
报表常用功能:fr支持通用查询、字段排序、过滤、预警、分页、钻取、打印、导入(excel)导出(excel、pdf、word、cpt等)等常用功能,支持一定的业务分析功能;
服务管理功能:有平台管理功能用于管理组织机构、数据源配置、任务调度等;
整合部署方式:①fr提供了一个报表管理平台,可独立部署,只要跟自己产品的系统进行一定数据对接即可直接使用;②不使用fr的报表平台,将fr项目下的资源文件拷贝到自己产品中,然后在自己产品中用iframe的形式调用报表模板显示;
报表图表效果:整体样式色彩都很好,图表是html5的,支持柱状、线形、饼状、点状、仪表盘等图,用户体验很好。
fr报表整体功能都有,已经能满足很多类型的用户的需求了。任何报表都有好有弱的地方,fr的报表还是有一定的瑕疵:
1、没有适合BS项目的Web设计器,前面已经说了fr所谓的BS设计器功能是很弱的,不过既然现在提前把这个功能放出来,估计后续版本会慢慢提升。Web设计器的好处有很多:做即席报表,领导需要立刻看到某些记录,直接web设计器快速制作展示;便于随时随地制作部署,只要有浏览器的地方就可以做报表给工作人员带来很大便利性。
2、对外开放的接口较少,不便于深度整合二次开发,fr跟项目整合的方案就是将fr安装目录下的webreport项目拷贝到自己的项目WEB-INF下,如果制作好了报表还需要将报表模版文件手动拷贝到自己的项目中,这种方式个人觉得比较原始,有待改进。
3、权限粒度控制还不够,用户权限只能根据角色来控制,报表权限粒度据说能控制到报表级(字段权限可以考虑报表设计时根据条件过滤)。
综上,以下用户比较适合选择帆软报表:
1、报表平台独立部署的用户,用户自己的产品不与报表平台做太多交互,报表平台只需要用户自己产品的基础数据即可,这种方式完全可以选择帆软,而且帆软的界面是ExtJS实现的,是比较整洁漂亮的;
2、用户自己提供表样模板,让实施人员根据表样制作特定格式的报表,并且报表制作好之后基本不会改动。因为报表设计器天生是适合有软件开发经验的人来用的,在设计报表期间你会接触各种数据库字段、sql,普通的用户是没法做的,所以如果你的产品的报表改动不太大,完全可以让你们产品的开发人员帮助做好报表并部署上去永久使用。
3、自己公司有专业的开发团队来维护自己的产品,这个也很好,帆软的客户IBM中国、金蝶这些肯定有自己的团队,在报表制作维护方面是有先天优势的。
4、适合的用户范围,个人觉得中、高端用户用起来都好,低端用户也能用,但是可能会嫌价格怎么滴。
我记得第一次知道润乾这东西是在javaeye首页广告栏上吧,那时对报表没啥知识。润乾公司成立于2000年6月,是北京市海淀高科技园区内的高新技术企业、软件企业,主要从事企业级BI产品的研发和推广。其产品分润乾报表和集智数据平台,后者是企业级商业智能整套方案。从润乾的产品线来看,它在业界是做得比较好的,以报表为基础向BI方向发展即解决了低端用户报表的需求又解决了高端用户商业智能的需要。
当然这里只讨论报表,下面是润乾产品的技术架构图:
咋一看整体技术架构内容不是很多,但是仔细去研究其功能,还是有很多内容的:
技术平台:Java语言开发,支持JDK1.4以上
支持数据库:主流的Oracle、MS SQL Server、Sybase SQL Server、IBM DB2、IBM Informix等
数据源数据集获取方式:支持数据库、文件、Webservice以及程序数据源
报表设计器类型:支持成熟的CS设计器和基于flex实现的Web设计器,web设计器能保证有flash的地方就能使用,同时我研究过该设计器不仅能做复杂的报表样式也能快速做交叉分组汇总等常用报表
报表设计功能:与帆软具有的功能都差不多,另外技术白皮书上重点提到支持多源填报,这个功能估计也就复杂的报表才用得到了
报表常用功能:跟帆软差不多;另外润乾有一个数据源别名转换的功能,本色我们看到的数据库字段可能是英文,用户可以自己配置具体这个字段的中文意思是什么,最后在设计报表时就显示的中文名了,这个对没有开发经验的管理员很有用;润乾的权限控制到报表中的字段,用户可以勾选控制字段显示,粒度是比较细的;
服务管理功能:有组织机构管理、角色管理、调度任务管理
整合部署方式:同样是两种---①润乾也有自己设计的管理平台,拥有报表设计展示以及管理功能,并且已经集成了web设计器,基本可以实现零客户端自动部署,个人觉得比较方便;②组件式深度整合,用户的项目需要什么就将润乾的组件集成到项目中,比如在自己项目中调用润乾的web设计器设计报表,再通过自己项目配置报表管理界面显示润乾设计好的报表。同时润乾提供了很多API,方便进行一些细节集成。
报表图表展现效果:润乾人员也承认自己的效果不如帆软(特别是图表组件的效果),不过图表类型跟帆软差不多,还支持特定用户专项定制,这个不错。
要说润乾的弱点,我大概总结了两点:
1、平台界面、图表样式相对不是太漂亮,帆软用的是Extjs做得确实好看,图表html5也是很好;
2、上手相对复杂,很多操作需要摸索,熟悉后就好弄了,帆软的上手度是比较容易的
综上,什么用户适合使用润乾:
1、数据表随时在增加、报表需要随时更新制作的客户,这种客户可能需要自己来做报表(定制报表可是要收费的)。一来润乾的web设计器满足用户快速制作部署报表,修改也很方便,同时还支持数据源字段别名定义,这样报表管理员在设计报表的时候能看懂每个字段的意思;
2、需要与自己项目或产品做深度定制开发的,将报表纳入自己产品中,润乾提供了接口比较多,非常适合做深度整合;
3、用户提供表样,由开发人员制作报表再发布到用户的系统中,这种方式跟帆软差距不大;
4、适合的用户范围,个人觉得跟帆软差不多