• Non ci sono risultati.

Things to Consider When You Set Up Your System

Nel documento 3 Configuring Oracle9iAS Reports Services (pagine 32-37)

Oracle9iAS Reports Services Architecture

8. The Pluggable Engines are custom engines that use Java APIs to pass jobs to the Reports Server, as well as leverage the server's other features, such as

1.4 Things to Consider When You Set Up Your System

The way you set up Oracle9iAS Reports Services can vary widely depending upon the requirements of your system. Before you set up Oracle9iAS Reports Services, you must make some decisions based upon your requirements. By making these decisions beforehand, you can greatly simplify the set-up process.

The following subsections discuss some of the decisions involved in:

 Choosing the Types of Requests You Will Service

 Choosing Servlet, JSP, or CGI

 Choosing Single- Or Multiple-Machine Configurations

 Choosing Whether to Cluster Multiple Servers

Note: When you configure the Reports Server (in <server_name>.conf), you can specify the maximum number of Oracle9iASReports Engines it can use. If the Oracle9iASReports Server is under this maximum, then it can send the job to an idle engine or start a new engine to handle the request. Otherwise, the request must wait until one of the current Oracle9iASReports Engines completes its current job.

1.4.1 Choosing the Types of Requests You Will Service

Oracle9iAS Reports Services can be configured to accept both Web and non-Web job requests.

In the Web case, you can run reports by clicking or typing a URL in a Web browser.

Depending on the URL, the report output is then served back to you in your browser or sent to a specified destination (for example, a printer). To enable users to launch reports from a browser, you will use either the Oracle9iAS Reports Servlet, a JSP, or Oracle9iAS Reports CGI components with your Web server. One or the other of these components must be present on the Web server to enable communications between it and the Oracle9iAS Reports Server and to enable the processing of report requests from Web clients.

In the non-Web case, you can send job requests using the rwclient executable, installed on each of your user's machines.

From the perspective of configuration, these are the key differences between enabling Web and non-Web requests:

 Enabling Web requests requires that you choose between Reports Servlet, JSP, or the Reports CGI (maintained only for backward compatibility) for the server side, but eliminates the need to install any client software beyond a standard Web browser.

 Enabling non-Web requests requires that you install client software on each machine that will be used to run requests. This introduces the need to administer client software on each client machine.

The Web case is clearly the most cost effective because it reduces client maintenance costs. But there might be cases where launching non-Web requests is a necessity.

Oracle9iAS Reports Services supports the implementation of both Web and non-Web requests in a single deployment environment.

1.4.2 Choosing Servlet, JSP, or CGI

To use Oracle9iAS Reports Services in a Web environment, you must use a servlet, JSP, or CGI implementation. Our recommendation is that you choose servlet or JSP.

The CGI implementation in Oracle9iAS Reports Services is being maintained only for backward compatibility.

Note: For more information, refer to theSection 1.4.2, "Choosing Servlet, JSP, or CGI".

Between servlet and JSP there are additional considerations. A JSP-only implementation means that you can publish a layout that is optimized for Web delivery. The servlet enables you to include paper layouts in your report publishing solution and fully leverage the distribution features of Oracle9iAS Reports Services.

Using the servlet does not imply that you cannot also use JSP files because JSP files can contain both Web and paper layouts. When you run a report stored in a JSP, you specify the servlet in the URL and call the JSP with the command line argument:

report=<myreport>.jsp.

For more information on running reports, seeChapter 8, "Running Report Requests".

1.4.3 Choosing Single- Or Multiple-Machine Configurations

You can place Oracle9iAS Reports Services on the same machine as your Web server or on a different machine. Both scenarios have pros and cons.

For example, while it's true that having Oracle9iAS Reports Services and the Web server on the same machine requires more of the machine's memory and disk space, it's also true that such an implementation reduces network traffic. This is because requests traveling between the Web server and the application server do not have to travel across a network, only incoming requests must do so.

If you are using the in-process server (available only with servlet implementations) you can further amplify the performance advantages of a single machine. The in-process server speeds up processing time by allowing for faster and more efficient communication between Oracle9iAS Reports Services components. We recommend that you use the in-process server unless you will not use the Reports Servlet to deploy reports.

On the other hand, if you have a single machine configuration and that machine fails, everything fails.

While there is a greater amount of network traffic when the Web server and the application server are on different machines, you also benefit from the increase in system resources, in the form of additional CPUs, more disk space, and more available memory. Even in a multiple machine configuration, the in-process server will aid performance by speeding communication between Oracle9iAS Reports Services components

Another possibility is placing your Web server and your application server each on multiple machines. This will require additional configuration, but it allows you to implement load balancing on the Web server.

If you will be deploying reports in multiple languages, you'll want to set up multiple Reports Servers: one or more for each language.

1.4.4 Choosing Whether to Cluster Multiple Servers

A cluster is a virtual grouping of servers into a community for the purpose of sharing request processing efficiently across members of the cluster. Unlike in previous versions, clustering in Oracle9iAS Reports Services is peer-level, rather than master/slave. Peer-level clustering means that all members of the cluster take equal responsibility for sharing and processing incoming requests. Incoming requests are sent to the cluster as a whole rather than any one Reports Server in the cluster. Thus, if one member is shut down, the other members carry on managing the request load. There is no single-point-of-failure, where one machine's

malfunction brings the whole system down.

Each cluster member machine must be configured in more or less the same way to allow a report to run on each server member in the same way. This means that configuration files should have most of the same settings: a distinction can be drawn between job-related settings and machine-related settings. Job-related settings must be the same from cluster member to cluster member. Job-related settings include settings related to security, data sources, and destination types.

Machine-related settings include such attributes as maxEngine, minEngine, maxIdle, initEngine, and the like—these can be different from member to member.

Additionally, for cluster members:

 Server-related environment variables should be set to the same values.

 TNS settings should point to the same databases in the same way.

For servers to be members of the same cluster, they must share a cluster name (appended to each server's server name) and have the same public and private keys.

If your machines require different job-related configuration settings, you will not benefit from clustering.

If you must set your servers up for different languages, you’ll want to set up multiple clusters: one or more for each language.

2

Starting and Stopping Oracle9 i AS Reports

Nel documento 3 Configuring Oracle9iAS Reports Services (pagine 32-37)