BIRT介绍
BIRT (Business Intelligence and Reporting Tools), 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 J2EE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件。BIRT 也提供了图标引擎让你能为应用增加图标。
BIRT 当前发行的版本是 2.3。可通过http://download.eclipse.org/birt/downloads/build_list.php下载使用。
有了 BIRT,你可以为应用程序构建丰富的报表。
列表 - 列表是最简单的报表。当列表变长时,你可以把相关数据增加到同一分组(基于客户的订单分组,基于供应商的产品分组)。如果数据是数字类型的,你可以轻松的添加到“总数”、“平均”、或其他汇总中。
图表 - 当需要图表表现时,数字型数据比较好理解。BIRT 也提供饼状、线状以及柱状图标等。
交叉表 - 交叉表(也叫做十字表格或矩阵)用两种维度展示数据:sales per quarter or hits per web page。(交叉表在 1.0.1 中没有提供,但计划在将来提供。)
信函和文档 - 通知、信件、以及其他文本文档都很容易通过 BIRT 方便建立。文档包括正文、格式、列表、图表等。
混合报表 - 很多报表需要联合以上所有的报表构成单一文档。例如,一份客户声明会列出客户所需要的信息,为当前促进(promotions)提供文本,以及提供并行的出帐和入帐列表。一份财政报表将包括声明、图表、表格,所有这些都将进行全方位的格式化,来匹配共有的配色方案。
剖析一份报表
BIRT 报表包含四个部分:数据、数据转换、业务逻辑、陈述。
数据 - 数据库、Web 服务、Java 对象,这些都可以作为 BIRT 报表源。1.0.1 版本提供 JDBC 支持,也支持利用编码来获取其他地方的数据。BIRT 的 ODA(Open Data Access) 框架允许任何人构建新的 UI 以及运行时支持任何类型的表格式数据。未来,单一报表可包含从任意多个数据源获取数据。
数据转换 - 报表通过对数据的分类、统计、过滤以及分组来适应用户需求。当然,数据库能实现这些功能,当遇到普通文件和 Java 对象时 BIRT 必须以 "simple" 数据源方式处理。BIRT 允许复杂的操作,比如总合分组、整体共计的百分比,等等。
业务逻辑 - 真实世界的数据很少提供你理想的结构良好的报表。许多报表要求用具体逻辑把原始数据转换成用户的有用信息。如果该逻辑仅仅用于该报表,你可以用 BIRT 的 JavaScript 脚本支持。如果你的程序中已包含这些逻辑,你可以调用已有的 Java 代码。
表现 - 一旦数据准备好了,你可以在很大的范围内选择表现形式。表格、图表、文字等等都可以。单一数据集可以有多种方式表现,而单一报表可以表现多个数据集。
J2EE 应用中的 BIRT
BIRT 报表引擎以 JAR 文件方式打包,可以方便的添加到你的 J2EE 应用中。报表引擎是一系列的 POJO(Plain Old Java Objects),便于你可以在 JSP 页面集成报表。
BIRT 与你的应用有四个主要集成点:
UI 参数 - 多数报表允许用户指定一些输入,这些数据叫做"报表参数"。例如,客户报表要求显示客户数据。你的参数页面可能是静态的:为每个报表进行用户定制设计。或者,可以使用参数元数据提供的动态页面,以便该单一页面为所有的报表提供服务。
运行报表 - 用户提交表单参数时,你的 web 应用通过这些参数向 BIRT 报表引擎说明读取哪个报表设计文件,并读取数据,再产生报表输出。当引擎运行报表时 BIRT 的术语称为"工厂"。
数据访问 - 报表如何从你的应用获得数据已在上面解释了。Java 程序通常利用 Java 对象为 BIRT 工厂提供数据。
显示 - 附加的 JSP 页面,叫做阅读器,允许用户查看报表输出。
一个报表应用程序包含一个参数页,你可以为每个报表创建自定义的 UI,或者使用 BIRT 带来的参数元数据提供单一报表来处理多种不同报表。
分享到:
相关推荐
#### 一、BFD链路探测协议简介 BFD(Bidirectional Forwarding Detection)双向转发检测协议是一种用于快速检测链路故障的技术,它能够提供毫秒级的故障检测速度,极大地提高了网络的可靠性。BFD可以在各种不同的...
一、C++简介 C++是一种强大的面向对象编程语言,具有高效、灵活和可移植性等优点,被广泛应用于系统软件、游戏开发、嵌入式系统等领域。在C++中开发游戏,可以充分利用其底层控制能力,优化性能,实现更精细的游戏...
简介 BigBird是由google与2020年发表的模型结构,利用稀疏注意力机制,把二次依赖关系降为线性依赖,因此更适合做长文本任务。 本项目使用transformers库,CLUE开源语料,预训练中文版本BigBird模型,并借助...
"flybird"这个标题可能代表着一种轻盈、灵活的文档设计理念,意在强调简洁高效。下面将详细讨论文档设计的主要方面及其重要性。 1. **文档分类与结构**:在企业环境中,文档通常分为需求文档、设计文档、实施文档、...
【C++课程设计-Flappy Bird】是一份以C++编程语言实现的Flappy Bird游戏的课程设计项目。该项目不涉及图形用户界面组件,而是基于控制台进行游戏的开发。 一、课程设计选题及简介 1. 选题缘由 选择Flappy Bird作为...
一、cocos2dx简介 cocos2dx是基于C++的一个开源游戏开发框架,它提供了一套高效的2D游戏开发工具集,支持跨平台运行,包括iOS、Android、Windows等。cocos2dx采用了组件化的设计,使得开发者可以方便地创建、组合和...
**一、仪器简介** BIRD驻波比测试仪设计精良,具有高精度和稳定性,可提供实时的驻波比测量,有助于工程师快速诊断和解决通信系统中的问题。它通常包含一个显示器,用于显示测量结果,以及各种接口,如SMA、N型等,...
#### 一、Flabby Bird 游戏简介与市场表现 Flabby Bird(通常正确拼写为Flappy Bird)是一款由越南独立游戏开发者Dong Nguyen开发的休闲游戏。游戏于2013年5月24日首次在苹果App Store上线,并迅速风靡全球。游戏的...
**Pygame简介** Pygame是基于Python的一个开源游戏开发库,它提供了丰富的功能,如图像处理、声音播放、事件处理等,使得开发者可以快速地构建2D游戏。Pygame基于SDL库,并在其上进行了一层封装,降低了游戏开发的...
项目简介 本项目是一个基于Java基础类库编写的Flappy Bird桌面平台版游戏。游戏具备原版Flappy Bird的所有功能,并在此基础上加入了移动型水管和优化了难度梯度,增强了游戏的趣味性和挑战性。此外,本项目还集成...
Hummingbird简介Hummingbird是一个用于将经过训练的传统ML模型编译为张量计算的库。 Hummingbird允许用户无缝利用神经网络框架(例如PyTorch)来加速传统的ML模型。 多亏了Hummingbird,用户可以受益于:(1)在神经...
#### 二、跳跳鸟Alley Bird游戏简介 《跳跳鸟Alley Bird》是一款基于Unity引擎制作的休闲手游。这款游戏通过简单的操作让玩家控制小鸟在各种障碍物间跳跃,挑战更高的分数。游戏画面简洁,操作流畅,适合所有年龄段...
### Cocos2D简介 Cocos2D是一款非常流行的跨平台游戏开发框架,支持包括iOS、Android在内的多个操作系统。它为开发者提供了丰富的功能,如物理引擎、动画处理、声音控制等,使得游戏开发变得更加高效和便捷。Cocos...
二、HTML5简介 HTML5是HTML的最新版本,提供了许多新的元素和API,极大地增强了网页的互动性和多媒体支持。在Flappy Bird游戏中,HTML5的Canvas元素是绘制游戏场景的关键,它允许开发者动态地绘制图形和图像,创建...
项目中的"README.md"文件通常包含项目的简介、安装步骤、运行方法等关键信息。在这个项目中,你可能可以看到如何设置开发环境,如何运行游戏以及项目所依赖的库和技术栈的详细说明。安装React项目通常涉及全局安装`...
一、cocos2d-html5简介 cocos2d-html5是一个开源的2D游戏开发框架,基于HTML5、CSS3和JavaScript技术,支持跨平台开发,能够在网页上运行,也可以通过Cordova等工具转换为原生应用。它提供了丰富的游戏开发工具和API...
1. **Unity简介**:Unity是一款跨平台的游戏开发引擎,支持2D和3D游戏制作,广泛应用于移动设备、桌面平台和网络游戏。它的直观界面和强大的脚本系统使得游戏开发变得容易上手。 2. **项目设置**:首先,我们需要...
一、强化学习简介 强化学习是机器学习的一个重要分支,其核心思想是通过与环境的交互,智能体通过尝试不同的行为并接收环境的反馈(奖励或惩罚),逐渐学习出最佳策略。这种学习方式与人类的学习过程类似,强调经验...
一、Cocos游戏引擎简介 Cocos,全称为Cocos2d-x,是基于Python的Cocos2d的C++版本,支持跨平台开发,包括iOS、Android、Windows等多个操作系统。它的核心特性包括2D渲染、物理引擎、动画系统、粒子效果、音频管理...