General concept
Data Publisher manages the processing chains defined by the users that get data from the modules and publish it to endpoints.
Processing chain
A processing chain is a Data Publisher entity that processes messages of a defined data type. Its definition contains the following main information: - Processing chain name - Input: the data type of the messages to be processed (i.e. one of the data types defined by the modules during the module registration) - Output: one of the defined endpoints
The definition of a processing chain is tenant specific and can be performed through Data Publisher UI.
When a processing chain (e.g. TestChain of tenant 7311ea8c-5d48-43fe-acf9-980eedf24b6c) is activated in Data Publisher:
-
creates an inbound exchange (e.g. x.datapublisher.7311ea8c-5d48-43fe-acf9-980eedf24b6c.TestChain.inbound)
-
binds it to the exchange defined for the processed data type
-
creates an inbound queue (e.g. q.datapublisher.7311ea8c-5d48-43fe-acf9-980eedf24b6c.TestChain.inbound)
-
binds it to the inbound exchange (e.g. x.datapublisher.7311ea8c-5d48-43fe-acf9-980eedf24b6c.TestChain.inbound)
-
and starts consuming the messages
Endpoints
An endpoint is a Data Publisher entity that defines the output for the chains that processes messages in Data Publisher (see also Processing Chain concept). It contains definitions like the endpoint name, the protocol (AMQP 0.9.1, AMQP 1.0 & Kafka), the host and port of the target message broker, authentication information and other protocol specific configurations. The definition of an endpoint is tenant specific and can be created in the UI of Data Publisher. See the Data Publisher User Manual for details.