From an overview perspective, the communication of the client-side file with the server-side databases is explained in the following figure:
panagenda MarvelClient - Architecture Overview
The client component communicates with IBM HCL Domino servers via NRPC (Notes remote procedure calls) = Port 1352 and is entirely based on the security architecture of IBM HCL Notes and Domino.
Note that the client component does not communicate with the Help database, which is only needed for documentation and context-sensitive help from within the MarvelClient Configuration and Analyze databases.
Client management and control with MarvelClient is exercised by creating so called Actions in the server-side MarvelClient Configuration database. For example, an Action can add, change or remove one or multiple
notes.ini variables, add and/or position a database icon (stack), create a replica and configure it on the replicator page, add or modify a workspace page, or even apply mass changes (such as changing all links across desktops, bookmarks and replicator
pages from one server to another) – to name just a few examples.
On the client-side, MarvelClient synchronizes new and changed Actions with a local file in the so called MarvelClient Working Directory. At certain Run Times (usually during the client startup and run times (so called RunTypes e.g., during client startup, whilst the client is running or during client shutdown; also see: Run Types RunTypes/Times/Sections), MarvelClient compares this information with a view in the Configuration database and downloads new and changed Actions incrementally. Hence, if there are no new or changed Actions, client-server communication is reduced to the absolute minimum – usually less then one (1) kilobyte of traffic. New or changed Actions are between 2 and 5 kilobytes in uncompressed size – thereby even 50 or 100 Actions lead to only very little traffic, all of which also only occurs just once due to the incremental update architecture.
In addition to downloading new and changed Actions from the MarvelClient Configuration database, information about each end-user’s client configuration is also uploaded into the MarvelClient Analyze database, again incrementally: All relevant files (desktop and bookmark information, database notes.ini details and more) are checked for changes and only transferred if a generated checksum has changed. Furthermore all files are zipped (a raw XML of ~1 MB is compressed into ~25 KB).
Also, MarvelClient does not increase the load on servers on which the MarvelClient databases reside (though it is advisable to carefully plan out the collecting, processing and replicating replication of the Analyze database needs to be carefully planned out in very large environments with many 10,000 users).
The following figures numbers show the typical traffic as per download from the Configuration database and upload into the Analyze database:
- 0.5-1 4 KB download from the Configuration database
- 25 KB upload (75 KB for a newly created Analyze record) into the Analyze database