從 Java 報表元件 移轉至 RAS

如果應用程式需要額外的延展性以及修改報表的功能,您就可以將報表伺服器升級為 RAS,並在對現有程式碼進行最少變更的情況下,快速移轉應用程式。RAS 提供了 Java 報表元件 所未提供的額外延展性和報表修改功能。

若要將 Web 應用程式移轉成使用 RAS,您必須先取得並安裝一套 RAS。一旦正確地安裝和設定了 RAS 之後,就可以移轉 Web 應用程式。

從 Java 報表元件 到 RAS 的移轉路徑,是根據應用程式是否使用 ReportClientDocument 類別而有所不同。

移轉使用 ReportClientDocument 類別的應用程式。

如果 Web 應用程式使用 ReportClientDocument 類別來取得報表來源,則您必須將 JSP 匯入陳述式變更為使用 RAS 命名空間,而非 Java 報表元件 命名空間。

例如,將 com.crystaldecisions.reports.sdk.* 變更為 com.crystaldecisions.sdk.occa.report.application.*

您還需要指定 RAS 伺服器的位置。

ReportClientDocument clientDoc = new ReportClientDocument();

clientDoc.setReportAppServer("SERVERNAME");

移轉不使用 ReportClientDocument 類別的應用程式

注意    建議您使用 ReportClientDocument 類別,來檢視或匯出報表。

如果 Web 應用程式不使用 ReportClientDocument 物件,則您必須將程式碼變更為使用適當的 RAS 類別,以代替 Java 報表元件 類別。執行這項作業的程式碼,會依據您所使用的是 Managed 還是 Unmanaged RAS 而有所不同。

以下是原始的 Java 報表元件 程式碼:

IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();

Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

Managed 環境

在 Managed 環境中,請移除匯入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory 的匯入陳述式。您還必須將原始的 Java 報表元件 程式碼變更成以下:

IReportSourceFactory2 rptSrcFactory = (IReportSourceFactory2)enterpriseSession.getService("RASReportFactory");

Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

注意    以上的程式碼假設您已建立有效的 enterpriseSession 物件。

Unmanaged 環境

在 Unmanaged 環境中,請移除匯入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory 的匯入陳述式。然後您必須加入匯入陳述式,來匯入 com.crystaldecisions.sdk.occa.report.application.reportsourcefactory.RasReportSourceFactory。此外,還必須將原始的 Java 報表元件 程式碼變更成以下:

IReportSourceFactory2 rptSrcFactory = new RasReportSourceFactory();

Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

在 Unmanaged 環境中,您還必須指定 RAS 伺服器的位置。如需有關指定 RAS 位置的詳細資訊,請參閱《報表應用程式伺服器 Java SDK 指南》。


Business Objects
http://www.china.businessobjects.com
Support services
http://www.china.businessobjects.com