如果我們要了解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報表必將如此。
轉自:http://inetsoft.blog.51cto.com/1848983/948021