# Transformer architecture

Here’s the internal architecture of Caplin Transformer:

![Transformer_Internal_Architecture_05](../../images/Transformer_Internal_Architecture_05.png)

Transformer’s a [DataSource application](../datasource/index.md), just like [Liberator](../liberator/index.md) and the [Integration Adapters](../platform-architecture/putting-data-into-the-platform.md) deployed in the Caplin Platform.

* It receives data from other DataSource applications, typically: 
  * Integration Adapters (for example, a Pricing Adapter that feeds Transformer with raw price information),
  * other Transformers (for example, when you have a lot of data transformations to make and you want to split them between Transformers in addition to splitting them between modules within a Transformer),
  * or even a Liberator that publishes data supplied by clients (see [Client publication](../liberator/liberator-client-publication.md)).
* The **Data sink** element of Transformer extracts the incoming data, via the [DataSource API](../datasource/datasource-the-datasource-apis-and-libraries.md).
* The **Central processing** element sends the data for each incoming subject to the relevant [Transformer module(s)](transformer-transformer-modules.md), which execute the specific algorithms that transform the data. Central processing also maintains a cache of the data.
* The amended data is either output to one or more **external applications**, such as databases used to store historical records, or it’s sent back to the Transformer **core**.
* Once back in the core, the **Data source** element sends the amended data out, via the DataSource API, to other subscribing DataSource applications. These would typically be: 
  * Liberator (which pushes the data through to client applications via [StreamLink](../streamlink/index.md)),
  * other Integration Adapters (which would publish the amended data to an external system),
  * or even other Transformers.

---

**See also:**

* Features and Concepts: [Platform Architecture](../platform-architecture/index.md)
* Features and Concepts: [Transformer modules](transformer-transformer-modules.md)
* Features and Concepts: [DataSource concepts](../datasource/index.md)
