ODIAgents

2
An agent is a java process which usually located on server and listens to a port for incoming requests. It runs the requested scenario, reverse engineers reques ted datastores etc. When a job submitted through ODI Studio GUI or through startscen.sh agent gets s cenario from work repository and topology definitions from master repository, co mbines and converts them into a runnable job, usually consisting more than one c ode block. Then it sends code blocks to destination environments, which may be D B servers, file servers, hadoop name node etc. Finally agent gets job statuses f rom these environments and writes into work repository tables for us to see from Operator tab of ODI Studio. Standalone Agent It is the basic agent of ODI. It does not require an application server like JEE Agent. It is easy to configure/start/stop this agent from shell. Since today Iâ ve a lways used this agent and never tried other versions. A-Team article says this i s the most light weight and low footprint choice. JEE Agent â Java Enterprise Editionâ agent, which requires an application server, in most documenta tion you can see the name of WebLogic Server since itâ s another Oracle product. (Som e search results: depending on this CertMatrix of Oracle http://www.oracle.com/t echnetwork/middleware/data-integration/odi-11gr1certmatrix-ps6-1928216.xls ODI 1 1.1.1.7.0 only supports WLS and does not support Tomcat or other application ser vers. You may -or may not- configure them to run together but it is not supporte d.) This agent is first delivered with ODI 11g. And still exists in ODI 12c. Some pros of JEE agent which are written in A-Team blog are: High availability : Through Web Logic Serverâ s cluster architecture, even a node is down agents may run on other nodes. Configurable connection pooling : Connection pool can be configured through WLS. Monitoring : Oracle Enterprise Manager can monitor, configure, alert, manage ODI JEE Agents. But I believe, there is a plug-in to be installed to achieve this t asks from OEM. Colocated Agent The newest agent type which has arrived with ODI 12c. This type is like a combo of other two types. Agent is a standalone agent, but can be monitored and config ured through WLS. Unfortunately it does not take advantage of connection pooling , high availability. Our agent will be in WLS domain, can be managed through WLS and thatâ s all. It is lighter than JEE Agent. In my opinion companies which prefers JEE Agent as production agents can choose colocated agent as their DEV/TEST age nt. Where to locate an agent? To decrease network I/O it is better to locate agent to target DB server. Since agent submits code to DB Engine, it is better for them to be on same machine. Do t forget that ODI is an E-LT tool. Which means it will load data into target serve r, then it will transform your data. So most of the load will be on target serve r. Which also means most of the codes will be submitted to target server. Also since an agent is a local java process, agent will write files to the machi ne, which it is set-up on. If you have a file server seperate than DB server, th en it is better to have another agent on file server to handle read/write file p

description

this guide is all about oracle data integrator agents used in odi 12c

Transcript of ODIAgents

An agent is a java process which usually located on server and listens to a port for incoming requests. It runs the requested scenario, reverse engineers requested datastores etc.

When a job submitted through ODI Studio GUI or through startscen.sh agent gets scenario from work repository and topology definitions from master repository, combines and converts them into a runnable job, usually consisting more than one code block. Then it sends code blocks to destination environments, which may be DB servers, file servers, hadoop name node etc. Finally agent gets job statuses from these environments and writes into work repository tables for us to see from Operator tab of ODI Studio.

Standalone Agent

It is the basic agent of ODI. It does not require an application server like JEE Agent. It is easy to configure/start/stop this agent from shell. Since today I�ve always used this agent and never tried other versions. A-Team article says this is the most light weight and low footprint choice.

JEE Agent

�Java Enterprise Edition� agent, which requires an application server, in most documentation you can see the name of WebLogic Server since it�s another Oracle product. (Some search results: depending on this CertMatrix of Oracle http://www.oracle.com/technetwork/middleware/data-integration/odi-11gr1certmatrix-ps6-1928216.xls ODI 11.1.1.7.0 only supports WLS and does not support Tomcat or other application servers. You may -or may not- configure them to run together but it is not supported.) This agent is first delivered with ODI 11g. And still exists in ODI 12c.

Some pros of JEE agent which are written in A-Team blog are:

High availability : Through Web Logic Server�s cluster architecture, even a node is down agents may run on other nodes.Configurable connection pooling : Connection pool can be configured through WLS.Monitoring : Oracle Enterprise Manager can monitor, configure, alert, manage ODI JEE Agents. But I believe, there is a plug-in to be installed to achieve this tasks from OEM.

Colocated Agent

The newest agent type which has arrived with ODI 12c. This type is like a combo of other two types. Agent is a standalone agent, but can be monitored and configured through WLS. Unfortunately it does not take advantage of connection pooling, high availability. Our agent will be in WLS domain, can be managed through WLS and that�s all. It is lighter than JEE Agent. In my opinion companies which prefers JEE Agent as production agents can choose colocated agent as their DEV/TEST agent.

Where to locate an agent?

To decrease network I/O it is better to locate agent to target DB server. Since agent submits code to DB Engine, it is better for them to be on same machine. Don�t forget that ODI is an E-LT tool. Which means it will load data into target server, then it will transform your data. So most of the load will be on target server. Which also means most of the codes will be submitted to target server.

Also since an agent is a local java process, agent will write files to the machine, which it is set-up on. If you have a file server seperate than DB server, then it is better to have another agent on file server to handle read/write file p

rocesses. Or to mount file servers directory to DB server as a directory and setting up only one agent is another solution.

Also these solutions will prevent any firewall related problems