Architecture

Distributed development of ActiveSpaces® Transactions applications relies on a Domain Manager node to coordinate the deployment and execution of applications to multiple nodes.

To support distributed development the ActiveSpaces® Transactions Deployment Tool (See the section called “Deployment tool”) is configured to connect to a Domain Manager node. The Domain Manager node coordinates all communication to the application nodes.

Distributed Development Architecture

Figure 2.1. Distributed Development Architecture


When an application is executed the main entry point for the application is loaded and executed on all target nodes for the application. The same application is loaded on all application nodes. If the application requires different behavior on different nodes, application logic must provide this alternative behavior.

Once main is started on each application node, each node requests class files as needed based on application execution. This implies that different class files are executed on each node. The standard ActiveSpaces® Transactions class resolution rules are used to locate class files. See the section called “Class resolution” for details.

For example in Figure 2.1, “Distributed Development Architecture”, Node A requests class X from the client, node B requests class Y, and node C requests class Z.

The Domain Manager monitors the execution of the application on all nodes. The deployment tool runs until all application nodes exit. Individual nodes can exit, and new ones can join the distributed application while the program is being executed.