birt工具资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
商业智能报表工具BIRT
宿晓丹
北京邮电大学软件学院,北京(100876)
E-mail:xiaodan6677@
摘要:报表在信息系统中具有基础性的地位,报表技术日渐成熟,涌现出了一批优秀的报表工具软件。商业智能报表工具BIRT是基于Eclipse插件技术的一个开源报表工具,可以和J2EE以及J2SE的应用进行无缝的集成,使得我们进行B/S报表设计有了一个全新的选择。本文详细介绍了BIRT概念和报表组成,阐述了其体系结构,报表流程及基于它的二次开发,并就其优势与不足给出了综合评定。
关键词:报表;商业智能;BIRT;报表引擎
中图分类号:TP311
1 引言
报表作为一种信息组织和分析的手段,在各个行业中都有很广泛的应用,其内容和形式也多种多样。在现代化企业信息系统特别是管理信息系统(Management Information Ssystem, MIS)中,报表系统是其重要组成部分之一。报表系统(Reporting System)是应用系统中管理数据、格式化数据并在组织内部和外部分发数据过程的功能模块。它是商业智能(Business Intelligence,BI)策略的基础,能通过Web或者企业级应用程序的方式,可靠、安全地向用户提供他们最需要的信息,并对统计后的结果进行数据的存储、处理和分析,供管理者分析决策之用。另外,Internet的飞速发展使得企业级应用软件逐渐由C/S结构转向B/S结构,越来越多的报表将在Web环境下开发和应用[1]。
国内外的报表工具有几十种,各种报表工具功能,形式都有或多或少的差异,而如何从形形色色的报表工具选取合适的工具是高效率开发和运行报表的关键,一般可以从实现技术,绘制方案,前端展现方案,后台集成方案以及填报能力等方面进行考虑[2,3]。
在报表实现技术方面,报表可以分为纯JAVA和非纯JAVA两种。报表对JAVA的支持与否是一个非常重要的指标,这是因为J2EE技术主导了B/S的应用开发,正是这个原因,支持B/S应用的报表工具一般都能支持JAVA。相比非纯JAVA报表工具来说,纯JAVA的报表具很多明显优势,能与J2EE应用无缝结合,具有好的集成性和部署性,并且适合大型应用系统,因而随着报表市场的发展,纯JAVA的报表工具成为主要产品。
绘制方案决定了报表样式的复杂度和绘制效率,以及导出Excel的能力,报表工具按绘制方案一般可以分为类Excel式和拖拽式两种。类Excel式由于绘制效率高,能够画出样式复杂的报表,且导出Excel格式时不会失真等优势,获得国内用户的青睐。
现有报表产品前端(浏览器端)展现主要有HTML和控件两种方案,从安全性,交互操作以及精确打印的能力等几方面考虑,两种方案各有优劣,因而某些产品同时提供两种方案。
后台集成方案主要有完全嵌入、独立服务器和控件数据服务三种。完全嵌入方案为最经济高效的集成方案,但需要报表工具与应用程序基于同种技术实现。独立服务器方案的优点在于对宿主应用程序的技术体系没有要求,采用不同技术的应用可以将同样的方案集成起来。控件数据服务无法发挥后台服务器的强大计算能力,而且有关处理代码将在前端暴露出来造成安全隐患,不适合大型应用。
绝大多数报表工具完全没有填报能力,很多产品需要通过大量编程来完成。
由于报表系统在信息系统中的基础性地位,其应用日益广泛,近年来,报表工具软件也逐步引起了国内外一些软件公司的关注和重视,并且随着软件开发技术日新月异的发展,报表技术也在不断成熟和完善,已经出现了一些优秀的颇具特色的报表工具软件。目前,国内外最有名的商业报表工具软件主要有用友华表公司的Cell软件和国外的Crystal Report。除了商业报表工具之外,开源的报表工具也在一定程度上占了部分市场,如JsperReport,JfreeChart、BIRT等。这些报表工具在很大程度上给我们提供了灵活地开发符合自身报表要求的条件,同时它们也在一定程度上满足了目前市场复杂多变的需求。
2 BIRT商业智能报表工具
BIRT 的全称是Business Intelligence and Reporting Tool (商业智能报表工具),它是基于Eclipse插件技术的一个开源报表工具,并可以和J2EE以及J2SE的应用进行无缝的集成,使得我们进行B/S报表设计时有了一个全新的选择,BIRT也把报表的发展带入到了互联网时代[4]。目前,BIRT是在 Eclipse组织下面的一个开源项目,随着BIRT功能的越来越强大,它的应用也相应的越来越广泛,BIRT可以轻松的连接所有的数据库产品,并且对XML数据源以及纯文本文件数据源的支持也非常出色。并且BIRT甚至可以连接Java程序生成的数据源,这也使得BIRT对数据源的支持非常的灵活,而BIRT报表的展示方式也非常丰富包括:HTML、Excel、PostScript、PDF、Word和PowerPoint等。
BIRT不仅是一个产品,也是一个基于Eclipse的报表框架,因此其具有良好的可扩展性,它提供了三种APIs(Report Engine API、Report Design Engine API、Charting API)供用户使用。
2.1 概念介绍
在介绍BIRT的工作原理之前,先列出它的一些基本概念:
1)数据源:数据的来源或提供者,如XML数据源、JDBC数据源等;
2)数据集:数据集合,它必须和数据源关联,可以理解为查询的结构;
3)报表以及报表项:报表可视为是针对一组数据集的表现形式,而报表项这是这个表
现形式的某个具体的单元。它们之间的关系,与窗口与控件的关系非常类似;
4)报表参数:查询参数的表现形式,使用它可以构建更灵活的报表。
5)模板和库:主要用于复用报表设计,提高报表开发的效率。
BIRT提供的报表通常包含四个组成部分:数据,数据转换,业务逻辑和表示。下面详细介绍各个部分[5]:
1)数据:BIRT可以从数据库、Web Service、JAVA对象中取得数据。现在的版本也
支持JDBC和XML,并支持通过程序获取外部数据源数据的方式。BIRT使用开放
数据存取(Open Data Access,ODA)框架,它允许任何人在它的基础上构建新的
用户界面和任意形式的表列数据的运行时支持。此外,单张报表中的数据可同时来
自多个数据源。通过内部和外部的联合,BIRT允许将完全异构的数据源进行结合。
2)数据转换:BIRT的报表功能将根据用户的需求显示数据,对数据进行汇总、过滤、
分组等。
3)业务逻辑:真实的业务中所涉及的数据往往并不是完全结构化的数据,并不适用于
直接用来制作报表。因此在制作报表的过程中,需要通过业务逻辑将原始数据转化