如果我们要了解Java报表的发展史,首先研究一下Java语言的发展历程。1995年5月Sun
Microsysems公司推出Java程序设计语言和Java平台。这种简单的、跨平台的、面向对象的、分布式的、健壮的、安全的语言出现后,全世界的目光都被这个神奇的语言所吸引了。正式这种伟大的革命,基于Java语言的各种软件和工具如雨后春笋般出现。
在报表软件市场JReport、Style Report即是其中两个佼佼者, 然而作为当时报表行业龙头的水晶报表并没有对应的java版本,一大批以前使用Crystal Report开始转向JReport 和Style Report,直到2004年报表市场一直是Crystal Report、JReport和Style Repprt 三足鼎立的局面。这段时间里国产软件帆软和润乾在2001、2002开始开发报表产品,基本是04年后才开始有成型产品问世。
以Style Report 为例,我们来回顾下Java报表发展历程,
-
-
2001年Style Report V4.0 发布定时计划、安全归档等技术,开始专注解决企业级报表问题
-
2002 年Style Report
V 4.5 发布基于web界面的自定义报表技术,解决即席报表问题;
-
2003年 style
Report V5.0 实现基于SOAP JSP的系统集成技术,完成企业环境下异构系统间的集成;
-
2004年 Style
Report V6.0 发布基于OLAP ROLAP的数据分析技术,逐步向商业智能领域开始拓展。
-
2005年Style Report
V7.0 基于行列对称扩展的复杂报表技术;同年,基于参数流的报表控制技术,将数据填报及工作流机制引入报表系统。
-
2007年 Stle Report
V8.0实时数据分析(数据混搭)专利技术
-
2009年 Style
Report V10.0发布多维图表、矢量地图等等数据可视化元素,分布式处理架构实现实时计算和展现的行业难题。
-
2012年,Style Report V11 移动应用、海量数据报表展现技术
而JReport的发展历程也同样是从报表打印数据、web报表应用、OLAP、复杂报表到移动应用,Java报表的功能进化史伴随着客户需求的演进而演进,伴随着技术的革新而进步。国内的Java报表需求有很强烈的中国特色风格---复杂式报表,包含复杂表头、行列对称扩展等等特殊需求也催生了润乾报表的发展和强大。
以上的几个代表厂商都是采用纯Java语言编写的Java报表,除此之外,市场之中还存在另外一种声音: “支持Java的报表工具”。因为Java报表的跨平台性诸多非Java报表厂商逐渐推出支持Java的报表工具,可以在Java程序中调用,这样的产品就比较多了,总的来说包括一类是采用独立报表服务器的Brio、Cognos、和勤,甚至包括大名鼎鼎的Crystal Report,以及另一类在前端有控件的,如数巨报表等。
通行的Java报表软件能够在J2EE环境下提供很好的集成性,而且运行环境比较简单,只有配备JDK即可运行,另外具有高集成性,能够轻松部署在各种操作系统中。它们都包含以下几个功能块:
-
- 数据连接、模型生成:灵活开放的ODBC技术确保报表展现以及设计端能够与多种数据源的实现安全性高速度极快的读取及连通性。另外,数据模型的生成和灵活搭建却因不同的开发商不同给出的解决方案不同,例如Style Report有独立的数据建模器,润乾报表有自己专利的非线性数据模型。
- 报表服务器:一般情况下,报表服务器是个逻辑概念,并没有一个物理的服务器在运行。它是作为应用服务器上的一个应用提交的,或者直接面向应用程序员提交的JAR包。
- 报表设计器:报表开发人员以及设计人员面对的直接操作平台,主要分为流式报表布局以及类Excel的表格式布局方式。不同的Java报表软件采用不同的设计模式,例如style Report采用流式报表布局,润乾主要采用的表格式布局方式,各有优劣,暂且不表。
-
Web报表端:HTML语言的流行,加之Java本身的交互性特性促成了web报表应用成为必然趋势。
-
OLAP多维数据分析:随着数据分析的需求逐渐增加,报表的需求不仅仅是静态的展现,当然这只是java报表的发展趋势,不并不是所有的java报表都能做到,即使产品在宣传中生成实现,而实际应用起来相当粗浅。
- 报表输出、打印:java报表数据需要各类表格样式(交叉表、嵌套表、列表);支持各种图表(如柱图、饼图等等);各种导出格式(包括excel、csv、pdf、xml等)
- 二次开发、集成:提供开放的API借口,根据客户的个性化需求进行个性化定制和开发、并且支持各种功能块扩展。
此外,随着终端用户对报表交互的需求,即席报表成为作为Java报表软件里不可或缺的一部分应用。当然对于大型的企业级用户,报表安全、监控、计划任务、集群等等企业级应用的特殊需求也让Java报表的功能逐渐完善。
随着HTML5的盛行和应用,报表的移动应用也逐渐成为必需;随着企业级数据的海量式增长速度,对大数据量处理和展现的需要也同样成为Java报表共同面临的难题。任何一类产品的进步都伴随着技术的革新以及客户逐渐理性的需求而成长,Java报表必将如此。
分享到:
相关推荐
【基于J2EE平台的动态报表设计与应用研究】这篇论文主要探讨了在J2EE平台上如何...这一研究对于提升J2EE环境下报表应用的水平,特别是对于军事后勤信息化有着重要的实践指导价值,有助于推动Java报表技术的发展和应用。
本书主要聚焦于JasperReports这一流行的Java报表库,旨在帮助Java开发者学习如何使用该工具来创建、设计、格式化和导出报表。JasperReports是一个开源的Java报表引擎,因其灵活性和强大的功能而受到广泛欢迎。本书...
Java 美发店连锁系统开发项目周报表 本周报表记录了软件学院 Java 美发店连锁系统开发项目的进度情况和指导记录。该项目旨在开发一个美发店连锁系统,涵盖了系统设计、开发和测试等多个方面。 软件学院毕业设计...
在这个场景下,我们可以理解为用户需要了解如何追踪报表数据的变化,以便理解业务的发展趋势,或者找出数据异常的原因。 描述中提到的“博文链接:https://benny1012.iteye.com/blog/368971”,这是一个IT技术分享...
在描述中提到的博客链接指向了作者SpringDawn2003在iteye上的一个博客文章,这可能是一个详细的教程或者技术分享,讨论了如何使用该框架来快速开发报表。通常,这类框架会提供API接口、模板引擎和预定义的样式,以便...
1. Java语言在电能表自动抄表系统中的应用:该文档讨论了基于Java语言开发的自动抄表系统,Java作为一种编程语言,因其跨平台性、面向对象、安全性高等特点被广泛应用在各种系统开发中。在本项目中,使用Java可以...
此外,文档还会讨论如何利用Java的MVC(Model-View-Controller)设计模式,分离业务逻辑和视图展示,提高代码的可读性和维护性。同时,文档可能涵盖如何实现RESTful API,以便与其他系统进行集成。 在实现阶段,...
- **发展历程**:自2001年发布以来,JasperReports已经成为Java开发领域中最受欢迎的报表解决方案之一。版本3.5进一步优化了性能,增强了对复杂报表设计的支持。 #### 2. **Java开发者视角下的JasperReports** - ...
在【内容】部分,论文进一步详细讨论了以下几点: 1. **系统需求分析**:首先,需要收集和整理需求信息,了解当前人事管理的需求,包括员工信息管理、考勤、薪酬计算等,这是设计系统的基础。 2. **Java和管理信息...
Java系列课程还包括了其他进阶课程,如Java编程技术基础、WEB技术应用开发、J2EE导论、Struts编程框架、课程设计、J2EE持久化编程技术、Spring轻量级编程框架以及JBPM工作流与报表引擎等,这些课程涵盖了Java开发的...
- **TheServerSide**:专注于JAVA服务器端技术的讨论平台。 - **JavaBlogs**:活跃的JAVA博客站点。 - **JGuru**:JAVA技术问答社区。 - **Builder.com**:包含JAVA在内的多种技术文章。 - **IBM DeveloperWorks ...
本文主要讨论了如何利用Java技术,特别是JSP/SERVLET和JDBC,来解决异构数据库访问的问题。 1. **Java技术在数据库访问中的应用** - **JSP/SERVLET**: Java Server Pages (JSP) 是一种用于创建动态网页的技术,它...
它可以集成到任何Java应用程序中,包括Web应用,支持多种数据源,如数据库、XML、Web服务等。报表引擎使用基于模板的模型,允许设计人员使用拖放界面创建报表布局,然后在运行时填充实际数据。 3. **3D报表实例**:...
本文档主要讨论了银行报表平台系统的设计和实现,旨在提供一个现代化、科学化的银行报表管理解决方案。系统管理员可以通过该系统进行银行报表数据管理,包括负债表管理、角色管理、用户管理、部门管理、权限管理、...
本文将围绕基于Java Web技术的图书管理系统展开讨论,包括系统分析、需求分析、设计与实现等方面。 首先,对于系统的可行性分析,我们可以从经济、技术和社交三个方面进行探讨。经济可行性方面,图书馆管理系统的...
Java论坛管理系统是一种基于Java语言开发的网络应用程序,旨在提供一个完整的论坛平台,用于用户之间的交流、讨论和分享。该系统具有以下主要特点和功能: 用户管理:支持用户注册、登录、个人信息管理等功能。用户...
本文介绍了一种基于Java语言的ATM系统设计方案,详细讨论了系统的需求分析、整体架构设计、数据库设计以及功能模块的设计与实现。 该ATM系统的主要功能包括但不限于: - **系统初始化**:包括初始化设置和初始数据...
【JAVA工资管理系统设计】 ...通过这个课程设计,学生不仅可以提升Java编程能力,还能掌握软件开发流程,包括需求分析、设计、编码、测试和文档编写,这对于未来从事IT行业的职业发展具有重要意义。
活跃的社区支持也是开源项目成功的关键,用户可以通过讨论、提问和贡献代码来共同推动项目的发展。 以上是通用数据查询与报表打印系统开源源码涉及的主要技术领域和知识点,通过这些技术,开发者能够构建出一个强大...
在信息技术飞速发展的今天,物流行业的信息化建设已经成为提高效率、降低成本的关键。本项目聚焦于“基于Java的物流信息网站设计”,旨在利用Java这一强大且广泛应用的编程语言,构建一个高效、可靠的物流信息管理...