Consideraciones a tener en cuenta al seleccionar una política de bloqueo

Al seleccionar una política de bloqueo, tenga en cuenta los efectos de las diversas políticas de bloqueo.

Bloqueo en grupos de tareas

El bloqueo en grupos de tareas es la política de bloqueo predeterminada. Los grupos de tareas son la unidad de trabajo más pequeña en un espacio de trabajo que se puede comprometer en datos listos para producción. Los cambios en los elementos gestionados dentro de un espacio de trabajo siempre están asociados con la tarea y grupo de tareas que han realizado el último cambio en los elementos gestionados, pero los cambios solo se pueden comprometer en los datos listos para producción en el ámbito del grupo de tareas. Todos los cambios de un grupo de tareas se comprometen como una sola transacción en los datos listos para producción.

Cuando hay implicados varios grupos de tareas, el bloqueo en grupos de tareas impide las incoherencias potenciales en las que se crea o actualiza un elemento gestionado en un grupo de tareas y, por tanto, no se puede actualizar de nuevo en un grupo de tareas distinto que se va a comprometer más tarde.

Sin embargo, la política de bloqueo en grupos de tareas no eliminará completamente las interdependencias como, por ejemplo, las que implican relaciones entre elementos gestionados.

Supongamos los sucesos siguientes en un espacio de trabajo:

  • Bajo un grupo de tareas (TG1), se añade un producto (productX) y dos códigos de artículo (sku1, sku2) al catálogo maestro bajo una categoría (categoryX).
  • Bajo un segundo grupo de tareas (TG2), productX es visible y se utiliza y añade a un catálogo de ventas bajo una categoría (categorySCX).
  • Bajo un tercer grupo de tareas (TG3), productX es visible y se utiliza para crear una asociación de venta ascencente con el producto (productY).
  • Bajo un cuarto grupo de tareas (TG4), productX se utiliza en una promoción donde su asociación de venta ascendente se utiliza para hacer referencia al contenido en un eSpot.

Con estos sucesos, podría encontrarse con los escenarios siguientes:

  • Si TG2, TG3 o TG4 se aprueban y completan antes de que se complete TG1, no podrán comprometerse adecuadamente porque dependen de productX que todavía no ha sido aprobado. Como tal, no existe en los datos listos para producción y se producirá una excepción de base de datos.

    Esto no es necesariamente un problema. Estos grupos de tareas seguirán en un estado en que el trabajo se ha completado, pero aún no puede comprometerse. Cuando TG1 esté completado y aprobado, el sistema intentará comprometer todos los grupos de tareas disponibles bajo una sola transacción.

  • Si primero se completa y aprueba TG4, no se produce ningún error excepto que el contenido al que hace referencia la promoción de marketing no existe. El Colaborador de contenido de espacio de trabajo o el Aprobador de grupos de trabajo de TG4 que tenía una vista previa y veía correctamente el contenido, no verá el contenido después de comprometer TG4.

Cuando un trabajo se completa y aprueba, es posible que el contenido no se active de forma inmediata. Debe esperar a que se complete cualquier grupo de tareas dependiente. De forma alternativa, puede evitar retrasos por dependencia y planificar el trabajo de grupos de tarea adecuadamente, activando los grupos de tareas en un cierto momento o utilizando la característica de promoción planificada.

Bloqueo en tareas

Con el bloqueo en tareas, el bloqueo se efectúa a un nivel más bajo que el nivel de compromiso de un grupo de tareas, de forma que se aplican las mismas consideraciones al bloqueo en tareas que al bloqueo en grupos de tareas.

Bloqueo en espacios de trabajo

El bloqueo en espacios de trabajo permitirá a los grupos de tareas en el mismo espacio de trabajo modificar un recurso. Dentro del mismo espacio de trabajo, el último grupo de tareas en modificar un elemento gestionado pasa a ser su propietario y el elemento gestionado se comprometerá en los datos listos para producción cuando se comprometa el grupo de tareas.

Además de las consideraciones a tener en cuenta en el bloqueo en grupos de tareas, el bloqueo en espacios de trabajo también debe tenerse en cuenta, como en el ejemplo siguiente:

  • Un producto (productX) se crea en un grupo de tareas (TG1) y se asigna al catálogo, creando asociaciones de catálogo.
  • Posteriormente se actualiza la descripción de productX en un segundo grupo de tareas (TG2).

Cuando se completa TG1, el compromiso no resultará satisfactorio porque productX pertenecerá a TG2. Las asociaciones de catálogo creadas en TG1 no serán satisfactorias sin productX cuando TG1 se comprometa en los datos listos para producción. Para evitar esto, TG1 y TG2 deberán comprometerse a la vez, cuando ambos se hayan completado.

Sin bloqueo

Si no hay ningún tipo de bloqueo, cualquier tarea o espacio de trabajo puede actualizar un recurso. Al trabajar en un solo espacio de trabajo bajo esta política de bloqueo, el último grupo de tareas en modificar un elemento gestionado se convierte en su propietario y se aplican los escenarios descritos bajo el bloqueo en espacios de trabajo.

Sin embargo, cuando al mismo elementos gestionado lo actualizan varios espacios de trabajo bajo esta política de bloqueo, cada espacio de trabajo puede almacenar su propia instancia del elemento gestionado. Cada espacio de trabajo puede tener una copia de un elemento gestionado y puede comprometer, en cualquier momento, este elemento gestionado en los datos listos para producción. Es posible que los cambios de un espacio de trabajo se sobregraben cuando otro espacio de trabajo modifique el mismo elemento gestionado o podría impedir el compromiso de un grupo de tareas en otros datos de espacio de trabajo.

Por ejemplo, un Colaborador de contenido de espacio de trabajo añade un producto nuevo bajo la categoría X en un espacio de trabajo y otro Colaborador de contenido de espacio de trabajo suprime la categoría X en un espacio de trabajo distinto. Si primero se comprometen los datos en el segundo espacio de trabajo en los datos listos para producción, no se podrán comprometer los datos en el primer espacio de trabajo.

La ejecución sin bloqueos puede crear muchos problemas y solo debe utilizarse si se posee un gran conocimiento de los procesos de negocio que afectan a los datos de producción. Por ejemplo, si solo tiene unos cuantos Colaboradores de contenido de espacio de trabajo y cada uno posee componentes específicos del contenido, puede utilizar este modelo. Cada Colaborador de contenido de espacio de trabajo posee un componente específico, de forma que el mismo Colaborador de contenido de espacio de trabajo modifica un elemento gestionado aunque pueda producirse en varios espacios de trabajo. El Colaborador de contenido de espacio de trabajo debe conocer los cambios conflictivos. Normalmente, la actualización y creación de contenido entre espacios de trabajo no crean conflictos potenciales para el compromiso, a excepción de cuando existe un índice exclusivo. Un ejemplo es cuando se intenta actualizar un número de pieza de producto en un valor entrado en otro espacio de trabajo o los datos listos para producción. Al eliminar elementos gestionados como, por ejemplo, eliminar asociaciones o mover productos, existe el riesgo de provocar conflictos.