Framework and Architecture
The key components within the ActiveMQ MPX framework are messaging engine components, publisher components, and subscriber components. Some components both subscribe and publish.
Messaging engine component | The MPX Message Broker is the primary messaging engine, providing “unicast” messaging. |
Publisher components | The publisher components send messages to messaging engines, which forward those messages to the appropriate subscriber components. For example, the MPX Event Transmitter and MPX File Transmitter are publishing components. |
Subscriber components | The subscriber components receive only those messages to which they have subscribed. Subscriber components receive messages through TCP/IP from the MPX Message Broker. StarTeam clients can receive and cache event messages. |
The following presents an overview of the ActiveMQ MPX system architecture for event messaging. Depending upon the individual needs of a particular site or facility, there may be several MPX-enabled server configurations and MPX Message Brokers serving many clients.
The following present an overview of the ActiveMQ MPX system architecture for file transmission. In the first, a single MPX Cache Agent is operating on its own server, servicing check-out requests for two MPX Cache Agent-aware clients. Depending upon the individual needs of a particular site or facility, there may be several MPX-enabled server configurations, MPX Message Brokers, Root MPX Cache Agents, and Remote MPX Cache Agents serving many clients.
You can organize MPX Cache Agents hierarchically or “tiered” to support distributed teams and improve performance over slow or unreliable network connections. It also allows MPX Cache Agents to forward request “misses” and to “catch-up” with content that was missed during network or process outages. An example of tiered MPX Cache Agents is depicted in the next figure
The tiered caching capability requires the operation of a specially-configured MPX Cache Agent known as the Root MPX Cache Agent. The Root MPX Cache Agent operates directly on a server configuration’s vault. It can execute on the same computer as the server process or on another computer, as long as it has direct access to the vault. The Root MPX Cache Agent also requires access to the journal file (CacheJournal.dat) maintained by the MPX File Transmitter. The journal file provides the information needed by the Root MPX Cache Agent to access individual file revisions.
In the next figure, one Remote MPX Cache Agent is operating on its own computer and is being used by two clients. While all file revision transmissions are broadcast by the MPX File Transmitter, the fact that the Remote MPX Cache Agent is “tiered” to the Root MPX Cache Agent allows cache misses and catch-up requests to be forwarded to the Root MPX Cache Agent from the Remote MPX Cache Agent.
MPX Cache Agent can operate on the same computer as a client. This is especially useful for check-out intensive clients such as build applications, because the presence of a local MPX Cache Agent provides maximum performance for major check-out operations, especially those done with the Bulk Checkout (bco) command-line utility. See the StarTeam Cross-Platform Client online help for more information about this utility which improves check-out speeds both with and without MPX Cache Agent’s help.