`
rosen
  • 浏览: 38280 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论
阅读更多

                                                                             

报表介绍


   
    BIRT 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 J2EE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件。BIRT 也提供了图标引擎让你能为应用增加图标。
   
    当前发行的版本是 1.0.1。我们鼓励你下载、试用 BIRT,请通过 newsgroups and Bugzilla 向我们提意见。
   
    有了 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 带来的参数元数据提供单一报表来处理多种不同报表。
   
样品阅读器
    
    BIRT 项目提供一个样品 "viewer" 来帮你起步。样品阅读器常被用于在 Eclipse 中预览报表:BIRT 内置一个 Apache Tomcat 服务器,每次预览报表时调用。阅读器也可被用于任何与 JSP 兼容的 J2EE 服务器。
   
    BIRT 的 1.0.1 版本提供单一页面的 web 输出。计划在将来的版本中提供多页面输出,而且阅读器 UI 也将提供多页面之间的导航功能。
   
报表设计













































     BIRT 应用开发从报表设计开始。基于 Eclipse 插件提供多种快速构建报表工具。
        
         数据浏览器 - 把你的数据源(连接)以及数据集(查询)组织起来。数据集编辑器允许你测试数据集,以确保报表接收数据的正确性。
         布局视图 - 所见即所得编辑器为你的报表提供以拽方式来创建表现内容。包含一个标准报表条目调色板。
         属性编辑器 - 以便利的格局表现大多数通用的用户属性使编辑更快速和容易。BIRT 也集成了标准 Eclipse 属性视图,为每个条目提供详细的属性列表。
         报表预览 - 你可以在任何时间采用真实数据测试你的报表。预览窗口直接内嵌在 Eclipse 中。
         代码编辑器 - 在访问数据以及报表生成或浏览时,脚本把业务逻辑添加给报表。在编辑脚本时代码编辑器提供标准的 Eclipse 特性:语法加色、自动完成等等。BIRT 用很简单的脚本来表达,expression builder 能更容易的创建这些表达。
         略图 - BIRT 报表被组织为一个树型结构作为整体报表的根,并且为样式、报表内容、数据源、数据集、报表参数等分类。略图视图提供你整个报表结构紧凑的预览。
         Cheat Sheets - 学习新工具永远是种挑战,但是 Eclipse 提供一种创新方案:cheat sheets。它们是一些帮助你完成新任务的文档。
        
数据定制
   
    正如前面所提到的,报表通常为要表现的数据添加业务逻辑。BIRT 提供多个工具来完成这一操作:
   
        栏位计算-数据库为存储组织数据,但这些数据通常为结合表现层而预先整理好。栏位计算让你能定义基于业务逻辑的附加数据集栏位。这种逻辑是一个简单的语法、脚本或调用一个已有的 Java 逻辑。
        输入以及输出参数-许多数据源都支持参数:在查询时传入或传出数据的能力。比如,SQL Select 语句可包含输入参数。存储过程既有传入又有传出参数。
        栏位元数据-当数据源提供的名字是 unintuitive 的,你可以提供栏位别名。
        过滤 - 有些数据源,尤其是 SQL,提供良好的内置过滤特性。然而,有些数据源(单纯的文件,应用程序对象)却没有提供过滤特性。另外,过滤器条件是定义在脚本或 Java 代码中的。你可把过滤器定义为报表的一部分,BIRT 引擎会自动调用它们。
        脚本化数据集 - 有些报表需要访问专门或不常用的数据。你可以在 Java 或脚本创建访问,利用脚本化数据集可在报表中集成这些逻辑。
       
条件格式化
   
    有些报表有着固定的格式,其他的却需要条件格式化。例如,某报表列出了交易记录来表现不同的销售与利润之比。或者,一个客户服务报表要按照不同规则进行色彩显示。BIRT 提供多个条件格式化特性:
   
    条件可见度 - 你可以根据数据隐藏报表元素。在上述的交易报表中,你可以创建销售和交易收入两部分,接着隐藏报表指定记录中不需要的部分。
   
    值映射 - 数据库数据通常使用代码值:M/F 代表男性或女性,1/2 代表销售和收入,等等。值映射让你定义一个从数据库值到显示值的映射。例如,我们可把值“1”对应到“Sale”,把“2”对应到“Return”。
   
    加强 - 简单的标识可让你对特定报表套用样式。例如,在客户服务报表中,我们可以使用绿色表示上一的计划,红色表示下一计划。
   
    脚本




























    BIRT 提供基于 JavaScript(与知名的 ECMAScript 形式上相同)的脚本。JavaScript 经常作为客户端脚本语言,但是它也可以用于用于表达业务逻辑。特别的,JavaScript 能与你的现有 Java 逻辑进行良好集成,能非常轻松地从 BIRT 报表调用业务逻辑。
   
    BIRT 提供从 JavaScript 对象访问报表对象模型(Report Object Model)的整套方案:同时表现报表设计和运行时的状况,允许报表的完全控制处理甚至最复杂的报表格式化工作。
   
项目管理



    BIRT 集成了 Eclipse 项目管理特性来组织相关报表。BIRT 也可以与 Eclipse CVS 协作进行源码管理。BIRT 的 XML 报表设计格式让它能容易的比较两份报表,或者两个不同版本的相同报表,并跟踪变更。
   
    样式

    任何设计 web 页面的人都知道有时会反复使用相同的样式。CSS 允许 web 设计者从内容中提取样式信息,并复用样式。
   
    BIRT 提供类似的特性。当然,BIRT 样式也是基于 CSS 的,这样使得网页应用开发人员能容易得设计 BIRT 表现形式。BIRT 样式可堆叠,允许你在一个地方设置样式后套用到所有报表或报表的一部分或单一报表中。
   
    库



    典型的应用中会包括许多有关联的报表。一个简单的客户应用将包括一个按照字母排序的客户列表、按照地理位置分类的客户群,为客户指定的销售代表,客户身份筛选等等。总之,用户不停的地变化报表以解决具体业务需要。
   
    这样一来,最终的报表应用将包含多组相关报表。相同的数据源、样式、业务逻辑、报表条目。
   
    将来的 BIRT 版本将包含组织这些共享资源的支持库。这些库可包含任何报表元素,比如样式、数据源、报表条目、脚本等等。
   
国际化





    全世界都可以访问你的 web 应用程序。BIRT 为国际化和本地化提供良好的支持。
   
    文本本地化 - 你可以建立一份把字符串自动变成用户本地语言显示的简单报表。所有的表单和报表文本都能以标准的 Java 本地化规则进行翻译。在运行时,BIRT 使用资源 key 找出文本的正确翻译。
   
    本地化 - BIRT 提供 locale-aware 格式化数据,意味着对于美国用户的日期数据可以以 mm/dd/yy 的格式出现,而欧洲用户则是 dd-mm-yy 格式。
   
    动态格式化 - 中文文本非常紧凑,德文有时又有点冗长,而英文正好是中等大小。BIRT 自动调整报表条目的大小来适合其中的内容,避免每次翻译都要进行报表测试。
   
扩展性







    报表应用程序的范围是十分庞大的,BIRT 团队不能为每个应用提供很具体的特性。可利用 BIRT 脚本来扩展 BIRT,另外还可构建 BIRT 扩展插件到 BIRT 中。
    
    数据访问
   
    BIRT 提供 ODA(Open Data Access) 框架来支持自定义数据访问方法。数据访问的范围还包括一个获取数据的运行时组件。也包括构建自定义查询的自定义设计时 UI。例如,打包后的应用程序可以让 ODA 构建数据访问 UI 并运行在自己的数据模型中。
    
    报表栏目
   
    BIRT 为要表现的数据提供一致的报表栏目集。可以在应用程序中自定义附件报表栏目,并像 BIRT 自身的报表栏目一样运行在设计器和引擎中。例如,性能管理应用程序要添加报表栏目来高亮显示停止项、尺度表以及其他用来衡量性能的可视标志。
   
    图表类型
   
    BIRT 图表包提供了很多的图表类型。但是,一些行业需要很特殊的图表样式。开发者可以在 BIRT 图表引擎中创建图表插件来提供这些图表样式。
   
    输出格式
   
    BIRT 1.0.1 支持输出到 HTML 和 PDF。当然,也可能需要其他类型输出:Excel、RTF(Rich Text Format)、SVG(Scalable Vector Graphic)、图像、等等。BIRT 在今后会提供其中一些,除开这些的其他格式可能需要的用户就很少了。开发者可利用 BIRT 引擎接口添加转换器以达到目的。


请注意!引用、转贴本文应注明原译者:Rosen Jiang 以及出处:http://www.blogjava.net/rosen




















Rosen 2005-12-17 13:37 发表评论
分享到:
评论

相关推荐

    thunderbird 邮件备份

    Thunderbird是一款由Mozilla开发的开源电子邮件客户端,它提供了丰富的功能,...总的来说,备份Thunderbird邮件和设置是保护重要数据的关键步骤。了解如何正确备份和恢复,能让你在面对数据丢失或迁移时更加从容不迫。

    FlappyBird游戏源码

    《FlappyBird游戏源码解析》 FlappyBird是一款风靡全球的休闲小游戏,以其简单易上手的操作和高难度的挑战性吸引了大量玩家。本文将深入探讨cocos2dx和Unity两个版本的游戏源码,解析其背后的编程原理和技术实现。 ...

    flappy_bird 素材资源

    《Flappy Bird游戏素材资源详解》 在游戏开发领域,Flappy Bird是一款极其经典且具有极高人气的小游戏,它的简洁设计和挑战性吸引了无数玩家。本资源包是针对这款热门游戏——Flappy Bird的素材资源集合,包含了...

    flappyBird素材包

    《Flappy Bird游戏素材解析与应用》 Flappy Bird是一款风靡全球的休闲游戏,以其简单易上手的操作和极具挑战性的玩法深受玩家喜爱。在本文中,我们将深入探讨这款游戏中的一些关键素材,并通过提供的压缩包文件,...

    flappybird图像音频资源包

    总的来说,"flappybird图像音频资源包"提供了开发类似《Flappy Bird》小游戏所需的关键素材,不仅包括游戏的核心视觉元素,还有增强游戏体验的音频效果。通过分析和利用这些资源,开发者能够更深入地理解游戏设计和...

    flappybird全套图片+音效

    《Flappy Bird游戏素材解析:图像与音效的全方位探讨》 Flappy Bird,这款曾经风靡全球的小游戏,以其简单却极具挑战性的玩法吸引了无数玩家。在学习游戏开发的过程中,掌握并理解游戏素材——尤其是图像和音效——...

    FlappyBird素材.zip

    《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。2014年8月份正式...

    Flappy bird资源.zip

    《Flappy Bird游戏资源与开发解析》 在游戏开发领域,Unity引擎因其强大的功能和易用性而备受青睐,尤其对于初学者来说,它是一个极好的起点。本篇将深入探讨利用Unity进行游戏开发,以Flappy Bird为案例,同时延伸...

    flappy bird素材及源码

    总的来说,这个Flappy Bird的项目为我们提供了从零开始构建一个完整游戏的机会。从GUI设计到物理引擎的实现,再到数据存储和素材管理,每个环节都涵盖了大量的编程知识。通过对源码的阅读和实践,我们可以深入理解...

    FlappyBird素材包

    总的来说,这个Flappy Bird素材包为开发者提供了一个基础的游戏框架,通过深入学习和实践,可以进一步理解游戏开发的各个环节,从图像设计、动画处理到编程实现,对于提升Android应用开发技能大有裨益。同时,也可以...

    FlyBird资源文件图片加音效

    总的来说,这个"FlyBird资源文件图片加音效"包是一个全面的游戏开发工具,涵盖了游戏设计的基本要素。无论是专业的游戏开发者还是业余爱好者,都能从中找到制作FlappyBird风格游戏所需的素材。通过合理利用这些资源...

    Thunderbird的一套主题

    Thunderbird是一款开源、免费的电子邮件客户端,它支持多种功能,如邮件管理、新闻组和聊天。这款软件的一大亮点就是它的可定制性,用户可以通过安装不同的主题来改变界面的外观,使其更加个性化。"Thunderbird的...

    OpenCv制作的FlappyBird

    在这个名为“OpenCv制作的FlappyBird”的项目中,开发者利用OpenCV技术实现了一个经典游戏FlappyBird的版本。下面我们将详细探讨OpenCV在该项目中的应用以及相关知识点。 首先,我们要理解OpenCV的基本概念。OpenCV...

    flappybird图片+音效

    flappybird游戏资源,图片+音效

    flappy bird制作资源素材

    《Flappy Bird游戏制作资源素材详解》 Flappy Bird,这款简单却又极具挑战性的手机游戏,在全球范围内引发了一股热潮。对于游戏开发者来说,了解并掌握其制作资源和素材是至关重要的一步。本资源包主要包含了Flappy...

    thunderbird C++ 源代码

    Thunderbird是一款开源、免费的邮件客户端,由Mozilla基金会开发,其源代码主要使用C++语言编写。这款软件在设计上与Microsoft的Outlook类软件有相似之处,但更注重自由软件的理念和网络安全性。在深入探讨Thunder...

    FlappyBird_C++_bird_

    总的来说,通过复刻《Flappy Bird》这个游戏,我们可以深入理解C++的基本语法,学习如何使用图形库进行游戏开发,掌握事件处理和物理模拟,以及提高面向对象编程的技能。这是一个全面且有趣的项目,对于任何想要提升...

    Flappy Bird 源代码 贴图 以及 音效

    《Flappy Bird源代码、贴图与音效详解——Unity游戏开发深度剖析》 Flappy Bird,这款在2014年风靡全球的小游戏,以其简单却极具挑战性的玩法吸引了无数玩家。对于长安大学的学生,尤其是那些正在学习游戏动画开发...

    Flybird创作,源代码见博客主页!

    【标题】"Flybird创作,源代码见博客主页!" 提示我们这是一份与Flybird相关的创作项目,其中可能包含编程源代码。Flybird可能是该项目的名称或开发者昵称,而“源代码见博客主页”意味着我们可以在这个项目的博客...

    FlappyBird美术及音频资源

    经典网红游戏FlappyBird美术及音频素材下载,包含音频和图片素材,仅用于学习和交流。Godot版FlappyBird开发教程CSDN地址:https://blog.csdn.net/ttm2d/article/details/104516098

Global site tag (gtag.js) - Google Analytics