適合Java應用的報表解決方案

早在電腦普及之前,純手工打造的報表即已存在。時至今日由於出表要求快、使用者需求多變,開發人員藉由工具協助,才能加快應變的效率。企業對報表的要求已與過去不同,除了提供企業內外部營運資料,更是決策及經營方向的重要參考,企業級專業報表工具應具備的條件,包括支援多種資料格式及資料來源,提供視覺化且功能豐富的設計介面,支援網站技術及開放標準,以降低整合成本並提高報表使用率,集中管理報表的伺服器功能,才能兼具效能及安全性考量。

Style Report支援資料庫、CORBA、EJB、XML及文字檔等多種資料來源,並以類似Word的使用者介面,及支援EJB、CORBA等公開標準,以Servlet的方式部署報表,降低使用者的學習門檻。Style Report報表伺服器可集中控制報表排程及使用者權限,是適合Java應用的報表解決方案,未中文化的介面是較可惜的部分。Query Builder支援多種資料來源

Style Report的報表製作流程,包括以Query Builder連結資料來源並設定查詢條件,並透過Report Designer設計報表版面及樣式,再將報表元件與資料串連,最後部署報表至報表伺服器。

Query Builder支援的資料來源,除了可讀取文字檔及以JDBC連結資料庫外,還可連結CORBA、EJB及XML。以往對於應用程式的EJB及CORBA,無法彈性地整合及篩選資料,必須額外撰寫程式另存至資料庫。Query Builder適合此類進階的應用,可輕易與應用程式連結取得資料,不會破壞現有的系統設計架構,並減少額外程式及資料庫維護成本。

與資料來源串連後,使用者透過「Query Wizard」精靈化的步驟,即可新增查詢(Query)條件。若在查詢中加入多個資料表,Query Builder會自動顯示資料表之間的串連關係,使用者可選擇報表所需的欄位,設定篩選條件、排序及集合(Group),並查看SQL字串,最後以「Preview」預覽執行結果,可確保查詢邏輯的正確性及結果符合需求。Report Designer類似Word的操作介面

Report Designer是Style Report的報表設計工具,提供畫面切割及排版等功能,可設定文字的字型、字體大小、置左、置右、置中或插入圖片,與Word的操作介面頗為類似,以降低使用者的學習門檻。

報表可選擇Tabular、Mail Label、Flow、Bean及Parameter等多種報表格式,Tabular適合內容被切割成多個區域的報表;Mail Label即郵件標籤;Flow是最基本的報表形式,同樣可由表格、文字及圖表各種元素組成,但是無法切割成多個區塊;Bean不是標準的報表,而是報表元件,儲存在bean資料夾可用於其他報表,修改Bean時,所有使用到的報表將自動更正;而Parameter則會跳出詢問視窗供使用者輸入條件,再顯示符合條件的報表內容。

按工具列的「Header」、「Body」及「Footer」,即可設定頁首、報表內容及頁尾,若要設定為表首及表尾,可在元件中設定僅出現一次。使用者可搭配{D}、{P}及{N}等函數,呈現製表日期及頁數等資訊。邊界設定關係到頁首及頁尾的範圍,設定報表外觀時無法以滑鼠拖拉邊界,使用「Page Setup」功能即可縮放邊界。

純文字的報表內容已無法滿足現今多元的分析需求,Style Report在可Body中以圖表、表格及文字等元素呈現資料,圖表包括長條圖、直線圖、曲線圖、圓餅圖甚至3D立體的分析圖。使用者也可在報表中設定條件,例如業績兩萬元以下的營業員資料以紅色顯示,突顯報表中需被關注的異常資料。

報表元件皆可按滑鼠右鍵,以屬性設定調整大小、位置及顏色等特性,外觀設計完成之後,透過「Bind Query」即可選擇預先以Query Builder設定好的查詢條件。在Query Builder設定好的查詢條件,仍可作細部的調整,篩選欄位、設定條件或集合,若以日期作為篩選條件,可使用圖形化的日曆設定日期,Style Report會自動轉換對應資料庫的日期格式,按「Preview」鍵即可檢視報表執行結果。Report Designer支援Java Script,使用者可撰寫程式,設定開啟、初始化及關閉報表時觸發的事件,雖然Style Report的Help提供的說明不多,但有詳細的User Guide文件可參考,例如函數及Script應用的說明,可開啟Script Guide查詢。報表伺服器集中控管,降低管理的負擔

即使報表軟體提供豐富的元件及功能,減少程式開發的苦工,然而完全不寫程式即滿足需求是過於理想化的說詞。企業的應用相當多元,不可能侷限於套裝軟體提供的框架,所以是否提供完整的API,以保留客製化的彈性是值得關注的問題。例如包含參數的報表,Style Report會跳出視窗請使用者輸入條件,若企業希望篩選條件與報表網頁整合,即必須撰寫程式。

Style Report已與Borland JBuilder 6、7、8及9版完全整合,在JBuilder中可透過Style Report API呼叫Report Designer及Query Builder,並撰寫程式碼動態連結資料來源及產生SQL指令,呈現動態報表。其他VB、ASP、Delphi等程式語言,可以HTTP、URL或XML傳遞參數至Style Report產生報表。

為避免使用專屬的技術將增加開發人員的學習成本,Style Report支援J2EE開放標準架構,內建Tomcat應用伺服器,也可搭配支援J2EE 1.3規格的Java View Container,例如JRun 3.0、Borland Application Server 4.5及WebLogic 5.x等應用伺服器,部署報表方式與Servlet相同,5.1版更在Report Designer中圖形化的「Deploy Report」工具,更簡化了部署的步驟。

為集中管理報表,Style Report提供報表伺服器,內建權限管理機制,也可結合LDAP管理使用者,但若應用程式透過資料庫記錄使用者權限,而資料庫不支援LDAP則無法整合。管理者可設定報表排程,利用離峰時間列印報表。報表輸出包括線上瀏覽、寄送電子郵件及印表機輸出等方式,管理者可設定是否授權使用者另存為檔案,輸出格式支援PDF、HTML、Excel、RTF及CSV等。使用者自行客製化較難實現

報表的開發其實是不斷溝通的過程,相較於開發應用程式耗費多數的時間在撰寫程式,報表撰寫程式的比重並不高,反而是測試、驗證及維護的成本最高。除非開發人員相當熟悉業務,否則往往需要使用者協助驗證資料。報表的高維護成本,除了使用者與開發人員之間存在代溝,導致想像與實際成品的差距,而必須不斷地調整,此外,層出不窮的需求更是難以應付。

雖然Style Report強調友善的使用者介面,可交由一般使用者自行設計,減少資訊人員的負擔。但由於介面未中文化,且設定元件屬性及資料查詢條件,對一般使用者而言仍有技術門檻,因此Style Report對於資訊人員而言,確實是方便的設計工具,然而讓使用者自行運用的想法仍過於理想化。

InetSoft網站提供Style Report的教學內容,開發人員只要依樣畫葫蘆即可學會基本的應用,由於Style Report支援EJB及CORBA等資料來源,又與Java開發工具整合,對於著重J2EE應用的企業,是不錯的選擇。文⊙李延華

熱門新聞

Advertisement