我们一直在寻找昂贵商业软件的开源替代品,想知道开源报告工具是否可以支持成熟的商业产品。对于本次评估,我们选择了三种常用的报告工具:EclipseBIRT、JasperReports和Pentaho的社区/开源版本。我们的评估侧重于易用性、数据访问、平台支持、报告创建和Web发布。st1\:*{behavior:url(#ieooui)}/*样式定义*/table.MsoNormalTable{mso-style-name:通用表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-style-qformat:yes;mso-style-parent:"";mso-padding-alt:0cm5.4pt0cm5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.5pt;mso-bidi-font-size:11.0pt;font-family:"Calibri""sans-serif";mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"TimesNewRoman";mso-bidi-theme-font:minor-bidi;mso-font-kerning:1.0pt;}table.MsoTableGrid{mso-style-name:网格式;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-unhide:no;border:solidwindowtext1.0pt;mso-border-alt:solidwindowtext.5pt;mso-padding-alt:0cm5.4pt0cm5.4pt;mso-border-insideh:.5ptsolidwindowtext;mso-border-insidev:.5ptsolidwindowtext;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.0pt;font-family:"TimesNewRoman","serif";}我们发现,在设计报表时,这三款产品的可服务性非常好,甚至达到了企业级标准这三个工具都具有跨平台能力,适用于大多数环境。最大的区别是用于发布报告的方法和最终用户访问它们的方式。Pentaho似乎是我们最喜欢的,有两个优点是易于访问广泛的数据源和易于发布报告,这两项任务可能让报告管理员头疼。Pentaho还有一个干净、易于导航的GUI和一系列优秀的社区附加组件。我们唯一的抱怨是,尽管我们提供了非常充足的资源,但我们发现报表设计器和服务器性能都有些迟缓。JasperReports号称是世界上最大的开源报告引擎,我们可以看出其中的原因。无论是在报表设计方面还是服务器方面,都具有丰富的功能特点。Jasper最近改用JasperStudio作为首选报告设计;并且,与Pentaho一样,它提供了可与CrystalReports和SQLServerReportingServices等商业产品相媲美的工具集。该服务器有一个新颖的用于访问报告的WebGUI,还提供了许多用于设计报告的模板,既可以用于设计Web报告,也可以用于打印报告。EclipseBIRT提供了强大的报表设计功能,向导式的单页工具提供了创建新报表的核心功能。它还提供分步文档,引导您完成最常用的功能。BIRT通过其API提供了良好的应用程序集成能力,但它没有提供用于访问报告的专用服务器产品。至于从浏览器调用报告的便利性,我们测试的三种产品都没有提供简单直观的解决方案。它们都需要相当全面的配置,设置各种权限等,然后才能在网页中查看报告。回答这个问题:这些工具能否取代企业界的商业产品?我们发现它们有潜力,但你要明白它们并不具备商业产品的所有功能;安装和运行它们需要付出很多努力。以下是对各个产品的评价:几个开源工具的优缺点JasperPentahoEclipseBIRTPros内置模板,很棒的报表设计器。单行示例数据集使用户可以轻松预览报告。易于将报告发布到Jasper服务器。易于将报告发布到服务器。新颖的服务器用户界面、易于安装和标准化文档。提供了几个第三方插件。出色的应用程序集成、强大的 报表设计器、内置的指导式分步文档。缺点服务器WebGUI导航本来可以更直观一些。社区版缺少许多功能。报表设计器和服务器性能有点低迷。如果没有指定的服务器来发布报告,那么充分利用数据库存储过程和视图中现有业务逻辑的能力就相当有限。这三者的共同点是:需要全面的配置才能在报表服务器环境之外嵌入/查看报表。1、JasperReportsJasperReports运行于Java1.6及以上版本,具有跨平台功能,支持Linux、Windows、Mac等平台。我们在全新安装的WindowsServer上测试了6.01社区版,在JRE1.8版上使用与Jasper(ApacheTomcat和PostgreSQL)捆绑在一起的组件。我们还决定安装捆绑的示例PostgreSQL数据库,其中包含用于报告的示例数据。安装后,Jasper界面加载到您的浏览器中,您可以登录并开始使用它。我们从默认的管理员登录开始,然后创建了一个新帐户。我们发现用户界面清新、易于导航且非常整洁。由于我们安装了示例数据库,我们立即注意到有几个不同类别列出的预发布示例报告,从基本的列表报告到更复杂的报告类型(包括条形图和饼图)。但是,为了制作自己的报表,您需要一个报表设计器。过去,首选的设计器是iReportDesigner;虽然Jasper已保证到2015年支持iReportDesigner,但它已宣布JasperStudio是JasperReports的“官方客户端软件”。有了这些信息,我们下载了JasperStudio的最新版本(6.0.4)。基于Eclipse开发平台,既可以作为Eclipse插件运行,也可以作为独立的应用程序运行。JasperStudio可以发布许多常见格式的报告,例如HTML、PDF、XLS、XML、OpenOffice、MSWord、RTF、CSV等。与服务器一样,JasperStudio也提供跨平台支持并运行在JavaJRE上,但需要一个完整的JavaSDK来发布供应商称为报告脚本小程序的内容。JasperStudio的工作区布局不错;任何使用过CrystalReports或SQLServerReportingServices等商业产品的人都会觉得使用它很舒服,因为它使用熟悉的术语和类似的布局。创建新报告时,报告向导为您提供了从模板或空白报告开始的选项,用于打印或网络报告。为了制作我们的第一份测试报告,我们使用预制模板和使用示例数据库构建的自定义视图制作了一份打印报告。我们使用JDBC驱动连接PostgreSQL数据源,JDBC驱动是安装系统自带的。选择数据集后,您可以选择要添加到报告中的字段,以及要用于排序的一个或多个字段。报表向导会按照它认为合理的顺序排列数据字段,但是一旦向导完成了一系列任务,我们就可以自己对报表进行一些自定义更改。我们能够找到业务报告生成器应该拥有的几乎所有工具,从基本的日期和页数字段到报告参数、自定义图表和子报告等更复杂的功能。可以预览报告以查看它们的外观,而无需将报告发布到服务器。一旦报表设计完成,就可以发布到Jasper服务器。这是通过一个多步骤过程完成的:首先选择服务器(我们只有一台服务器),然后浏览到要发布报表的文件夹,然后选择数据源。数据源可以是软件库中已有的数据源,也可以是本地数据源。发布报告后,我们返回并登录WebGUI以查看报告。报告组织在文件夹中以便于浏览。在服务器上生成报告后,可以将其导出为多种格式。JasperReports提供了一个非常强大的报告解决方案,包括服务器和新的JasperStudio报告设计器。WebGUI上的导航可以更直观一些;例如,您需要选择一个报表项目进行编辑并不是很明显。借助用于打印和网络报告的省时预制模板,用户可以以最少的设计工作顺利开始设计报告。我们还喜欢单行测试数据功能,它允许您在不连接到数据源的情况下创建报告。虽然将Jasper报告发布到Jasper服务器简单直观,但在服务器框架之外访问报告(例如在网页内,或者作为应用程序的一部分,您不希望用户必须提供登录信息才能运行报告)完全是另一回事。虽然Jasper给出了提供匿名访问的说明,但是步骤有点太复杂了。我们发现需要从WebGUI更改配置文件和多个设置对于一个非常易于使用的产品来说有点太笨重了。#p#2.PentahoPentaho套件提供了一系列商业智能工具,包括企业版和社区版。社区版是开源的,并在GPLv2许可证下获得许可。Pentaho现在已被HitachiDataSystems收购,尽管该公司表示它致力于长期维护社区版本。与本文中评论的其他产品一样,Pentaho具有跨平台功能,既适用于服务器本身,也适用于大多数各种工具集。Pentaho的核心是业务分析/智能服务器;我们首先安装了5.3版。与作为干净的整体安装程序包的企业版不同,社区版需要在后台进行更多调整/更改才能安装和配置。但是,借助一些Internet搜索结果和在线教程,我们很快就启动并运行了测试服务器。安装后,Pentaho服务器通过WebGUI进行管理,它提供了一个类似于仪表板的界面,令人赏心悦目,我们发现它易于导航。您可以从仪表板管理大多数与报告相关的任务并访问其他资源(例如文档、博客和论坛)。Pentaho不提供任何示例报告供查看,但附带了几个示例文件夹,让您了解如何组织报告,例如按用户或按部门。报告通常由设计器直接从Web界面发布,或者您可以使用命令行实用程序上传报告文件。和Jasper一样,服务器端只管理发布的报表,所以你仍然需要一种在客户端设计和发布报表的方法。为此,我们使用了PentahoReportDesigner5.3版。安装后,报表设计器会提供以下选项:使用报表向导,或从头开始使用您自己的设计。有几个可用的模板,我们发现它们的外观有点过时,但至少可以使用。您可以轻松制作自己的XML报告模板,或使用第三方模板。成功连接到数据源似乎总是报告工具面临的最大挑战,但Pentaho通过令人印象深刻的内置数据库连接器列表帮助简化了这项任务:标准数据库连接器(如MySQL、Oracle和SQLServer),还有过时的HPNeoview,甚至还有一些以前的主力数据库连接器:AS/400和dBaseIII。每个连接器都有自己的配置屏幕,显示连接类型所需的字段,包括使用的公共端口号。Pentaho还提供了一组测试数据,您可以从中开始设计报告。一旦报告准备就绪,就可以将其发布到本地或远程Pentaho服务器上的软件存储库。向服务器发布报告是一个相当简单的两步过程,而且每次都能无缝运行,这是一个巨大的优势。报告发布到服务器后,可以多种不同的格式查看,其中HTML或PDF是最易读的。此外,报告可以保存并导出为多种常见格式,例如PDF、RTF、HTML、CSV和Excel。访问Pentaho报告的最简单方法是从Web浏览器GUI。报告可通过各种帐户配置提供给团体或个人。报告还可以按指定的时间表运行,提供定期报告,或满足其他可用性要求。还有一些Pentaho社区工具可用,其中大部分与社区版和企业版兼容。一个值得一提的工具是CTools,它是一个组件和工具的集合,可以作为Pentaho的附加组件使用。Ctools具有图形生成器、仪表板编辑器、数据访问自定义和Pentaho开发框架等许多功能。我们的主要抱怨之一是Pentaho运行起来有点慢,即使是在具有四核处理器、大量内存和千兆以太网的服务器级机器上也是如此。对于在典型台式计算机上运行的报表设计器来说也是如此。不过,总的来说,我们发现Pentaho易于安装、配置和运行。文档非常好,服务器和报表设计器对于新手和专家都非常直观。轻松可靠地发布报告的能力是一大优势。3.EclipseBIRTBIRT是一个用于报告和数据可视化的开源技术平台。也就是所谓的***项目,由Eclipse基金会建立。Eclipse是跨平台的,在Java上运行。对于此测试,我们使用Eclipse版本4.4.2。如果您没有预安装Eclipse,可以下载一个一体化软件包。这是我们测试过的选项,但您也可以将所需的BIRT插件添加到现有的Eclipse开发环境中。一旦安装并配置了Eclipse,我们就可以构建我们的第一个报告了。报表设计器在Eclipse中显示为所谓的“透视图”。加载报表设计器后,它实际上会调出Eclipse的报表部分;这里有几个选项,例如开始一个新的报表项目,或者一个新的报表设计。我们首先选择使用新的报表设计,BIRT为一小组选项提供图形和交叉表。有多种选择:从空白报告或基本的入门模板到稍微复杂一点的其他模板。大多数用户将使用JDBC驱动程序连接到数据源,但您也可以创建自己的连接脚本,或连接到其他数据源,例如平面文件和XML。如果您想在连接到您自己的数据源之前试用报表设计器,BIRT附带了一组测试数据。一旦连接到我们的数据库:一个SQLServer数据库,我们就可以选择:构建SQL查询来检索数据,或者使用现有的存储过程。我们使用类似向导的屏幕创建了一个简单的SELECT语句,我们发现它很有帮助,因为它允许您一目了然地查看列、参数和数据输出。现在数据集已就位,我们将最后几个数据元素拖放到报表表面上。报告可以预览或导出为多种常见格式,包括PDF、Word或OpenDocument,以及HTML或网页查看器中的页码HTML。与Pentaho和JasperReports不同,BIRT不提供可以发布报告的单独服务器。相反,BIRG报告通常使用API嵌入到Java应用程序中。还有一个可用于Eclipse平台的Web报告查看器;它还充当JavaEE服务器的独立工具。除了使用Eclipse的BIRT插件外,您还可以使用BIRTRCPReportDesigner,这是一个更轻量级的独立报表设计器。开发者可以构建和导入各种报表插件来自定义报表。BIRT的优势在于它能够通过EclipseReportEngine与应用程序集成。这允许开发人员将BIRT运行时环境集成到他们的应用程序中。报表引擎的生成模块使用报表设计器生成的XML定义来检索和处理输入到生成报表中的数据,显示模块为用户提供多种方式来显示来自应用程序的报表。然而,BIRT不适合没有服务器Web界面的企业实现,例如JasperReports和Pentaho,其中需要一个独立的报告解决方案来限制部门和用户的访问,并提供服务器具有的额外灵活性。BIRT是作为更大的Eclipse开发环境的一部分存在的综合报表设计器,这是一个优势,因为开发人员可以将报表设计集成为更大的应用程序开发的一部分。我们的测试安装系统包括一个广泛的内置教程,其中包含完成每项任务的分步说明。原标题:评测:最佳开源报告工具
