Using the CPC to demonstrate the power of MPX
In this video we will demonstrate how the message broker and cache agent reduces the load to the StarTeam Server as illustrated from within the CPC.
StarTeamMPX: The simplest way of determining whether or not the CPC users are using MPX technology is to check the logs within the CPC. Note, firstly StarTeam Administrators must ensure that MPX is available.
A lighting bolt in the CPC status bar will also indicate MPX status.
The first time you log in to a project the client always go the server the first time you connect with the CPC.
To demonstrate the capabilities of MPX, open the File tab, the files and their properties are initially going to be fetched from the StarTeam server using commands like PROJ_CMD_GET_FOLDER_ITEMS and PROJ_CMD_REFRESH_ITEMS.
PROJ_CMD_REFRESH_ITEMS fetches the properties of files and does this in chunks of 500 items. So if you have 10000 files all descendants from the root, you would have around 20 Refresh items commands.
Without MPX enabled, the client user would need to do a manual refresh (Shift-F5) to keep the file tab current, which would mean 20 more refresh items commands + Get_Folder_Items command to the server.
Automatic Refreshes option takes advantage of MPX events. With MPX enabled and auto refresh checked, the client will not issue any refresh items commands to the server unless there are changes on the server. So if another client adds/deletes or updates a file or its properties, MPX events will be sent from the server to all the clients subscribing to it. Based on the event, the Client will decide on whether they need to go to the server to fetch the latest. If it’s new file/deletes, it has to be fetched from the server, while property updates are fetched from the MPX events.
So the MPX enabled client is always up-to-date with their item tab contents and the properties without the need to issue server commands frequently.
The same goes for commands to fetch Queries and Filters (PROJ_CMD_QUERY_GET_LIST and PROJ_CMD_FILTER_GET_LIST). Filters and queries are MPX enabled too. Similarly, the Project and view properties commands (PROJ_CMD_GET_PROJECT_PROPERTIES, PROJ_CMD_GET_VIEW_PROPERTIES) are MPX enabled .
If we look back at the StarTeam log, and do a full refresh of the item window, this is now handled by MPX.
What this illustrates that the Message Broker and the Transmitters (Event/File) are publish/subscribe messaging engine that is now being used to push the update events to the clients which are subscribed to it.
How can I test how many calls my Project makes?
To illustrate just how many automatic calls your CPC makes to the server, turn on the automatic refresh of the workspace and leave the client idle for 10 minutes. Now when you consult the StarTeam client log file you will see that for a view of 20000 files, without MPX, you will see 40 refresh command calls every minute each of the operations will be responsible for 500 item refresh. With MPX you will only see only 40 (the first time you open the CPC).
With the 13.0 CPC now available we have went even further to reduce the traffic going to the server as we have bulkified the refresh calls. So now using the 2012 CPC, we only see 4 refresh command calls per minute without MPX, but 4 in total with MPX as the broker still does the rest of the updates. The 12.0+ SDK now only make a total maximum of 4 server calls no matter the number of items it needs to refresh from the server.
The brand new range of Borland/Micro Focus products rely heavily on MPX technology. Without a message broker employed by the server you cannot connect the StarTeam Web server and our new tool StarTeam Agile. The web server heavily depends on MPX, the StarTeam Web client and Agile/Topaz.
See Agile demo for info on this exciting new product: http://www.borland.com/products/starteam/learn/