# Subscription approach in Ignition to information providers

**URL:** <https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179>\
**Category:** Ignition\
**Created:** [July 29, 2020, 9:10am UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179 "2020-07-29T09:10:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![patricia.mendez](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@patricia.mendez](https://forum.inductiveautomation.com/u/patricia.mendez)\
**Post date:** [July 29, 2020, 9:10am UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179/1 "2020-07-29T09:10:03Z")

</div>

Dear experts,

in my community we have a very well established use case (widely used) which consists on the subscription to existing information servers enabling the collection of information provided by certain hardware devices. The idea consists on a communication system for distributed/mixed environments, that is able to provide a network transparent inter-process communication layer. We use a service-client structure, being the server a collector of information which publishes their services by registering them with the name server (normally once, at startup). While clients “subscribe” to services by asking the name server which server provides the service and then contacting the server directly, providing the type of service and the type of update as parameters. Once the connection has been established, the client just needs to define/bind the collectors of information (In the case of Ignition tags).  
Now from the point of view of Ignition, I do not know how to establish the approach. Ignition should act as the client, who needs to contact to the server via a DNS\_NAME, “see” the information published by that DNS\_SERVER, subscribe to the publisher and collect the information in tags. How does Ignition ensure such a procedure?  
Thanks so much for your help,  
Kind Regards,  
Patricia Mendez

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 29, 2020, 12:33pm UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179/2 "2020-07-29T12:33:46Z")

</div>

You’ll have to write the entire protocol in jython or java (Module SDK), complete with state management. In the module SDK you’d probably want to implement a custom tag provider like Cirrus Link does with their MQTT client.

Or instead of reinventing the wheel, you could just use (the very similar) MQTT protocol.

---

<div class="post-metadata">

**Author:** ![patricia.mendez](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@patricia.mendez](https://forum.inductiveautomation.com/u/patricia.mendez)\
**Post date:** [July 29, 2020, 12:41pm UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179/3 "2020-07-29T12:41:43Z")

</div>

Thanks a lot for the answer. Could you please give me some extra info about the MQTT protocol use in this case?. Is there any documentation or even better any example showing how to use it for this aim and how to apply it in Ignition?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 29, 2020, 12:43pm UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179/4 "2020-07-29T12:43:35Z")

</div>

I think what he’s suggesting is that if you can get your existing systems to publish to an MQTT broker then instead of writing your own Ignition module to bring the data in you can use the existing Cirrus Link MQTT modules instead.

[https://inductiveautomation.com/downloads/third-party-modules/8.0.15](https://inductiveautomation.com/downloads/third-party-modules/8.0.15)

[https://docs.chariot.io/display/CLD80/MQTT+Modules](https://docs.chariot.io/display/CLD80/MQTT+Modules)

---

<div class="post-metadata">

**Author:** ![patricia.mendez](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@patricia.mendez](https://forum.inductiveautomation.com/u/patricia.mendez)\
**Post date:** [July 29, 2020, 1:01pm UTC](https://forum.inductiveautomation.com/t/subscription-approach-in-ignition-to-information-providers/37179/5 "2020-07-29T13:01:51Z")

</div>

I see. OK, I will check the documentation you send me and I come back to you in case of further questions. Thanks a lot  
Patricia
