Nodes

A Node is the runtime Environment for Applications. Nodes exist in an Environment and are managed by Hosts. When managed by a Host, a Node runs in its own OS process and JVM. You can configure a Host with multiple Nodes. Nodes act as sandboxes for Applications.

The reasons to use multiple Nodes include:

  • Increase throughput.
  • Run different versions of software and limit the set of affected Application fragments when updating software versions.
  • Allow Applications to use different Resource Instance configurations of the same name.
  • Enable fault tolerance.
  • Implement various security policies by limiting access to certain Nodes and resources.

The reasons to share a node include:

  • Share Resource Instances between Applications such as thread pools and database connection pools.
  • Communication between components in a Node avoids serialization overheads.
  • Reduced overall memory utilization.

Application fragments are components or bindings of an application that are distributed and deployed to Nodes. A fragment can be distributed to many Nodes, and a single Node can run many fragments. To increase throughput for a component or binding you can deploy multiple copies of the fragment to multiple Nodes.

A Node has a set of product and features shared by Resource Instances and Application fragments running on the Node. You can upgrade or downgrade the features to match the feature versions to those available in the software repository.

SystemNode
The Node on which the Administrator server runs is named SystemNode. A SystemNode is a special node on which you deploy the Administration application to manage the enterprise.
RemoteNode
In an enterprise, a node that is managed by a RemoteHost is a RemoteNode.
To ensure stability of the ActiveMatrix Administrator, it is critical to avoid deploying any user Application to SystemNode. The same rule applies to replicated ActiveMatrix Administrator like SystemNodeReplica in a high-availability Enterprise.

The following figure depicts a configuration of Environments, Hosts, and Nodes that shows the flexibility achieved with a multi-Node setup. The two Environments are assigned to groups of users that have responsibility for a specific phase of the application life cycle: Development and Production. Isolation between the groups is achieved by creating two Nodes on each Host and assigning them to different Environments. Nodes A and B are located on Host 1 and Nodes C and D are located on Host 2. Nodes A and C are managed by the Development Environment and Nodes B and D are managed by the Production Environment. In addition, access to a JDBC resource is restricted to the Nodes in the Production Environment.
Multiple Node Scenario