如果应用程序需要额外的可伸缩性以及修改报表的能力,您可以将报表服务器升级为 RAS,并只需对现有代码稍做更改即可快速迁移应用程序。RAS 提供了 Java Reporting Component 未提供的额外的可伸缩性和报表修改功能。
要迁移 Web 应用程序以使用 RAS,必须首先获得并安装一份 RAS。正确安装并配置了 RAS 后,您将能够迁移 Web 应用程序。
从 Java Reporting Component 到 RAS 的迁移路径因应用程序是否使用 ReportClientDocument 类而异。
如果 Web 应用程序使用 ReportClientDocument 类来获取报表源,则必须更改 JSP 导入语句,以便使用 RAS 命名空间(而不是 Java Reporting Component 命名空间)。
例如,将 com.crystaldecisions.reports.sdk.*
更改为 com.crystaldecisions.sdk.occa.report.application.*
。
ReportClientDocument clientDoc = new ReportClientDocument();
clientDoc.setReportAppServer("SERVERNAME");
注意: 建议您使用 ReportClientDocument 类来查看或导出报表。
如果 Web 应用程序不使用 ReportClientDocument 对象,则必须更改代码,以便使用相应的 RAS 类来代替 Java Reporting Component 类。执行此操作的代码因您使用的是受管理的还是不受管理的 RAS 而异。
下面是原始 Java Reporting Component 代码:
IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
在受管理的环境中,删除导入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
的导入语句。还必须将原始 Java Reporting Component 代码更改为以下形式:
IReportSourceFactory2 rptSrcFactory = (IReportSourceFactory2)enterpriseSession.getService("RASReportFactory");
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
注意: 上面的代码假设您已创建了有效的 enterpriseSession 对象。
在不受管理的环境中,删除导入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
的导入语句。然后,您必须添加一个导入语句,以便导入 com.crystaldecisions.sdk.occa.report.application.reportsourcefactory.RasReportSourceFactory
。此外,必须将原始 Java Reporting Component 代码更改为以下形式:
IReportSourceFactory2 rptSrcFactory = new RasReportSourceFactory();
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
在不受管理的环境中,还必须指定 RAS 服务器的位置。有关指定 RAS 的位置的详细信息,请参阅《报表应用程序服务器 Java SDK 指南》。
Business Objects http://www.china.businessobjects.com 支持服务 http://www.china.businessobjects.com |