7.26 Physical Agent Editor

Use to create and define the physical agents.

The agent is the ODI component that orchestrates the run-time execution of ODI scenarios.

It is a Java service which can be placed as listener on a TCP/IP port.

This service allows:

  • execution on demand of jobs (model reverses, packages, scenarios, mappings, and so forth), from navigators.

  • execution of scheduled scenarios, in addition to executions on demand. The physical agent contains a scheduler that allows scenarios to be launched automatically according to predefined scheduling.

The Physical Agent Editor toolbar provides the following menu items:

Menu item Description
View Schedule Displays the agent's schedule.
Update Schedule Updates the agent's schedule.
Test Verifies that the agent is running correctly.
Generate Server Template Starts the Server Template Generation Wizard.
Apply Settings Applies the changes in the agent cache configuration by refreshing them from repository.

The Physical Agent Editor has the following tabs:

7.26.1 Definition

Properties Description
Name Name of the agent used in the user interfaces.

Note: Avoid using Internal as agent name. Oracle Data Integrator uses the Internal agent when running sessions using the internal agent and reserves the Internal agent name.

Host Network name or IP address of the machine the agent has been launched on. In some TCP/IP configurations, it is preferable to specify an IP address (for example, 195.10.10.5) rather than a machine name.
Port Listening port used by the agent. By default, this port is the 20910.
Web application context Name of the web application context defined when deploying this agent in the application server.
Protocol Protocol to use for the agent connection. Possible values are http or https. Default is http.
Maximum number of sessions Maximum number of session allowed on this agent. This value is used when using Load Balancing.
Maximum number of threads Maximum number of threads allowed for all the session executions on an agent. The maximum threads value should be greater or equal to the maximum sessions value.
Maximum threads per session Maximum number of threads allowed per session. If the value is set to 0, no limits per session thread are imposed.
Maximum cache entries Maximum number of session blueprints instances cached in memory. Caching Session Blueprint reduces the corresponding scenario invocation time. Default value is 100; value 0 means no limit on cache size.
Unused Blueprint Lifetime (Sec) Timeout value in seconds indicating the maximum idle time for a cached session blueprint. Default value is 600 seconds. 0 indicates no timeout.

7.26.2 Datasources

Use to define the data servers or the Oracle Data Integrator repositories that you want to manage as Java EE datasources.

When this agent is deployed on a Java EE server, it connects to the datasource specified on this tab.

Properties Description
Dataserver Name of the data server or repository you wish to manage as a Java EE datasource.
JNDI Name Datasource name. This name must match the name in your application server.
JNDI Standard Select JNDI Standard, if you want to use the environment naming context (ENC). If JNDI Standard is selected, Oracle Data Integrator automatically prefixes the datasource name with the string java:comp/env/ to identify it in the Java EE server's JNDI directory.

Note: The JNDI Standard is not supported by Oracle Weblogic Server and for global data sources.


Add DataServer or Work/Execution Repository Dialog

Use to add a DataServer or Work/Execution Repository accessed by this agent using as J2EE DataSources.

7.26.3 Properties

Use to configure properties.

  • Use Pre-Emptive Load Balancing: If checked, each time a session finishes, sessions are re-balanced.

  • Scenario Naming Convention: Defines the default naming pattern for new scenarios created for objects via the Studio or the tools.

  • JDBC Connection Timeout: Specifies number of seconds to wait during database connections. Default: 3000 ms.

  • Rollback All Open Transactions On Step Failure: If checked, all open transactions are rolled back immediately when a step fails. If unchecked, you can commit open transactions via KO path. If session completes in Error, all open transactions are rolled back.

  • Keep Alive Interval in Seconds: Specifies the number of seconds the connection is to be kept alive. The default value is 60 seconds.

7.26.4 Load balancing

Oracle Data Integrator implements load balancing between physical agents.

Each physical agent is defined with:

  • A maximum number of sessions it can execute simultaneously.

  • Optionally, a number of linked physical agents to which it can delegate sessions' executions.

An agent's load is determined at a given time by the ratio (Number of running sessions / Maximum number of sessions) for this agent.

Determining the maximum number of sessions

The maximum number of sessions is a value that must be set depending on the capabilities of the machine running the agent. It can also be set depending on the processing power of the Data Integrator agent.

Delegating sessions

When a session is started on an agent with linked agents, Oracle Data Integrator determines which one of the linked agents is less loaded, and the session is delegated to this linked agent.

If the user parameter "Use pre-emptive load balancing" is in use, sessions are also rebalanced each time a session finishes. This means that if an agent runs out of sessions, it will possibly be reallocated some from another agent.

Notes:

  • An agent can be linked to itself. An agent not linked to itself is only able to delegate sessions to its linked agents, and does not execute a session.

  • Delegation works on cascades of linked agents. Besides, it is possible to make loops in agents links. This option is not recommended.

Agent unavailable

When for a given agent the number of running sessions is equal to its maximum number of sessions, the agent sets incoming sessions in a "queued" status until the number of running sessions falls below the maximum of sessions for this agent.

Setting up load balancing

To set up load balancing:

  1. Define a set of physical agents, and link them to a root agent. More

  2. Start the root and the linked agents.

  3. Run the executions on the root agent. Oracle Data Integrator balances the load of the executions between its linked agents.

Note:

  • The execution agent for a session can be seen in the session editor in Operator Navigator.

  • For load balancing to work between agents, it is necessary to have named the agents, that is start them with the -NAME parameter. More

Properties Description
Linked Indicates if the given physical agent can receive delegated sessions from the current agent.
Agent Name Name of the physical agent that can receive sessions from the current agent.

"Creating a Physical Agent" in the "Setting Up a Topology" chapter in Oracle Fusion Middleware Administering Oracle Data Integrator