Inventory availability caching
The inventory availability master information typically resides on one or many backend inventory management systems (IMS).
Some backend inventory management systems, for example, legacy in-store systems, might have performance, scalability, and availability limitations. The Inventory component and its services are designed with caching support to address these limitations. That is, the inventory availability of an item at a location can be cached by the component, either in memory, or in the database. This results in the DOM inventory configuration and availability not being controlled by WebSphere Commerce Accelerator. Instead, WebSphere Commerce records the inventory information in the local database cache or memory cache, and the master data is contained in an external inventory system.
Table name | Description |
---|---|
INVCNF | Contains inventory configuration information. DOM inventory cache configuration information is in this database table. |
INVCNFREL | Contains the relationship of an item and/or location with an inventory configuration. |
INVAVL | Contains the inventory availability record that is cached by the WebSphere Commerce database. |
The Inventory component's caching support includes the following features:
Cache records
It can cache at most one inventory availability record for each combination of item and location.
- Inventory status, for example, available, backordered, and unavailable.
- Available quantity.
- Availability date.
- Availability offset, useful for delivery and buy online, ship to store scenarios where the availability date is based on a lead time (offset), rather than absolute date.
- Last update date.
It can cache an inventory availability record in memory or in the database, depending on the inventory configuration of the item and location.
- It works in a clustered environment.
- It can be configured and managed with the WebSphere Cache Monitor.
- Exporting all inventory availability records from a legacy in-store system blocks it for an unacceptably long period of time.
- A retailer has a large product assortment and number of store locations, and costs of importing all inventory availability records into the database outweighs the savings from caching the information.
- A cached record is refreshed by a real-time service request to the backend system when the cached record expires.
- Cached records are decremented when an order is submitted for processing.
- Cached records are updated by batch-load and by SyncInventoryAvailability service requests.
Inventory configuration
- A default inventory configuration applicable to all items and locations.
- An inventory configuration applicable to only a particular location, for example, one managed by a legacy in-store system, that overrides the default inventory configuration.
- An inventory configuration applicable to only certain promotion items that overrides the preceding inventory configurations.
- Precedence
- Threshold quantity
- Expiry time of a cached record when the available quantity is greater than or equal to the threshold quantity.
- Expiry time of a cached record when the available quantity is less than the threshold quantity.
- Priority of a cached record, which is used by the distributed object cache to determine which cached records to purge in case of cache overflow.
- Fallback values, used when the backend system is offline.
- More options that control:
- Where the records are cached, in memory and/or in the database.
- Whether real-time service requests are made to the backend system.
- When the cached records are to be decremented and/or updated.
- A typical inventory configuration for items that do not require
high inventory availability accuracy:
- Invalidates cached records very infrequently above threshold.
- Invalidates cached records somewhat frequently below threshold.
- An inventory configuration for legacy in-store systems with limited
connectivity:
- No threshold.
- Never invalidates cached records.
- Real-time service requests to backend system disabled.
- An inventory configuration for items that require high inventory
availability accuracy:
- High threshold.
- Invalidates cached records somewhat frequently above threshold.
- Invalidates cached records very frequently below threshold.