1. BIRT 概述
BIRT是一個Eclipse-based開放源代碼報表系統。它主要是用在基于Java與J2EE的Web應用程序上。BIRT主要由兩部分組成:一個是基于Eclipse的報表設計和一個可以加到你應用服務的運行期組件。BIRT同時也提供一個圖形報表制作引擎。
使用BIRT,能制作出多樣化的報表到你的應用中。比如:列表 lists ,圖表 charts,混合報表 Compound Reports,交叉表(二維表)Crosstabs(二維報表目前在BIRT 2.1.1 還未實現,但在以后的版本中將會實現此功能)。
2. BIRT的安裝
2.1>birt的安裝
Eclipse 3.1 支持 BIRT 2.0
Eclipse 3.2 支持 BIRT 2.1
目前我使用的版本是BIRT 2.1.1,BIRT的安裝有很多的方法。
方法一:
到Eclipse的官方網站http://download.eclipse.org/birt/downloads去下載 BIRT 插件(birt-report-designer-all-in-one-2_1_1),解壓后,它就是一個擁有 BIRT插件的Eclipse。如果你已經安裝了Eclipse,那么把下載的文件夾的內容拷到所對應的 Eclipse 的文件夾里(plugins和features兩個目錄),之后的第一次啟動是通過DOS進入到Eclipse目錄,啟動 Eclipse -clean 命令,此命令是清除 Eclipse 緩存里的記錄并啟動Eclipse。這也是最簡單的安裝BIRT方法。
方法二:
BIRT 2.1開始,可以在 Eclipse 里直接下載。[幫助]à[軟件更新]à[查找并安裝]
方法三:
如果你的 Eclipse 已經安裝或者不想使用方法一安裝,可以進行分別安裝的方法。EMF, GEF 和 BIRT 都是需要通過 Eclipse download page下載的。請注意以下的配置要求:
- BIRT 2.0.2
- Eclipse 3.1
- GEF 3.1.
- EMF 2.1.
- JRE 1.4.2/JRE 1.5.
- BIRT 2.1/2.1.1
- Eclipse 3.2.
- GEF 3.2.
- EMF 2.2.
- JRE 1.4.2/JRE 1.5.
- BIRT 2.2M4 and higher
- Eclipse 3.3.
- GEF 3.3.
- EMF 2.3.
- JRE 1.5.
GEF:圖形編輯框架,是一個通過 BIRT UI 使用的Eclipse 插件
EMF:用來制作圖表的框架
具體的安裝和配置請參考 Eclipse官方網站 這里我還推薦一個BIRT 2.0.1的安裝視頻 希望對大家有所幫助。
注意:iTextAsian.jar 是為了支持用PDF輸出時亞洲人的字體。prototype.js 是安裝 BIRT 2.0.2 或者更早的版本使用的,目前版本不需要了。
提示:我個人使用的是方法一,首先安裝比較方便,其次如果使用方法二,在Eclipse [幫助]à[幫助內容] 里沒有關于 BIRT 的幫助文檔,這樣對學習不是很方便。
2.2 birt版本升級
1.刪除在 plugins 目錄下的所有以 org.eclipse.birt 開頭的文件。
2.按照上面的方法一進行安裝。
3.重新啟動 Eclipse -clean
2.3 語言包安裝
目前 BIRT的2.1.1 已經有中文語言包。下載完畢以后把對應的目錄 copy 到對應的 Eclipse 目錄下,然后 Eclipse -clean 啟動。
3. BIRT應用
在這里我提供了一個 “BIRT中文教程”,在Eclipse官方網站也有它的演示視頻,Customers.rptdesign 是做好的報表。
JDBC Drivers
以上例子介紹的是使用“示例數據庫”的數據源,在大多數情況下我們使用的是自己的JDBC driver,下面介紹連接 Oracle 數據庫。
打開 Eclipse 后進入 [窗口]à[打開透視圖]à[報表設計],新建項目 [文件]à[新建]à[項目],選擇“業務智能和報表工具”à“報表項目”,起項目名。新建的項目上,右鍵 新建報表,給報表起名字,報表的后綴名是 .rptdesign
[數據源]à[新建數據源],選擇“JDBC數據源”(別忘了給數據源起名字),“管理驅動程序”à“添加”,把所需要的數據庫 jar 包添加進來。選擇oracle.jdbc.driver.OracleDriver ( v1.0),寫上正確的數據庫 URL,用戶名,密碼,點擊“測試連接”,顯示 連接成功。
報表的種類有很多,具體的制作過程參考[幫助]à[幫助內容]
提示:交叉表即二維報表在目前BIRT 2.1.1 還未實現,但在以后的版本中正在計劃實現此功能。
4. BIRT部署
BIRT 2.1.1所對應使用的部署工具是birt-runtime-2_1_1,可以到 Eclipse 官方網站下載。
4.1. tomcat 部署
我使用的版本是 tomcat 5.5,步驟如下:
1) mail.jar activation.jar拷到Tomcat 5.5\common\lib
2) iTextAsian.jar itext-1.3.jar拷到
WebViewerExample\WEB-INF\platform\plugins\com.lowagie.itext\lib
3) 連接數據庫的包拷到
WebViewerExample\WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.1.1.v20060922-1058\drivers
4) WebViewerExample整個目錄copy 到 Tomcat 5.5\webapps下,可以更改文件夾名。
5) 完成的報表可以直接復制到根目錄下,也可以新建文件夾目錄。
現在BIRT支持兩種瀏覽報表模式,frameset是支持顯示分頁的,采用Ajax技術。run暫不支持顯示分頁,直接輸出HTML流。比較一下它們的區別,如下:
http://localhost:8080/WebViewerExample/frameset?__report=Customers.rptdesign
http://localhost:8080/WebViewerExample/run?__report=Customers.rptdesign
注意:
a) 問號后面的是雙下劃線
b) 以上報表是放在根目錄下,如果是放在自己新建的目錄比如 myreport 下URL應是:
http://localhost:8080/WebViewerExample/run?__report=myreport/Customers.rptdesign
4.2. Weblogic Server 部署
我使用的版本是 Weblogic Server 9.2,它是 BEA WebLogic 產品的一部分。BEA WebLogic Server 是一個功能豐富、基于標準的現成的企業 J2EE應用服務器。
Weblogic Server 有很多的域組成,medrec
和 wl_server 是其中自帶的域,也可以自己創建新的域。域中可以包含許多服務器,在服務器中可以部署許多的應用程序。域有一個默認的服務器,它是管理服務器。每個域中的管理服務器是唯一的,其他創建的服務器叫受管服務器。
Weblogic Server 的安裝就不多做介紹了,主要介紹它的配置和部署。下面介紹一下新建域和部署的步驟:
1) 運行開始 -> 程序 -> BEA Products -> Tools -> Configuration Wizard
2) 選擇 Create a new WebLogic domain,Next。
3) 在 Select Domain Source 界面保持默認,Next。
4) 在 User name 處輸入用戶名,如 user,password 輸入密碼,如12345678(密碼要求 8 位),Next。
5) 在 Configure Server Start Mode and JDK 界面中保持默認,即 JDK 選擇的是“Sun SDK 1.5.0_04 @ C:\BEA\jdk150_04”,注意這里若選擇“Other JDK”配置比 SDK 1.5.0_04 更高的版本,服務器啟動時將會出現異常,所以最好保持默認,然后 Next。
6) 在 Customize Environment and Services Settings 界面中默認為 No,Next。
7) 在 Domain name 處輸入 mydomain,點擊 Create。
8) 完成后點擊 Done 關閉 Configuration Wizard 對話框。
9) 運行開始 -> 程序 -> BEA Products -> User Projects -> mydomain -> Start Admin Server for Weblogic Server Domain,啟動創建域的服務器。如果最后顯示 <Server started in RUNNING mode> 則說明服務器啟動成功。
10) 在地址欄輸入 http://localhost:7001/console 進入管理控制臺,輸入剛才的用戶名和密碼。點擊 更改中心 的[鎖定并編輯],域結構 中的[部署],點擊[安裝]。找到你要部署的應用程序,之后都為默認,最后點完成。在更改頁面上點擊[保存],完成所需的更改后,單擊 更改中心 中的[激活更改]。注意:只有點擊了[激活更改]后才真正保存了更改。某些在管理控制臺中所做的更改在激活后立即生效。有些更改需要重新啟動此更改影響到的服務器或模塊。后面的這些更改稱為非動態更改。非動態更改在管理控制臺中由此警告圖標表示: 如果對非動態配置設置進行了編輯,則只有在重新啟動服務器之后,所有對動態配置設置所進行的編輯才會生效。
11) 點擊 域結構 中的[部署],啟動剛才部署的應用程序。
12) 在地址欄中輸入 http://localhost:7001/部署程序名在web中顯示應用程序。
BIRT的部署方法基本和上面步驟相同,注意一點,在部署前將
commons-logging.jar 拷入 WebViewerExample 中的 lib 包中,否則最后顯示會報錯。
Weblogic Server 的部署方法有很多,weblogic.Deployer、管理控制臺、WLST 等等。剛才介紹的管理控制臺的部署,它是一個可視化的界面,用起來比較方便。
推薦:在這里推薦使用一種應用程序的目錄管理方法,新建目錄結構如下:
部署完后將會再此目錄下自動產生plan.xml文件
|
用此目錄有利于很好的管理配置文件。
關于 Weblogic 的更多詳細資料,我這里推薦幾個比較好的官方學習網站:
www.bea.com.cn bea的產品網站
edocs.bea.com.cn bea的比較系統的學習網站
dev2dev.bea.com.cn 一般介紹bea的最新技術,動態等的網站
4.3. web外觀顯示
部署好的報表頁面顯示樣式是固定的,在多數情況下我們都希望修改外觀,下面將對此做簡單介紹。
Webcontent是主要文件夾:
1) Webcontent中的ajax目錄,完成了在web上顯示的報表分頁的功能。
2) Styles目錄中的style.css是整個報表在web上顯示的外觀,包括工具條顏色,字體。文件注釋很清楚,具體修改可以參見注釋。
3) pages目錄pages/control/ NavigationbarFragment.jsp 分頁那一條工具欄的 JSP pages/control/ ToolbarFragment.jsp 工具按紐JSP,可以修改以保留自己想要使用的功能按紐。pages/control/ ProgressBarFragment.jsp 它是顯示剛開始讀取報表時,顯示條的樣式。
4) Layout目錄 FramesetFragment.jsp 可以修改報表標題。
在 WEB-INF/web.xml文件中,BIRT_VIEW_REPORT_ROOT 是配置報表路徑的屬性,如果沒有配置則是默認路徑:$tomcat$\webapps\birt
目前在web上顯示的所有的都是英文。項目有一個資源文件,打包在lib/viewservlets.jar中,…/…/resource/messages.properties文件中。顯示中文的解決方法是,用unicode轉換器把要顯示的中文事先轉換好,然后替換資源文件中的英文。
5. BIRT總結
BIRT是目前比較常用也是比較方便,效率較高的報表制作工具。當然其發展時間不長,所以還有很多的缺陷和未完善的地方,之后的版本也在不斷改進,因此我也將會一直跟蹤它的技術發展,不斷更新我的文檔。