Sugerencias de diseño para desarrollar un CRM de COM+

A continuación se indican los pasos sugeridos para desarrollar un CRM de COM+:

  1. Antes de iniciar el desarrollo, establezca el tiempo de espera de la transacción en cero (mediante la herramienta administrativa Servicios de componentes). Establezca la marca del Registro VTRACE1 (consulte Configuración del Registro de CRM de COM+ ) para ver los mensajes de error y advertencia de CRM en el seguimiento de depuración.
  2. Determine qué conjunto de interfaces debe usar, estructurados (variantes) o no estructurados. (Consulte Interfaces de CRM de COM+). Esto dependerá del lenguaje que use para desarrollar su CRM, por ejemplo, Microsoft Visual C++ o Microsoft Visual Basic.
  3. Desarrolle primero el trabajo de CRM. Determine la información necesaria en los registros de registro. Defina los tipos de registros necesarios y su formato.
  4. Se proporciona un compensador crm de depuración como parte de los ejemplos de CRM (en Windows SDK). Esto se puede usar temporalmente al depurar el trabajo de CRM en lugar del compensador de CRM real.
  5. Cuando el trabajador de CRM funciona correctamente, desarrolle el compensador de CRM real y reemplace el compensador crm de depuración por el compensador de CRM real.
  6. Puede ser conveniente no probar inicialmente el caso de recuperación. Si es así, elimine el archivo de registro de CRM para la aplicación de servidor CRM cada vez antes de iniciar esa aplicación de servidor CRM.

Consideraciones

  1. Escríbalo por adelantado. El componente de trabajo de CRM debe escribir por adelantado; es decir, debe escribir un registro que indique que va a realizar una acción antes de realizar realmente esa acción. Además, este registro debe forzarse al disco después de la escritura y antes de que se realice la acción.
  2. Aislamiento. El CRM no aplica el aislamiento. El diseño de CRM debe proporcionar aislamiento entre varios clientes en transacciones independientes y también debe tener en cuenta el caso antes de la recuperación.
  3. Recuperación en curso. El trabajo de CRM debe controlar el código de error "recuperación en curso". Consulte Solución de problemas de COM+ CRM para obtener más información sobre este código de error.
  4. Control de errores. El trabajador de CRM debe hacer frente al caso en el que la transacción se anula antes de lo esperado. Consulte la sección Control de errores en COM+ CRM.
  5. Tiempo de recuperación. El compensador crm debe diseñarse para realizar la recuperación rápidamente para que no tenga que esperar el nuevo trabajo para esa aplicación de servidor CRM.
  6. Idempotencia. Es posible que un compensador crm reciba de nuevo el mismo registro, para deshacer o rehacer una acción que ya se ha deshacido o rehacido. Las acciones que el compensador crm podría realizar deben ser idempotentes, lo que a menudo significa que se deben omitir los códigos de error devueltos de estas acciones.
  7. Iniciación de la recuperación. La recuperación de una aplicación de servidor CRM se realiza cuando se inicia esa aplicación de servidor CRM. Sin embargo, no hay ningún inicio automático de una aplicación de servidor CRM. El desarrollador de aplicaciones debe tener en cuenta cómo se deben iniciar el inicio y la recuperación.

Conceptos de Resource Manager de compensación de COM+