Overview of the Coherence Cache with Siebel CRM
Siebel CRM caches some of its metadata in the Coherence cache. The cache is enterprise-wide (all Siebel components use it) but can be enabled for distinct components if needed. The Siebel CRM stores and retrieves values held in the cache rather than from the database. This improves the performance of the application in the following areas.
- Logging into the application through the UI or our APIs
- Components start-up
- Navigation between views
- Transaction throughput through our APIs
We've optimized the code behind application logins. These optimizations allow faster logins, whether through the UI or through our APIs such as REST. This helps with the throughput using our APIs because we've remediated the disproportionate time spent logging into the application when requests were made.
When a Siebel component loads, it requests information from the database to perform its duties. Retrieving these values from the database is slower than getting that same information from the Coherence cache. The more data that's needed for a component, the faster it will start when it gets those values from the cache. When the cache first starts, this information is in the database only, but as the first component requests them, they're loaded into the cache so most of the performance price is paid with the first request for metadata. All requests that follow use the cache. Therefore, when the next component starts, it's much faster. Some cached data is specific to a user context making their use of the application swifter. We cache:
- User Responsibilities
- User Positions
- User Organizations
- User Preferences
- S_RR_* object definitions
Navigating between views means the application must load the compiled object definitions for all the Views, Applets, Controls, Business Components, Links, Tables, et cetera, to construct the View. Because we're caching those definitions, navigation becomes faster.