xCache allows you to configure and scale your Dynamics 365/CRM applications running On-Premise or Online. It allows dynamic system configuration and removes performance bottlenecks related to data storage. xCache provides Dynamics 365/CRM with an extremely fast and scalable distributed cache.
xCache in Dynamics 365 lets you cache static application data, and also load dynamic cache items for applications running in a single or multi-server configuration.
Cache static configuration data
Cache any static configuration data such as a username and password for a web service, name of a CRM queue, max number of leads assigned per salesperson.
Cache dynamic configuration data
During the execution of your CRM application you can dynamically insert / update / delete items from the cache.
Real-time direct integration with organization and users settings
xCache is linked directly to the organization settings such as the orgname and to user settings such as the users language, business unit, time-zone, etc.
Dedicated functions for smart data retrieval
Functions such as FindValue() and xCacheGet() allow you to retrieve data from the xCache memory instead of the database so greatly improving performance.
Easy to Deploy via Dynamics 365 Solutions
All xCache data is saved as XML data web resources. So they can be added to a solution for easy deployment between CRM systems.
Native to Dynamics 365/CRM
xCache has been built into Dynamics 365/CRM so there is no need for external programs. It uses the native Dynamics 365/CRM sandbox for operations and to store data in memory.
Built for the most intense CRM operations across plugins, workflows, actions and dialogs .
Static Configuration Data
You are connecting to a 3rd party web service such as Twillio and you need to store your authorization key and token to connect to the service. xCache allows you to store this static configuration data securely.
You have a need to display a simple greeting to an end user based on their UI language settings. So for English it could be 'Hello' while for a French user it would be 'Bonjour'. xCache allows you to define a single key called Greeting which can be varied by the user language settings dynamically at runtime.
Organization Name Dependence
You have multiple CRM systems for Development, Test and Production and for each CRM system you have a corresponding Dynamics AX deployment. As part of the overall system you need connect CRM and AX via web services so there is a separate URI for each Development, Test amd Production AX system. xCache allows you to define a single key for the integration whose value will dynamically change based on the CRM organization that is executing the request. So the Test CRM system only ever communicates to the Test AX system and the same for the Development and Production systems.
Work Shift Patterns
You have an organization where the end-users work in night and day shift patterns. For example, in the user settings the workday is set to 08:00-17:00 (Day Shift) or 17:01-07:59 (Night Shift). If an end-user is part of the night shift then you need to configure a different CRM Queue for work items compared with the day shift. xCache allows you to set this configuration data and retrieve it at runtime based on the end-user's workday settings.
You have an organization where you need to store Sales Tax rates by effective dates. For example, from 2018-Jan-01 to 2018-Dec-31 the sales tax rate is 12% and from 2019-Jan-01 onwards the rate is 15%. xCache allows you to define these rates and then use them dynamically during the execution of your CRM application so that when the current datetime is somewhere in the year 2018 it will use 12% and if it is 2019 or later it will use 15%.
You have a Dynamics 365 Online system that needs to connect to SharePoint Online so you need to provide CRM the user name amd password of a SharePoint user for connection purposes. This username and password is only known to system administrators. xCache allows you fully secure these values by making use of Dynamics 365/CRM field level security.
xCache and FindValue()
You have a CRM business rule that is being implemented via a North52 formula and you need to perform several lookups to another entity via the FindValue() function to perform business logic. xCache has the ability to read-ahead of the formula execution and determine that these several lookup calls can be combined into a single web-service request and hence improve system performance.