Tuesday, November 13, 2012

Oracle Reports 11g Services Communication Architecture


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.
This section discusses the two methods of Reports Server discovery
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 traffic

2.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:
  1. 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:
    1. On your desktop, right-click My Network Places, and choose Properties.
    2. Right-click the MS loopback adapter, and choose Properties.
    3. In the Properties dialog box, select Internet Protocol (TCP/IP), and click Properties.
    4. 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.
    5. Click OK, and follow the instructions displayed.
    Solution for UNIX platform: Configure the discovery mechanism to disable the built-in broadcast mechanism and enable the COS naming service instead, by replacing the multicast element with the namingService element in the network configuration file (rwnetwork.conf).
  2. 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 the multicast 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 follows
Description of "Figure 2-2 Server Discovery within a Subnet"
Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-2:
  1. getServerRef
    • The Oracle Reports client (for example, rwclientrwservlet, or rwrqm) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the name rep_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.
  2. runReport
    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
  3. 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 follows
Description of "Figure 2-3 Server Discovery Across Subnets"
Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-3:
  1. getServerRef
    • The Oracle Reports client (for example, rwclientrwservlet, or rwrqm) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the name rep_server.
  2. bridge1 intercepts the packet and passes it to bridge2.
  3. registerServerRef
    • bridge2 broadcasts the packet in dom2, and rep_server in dom2 responds back with the Interoperable Object Reference (IOR).
    • bridge2 passes the IOR back to bridge1, and bridge1 passes it to the client using the broadcast mechanism.
    • The Oracle Reports client converts the IOR to an object reference.
  4. runReport
    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
  5. 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.
To control the COS naming service through OPMN, refer to Section 8.8.1.4, "COS Naming Service Specification"
Figure 2-4 Server Discovery Using the COS Naming Service
Description of Figure 2-4 follows
Description of "Figure 2-4 Server Discovery Using the COS Naming Service"
Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-4
  1. 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 withserver=rep_server.
  2. 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.
  3. runReport
    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).
  4. 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