|

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.

|