报表工具软件的纯JAVA和支持JAVA的区别

我们从部署、展示、设计等方面,全面比较Java报表工具,如FlyReportor,杰表,Style Report,Jasper等,以及声称支持Java的Crystal Report,数巨等。

Java报表工具,首先可以分成两大类:纯Java报表工具,和"支持"Java的报表工具.

"支持"Java的报表工具

我们所说的"支持"Java的报表工具.其实就是非Java的报表工具,但是可以在Java程序中调用.这样的产品很多,总的讲一大类是采用独立报表服务器的,如Bo/Crystal Report,Brio,Cognos,和勤等;另一大类是在前端有控件的,如数巨报表等。

独立报表服务器的问题在于:

  • 独立的报表服务器,直接限制了报表的性能瓶颈
  • 无法共享web服务器的集群能力
  • 无法共享web服务器的连接池管理能力
  • 无法统一部署,实施人员既要部署自己的web应用,还需要部署报表服务器
  • 独立报表服务器往往有一套自己的用户角色管理机制,与用户的应用衔接起来问题多多

前端控件方式的问题在于:

  • 用户部署起来非常麻烦,每台机器都要安装控件。(为解决这个问题,有些厂商把原来控件所做的报表计算工作移到服务器上做,但只能在Windows下运行,因为它不是纯Java的)
  • 控件会对大报表产生性能问题,因为其报表生成与计算工作是在控件中实现的。
  • 应用系统无法灵活地通过API对报表进行控制 – 因为是在控件里。
  • 产品升级 – 将会是一大麻烦,客户端都要重新下载新的控件。

这一比较,并不是说其他方式不可以用,但显然对Java环境下的报表应用,纯Java的报表产品应该有先天的优势。事实上这一点是不需要讨论的,以前之所以还会有独立服务器的产品勉强在用,还会出现一批基于控件的产品,其原因是在于当时基于纯Java的报表产品还没怎么出现。如果有合适的Java平台下的产品(前提是要好用),当然是用纯Java的产品了。

纯Java报表工具

纯Java的报表工具,主要的有:

  • FlyReportor(飞扬报表)是一个功能非常强大的Web报表产品,很全面,尤其其新一代报表模型采用了革命性的多源分片、不规则分组、动态格间运算、行列对称等技术,能将很多原来传统报表工具中很复杂甚至很难实现的报表轻松完成。飞扬报表的问题在于目前没有什么盗版的可用。
  • Style Report 它有影响是因为在国外它是比较有名的Java报表。从部署角度,应该说它也具有JAVA报表的共性,容易部署与集成。展现角度它也支持 HTML方式,同时可以导出到PDF,EXCEL等(但是它导出到EXCEL是找出那些矩形框的最细的粒度,再去用合并格搞,会弄出非常多的格,再用这个文件做后续操作很困难)。但在设计方面它只是传统的方式,面对许多复杂的报表工作量会很大,有些甚至会非常困难。
  • 开源的产品,如Jasper,以及准开源的产品(只卖设计器,服务器免费的)。这些产品的功能上要弱很多。开源的更没有支持,当然有很多讨论区,但这和可靠的厂商的商业支持是没法比的。准开源虽然支持稍好一点,但有限的收入对于其长期支撑、产品提升都是不利的,对用户则是一个长期的风险。

你可能感兴趣的:(java,报表软件,bs)