IOT V3: Virtual vs. Non-Virtual Agents

How Can We Help?

< Back

In IOT Version 3, Agents – which were formerly known as Stream Objects in Version 2 – have been distinguished as Virtual and Non-Virtual. At the time of packaging, an Agent Developer will have to specify if an agent is virtual or not. This distinction may never be visible to the end user, however, it is very important to make it as it impacts the behaviour of each agent.

Virtual Agent

A Virtual Agent is one which is not bound to a certain environment in order to function, e.g. Azure SQL Listener is an agent which can be configured anywhere as it will always have access to the globally available Azure SQL Server which it needs to integrate with.

Non-Virtual Agent

An Agent is Non-Virtual if the system it is to integrate with is only available in a specific environment, e.g. SQL Server Listener is an agent which can only be configured while it is on the same local area network as the intended SQL Server.

As shown in the diagram above, even though both Virtual and Non-Virtual agents ultimately run on the Stream Host, there is a considerable difference in how they are handled at design time. A Virtual agent can be configured even if no Stream Host is online, but this is not possible for a Non-Virtual one. Virtual agents are also very fast as the engine doesn’t have to go all the way to the Stream Host to configure them and this results into a smoother user experience.

Comments are closed.

This is the legacy version of the XMPro Documentation site. For the latest XMPro documentation, please visit documentation.xmpro.com

X