龙空技术网

信息项目开发中有必要把报表开发当做需要独特技能的专业工作

范煜BIGDATA 111

前言:

如今同学们对“biee 报表”大致比较关切,咱们都想要分析一些“biee 报表”的相关资讯。那么小编同时在网上汇集了一些对于“biee 报表””的相关内容,希望大家能喜欢,兄弟们一起来了解一下吧!

报表是信息项目中非常重要的部分,甚至是项目决策者最关心的功能,也是项目验收前最后一步工作。能否为客户提供功能满意、性能优异的报表,是项目完美收官的关键。

在早期,软件开发一个人就可以搞定。目前,软件规模越来越大,功能越来越复杂,开发工作需要一个团队来完成。开发团队中一般由系统架构师、前端开发、后端开发、测试等人员组成,但大多没有独立的报表开发人员。报表开发的职责由前端和后端开发人员共同完成,前端负责报表形式设计,后端负责读数据并显示,同时处理用户交互功能。

专业的报表开发工作会归入商业智能(BI)或数据分析团队,但BI或数据分析的工作又不仅仅是报表,数据可视化和数据挖掘建模才是重点。BI这种高大上的技能,用在软件开发的报表制作上有点大材小用,BI毕竟是可以应付多个异构数据源整合的。

软件开发人员来开发报表有点勉为其难,而且还会拖累项目经理,因为报表开发有两道难过的坎儿。一个坎儿是客户无法给出明确的需求,增加项目经理和客户沟通的成本;另一个坎儿是显示速度,随着数据量的增加,报表显示速度越来越慢。

那么,为什么软件开发人员不能很好地处理这两个问题呢?

软件开发主要处理CRUD(增删改查)的功能,属于OLTP(联机事务处理)的范围。报表属于OLAP(联机分析处理)范围。两者使用的技术不同,后者需要用到BI中的ETL和立方体建模技术。一般软件开发人员不掌握这方面的技术。

关于这两个问题,还可以参见我的另外两篇文章"软件项目开发中为什么报表的需求最难满足"、"报表统计计算速度太慢,有没有提升的专业方法?"。

综上所述,在信息项目开发中,报表开发不能和其它功能一样,用同样软件开发人员、开发工具和开发技术,而应该分开处理。用专门人员、工具和技术–包括外包–来做好报表开发工作。

报表和查询不同。查询结果显示的是最小粒度的明细数据,而报表显示的是经过聚合计算(如求和、计数、平均值等)的数据。本文中报表也可称为统计报表。

此处的报表,是嵌入软件项目的报表,不是独立报表系统,也不是需要采购Cognos、BO、BIEE进行二次开发的报表。对于BI开发团队来说,报表开发是一种嵌入式BI开发项目,而不是独立BI项目。

作为专业的报表开发服务,可以四种方式整合的软件项目中:

1、 独立程序,完成数据读取与报表显示,以WebService方式部署,可以由主程序通过URL调用

2、 功能与上面相同,提供源程序,可以打包在主程序中编译

3、 数据API接口,以WebService方式部署,提供RESTful API接口访问数据,由主程序中报表程序调用URL访问,返回JSON格式数据。

4、 利用报表工具,如开源的JasperSoft,用Jaspersoft Studio进行交互设计,发布到JasperReport Server,主程序直接调用URL就可显示报表

其中第3种方式只有数据,没有程序。第1、2种方式开发中使用的UI控件和设计风格要和主程序一致。

报表的开发不需要对程序实现的业务流程全面了解,但需要对数据库结构和数据进行剖析。该工作的大量精力是花在数据库剖析和数据核对上。

标签: #biee 报表