Oracle9iAS Reports Services Publishing Reports to the Web Release 2 (9.0.2) Part Number A92102-01 |
|
Two things to consider when you run a report are how the report should be output (destination) and who should receive it (distribution). Distribution is discussed in Chapter 9, "Creating Advanced Distributions". This chapter explores how Oracle9iAS Reports Services handles output processing to default and custom destinations. It provides an overview of output processing and information on registering destination types with the Oracle9iAS Reports Server.
It includes the following sections:
How the report should be output is controlled by the destypes you specify at runtime, which, in turn, are determined by the destination output types you have registered in your server configuration file (<server_name>.conf). You can register no output types and simply use the default types provided by Oracle9iAS Reports Services:
You can also define a custom output types, such as fax, FTP, Oracle's Internet File System (iFS), or any type you care to define through the Oracle9iAS Reports Services Destinations API. This API enables you to define new destination types and build handlers to usher your reports to custom destinations.
Oracle9iAS Reports Services architecture standardizes the way output is generated and delivered. It takes responsibility for delivering report output to the appropriate destination (via the Reports Server), yet generates output independent of its destination (via the Reports Engine). This provides a significant improvement in efficiency by allowing one run of a report to be used in a number of different ways. It also opens up the output processing architecture to allow for any number of destination types.
In the past, the Reports runtime engine was totally responsible for delivering the output. Consequently, it had to know how to communicate with output destinations. This resulted in a tight coupling between the engine and the supported destinations.
Oracle9iAS Reports Services eliminates this tight coupling and its attendant restrictions. The runtime engine now treats all destinations alike. It doesn't need to know the destination type for which the output is being produced. The server hands output off to destination handlers that prepare the material for delivery to their associated destination types. You can use predefined destination types (with predefined handlers) or create a handler for a custom destination type you intend to support. Almost any type of destination can be plugged into Reports.
Figure 4-1 illustrates the main components of the Oracle9iAS Reports Services output processing architecture.
Requests flow through the output processing architecture in the following sequence:
Before the Oracle9iAS Reports Server can send a report to a particular destination type, the type must be a default type (printer, e-mail, cache, or file) or a type registered in the server's configuration file, <server_name>.conf. The configuration file contains a destination element for registering destination types that are valid for your reports. You can register anywhere from zero to any number of destination types.
Registering a destination type with the server involves:
These tasks are described in the following sections.
To set up a destination section in the <server_name>.conf file:
You'll find the server configuration file in the following directory (Windows and UNIX use the same path):
ORACLE_HOME\reports\conf\<server_name>.conf
<destination destype="output_type_1" class="java_class_1">
<property name="valid_destype_property" value="valid_value"/> <property name="valid_destype_property" value="valid_value"/>
</destination> <destination destype="output_type_2" class="java_class_2">
<property name="valid_destype_property" value="valid_value"/>
</destination>
The valid values for these tags are discussed in the following sections.
The destype and class attributes are required for valid registration of a non-default output type. They specify the destination types and their associated Java classes. The predefined (default) destination types and classes that come with Oracle9iAS Reports Services are listed in Table 4-1:
Contrary to the other default types, you must register an oraclePortal destype. This is because the oraclePortal destype requires the specification of a userid and password for accessing the portal.
You are not limited to the predefined destypes and classes provided with the server. You can register custom destination types, such as a fax or FTP, once you have defined a custom handler (through the Destinations API).
The server configuration file allows the association of an unlimited number of properties with a registered destination. Destination properties consist of name/value pairs that define some aspect of an output type's configuration. They are expressed in terminology recognized by the destination type. For example, a destination with a destype of oraclePortal would recognize the name/value pair:
<property name="portalUserid" value="portal_id/portal_password@portal_schema" confidential="yes" encrypted="no"/>
This example defines the values to be associated with a portal user ID. It includes the attributes confidential and encrypted: confidential="yes"
indicates that the values within this element should be encrypted; encrypted="no"
indicates that the values are not yet encrypted. The next time the Reports Server starts, it will automatically encrypt the values and reset encrypted
to yes
.
Note:
Elements and attributes allowable in server configuration file are determined by the syntax defined in the rwserverconf.dtd file (ORACLE_HOME |
What is valid for a destination type's properties depends entirely on the destination type. These values do not come from Reports and are not put to use by the Reports Server. They come from the destination type itself and use terms the destination recognizes. It is up to the developer to understand the requirements of a custom destination and to know what properties to associate with a given custom output type.
When we begin to discuss distribution, you may note that within the distribution XML file, the destype element also allows for the use of property name/value pairs. It's important to make a distinction between properties entered for a destination element in the server configuration file and those entered for a destype element in the distribution XML file:
|
![]() Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|