![HCL Commerce Enterprise](../../base/images/ngent.gif)
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 |
|
10002 | no aplicable |
10001 |
|
10051 | no aplicable |
10051 |
|
10051, 10002, 10004 | 10051 |
10051 |
|
10051, 10004 | 10051 |
10051 |
|
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).