Component Descriptions
This topic provides a short description for each ActiveMQ MPX component.
StarTeam Server
A StarTeam Server can support a number of StarTeam Server configurations, any or all of which can be MPX-enabled. An MPX-enabled server configuration initiates both the MPX Event Transmitter and the MPX File Transmitter. It notifies the MPX Event Transmitter each time a subscribed event occurs, and sends it relevant details about the event.
MPX Event Transmitter
The MPX Event Transmitter broadcasts events of interest to clients. The MPX Event Transmitter formats the event information it receives into XML messages, encrypts them, and publishes them to a Message Broker. Messages are assigned topics so that they can be distributed to clients interested in the accompanying content (server, item type, event type, and so on). The MPX Event Transmitter is installed when you install StarTeam Server.
MPX File Transmitter
The MPX File Transmitter broadcasts file contents and object properties to one or more Remote MPX Cache Agents by means of a Message Broker. Like the MPX Event Transmitter, the MPX File Transmitter is installed when you install the StarTeam Server.
Message Broker
The Message Broker is a publish/subscribe messaging engine that broadcasts messages to subscriber components on a topic basis. It is a stand-alone process that can run on a separate computer to offload network processing overhead in high-volume environments. The Message Broker broadcasts messages to each of its recipients using TCP/IP (unicast) messaging.
The Message Broker receives encrypted XML messages from the MPX Event Transmitter or encrypted content messages from the MPX File Transmitter, and forwards them to the appropriate clients. Information is sent from a Message Broker directly to clients that have connected to that Message Broker through a unicast (TCP/IP) connection profile.
MPX Cache Agent
MPX Cache Agent adds persistent file/object caching. Each MPX-enabled server configuration can have one Root MPX Cache Agent. One or more Remote MPX Cache Agents can be distributed throughout the enterprise.
A Root MPX Cache Agent operates directly on the server configuration’s vault.
A Root MPX Cache Agent handles requests forwarded from Remote MPX Cache Agents for missing files or objects and provides “catch-up” assistance for Remote Caches after network or process outages.
Cache Agent-aware StarTeam clients can fetch files or objects from any available MPX Cache Agent.
By using “network-near” MPX Cache Agents, clients can improve file check-out and object fetch performance and reduce their demands on the StarTeam Server. This frees server resources for additional tasks and users.
StarTeam Clients - Event Transmission
When a client connects to an MPX-enabled server configuration, a connection profile determines which Message Broker the client uses to receive event messages.
Clients benefit from event messages through an enhanced internal cache. This cache subscribes to specific caching message topics, keeping its cached objects up-to-date with respect to the projects and views that the client uses. As a result, several types of object fetching (most notably item refresh) no longer require round-trips to the server. The cache is internal so message subscriptions are handled in the client.
The client cache has no persistence mechanism, and cache contents are not shared among multiple client processes. However, while the client is running, the cache remains updated with changes made to the client’s open views, thereby speeding-up its operation.
A client session provides the keys required for performing MPX functions and ensures that each access is verified for applicable security context.
StarTeam Clients - File Transmission
A logged-on user can use the StarTeam Cross-Platform Client , an IDE based on StarTeam Cross-Platform Client or .NET components, or the Bulk CheckOut (bco) command-line utility to retrieve files from a MPX Cache Agent. The MPX Cache Agent’s file/object caching is independent of client processes because the MPX Cache Agent operates as a separate process. Consequently, a client can fetch files that were broadcast while it was not operational.