Informatica PowerCenter Tutorial: Architecture Diagram & Components
⚡ Smart Summary
Informatica PowerCenter follows a service-oriented architecture built from a domain, nodes, the Repository Service and the Integration Service. This page explains each component, how the admin console configures a domain, and how clients reach sources and targets.
Informatica PowerCenter Architecture
The overall architecture of Informatica PowerCenter is a Service Oriented Architecture (SOA). The Informatica ETL tool architecture consists of the following services and components:
- Repository Service – Responsible for maintaining Informatica metadata and providing access to it for other services.
- Integration Service – Responsible for the movement of data from sources to targets.
- Reporting Service – Enables the generation of reports.
- Nodes – Computing platform where the above services are executed.
- Informatica Designer – Used for creation of mappings between source and target.
- Workflow Manager – Used to create workflows and other tasks and to run them.
- Workflow Monitor – Used to monitor the execution of workflows.
- Repository Manager – Used to manage objects in the repository.
The diagram below shows how these client tools, application services and nodes fit together inside a single PowerCenter installation.
Informatica Architecture Diagram
Version note: the Reporting Service above belongs to older releases. Informatica dropped support for the Reporting Service, the Reporting and Dashboards Service and Data Analyzer in version 10.1.1, advising a third-party reporting tool instead.
Informatica Domain
Informatica Domain is the fundamental administrative unit in the Informatica tool. It is a collection of nodes and services. Further, these nodes and services can be categorized into folders and sub-folders based on the administration requirement.
For example, in the below screenshot, you can see under the domain window that the folder “Domain_Rajesh” is created, under which we have created a node named “node01_rajesh” and services as “guru99 integration services”.
Domain in Informatica
Node is a logical representation of a machine inside the domain. A node is required to run services and processes for Informatica.
You can have multiple nodes in a domain. In a domain, you will also find a gateway node.
The gateway node is responsible for receiving requests from different client tools and routing those requests to different nodes and services.
There are two types of services in a domain:
- Service Manager: Service Manager manages domain operations like authentication, authorization, and logging. It also runs application services on the nodes as well as manages users and groups.
- Application Services: An application service represents the server specific services like integration service, repository service, and reporting service. These services run on different nodes based upon the configuration.
Domain Configuration in Informatica
As mentioned earlier, the domain is the basic administrative control in Informatica. It is the parent entity which consists of other services like integration service, repository service, and various nodes.
The domain configuration can be done using the Informatica Administrator console. The console can be launched using web browsers, as shown below.
Once open in a web browser, it prompts for administrator login. The password is set during the Informatica installation.
After logging in to the Informatica domain, the home page looks something like this.
In the left pane, it shows the existing nodes, repository services, and integration services under the domain.
On the main window, it shows the status of those services, whether those are up or down.
Properties of Domain in Informatica
Click on the properties menu in the admin page to view the properties of the domain, shown in the screenshot below.
Properties of Domain in Informatica
Below are the key properties of Domain in Informatica:
| Property | What it controls |
|---|---|
| Resilience timeout | If any of the integration service or repository services goes down, resilience timeout is the number of seconds the application service tries to connect to those services. |
| Restart period | The maximum number of seconds the domain spends to restart a service. |
| Dispatch mode | The policy used by the load balancer to dispatch tasks to various nodes. |
| Database type | The type of database on which the domain is configured. |
| Database host | Hostname of the machine on which the domain is configured. |
| Database port & name | The database port and the database instance name for the domain. |
These properties can be modified based upon requirement.
Informatica PowerCenter Repository
PowerCenter repository is a relational database like Oracle, Sybase, or SQL Server, and it is managed by the repository service. It consists of database tables that store metadata.
There are four Informatica client tools available in Informatica PowerCenter:
- Designer
- Workflow Manager
- Workflow Monitor
- Repository Manager
These clients can access the repository using the repository service only.
To manage a repository there exists an Informatica service called Repository Service. A single repository service handles exclusively only one repository. Also, a repository service can execute on multiple nodes to increase the performance.
The repository services use locks on the objects, so multiple users cannot modify the same object at the same time.
You can enable version control in the repository. With the version control feature, you can maintain different versions of the same object.
Objects created in the repository can have the following three states:
- Valid: Valid objects are those objects whose syntax is correct according to Informatica. These objects can be used in the execution of workflows.
- Invalid: Invalid objects are those that do not adhere to the standard or rules specified. When any object is saved in Informatica, it is checked whether its syntax and properties are valid or not, and the object is marked with the status accordingly.
- Impacted: Impacted objects are those whose child objects are invalid. For example, in a mapping, if you are using a reusable transformation and this transformation object becomes invalid, then the mapping will be marked as impacted.
Repository Service in Informatica
The Repository Service in Informatica maintains the connections from PowerCenter clients to the PowerCenter repository. It is a separate multi-threaded process, and it fetches, inserts and updates the metadata inside the repository. It is also responsible for maintaining consistency inside the repository metadata. The screenshot below shows how the service sits between the clients and the repository database.
Repository Service in Informatica
Integration Service in Informatica
Integration service is the executing engine for Informatica; in other words, this is the entity which executes the tasks that we create in Informatica. This is how it works:
- A user executes a workflow.
- Informatica instructs the integration service to execute the workflow.
- The integration service reads workflow details from the repository.
- Integration service starts execution of the tasks inside the workflow.
- Once execution is complete, the status of the task is updated, that is, failed, succeeded or aborted.
- After completion of execution, a session log and a workflow log are generated.
- This service is responsible for loading data into the target systems.
- The integration service also combines data from different sources.
For example, it can combine data from an Oracle table and a flat file source.
So, in summary, the Informatica integration service is a process residing on the Informatica server, waiting for tasks to be assigned for execution. When we execute a workflow, the integration service receives a notification to execute the workflow. Then the integration service reads the workflow to know details such as which tasks it has to execute, which mappings are involved and at what timings. Then the service reads the task details from the repository and proceeds with the execution.
PowerCenter Client & Server Connectivity
Both services above are reached from the desktop client tools, which need two separate network paths.
PowerCenter client tools are development tools which are installed on the client machines. PowerCenter Designer, Workflow Manager, Repository Manager, and Workflow Monitor are the main client tools.
The mappings and objects that we create in these client tools are saved in the Informatica repository which resides on the Informatica server. So the client tools must have network connectivity to the server.
On the other hand, the PowerCenter client connects to the sources and targets to import the metadata and source/target structure definitions. So it also must have connectivity to the source/target systems.
- To connect to the integration service and repository service, the PowerCenter client uses TCP/IP protocols.
- To connect to the sources and targets, the PowerCenter client uses ODBC drivers.
Sources & Targets
Informatica being an ETL and data integration tool, you will always be handling and transforming some form of data. The input to our mappings in Informatica is called the source system. We import source definitions from the source and then connect to it to fetch the source data in our mappings. There can be different types of sources, and they can be located at multiple locations. Based upon your requirement, the target system can be a relational or flat file system. Flat file targets are generated on the Informatica server machine, which can be transferred later on using FTP.
Relational – these types of sources are database system tables. These database systems are generally owned by other applications which create and maintain this data. It can be a Customer Relationship Management database, a Human Resource database, and so on. To use such sources in Informatica, we either get a replica of these datasets, or we get select privileges on these systems through SQL.
Flat Files – Flat files are the most common data sources after relational databases in Informatica. A flat file can be a comma separated file, a tab delimited file or a fixed width file. Informatica supports any of the code pages like ASCII or Unicode. To use the flat file in Informatica, its definitions must be imported in the same way as we do for relational tables.








