2. Where to Start

This section tells you about the Engine Interface and how it can be implemented to create your own engine.

2.1 Implementing the EngineInterface

The EngineInterface is the interface used by Report Server to communicate with the default engine and the pluggable engines. You can find the EngineInterface Java API documentation here.

1. init(ORB orb, Trace trace, java.lang.String engName, java.lang.String serverName, java.util.Properties props)

This method is used by the Reports Server to initialize the engine object. It is used to set information like the engine name, server name, trace object and all other engine-related information that is present in the Reports Server configuration file. (server.conf file in the $ORACLE_HOME/reports/config directory).

In the URL Engine example, the init method is used to load the following information:

  • ORB object (used for engine : server communication)
  • trace object (used by the engine to write to the engine trace file)
  • engine name (the engine name is provided in the id attribute of engine element)
  • server name
  • a Properties object that contains information on
    • server cache directory, temp directory, Oracle Home, tracing
    • all extra properties (name:value pairs) present under the engine element

Note: For more information on the structure of the engine element inside the Reports Server configuration file, refer to Integration (Sec 3.2).

2. setEngineComm(EngineComm engineComm, String serverKey)

This method sets the Reports Server : engine communication object and the server access key.

  • engineComm object: This is the object that acts as the communication channel between the Reports Server and your pluggable engine. For example, you can use this object to communicate the following to the server
    • update the job status
    • update the engine state
    • send the output file name and format
  • serverKey: This is the key that the engine will use to authenticate itself before starting a communication with the Reports Server.

3. getKey()

This method returns the engine access key. The engine key is the key that your implementation classes will use to authenticate themelves with the engine before they can access any of the engine methods.

 

 


Copyright © 2002, Oracle Corporation. All rights reserved.