HCL Commerce Enterprise

Relaciones de tienda para páginas de tienda en memoria caché

Si la tienda está utilizando datos definidos en otra tienda mediante una relación de tienda, debe utilizar los atributos de solicitud especificados por el filtro de memoria caché para definir las relaciones. El filtro de memoria caché es un filtro de servlet que define atributos de petición de la sesión e información de relaciones de tienda que la memoria caché dinámica de WebSphere Application Server puede utilizar. Entonces la memoria caché dinámica utiliza esta información para crear los ID de memoria caché y los ID de dependencia que se deberán utilizar para la invalidación de memoria caché.

El filtro de memoria caché crea la información de relaciones de tienda llamando a los métodos getStorePath() y getStoresForRelatedStore() de StoreAccessBean. La información correspondiente se lista en la tabla siguiente:

Tipo de relación de tienda Identificador de relación de tienda Nombres de atributo de petición para getStorePath() Nombres de atributo de petición para getStoresForRelatedStore()
businessPolicy de IBM Commerce -1 DC_bus_SP_N DC_bus_RS_N
Campañas de negocio de IBM Commerce -3 DC_camp_SP_N DC_camp_RS_N
Catálogo de negocio de IBM Commerce -4 DC_cat_SP_N DC_cat_RS_N
Mandato de negocio de IBM Commerce -5 DC_cmd_SP_N DC_cmd_RS_N
Tienda alojada de IBM Commerce -6 DC_host_SP_N DC_host_RS_N
Precio de IBM Commerce -7 DC_prc_SP_N DC_prc_RS_N
Referencia de IBM Commerce -8 DC_ref_SP_N DC_ref_RS_N
Segmentación de IBM Commerce -9 DC_seg_SP_N DC_seg_RS_N
URL de IBM Commerce -10 DC_url_SP_N DC_url_RS_N
Vista de IBM Commerce -11 DC_view_SP_N DC_view_RS_N
Inventario de IBM Commerce -13 DC_inv_SP_N DC_inv_RS_N
Artículo base de IBM Commerce -14 DC_baseItem_SP_N DC_baseItem_RS_N
Tienda de canal de IBM Commerce -15 DC_chs_SP_N DC_chs_RS_N
Conversión de moneda de IBM Commerce -17 DC_currConv_SP_N DC_currConv_RS_N
Formato de moneda de IBM Commerce -18 DC_currFmt_SP_N DC_currFmt_RS_N
Moneda soportada de IBM Commerce -19 DC_supCurr_SP_N DC_supCurr_RS_N
Contravalor de moneda de IBM Commerce -20 DC_cterCurr_SP_N DC_cterCurr_RS_N
Formato de cantidades de IBM Commerce -21 DC_meaFmt_SP_N DC_meaFmt_RS_X
Contrato de IBM Commerce -22 DC_contract_SP_N DC_contract_RS_N

Relación de memoria caché de relación de tienda

Para comprender cómo funciona el almacenamiento en memoria caché de páginas que utilizan una relación de tienda, examine el ejemplo siguiente.

Al publicar el ejemplo de archivador de tienda compuesto DemandChain.sar y, a continuación, crear una tienda (por ejemplo ResellerOne) en dicho sitio, se crean las tiendas siguientes.

ID de tienda Directorio Tipo de tienda
10001 CommercePlaza centro de canal
10002 CommercePlazaCatalog tienda con elementos de catálogo
10003 CommercePlaza proxy de distribuidor
10004 ConsumerDirectResellerProfile tienda con elementos de escaparate
10051 ResellerOne tienda de revendedor

ResellerOne (10051), la tienda de revendedor, utiliza los elementos definidos en la tienda con elementos de escaparate (10004) y la tienda con elementos de catálogo (1002).

Para configurar la relación de memoria caché, el filtro de memoria caché obtiene la información siguiente:

ID de tienda Tipo de relación getStorePath() getStoresForRelatedStore()
10001
  • -1 (política de negocio)
  • -4 (catálogo)
  • -7 (precio)
  • -17 (formato de moneda)
  • -19 (moneda soportada)
10002 no aplicable
10001
  • -6 (tienda alojada)
10051 no aplicable
10051
  • -1 (política de negocio)
  • -14 (artículo base)
10051, 10002, 10004 10051
10051
  • -3 (campañas)
  • -5 (mandato)
  • -10 (URL)
  • -11 (vista)
10051, 10004 10051
10051
  • -4 (catálogo)
  • -7 (precio)
  • -17 (conversión de moneda)
  • -18 (formato de moneda)
  • -19 (moneda soportada)
  • -20 (contravalor de moneda)
  • -21 (formato de medida)
10051, 10002 10051

A continuación, el filtro de memoria caché configura los siguientes atributos de petición:

Relación de tienda ID de tienda 10051 ID de tienda 10051 ID de tienda 10001
-1 (política de negocio) DC_bus_SP_0=10051 DC_bus_SP_1=10002 DC_bus_SP_2=10004 DC_bus_RS_0=10051 DC_bus_SP_0=10002
-2 (impuesto) DC_tax_SP_0=10051 DC_tax_SP_1=10004 DC_tax_RS_0=10051
-4 (catálogo) DC_cat_SP_0=10051 DC_cat_SP_1=10002 DC_cat_RS_0=10051 DC_cat_SP_0=10002
-6 (tienda alojada) DC_host_SP_0=10051 DC_host_RS_0=10001 DC_host_SP_0=10051

Siempre que se cambia el catálogo de la tienda con elementos de catálogo (10002), las páginas de catálogo de la tienda ResellerOne (10051) también se deben invalidar antes de que éste pueda utilizar la información de la tienda con elementos de catálogo (10002). Para que las páginas de 10051 se invaliden, se deben configurar ID de dependencia adicionales para esta relación de tienda. En el ejemplo siguiente se ilustra la configuración de los ID de dependencia adicionales para StoreCatalogDisplay:

<!-- Start Store Relationship Dependency Ids -->
<!-- DC_cat1 is the catalog Profile Store ID -->
<dependency-id>storeId
        <component id="DC_cat_SP_" type="attribute">
                <required>true</required>
                <index>1</index>
        </component>
</dependency-id>

<dependency-id>storeId:catalogId
        <component id="DC_cat_SP_" type="attribute">
                <required>true</required>
                <index>1</index>
        </component>
        <component id="catalogId" type="attribute">
                <required>true</required>
        </component>
</dependency-id>

<dependency-id>StoreCatalogDisplay:storeId
        <component id="DC_cat_SP_" type="attribute">
                <required>true</required>
                <index>1</index>
        </component>
</dependency-id>
<!-- Ends Store Relationship Dependency Ids -->

Los ID de dependencia adicionales creados son los siguientes:

  • storeId:10002
  • storeId:catalogId:10002:10051
  • StoreCatalogDisplay:storeId:10002

Una vez que se han definido estos ID de dependencia adicionales, cuando haya cambios en la tienda con elementos de catálogo 10002 que hagan que se invaliden las páginas de tienda con elementos de catálogo, también se invalidarán las páginas de la tienda alojada (10051).