Oracle Reports Services Communication Architecture
Oracle Reports replaces the use of Borland's VisiBroker with Sun Microsystems' industry-standard Java Developer's Kit Object Request Broker (JDK ORB), providing support for Reports Server requests from clients across subnets, and using the broadcast mechanism for dynamic Reports Server discovery both within a subnet and across subnets.With Oracle Reports 11g Release 1 (11.1.1), you can use the built-in broadcast mechanism, available out-of-the-box, for dynamic discovery of Reports Servers. You can also choose to use the Common Object Service (COS) naming service orbd, provided by Sun Microsystem's JDK ORB, for Reports Server discovery.
Note:
It is recommended that you use the built-in broadcast mechanism for dynamic discovery of Reports Servers. Use the Common Object Service (COS) naming service for Reports Server discovery only when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:- You plan to install Oracle Reports on a machine that is connected to a network using VPN.
- You want to avoid broadcast traffic on your network.
Note:
Oracle Reports 11g Release 1 (11.1.1) contains rwdiag
executable to provide diagnosis for the JDK ORB implementation. Using rwdiag, you can replace the functionality of osfind available in the prior VisiBroker implementation, providing information about which ORB applications are running and options for logging ORB-related network traffic2.3.4.1 Server Discovery Using the Broadcast Mechanism
With the broadcast mechanism, Reports Server discovery can occur within a subnet or across subnets:
Note:
The Oracle Reports built-in broadcast mechanism requires the host machine to be inside a network. Thus, following are two scenarios in which the broadcast mechanism may not work, including the solutions for each scenario:- If the host machine is not in a network (that is, it is a standalone machine).
Solution for Windows platform: Install the MS loopback adapter, as described on the Microsoft Web site (http:\\microsoft.support.com). Then, specify an IP address for your machine (either XP or Windows 2000), as follows:
- On your desktop, right-click My Network Places, and choose Properties.
- Right-click the MS loopback adapter, and choose Properties.
- In the Properties dialog box, select Internet Protocol (TCP/IP), and click Properties.
- Select Use the following IP address, and enter a valid IP address. The subnet mask field will automatically populate. Do not use the local host IP (that is, 127.0.0.1). For example, enter: 198.162.1.1.
- Click OK, and follow the instructions displayed.
multicast
element with thenamingService
element in the network configuration file (rwnetwork.conf)
. - If the host machine is connected to a network through VPN.
Solution for both Windows and UNIX platform: Configure the discovery mechanism to disable the built-in broadcast mechanism and enable the COS naming service instead, by replacing themulticast
element with the namingService element in the network configuration file (rwnetwork.conf)
, as described in Section 2.3.4.1, "Server Discovery Using the Broadcast Mechanism".
2.3.4.1.1 Server Discovery within a Subnet
Within a subnet, the client broadcasts a packet with the name of the Reports Server to which it wants to connect. A Reports Server with that name will respond if it exists in the network. The client then connects to the Reports Server to run the report request.
Figure 2-2 Server Discovery within a Subnet
Description of "Figure 2-2 Server Discovery within a Subnet"
server=rep_server
, the following numbered steps map to the numbers in Figure 2-2:getServerRef
- The Oracle Reports client (for example,
rwclient
,rwservlet
, orrwrqm
) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the namerep_server
. - The server with name
rep_server
in the network responds back with its Interoperable Object Reference (IOR). - The client converts the IOR to an object reference.
- The Oracle Reports client (for example,
runReport
- The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
executeReport
- Reports Server executes the report and returns either report or status.
2.3.4.1.2 Server Discovery Across Subnets
Oracle Reports provides the Oracle Reports Bridge mechanism for connecting two or more non-secured subnets. An Oracle Reports Bridge running in one subnet will contact Oracle Reports Bridge running in another subnet to obtain Reports Server references. For configuration details, refer to Oracle Reports Bridge Configuration Elements.
Figure 2-3 Server Discovery Across Subnets
Description of "Figure 2-3 Server Discovery Across Subnets"
server=rep_server
, the following numbered steps map to the numbers in Figure 2-3:getServerRef
- The Oracle Reports client (for example,
rwclient
,rwservlet
, orrwrqm
) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the namerep_server
.
- The Oracle Reports client (for example,
bridge1
intercepts the packet and passes it tobridge2
.registerServerRef
bridge2
broadcasts the packet indom2
, andrep_server
indom2
responds back with the Interoperable Object Reference (IOR).bridge2
passes the IOR back tobridge1
, andbridge1
passes it to the client using the broadcast mechanism.- The Oracle Reports client converts the IOR to an object reference.
runReport
- The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
executeReport
- Reports Server executes the report and returns either report or status.
Note:
Numbers in blue color in Figure 2-3 are shown for the case where the Oracle Reports client is in dom2
and Reports Server is in dom1
.2.3.4.2 Server Discovery Using the COS Naming Service
Alternatively, you can use the JDK-provided Common Object Service (COS) naming service to access a Reports Server in the same subnet, as well as across a non-secured subnet. To configure the naming service, refer to Section 8.5.1, "Network Configuration Elements".
Note:
It is recommended that you use the built-in broadcast mechanism for dynamic discovery of Reports Servers. Use the Common Object Service (COS) naming service for Reports Server discovery only when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:- You plan to install OracleAS Reports Services on a machine that is connected to a network using VPN.
- You want to avoid broadcast traffic on your network.
Figure 2-4 Server Discovery Using the COS Naming Service
Description of "Figure 2-4 Server Discovery Using the COS Naming Service"
registerServer
- When rep_server is started, it registers itself with the naming service, which must be up and running for the server to start. Now a request is run with
server=rep_server
.
- When rep_server is started, it registers itself with the naming service, which must be up and running for the server to start. Now a request is run with
getServerRef
- The Oracle Reports client contacts the naming service and requests a reference to
server rep_server
. - The naming service returns the reference to server rep_server.
- The Oracle Reports client contacts the naming service and requests a reference to
runReport
- The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
executeReport
- Reports Server executes the report and returns either report or status.
Note:
Numbers in blue color in Figure 2-4 are shown for the case where the Oracle Reports client is in dom2
and Reports Server is in dom1
.
Footnote Legend
Footnote 1: Only synchronous jobs and jobs that are currently running are lost in this case.
No comments:
Post a Comment