<< Click to Display Table of Contents >> Navigation: Technical Guide > Architecture > Producer |
The DTS Producer serves as the data request resolution module of the system.
It is tasked with the following responsibilities:
•Morphs into a specific Connector by including the necessary libraries into its own classpath.
•Registers with the Controller and implements the specific connector configuration it receives from it.
•Receives and resolves data and execution requests routed to it by the Controller using the Connector libraries and provides responses directly to the requesting Clients.
•For certain Connectors (e.g. Smallworld), the Producer must also serve as a Remote Metadata Provider, register with the GUI Controller, and resolve metadata requests.
•Implements communication security protocols.
DTS Producers can also be seen as instances of Connectors. While a Connector, as defined in the Project, represents a logical connection to a data source, a producer is a physical process that implements a connector definition.
In a standard deployment there can be multiple producer instances running inside separate containers. Depending on the scaling configuration and the current load of the system, there can also be multiple active producers for each logical Connector definition.
The Producer communicates with other modules as follows:
•Internal Communications Bus (Redis): The Producer uses the ICB to receive requests routed by the Controller, to respond to Clients and to provide status reports to the Controller.
•Other APIs: The Producer also uses specific APIs for each Connector type to access the respective datasource (e.g. Oracle - ojdbc).