Creating dynamic cache data grids

You can use IBM® WebSphere® DataPower® XC10 Appliance to store data for a WebSphere Application Server dynamic cache instance. By setting up this capability, you can enable applications that are written to use a WebSphere Application Server dynamic cache instance to take advantage of the features and performance capabilities of the appliance.

Before you begin

About this task

When you configure the dynamic cache provider in WebSphere Application Server to use DataPower XC10 Appliance, the cache data is stored outside of the WebSphere Application Server topology. All the cache data is stored in the appliance. The memory that was being used for caching in your application servers can be used for other purposes.

Historically, each WebSphere Application Server dynamic cache instance corresponds to an individual dynamic cache data grid instance on the appliance. However, you can use the com.ibm.websphere.xs.dynacache.grid_name custom property on the cache instance to direct the data for that cache instance to an existing dynamic cache data grid on the appliance. In this scenario, a new dynamic map is automatically created within the existing dynamic cache data grid, which corresponds to the cache instance. If you use this custom property approach to attach to an existing dynamic data grid, then the following procedure is not required.

For information about using WebSphere eXtreme Scale Client and DataPower XC10 Appliance dynamic cache data grids with IBM WebSphere Commerce, see the following topics in the IBM WebSphere Commerce documentation:

Procedure

  1. Create a cache instance that you want to configure with your DataPower XC10 Appliance. [Version 2.5 and later] For more information, see Configuring dynamic cache instances..
  2. Configure the catalog service. The catalog service enables the WebSphere Application Server dynamic cache configuration to communicate with the DataPower XC10 Appliance. You can configure the catalog service in the WebSphere Application Server administrative console by creating a catalog service domain. For more information, see Creating catalog service domains in WebSphere Application Server.
  3. Create the data grid on the DataPower XC10 Appliance and configure the required security settings. You can either run the dynaCfgToAppliance script or create the configuration manually.
    Creating the data grid configuration with the dynaCfgToAppliance script:
    This script gets installed in the bin directory of the deployment manager profile when you install the WebSphere eXtreme Scale Client. Before you run this script, verify that both the appliance and the deployment manager are running:
    dynaCfgToAppliance <IP_address> <cache_jndi_name> <appliance_admin> <admin_pw> <SOAP_port> <soap.client.props>

    When you run the dynaCfgToAppliance script, you might need to update or replace the keystore and truststore files that the ssl.client.props file references. The ssl.client.props file is in the properties directory of the deployment manager profile. Updating the keystore and truststore files is especially important, if the appliance is running with SSL-Required. The stores that are managed by WebSphere Application Server can be used by either pointing to them from the ssl.client.props file or by copying them to the non-managed stores. Alternatively, you can update the non-managed stores manually.

    For example, to point to the stores that are managed by WebSphere Application Server in the deployment manager profile cell, use the following value in the ssl.client.props file, where cell_name is a valid cell name:
    com.ibm.ssl.keyStore=${user.root}/config/cells/cell_name/key.p12
    com.ibm.ssl.trustStore=${user.root}/config/cells/cell_name/trust.p12
    IP_address
    Specifies the IP address of the DataPower XC10 Appliance on which you want to store your dynamic cache data.
    cache_jndi_name
    Specifies the name of the dynamic cache that is defined in the WebSphere Application Server instance for which a data grid is to be created on the DataPower XC10 Appliance. This value is either the JNDI name of the cache instance or the value of the com.ibm.websphere.xs.dynacache.grid_name custom property, if that value is specified on the cache instance. If there are any slashes (/) in the JNDI name of the dynamic cache, the slashes are automatically converted to dashes for the name of the data grid in the DataPower XC10 Appliance. For example, if the dynamic cache name is services/cache1, the data grid that is created on the appliance is named services-cache1. The following characters cannot be used in the name of the data grid in the DataPower XC10 Appliance^ . \\ / , # $ @ : ; \ * ? < > | = + & % [ ] " ".
    appliance_admin
    Specifies the administrator ID for logging in to the DataPower XC10 Appliance user interface.
    admin_pw
    Specifies the administrator password for logging in to the DataPower XC10 Appliance user interface.
    SOAP_port
    (Optional) Specifies the SOAP port for the deployment manager if you are using a port number other than the default of 8879.
    soap.client.props
    (Optional) Specifies the path to the soap.client.props file. If you enabled security in WebSphere Application Server, you must specify this file. This file enables SOAP security and specifies the user name and password to administer the WebSphere Application Server deployment manager:
    com.ibm.SOAP.securityEnabled=true
    com.ibm.SOAP.loginUserid=
    com.ibm.SOAP.loginPassword=
    For more information about the soap.client.props file, see SOAP connector and Inter-Process Communications connector properties files.
    This script creates the data grid on the appliance. The script also sets the DataPower XC10 Appliance specific ID and password credentials that you specified with the appliance_admin and admin_pw parameters with the following custom properties:
    • xc10.<data_grid_name>.userid
    • xc10.<data_grid_name>.password
    These property names are not case-sensitive. The password value is encoded. If you run the script again after the initial configuration, the custom properties are updated.
    Manually creating the data grid configuration:
    1. Create the dynamic cache data grid in the DataPower XC10 Appliance user interface. Click Data Grid > Dynamic Cache. The name of the cache must match the JNDI name of the dynamic cache in the WebSphere Application Server configuration. When you enter the JNDI name replace any slashes (/) with a dash for the name of the data grid in the DataPower XC10 Appliance. For example, if the dynamic cache name is services/cache1, enter the name as services-cache1.
    2. Create the xc10.<data_grid_name>.userid and xc10.<data_grid_name>.password custom properties on the WebSphere Application Server cell. The value of the <data_grid_name> in each custom property is the JNDI name of the data grid, replacing any slashes (/) with dashes. For example, with the previous example, the custom property names are: xc10.services-cache1.userid and xc10.services-cache1.password. The values must be set to a user ID and password that can access the data grid in the DataPower XC10 Appliance configuration. You can encode the password by using the encodePassword script, which is in the bin directory of the deployment manager.
  4. Optional: [Version 2.5 and later] You can choose to enable multi-master replication on the DataPower XC10 Appliance dynamic cache provider. For more information, see Configuring multi-master replication between collectives.
    Note: If you have a dynamic cache data grid with WebSphere Portal Server or WebSphere Commerce Server, you might have multiple cache instances defined within your WebSphere Application Server configuration. If you decide to enable multi-master replication for the DataPower XC10 Appliance, then this configuration affects only the cache instances that are defined to use the DataPower XC10 Appliance as the dynamic cache provider. Cache instances that are defined to use the default WebSphere Application Server dynamic cache provider are not affected.

Results

By configuring the dynamic cache service to use the appliance as the cache provider, less memory is used by your application servers. All the cache data is offloaded to the appliance and is no longer stored in application server memory.

What to do next