reports services

32
<Course name> <Lesson number>-1 Copyright © Oracle Corporation, 2001. All rights reserved. [Delete from Title Master] Set correct lesson number in the Title Master. Version: OU5_1.ppt Released: 06_JULY_01 Oracle9iAS Reports Services: Deploy Internet Reports Oracle9iAS Reports Services: Deploy Internet Reports.

Upload: horgaran

Post on 27-Nov-2014

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reports Services

<Course name> <Lesson number>-1

Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Title Master]

Set correct lesson number in the Title Master.

Version: OU5_1.pptReleased: 06_JULY_01

Oracle9iAS Reports Services: Deploy Internet Reports

Oracle9iAS Reports Services: Deploy Internet Reports.

Page 2: Reports Services

<Course name> <Lesson number>-2

1-2 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Objectives

After completing this eClass you should be able to do the following:• Configure Oracle9iAS Reports Services for optimum

performance• Manage Oracle9iAS Reports Services with Oracle

Enterprise Manager• Enable Oracle9iAS Reports Services Security with

Oracle9iAS Portal• Deploy reports using Oracle9iAS Reports Services

After this eClass you should be able to configure Oracle9iAS Reports Services to achieve optimum performance, use Oracle Enterprise Manager to manage and configure Oracle9iAS Reports Services, use the Oracle9iAS Portal interface to administer Oracle9iAS Reports Services Security, and finally you learn how to deploy and run reports using Oracle9iAS Reports Services.

Let’s move to Topic 1.

Page 3: Reports Services

<Course name> <Lesson number>-3

1-3 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring Oracle9iAS Reports Services

• Introducing Oracle9iAS Reports Services Architecture

• Configuring Oracle9iAS Reports Services Server• Configuring Oracle9iAS Reports Services Servlet

This topic discusses the Oracle9iAS Reports Services Architecture, followed by configuring an Oracle9iAS Reports Services Server, and the Oracle9iAS Reports Services Servlet. Let us begin by looking at the Oracle9iAS Reports Services Architecture.

Page 4: Reports Services

<Course name> <Lesson number>-4

1-4 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]JSP Runtime Architecture

Oracle HTTP Listener

mod_OC4J

JSP Engine

Oracle9iAS Reports Services

CORBA/IIOP

ReportsEngine

PDS

OID

HTTP

CORBA/IIOP

LoginServer

Oracle9iASPortal

Page 5: Reports Services

<Course name> <Lesson number>-5

1-5 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Servlet Runtime Architecture

Oracle HTTP Listener

mod_OC4J

Reports Servlet

Oracle9iAS Reports Services

CORBA/IIOP

ReportsEngine

PDS

HTTP

CORBA/IIOP

mail

PrintFax

OID

LoginServer

PersistentReportsCache

Oracle9iASPortal

Page 6: Reports Services

<Course name> <Lesson number>-6

1-6 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring Oracle9iAS Reports Server

• Configuring the Oracle9iAS Reports Services Server instance– ORACLE_HOME\reports\conf\<server_name>.conf– ORACLE_HOME\reports\dtd\rwserverconf.dtd

• Configuring the Server instance in Reports Builder– ORACLE_HOME\reports\conf\rwbuilder.conf– ORACLE_HOME\reports\dtd\rwserverconf.dtd

All reports are run via the Reports Server. The Oracle9iAS Reports Servers need to be configured. The Reports Builder too includes a built-in Reports Server and needs to be configured. The slide shows you the path and name of both Reports Servers. The configuration file for the Oracle9iAS Reports Services server is server_name.conf and for the builder it is rwbuilder.conf. The DTD file for both is rwserverconf.dtd - so the XML configuration files must adhere to the rules defined in this DTD file.

Page 7: Reports Services

<Course name> <Lesson number>-7

1-7 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Server

<server><compatible version="6i"/>

…<persistFile filename="your_filename.dat"/>

…</server>

rep9isvr.world = (ADDRESS=(PROTOCOL=tcp)(HOST=host.company.com)(PORT=1949)

)

tnsnames.ora

Every Reports Server configuration file i.e. the Reports Server in Oracle9iAS Reports Services and that in the Reports Builder, has as its root the <server> element. The Oracle9iAS Reports Services Servers alone have the compatible element. The compatible element is available for backward compatibility with Reports 6i clients. When compatible is set to 6i, the Reports Server will make use of the executable file, named rwproxy, that listens for requests from a 6i client and forwards them to a 9i server. If you use the compatible element, you must also have an entry for the Reports Server in your tnsnames.ora file.

The persistFile element identifies the file that records all job status information. If you do not specify a file, the server will create one of its own. You can have only one persistFile per server. The persistFile is persistent so the file remains intact even when the server is restarted. ThepersistFile is a binary file, and therefore can only be used by Oracle9iAS Reports Services. The showjobs command line option uses the persistFileto display job information.

Page 8: Reports Services

<Course name> <Lesson number>-8

1-8 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Server

<server>…

<cache class="oracle.reports.cache.RWCache"><property name="cacheSize" value="50"/><property name="cacheDir" value="your cache directory"/>

</cache>…

</server>

Megabytes

The cache element specifies the Java class that defines the server’s cache implementation. You can have as many property name/value pairs as needed by your cache implementation class. The default cache Java class settings looks as you see on the slide. The cache size is specified in Megabytes. Cache directory specifies the location of the cache. You enter a standard directory path for this value.

Page 9: Reports Services

<Course name> <Lesson number>-9

1-9 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Server

<security id="rwSec" class="oracle.reports.server.RWSecurity">

<property name="securityUserid"value="portal_id/portal_password@portal_schema" confidential="yes" encrypted="no"/>

</security>…

<destination destype="oraclePortal" class="oracle.reports.server.DesOraclePortal">

<property name="portalUserid" value="portal_id/portal_password@portal_schema"

confidential="yes" encrypted="no"/></destination>

The security element specifies the Java class that controls server access. The default security class provided with Oracle9iAS Reports Services relies on using the Oracle9iAS Portal interface to administer Reports Services security. During the initial setup you specify the username, password and portal_schema name for the securityUserid property. Confidential is set to yes and encrypted is set to no. Since confidential was set to yes - when the Reports Server is started, the value for securityUserID in the configuration file is encrypted and the encrypted property will be changed to yes. This prevents anyone from seeing the username, password, and portal schema values after the server is restarted.

Destinations are also setup using the server configuration file. There is no need to register default destinations other than Oracle9iAS Portal. You need to enter the Oracle9iAS Portal userid, password, and schema information in a destination element in the configuration file. Again this information is encrypted following the Reports Server startup since confidential is set to yes. The encrypted attribute will be changed to yes following encryption.

Page 10: Reports Services

<Course name> <Lesson number>-10

1-10 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Server

<engine id="rwEng" class="oracle.reports.engine.EngineImpl"initEngine="1" maxEngine="1" minEngine="0" engLife="50"maxIdle="30" callbackTimeOut="60000"> … </engine>

<engine id="rwURLEng" class="oracle.reports.urlengine.URLEngineImpl"initEngine="1" maxEngine="1" minEngine="0" engLife="50"maxIdle="30" callbackTimeOut="60000"/>

<job jobType="report" engineId="rwEng" securityId="rwSec"/><job jobType="rwurl" engineId="rwURLEng"

securityId="rwSec"/>

You must have at least one engine element in your configuration file. The engine attribute specifies the Java class that implements the engine. The default implementation settings are shown on the slide. The initEngine attribute specifies the number of engines that are started at initialization. The maxEngine attribute specifies the maximum number of engines of this type that can run on the server. The minEngine attribute specifies the minimum number of this type of engine that should be active on the server. The engLife attribute specifies the number of jobs the engine can run before the engine is terminated. The maxIdle attribute specifies the number of minutes of allowable idle time before the engine is shut down, provided the current number of engines is higher than minEngine. The callbackTimeOut specifies the number of mSec of allowable waiting time between when the server calls the engine and the engine calls the server back.

The first engine on the slide is the engine to run reports. The second engine is the URL engine. The job elements indicate the functionality of each engine. The first job element specifies that the rwEng is for the purpose of running reports. The second job element specifies that the rwURLEng is for the purpose of running rwurl or URL Engine jobs.

Page 11: Reports Services

<Course name> <Lesson number>-11

1-11 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Server

<jobStatusRepository class="oracle.reports.server.JobRepositoryDB">

<property name="repositoryConn"value="scott/tiger@orcl" confidential="yes"encrypted="no"/>

</jobStatusRepository>…

<pluginParam name="mailServer">your_mail_server.company.com

</pluginParam>…

<trace traceFile="your_file.trc" traceOpts="trace_all"traceMode="trace_append"/>

The jobStatusRepository element specifies the Java class that implements a job status repository. This job status repository is stored in a table in the database. The job status repository is persistent, so each job is appended to the table. The username, password and schema are encrypted when the Reports Server is restarted since the confidential is set to yes. Following encryption the encrypted attribute will be set to yes.

The pluginParam element is used for pluggable components of Oracle9iAS Reports Services. The slide shows you the plugin parameter used to include your mail server. Substitute your outgoing SMTP mail server for your_mail_server.company.com on the slide.

The trace element is used to create a file for tracing your report’s execution and to specify the objects and activities you want to trace. Trace-all for traceOpts, logs all possible server and engine information in a trace file. The trace_append for traceMode will append the trace information to the end of the existing trace file.

Page 12: Reports Services

<Course name> <Lesson number>-12

1-12 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Configuring the Reports Servlet

CGINODIAG=YESTRACEOPTS=TRACE_ALLSERVER_IN_PROCESS=yesSERVER=<reports_server_name>IMAGEURL=http://<web_server>:<port>/servlet/rwservletRELOAD_KEYMAP=NO

ORACLE_HOME\reports\conf\rwservlet.properties

Configuring the Reports Servlet is done in the rwservlet.properties file. Let us take a look at a typical rwservlet.properties file. The CGINODIAG parameter equals YES is used to ensure that command line information is not included with the error message. Trace options are set using the TRACEOPTS parameter - TRACE_ALL logs all possible runtime information on the Reports Servlet and JSPs in the trace file. To run the Reports Server in the same process as the Reports Servlet set SERVER_IN_PROCESS to YES. You can specify the default Reports Server using the SERVER parameter. If the Reports Server is a member of a server cluster, use the cluster name.

The IMAGEURL parameter specifies the reports servlet information which is used to retrieve dynamically generated images such as charts.

The RELOAD_KEYMAP parameter is used to specify whether to reload the key map file (cgicmd.dat) for each report request. This may be useful if you update your key map file often. However, the runtime performance will be affected if the key map file is reloaded for every request.

Page 13: Reports Services

<Course name> <Lesson number>-13

1-13 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Managing Oracle9iAS Reports Services

• Maintaining Oracle9iAS Reports Services• Accessing Oracle9iAS Reports Services Security• Optimizing Oracle9iAS Reports Services

Performance

This topic discusses managing Oracle9iAS Reports Services. You learn how to monitor, configure and optimize Oracle9iAS Reports Services. You also learn how to use Oracle9iAS Reports Services security to secure your reports and connection strings. Let us look at maintaining Oracle9iAS Reports Services.

Page 14: Reports Services

<Course name> <Lesson number>-14

1-14 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Maintaining Oracle9iAS Reports Services

xAdministration

xConfiguration

xPerformance

xRe-run Report

xxDelete current job

xxView cached output

xxxJob queue

Job Status Repository

showjobsOracleEnterpriseManager

(OEM)

You have several tools to maintain Oracle9iAS Reports Services. You can use Oracle Enterprise Manager also called OEM, the showjobs command line option and the Job Status Repository.

OEM provides the following benefits

1. Control the server (start, stop and restart)

2. Monitor server activity

a) server metrics such as CPU load, memory usage, and average response time

b) queue information

c) trace information

3. Edit server configuration

With the showjobs command line option, you can look at job queue information and view cached output. You can also delete current jobs.

With the Job Status Repository, you can query job queue information since the information is stored in a database table.

Page 15: Reports Services

<Course name> <Lesson number>-15

1-15 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Integrating Reports Server with OEM

<targets><target type="oracle_repserv" name="your_repsvr"><property name="password" value="tiger"

encrypted="true"/><property name="host" value="host.company.com"/><property name="server" value="your_repsvr"/><property name="servlet" value="http://host.company.com

/servlet/rwservlet"/><property name="userName" value="scott"/><property name="oracleHome" value="ORACLE_HOME"/>

<compositeMembership><memberOf type="oracle_ias" name="IAS-1"/>

</compositeMembership></target>

… </targets>

targets.xml

In order for you to manage a Reports Server using OEM, you need to include the information in the targets.xml file. The slide shows you an example. The target type for a Reports Server is oracle_repserv. You include the Reports Server name in the name attribute. You will need to include the reports servlet information and the reports host machine information. You will also need to include the username and password information for the Reports Server. For a secure server, this is the username and password you entered in the security element in the<server_name>.conf file. This is used for comparing usernames and passwords between OEM and the Reports Server when shutting down the Reports Server via OEM. The password will be encrypted after you restart OEM.

Page 16: Reports Services

<Course name> <Lesson number>-16

1-16 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Viewing Job Information

• Job id• Job type• Job name• Job status - click to view output or delete job• Job owner• Output type, and output name• Server name• When queued, started, and finished

http://host.company.com/servlet/rwservlet/showjobs?server=your_repsvr&statusformat= [ html | xml | xmldtd ]

Showjobs command line option

The showjobs command line option provides you job queue information. You need to specify the Reports Server you want query. The information that can be obtained with this command is shown on the slide. After you run the showjobs command line in the URL - you can view the cached output of a completed job by clicking on the job status column of a completed job. You can delete a job that is running by clicking on the job status column of a job that is currently running. The default statusformat for showjobs is html. You can also get an XML and XML with the inline DTD using the xml and xmldtd statusformat options respectively.

Page 17: Reports Services

<Course name> <Lesson number>-17

1-17 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Viewing Job Information

• Job id, Job type, and Job name• Status code, and status message• Command line• Owner• Destype, and Desname• Server• When queued, started, and finished• Last run, and next run• Repeat interval, and repeat pattern• Cache hit, and cache key

select * from RW_SERVER_QUEUE;

Job Status Repository

The job status repository is stored in the rw_server_queue database table. This table is created by running the rw_server.sql script in the ORACLE_HOME\reports\sql directory. The database table is updated each time a job request is submitted. The job status repository answers questions such as the status of a report that has been submitted, how many concurrent users there are on the Reports Server. The job type indicates whether the job listed is current, past or scheduled. Since this is in a table, you can use this as a data source to create your own reports on Reports Server utilization.

Page 18: Reports Services

<Course name> <Lesson number>-18

1-18 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Accessing Oracle9iAS Reports ServicesSecurity

<server_name>.conf

<security id="rwSec" class="oracle.reports.server.RWSecurity"><property name="securityUserid" value=“scott/tiger@orcl"confidential="yes"encrypted=“no” /></security>

Oracle9iAS Portal RepositoryReports Server

scott/tiger@orcl

Access Control Information

RegisterReportsServers

RegisterReports

RegisterPrinters

AvailabilityCalendars

OID

OracleLoginServer

Oracle9iAS Reports Services security is accessed via the Oracle9iAS Portal interface. Oracle9iAS Reports Services security is turned on when the security element is configured in the server_name.conf file. This specifies the Portal securityUserid and schema that is used to maintain the security information within Oracle9iAS Portal. The Oracle9iAS Reports Services Security page shown within Oracle9iAS Portal provides you an interface to register Reports Servers, Reports, Printers and Availability Calendars. This Application Security information is stored within the Oracle9iAS Portal Repository. The connection strings to access data sources are stored in the Oracle Internet Directory, also called OID.

When a report is to be executed the Reports server checks application security, that is if this user is allowed to run this report at this time on this server and print to this printer etc, against the Oracle9iAS Portal Repository. If it is permissible, the Reports Server gets the connection strings to the various data sources for this user from the OID.

Page 19: Reports Services

<Course name> <Lesson number>-19

1-19 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Optimizing Oracle9iAS Reports Services Server Performance

SlowerFasterPerformance

IndependentReports ServletLocation

Must be startedAutomatic with jobStarting Up

YesNoCluster

Server_In_Process=no(rwservlet.properties)

Server_In_Process=yes(rwservlet.properties)

Setting

Stand-AloneServer

In-ProcessServer

CORBA / IIOP

Reports Server

Reports Servlet

Reports ServerReports Servlet

Optimizing Oracle9iAS Reports Services Server performance. The Reports Server can be in the same process as the Reports Servlet or communicate with each other using CORBA invocations. With in-process server support, the servlet and the server are in the same process. The communication between the two takes place with normal Java function calls. This makes the in-process server much faster than the stand-alone server. In addition the In-process server starts automatically when a job is received. Thestand-alone server must be started before jobs can be submitted. The in-process server cannot be a member of a cluster but the stand-alone server can be.

To choose the in-process server setting, set Server_In_Process=yes in the rwservlet.properties file. For stand-alone server set Server_In_Process=no.

Page 20: Reports Services

<Course name> <Lesson number>-20

1-20 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Tuning the Reports Engine

Server host machine slow

Not necessary

High constant load

High constant load

High constant load - max #CPUx4

High constant load

Higher Value

Not necessary30 (mins)

maxIdle

Low loads50 (jobs)

engLife

Low loads1maxEngine

Low loads0minEngine

Server host machine fast

60000 (mS)

callBackTimeOut

Low loads with occasional peaks

1initEngine

Lower ValueDefaultParameter

Tuning the Reports Engine. Here are some points to remember - Report engines take memory, it takes time to start an engine, the more an engine is reused it can lead to memory leaks and faster the machine the faster the communication between the Reports Server and the engine.

Bearing these in mind, the more engines that are up and running the faster the response time but it uses more memory. The choice depends on the load, for a high constant load you would need more engines running. For low loads with occassional peaks, you can have fewer engines running. For high constant loads it is better to have the maxEngine and minEngine close together to prevent engines from starting up and shutting down in high volume situations.

Page 21: Reports Services

<Course name> <Lesson number>-21

1-21 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Improving Performance using Peer-Level Clustering

• Caches report output locally• Shares report output among cluster members• Distributes job requests equally among members• Has no single-point-of-failure

<connection …><cluster publicKeyFile="ORACLE_HOME\reports\server\yourpubkey" privateKeyFile="ORACLE_HOME\reports\server\yourprikey"/></connection>

java oracle.report.utility.KeyManager <public_key_file_name> <private_key_file_name>

<server_name>.<cluster_name>.conf

You can improve performance by using Peer-Level clustering. Peer-Level clustering caches the report output on each server but shares the output among cluster members. Jobs are distributed equally among all members of the cluster and has no single-point-of-failure.

To setup a peer-level cluster, you need to create a new public key and a private key. You use the command shown on the screen to create these keys. Each server in the cluster must have the same public and private keys in the server configuration file. The reports servers are then restarted after the configuration files have been changed.

Page 22: Reports Services

<Course name> <Lesson number>-22

1-22 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Optimizing Cache Access

• Using the cacheSize value– Large cache sizes may slow searches

• Using the tolerance command line parameter– Balance the need for current information versus time

to rerun report

• Using the expiration command line parameter– Balance the need for current information, cache file

space, and time to rerun report

<cache class="oracle.reports.cache.RWCache"><property name="cacheSize" value="50"/><property name="cacheDir" value="your cache directory"/>

</cache>

Optimizing cache access. The cache element in the server configuration file specifies the cache settings. The default cache size is 50MB. Larger cache sizes will take longer to search the cache but too small a value will not allow you to store much in the cache.

You can use expiration and tolerance with rwclient, rwservlet and rwcgi.

Use tolerance to set the maximum acceptable time for reusing a report’s cached output when a duplicate job is detected. Setting the time tolerance on a report reduces the processing time when duplicate jobs are found. However, you need to balance the need for current information versus the time to rerun the report. If tolerance is not specified, then Oracle9iAS Reports Services reruns the report even if a duplicate report is found in cache.

Use expiration to define how long the report output can exist in cache before it is deleted. Again here, you will need to balance the need for current information, cache file space, and time to rerun the report. If expiration is not specified then Oracle9iAS Reports Services re r ns the

Page 23: Reports Services

<Course name> <Lesson number>-23

1-23 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Running Reports using Oracle9iAS Reports Services

• Accessing Oracle Internet Directory for authentication

• Deploying reports using Oracle9iAS Reports Services

• Enabling Key Mapping

This topic discusses running reports using Oracle9iAS Reports Services. We discuss using OID for authentication, deploying reports with Oracle9iAS Reports Services and using Key Mapping.

Page 24: Reports Services

<Course name> <Lesson number>-24

1-24 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Accessing Oracle Internet Directory for authentication

1. Enter users into the OIDa. Manuallyb. Batch upload with OID tool

2. Enter data source connection strings for each usera. Give users access to the Oracle Delegated

Administration Service (DAS) tool of OIDb. Give each user the URL which includes the ssoconn

command line parameters

Now that pluggable data sources have been introduced with Oracle9iAS Reports Services, the need for Single-Sign-On authentication to all data sources must be satisfied. This is done with OID. Before the OID can be used, users need be entered. This can be done manually or if you have some other LDAP compliant directory you can use an OID tool to populate the directory.

Entering data source connection strings can be done either by providing users access to the Oracle Delegated Administration Service (DAS) tool of OID or thru a dummy URL with the ssocon command line parameter setup by the OID administrator for each user. With the ssocon parameter users login to the data sources the first time and that information is recorded in the OID for subsequent access.

Page 25: Reports Services

<Course name> <Lesson number>-25

1-25 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Deploying Reports using Oracle9iAS Reports Services

• JavaServer Page (JSP)– Must be in a directory accessible by the Web Server

• Servlet– Must be in the REPORTS_PATH

• CGI– Must be in the REPORTS_PATH

Deploying reports using Oracle9iAS Reports Services. JSPs must be placed in a subdirectory of the web server root. Servlets must be accessible in the REPORTS_PATH. To run a report using CGI it must be in the REPORTS_PATH. .

Page 26: Reports Services

<Course name> <Lesson number>-26

1-26 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Submitting a Report Request to Oracle9iAS Reports Services

Use one of the following to submit a report:• Rwclient command line

• URL (servlet, JSP, or CGI)• Oracle9iAS Portal• PL/SQL API - SRW.RUN_REPORT

rwclient report=paperwl.rdf userid=hr/hr@orcl server=repsvr destype=file desformat=pdf desname=client.pdf

Submitting a report request to Oracle9iAS Reports Services. You can use the rwclient command line option as shown on the slide. Rwclientinterfaces with the Reports Server directly. You can use a URL as shown earlier. You can use Oracle9iAS Portal to run a report using Oracle9iAS Reports Services. You can also use the SRW.RUN_REPORT API to submit a report to Oracle9iAS Reports Services.

Page 27: Reports Services

<Course name> <Lesson number>-27

1-27 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Running a Report via the Reports Servlet

http://host.company.com:port/servlet/rwservlet?server=your_repsvr&report= report_name.rdf&userid=hr/hr@orcl&destype=cache&desformat=htmlcss&paramform=yes

Report Parameters Enter values for the parameters P Lastname

http://host.company.com:port/servlet/rwservlet?my_key

Put my_key information in cgicmd.dat

• Using the complete URL

• Using a key in the key map file to provide default report parameters

Running a report via the Reports Servlet. You can specify the complete URL as shown on the slide. You can also use a key and specify the parameters for the key in the cgicmd.dat file. The Reports servlet runs paper reports only.

Page 28: Reports Services

<Course name> <Lesson number>-28

1-28 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Running a JSP-based Report

http://host.company.com:port/examples/report_name.jsp?server=your_repsvr&userid=hr/hr@orcl

<rw:report id="report" parameters="server=your_repsvr&userid=hr/hr@orcl">

…</rw:report>

http://host.company.com:port/examples/report_name.jsp

• Using the complete URL

• Using the parameters attribute of the report tag to provide default report parameters

Running a JSP report. You can use the URL as shown on the slide to run a JSP report. You can also use the parameters attribute of the rw:report tag to specify default parameters. You can also use a key mapping with the key parameters specified in the cgicmd.dat file.

Page 29: Reports Services

<Course name> <Lesson number>-29

1-29 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Advantages of Key Mapping

• Shortening the URL• Changing runtime commands without affecting URL• Standardizing typical run configurations• Hiding sensitive information such as passwords• Restricting the parameters that can be used

Key mapping provides many advantages - it shortens the URL, you can change runtime commands without affecting the URL, you can standardize on typical runtime configurations within a company, you can hide sensitive information such as usernames and passwords. You can also restrict the parameters that can be used.

Page 30: Reports Services

<Course name> <Lesson number>-30

1-30 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Enabling Key Mapping

• Specify file with REPORTS_CGIMAP environment variable or use CGICMD.DAT in ORACLE_HOME\reports\conf

; JSPsBarcodeWeb: server=repsvr userid=hr/hr@orclParmformJSP: server=repsvr userid=hr/hr@orclChartHyperlink: server=repsvr userid=hr/hr@orcl

;PaperReportsXMLdata: server= repsvr userid= hr/hr@orcl report=Inventory.rdf

destype=cache desformat=PDF P_FileLocation="FILE://D|/examples/XML_PDS/scripts/"

Enabling Key Mapping. If you do not specify a file using the REPORTS_CGIMAP environment variable, the cgicmd.dat file in ORACLE_HOME\reports\conf is used by default.

Some key mappings in a cgicmd.dat file are shown on the slide.

Page 31: Reports Services

<Course name> <Lesson number>-31

1-31 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Using Key Mapping

• With servlet-based reports– Use http://…/rwservlet?keyname– Must be the first value in the query string

• With JSP-based reports– Use http://…/myreport.jsp?cmdkey=keyname– Can be anywhere within the query string– Can also be used with servlet-based reports

Key mapping provides many advantages - it shortens the URL, you can change runtime commands without affecting the URL, you can standardize on typical runtime configurations within a company, you can hide sensitive information such as usernames and passwords. You can also restrict the parameters that can be used.

Page 32: Reports Services

<Course name> <Lesson number>-32

1-32 Copyright © Oracle Corporation, 2001. All rights reserved.

[Delete from Slide Master]Summary

In this course, you should have learned to:• Configure Oracle9iAS Reports Services• Manage Oracle9iAS Reports Services • Enable Oracle9iAS Reports Services Security• Tune Oracle9iAS Reports Services for optimum

performance• Deploy reports using Oracle9iAS Reports Services