等周期行报表的需求。
报表的统计对象可以包括电信网络管理系统中的告警信息、性能信息、配置信息等【lJ。
通过报表管理,可以在各级网管中心完成对使用者关心的数据的收集和整理,形成多种表现形式的报表。
电信网络
管理系统的管理人员通过阅读相关报表,就可以迅速、直观、方便的了解系统的运行状况【2】。
此外通过对历史报表中的数据进行统计分析,为运营商提供网络优化、用户行为分析、业务开发和运营等诸多方面参考和决策依据,从而能够合理地进行资源配置,降低运营成本,提高服务质量,增加企业利润。
目前市场上较为流行的一些商业报表软件都侧重于软件的通用性,不能很好地满足电信网管系统报表的特殊要求,往往需要用户做大量的二次开发
工作,使用起来不方便。
大多缺少报表定时输出功能,电信网管系统要满足用户察看R报、周报、月报等类型的报表的需求,必须定时输出这些类型的报表。
同时为二次开发提供的支持力度不够,这些软件往往为二次开发仅暴 第l章绪论露了少量的接口或是需要昂贵的费用才提供二次开发的接口。
多数适应性不强。
一些报表系统仅能运行于windows操作系统中,而在电信网管系统中一般都存在多种的操作系统,要求报表系统能够跨操作系统平台使用。
鉴于以上实际情况,电信网管报表系统课题应运而生。
设计并实现一套针对电信网管领域,易于二次开发,可跨平台使用的报表系统,对于个人是一次
学习和提高的机会,对于网管软件系统而言将是功能和业务上的有力补充,而对于企业来讲,则具有重要的市场战略意义。
1.2国内外研究综述 近十年来国内外涌现出许多优秀的报表系统,它们对于我们的报表系统的有着重要的借鉴意义。
其中具有典型意义的主要有JasperReports、Jreport和Ming-W曲Report等。
下面简要的介绍一下它们的特点。
1.2.1开源报表系统JasperR印orts JasperReports是一个非常优秀的报表工具,最重要的是它是
免费开放
源代码的。
它完全用JaVa编写,可在各种Java应用(包括J2EE或w曲应用)中用来产生动态内容并可以输出到打印机或到PDF, HTML和XLS文件。
JasperReports组织根据在一个XML文件中定义的报表设计,通过JDBC来接受来自一个关系数据库中的数据。
为了以数据来填充报表,报表设计必须首先被编译。
其开发的主流程如图1.1所示,描述报表设计的XML文件可以通过执行dori.jasper.en百ne.JasperManager类暴露的compileRepon()方法进行编译。
通过编译,报表设计被装载入一个报表设计对象中,然后系列化并存储在磁盘上(dorijasper.engine.JasperR印ort)。
当应用程序想以数据来填充特定的报表设计时会使用这个已系列化的对象。
事实上,报表设计的编译意指描述报表设计的XML文件中定义的所有Java表达式的编译。
为了检查报表设计的一致性,在编译时做各种检验。
结果用来填充报表设计,然后被用来以不同的数据集产生文档。
第l章绪论 填充报表设计可使用由dori.jasper.engine.JasperManager类暴露的fillReport()方法。
这些方法接受作为参数的报表
设计对象,或描述特定报表设计对象的文件, 在一个系列化的格式中,和一个从其中接受数据填充报表的数据库JDBC链接。
结果是一个描述准备用来打印
文档的对象(dorijasp既engine.JasperPrint)并可被以一个系列化格式存储在磁盘上。
为以后使用,也可以被分发到打印机,到屏幕或可被转换到一个PDF、HTML或XLS
文档。
图1.1 JasperR印ons开发主流程刚3】 JasperReports本身实现的主要功能有:实现了报表文件的定义;提供了线条、矩形、图片、staticText、textField等。
各个元素的子元素、属性、属性值的取值范围;实现了报表的预览(格式预览和最终的报表数据预览)和报表输出到打印机、HTML文件、PDF文件等功能。
就其本身状况,存在的问题主要有:没有实现可视化的报表设计器,用于定义报表布局的XML文件的定义在某些地方缺乏灵活性;没有实现报表的任务管理,这对于需要周期性出报表的应用带来了许多不便,用户需要手工输出报表,对用户不够友好〔4】。
1.2.2国外优秀报表
软件Jreport Jreport是美国jinfonet公司的商业报表系统,被著名的《Java开发者杂志》评选为2001年度最佳Java报表工具‘51。
其系统架构如图1.2所示,整 第l章绪蹬体结构可以分为数据中心,商业逻辑和客户端展不二个层次。
包括报丧发¨器,报表输出管理器等模块,这种架构对于我们的报褒系统具有~定的借鉴意义。
Jre