Bus, Hub and Agent Architecture Elements
Version management requires processes to be running in the background: bus, hub and agents.
Bus, Hub and Agent Functions
Version management requires processes to be running in the background to be able to manage the active and inactive model versions and back-ups, as well as link access to models: bus, hub and agents.
A bus is a communication component which enables license servers, model servers, client applications and agents to quickly and asynchronously exchange status information. A bus is assigned to precisely one license server.
A hub is used as a central information service, e.g. name resolution for alternative Innovator links to physical models.
An agent monitors model versions in an INOPRJ directory and provides help services:
- Start and close model server for model versions
- Delete model versions
- Determine model versions
- Query running model server for model versions
Schema for communication of bus, hub and agents in the version management
Each model server machine requires its own agents. These agents may access a common INOPRJ directory. This enables servers for model versions to be started on different computers, if required.
Restriction
Access to multiple agents with various license servers to the same INOPRJ directory is not permitted.
Starting Buses
The bus is implicitly started if a license server is not started as a service.
Note
The NATS server is used for executing buses.
If the license server is started as a service, then the bus cannot be implicitly started due to technical reasons. It also needs to be started as a service. The command is inobus. You can enter the license server as an option.
Starting Hubs
There is precisely one hub per license server. This is implicitly started by the license server.
Starting Agents
One agent should normally be installed as a service to act as an aid for the administration program.
If you enter "inoagent" as a command in the respective dialog, then the Innovator installation's variables are used as the necessary parameters. License server, project directory and port can be used via call options if necessary.
Note
The Java Standard Edition (SE) Java 17 and higher must be installed for the agents to work.
The prunsrv.exe program is used for starting an agent as a service.
It is also possible to start an agent in a command prompt or PowerShell.
To do so, call:
java -cp $INOEXE\InoAgent\InoAgent.jar [options] de.mid.innovator.agent.AgentApp
Options:
- de.mid.innovator.inoexe <Innovator programs directory>
- de.mid.innovator.inoprj <project directory>
- de.mid.innovator.inohost <license server>
- de.mid.innovator.inoagent.port <Port> (optional)
- de.mid.innovator.inoagent.logdir <directory for log files>
You can find a call example in the $INOEXE/InoAgent/startAgent.ps1 PowerShell script.
You can also run agents on Linux. Call syntax is identical. You can find an example in the startAgent.sh script in the installation directory.