Compartir a través de


Mensajes y campos clave

En esta sección se describen brevemente los mensajes clave y los campos administrados por las orquestaciones OrderBroker y OrderManager . Para obtener una lista completa de los mensajes de la aplicación, consulte Referencia de mensajes para la solución de administración de procesos empresariales.

Mensajes de pedido

Los mensajes de pedido de OrderBroker son mensajes de varias partes. Una parte contiene la información de enrutamiento y la otra parte contiene la información de pedido. La clase .NET que define la parte de enrutamiento de mensaje convierte todos sus campos en campos distintivos para que una orquestación pueda tener acceso a todos los miembros de la clase como propiedades de mensaje. Las clases también incluyen campos promocionados en la clase de enrutamiento para que los mensajes sean enrutables. Todos los campos promocionados también son campos distintivos para que se puedan programar y hacer referencia a estos con notaciones menos complejas.

Para obtener más información sobre el uso de clases de .NET para definir mensajes, vea Construcción de mensajes en código de usuario.

Identificar pedidos

La solución utiliza tres campos en la información de enrutamiento para identificar un pedido. De estas tres, dos identifican el pedido: el identificador de pedido (OrderID) y el identificador de cliente (CustomerID). Sin embargo, aunque estos dos campos identifican un pedido, puede haber más de una instancia de un pedido. Por ejemplo, un cliente podría solicitar una instalación de cable estándar nueva y llamar después para modificar el pedido a una instalación de cable deluxe. Es poco probable que se haya finalizado el pedido original antes de que se reciba el pedido actualizado. De esta forma se crean dos instancias del pedido.

Para distinguir entre instancias de pedidos, la solución usa un número de secuencia de orden único (SeqNum). Los tres campos OrderID, CustomerID y SeqNum identifican de forma única una instancia de un pedido.

Por último, dado que la solución usa números crecientes para el SeqNum, la solución puede distinguir una actualización del orden original, la actualización tiene un seqNum mayor.

Nota

La solución se basa en los sistemas que crean solicitudes de pedido para asignar valores ascendentes a SeqNum. Vea el código subyacente de la página ASP para el servicio web de entrada, CSRMainForm.aspx.cs y el mapa que convierte la solicitud en un pedido, CSR_OrderRequest_To_Order.btm para los nombres de los campos implicados.

Estado

OrderBroker, OrderManager y sus orquestaciones satélite usan dos campos en la parte de enrutamiento de mensajes de orden para realizar el seguimiento del estado: Status y Stage. El campo Estado realiza un seguimiento del estado del pedido. En la tabla siguiente se describen los valores del campo Estado .

Value Donde se establece Descripción
ACEPTADO OrderBroker El pedido puede pasar a OrderManager.
COMPLETADA OrderManager El procesamiento del pedido completo ha finalizado sin errores.
ERROR OrderManager Se ha detectado un error en el pedido.
ORDERMANAGER-EXCEPTION OrderManager Se ha producido una excepción en OrderManager al procesar el pedido.
STAGE_n_COMPLETED OrderManager Indica que la fase n, donde n es un número, ha finalizado sin errores.
STARTED OrderManager Se ha iniciado el procesamiento del pedido.
TERMINADO OrderManager Se ha detenido el procesamiento del pedido debido a una cancelación.

Fase

OrderManager usa el campo Stage en la parte de enrutamiento para indicar la fase de procesamiento de un mensaje. El campo se usa en filtros que determinan qué orquestación satélite procesa el mensaje. OrderManager establece inicialmente Stage en uno (1). Cuando el orden finaliza o finaliza, OrderManager establece Stage en el valor de una variable de orquestación, Stop.

RequestType

OrderManager también usa el campo RequestType del mensaje de pedido. Si el valor del campo es TERMINATE, finaliza el pedido. La orquestación omite todos los demás valores del campo RequestType y se basa en los números de secuencia de orden para reconocer las actualizaciones de pedidos y los duplicados. De lo contrario, OrderBroker establece el campo RequestType en el valor del campo Estado del mensaje del proveedor o del sistema de servicio al cliente.

OrderTypeCode, OrderType y ServiceClass

El tipo del pedido está en el campo OrderTypeCode del mensaje de pedido. OrderBroker establece su valor en el valor del campo OrdTypeCode del mensaje procedente del sistema de servicio al cliente o del sistema de proveedor. En la tabla siguiente se muestran los valores posibles para OrderTypeCode:

Value Descripción
NS Instalación de cable estándar nueva.
ND Instalación de cable deluxe nueva.
XS Cancelar instalación de cable estándar.
XD Cancelar instalación de cable deluxe.
CS Cambiar instalación de cable estándar.
CD Cambiar instalación de cable deluxe.
UNKNOWN desconocida.

Más adelante, la orquestación Validate usa el motor de reglas de negocios para traducir estos valores en dos campos independientes, OrderType y ServiceClass. La primera fase de procesamiento de pedidos llama a la orquestación Validate , CableOrder1.

En la tabla siguiente se proporcionan los valores de OrderType:

Valores de OrderTypeCode Valores de OrderType
NS, ND ACTIVAR
XS, XD CANCELAR
CS, CD CHANGE
Combinación no válida. INVALID

Los valores de ServiceClass son la letra única correspondiente, S para estándar o D para deluxe.

Identificadores adicionales

La solución también utiliza un identificador para cada pedido específico. Este identificador, RequestId, debe ser único en todos los pedidos. El servicio Web de entrada le asigna automáticamente un GUID. Los mensajes enviados mediante la entrada por lotes deben incluir un valor para el campo. El campo es RequestID en el esquema de orden. Sin embargo, OrderBroker usa el esquema de CSR_OrderRequest para procesar los pedidos. El campo aparece como ReqId en este esquema y es una propiedad distintiva.

La solución usa RequestId para formar el identificador de actividad usado en el sistema de seguimiento de BAM.

Consulte también

Lógica del administrador de procesos
Flujo de pedidos mediante el administrador de procesos
Construcción de mensajes en código de usuario
Referencia de mensajes para la solución de administración de procesos empresariales