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 等等。刚才介绍的管理控制台的部署,它是一个可视化的界面,用起来比较方便。
推荐:在这里推荐使用一种应用程序的目录管理方法,新建目录结构如下:
C:myApplication |
app |
plan |
将你的应用程序放入此目录 |
部署完后将会再此目录下自动产生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是目前比较常用也是比较方便,效率较高的报表制作工具。当然其发展时间不长,所以还有很多的缺陷和未完善的地方,之后的版本也在不断改进,因此我也将会一直跟踪它的技术发展,不断更新我的文档。