A node is a java process that can have one or more instances of the run-time components.
The node performs the following functions:
Manages the controller instances that run on it.
Interacts with the UM store and the grid manager to provide the communication channel for the run-time components.
Keeps the application service instances independent and decoupled from each other.
Manages the lifecycle of components.
Handles serialization and deserialization of objects.
Authenticates and authorizes requests to the exposed APIs.
Provides synchronous communication between the grid manager and controller instances and between the controller instances.
Provides a uniform API-level support for queue-related operations, such as transparent queuing and dequeuing, irrespective of the underlying transport by the Ultra Messaging layer.
Responds to the ping requests by the grid manager with heartbeat notifications and run-time metrics of the process, so that the grid manager can make effective load-balancing decisions.