Compartir a través de


Diseño del marco de administración de excepciones de ESB

Los patrones coherentes y utilizables para administrar excepciones son una consideración fundamental de cualquier proyecto de desarrollo; ayudan a maximizar la capacidad de mantenimiento y facilitan la compatibilidad con la aplicación después de la implementación.

Una aplicación típica de BizTalk podría usar las características de mensajería de BizTalk, opcionalmente empezar a procesar una orquestación, llamar al motor de reglas de negocio, interactuar con varios sistemas de línea de negocio (LOB) o planificación de recursos empresariales (ERP) y devolver una respuesta a un sistema de terceros independiente. Además, la ubicación en tiempo de ejecución de estos componentes, incluidos los subsistemas de BizTalk, puede residir en uno o varios servidores distribuidos en todo el entorno actual. Se trata de un escenario típico y requiere que el sistema admita la detección y notificación de excepciones que pueden producirse en cualquiera de los subsistemas ESB o BizTalk desacoplados o en los distintos sistemas LOB de terceros, cada uno de los cuales tiene sus propias restricciones de control de excepciones. Por ejemplo, el sistema central puede rechazar un pedido enviado desde un sitio web durante un ciclo de procesamiento normal; el sitio web debe compensar este error y notificar al usuario.

Debido a la complejidad de las aplicaciones ESB y su entorno, el desarrollo de una solución coherente para la administración de excepciones de aplicaciones debe incorporar los siguientes objetivos de diseño comunes:

  • Proporcione un enfoque estandarizado para detectar y controlar excepciones que se producen en el entorno de BizTalk Server (es decir, en los subsistemas de mensajería y orquestación).

  • Proporcione patrones comunes que permitan que los procesos automatizados reaccionen y administren excepciones de aplicación.

  • Proporcione un patrón de administración de excepciones de acoplamiento flexible que facilite la reutilización.

  • Proporcione un mecanismo de informes común para las excepciones de aplicación y sus estados de mensaje disponibles que se pueden aplicar a cualquier subsistema de BizTalk.

    Para comprender por qué microsoft BizTalk ESB Toolkit proporciona un mecanismo de error personalizado, es decir, el marco de administración de excepciones y cómo funciona, es necesario comprender las características de administración de excepciones disponibles en BizTalk Server y por qué estas características no son totalmente capaces de cumplir los objetivos de diseño anteriores.

informes de excepciones de BizTalk Server

BizTalk Server admite los siguientes mecanismos de control de excepciones e informes:

  • Enrutamiento de mensajes con error

  • Consola de administración de BizTalk Server

  • Registro de eventos de Microsoft

  • Opciones de desarrollo personalizadas

    De forma predeterminada, las funcionalidades de BizTalk Server para controlar excepciones dependen mucho de la intervención del operador. Por ejemplo, considere la situación en la que un usuario envía un mensaje a BizTalk Server que provoca una excepción durante la fase de validación. De forma predeterminada, el mensaje se publica en la base de datos cuadro de mensajes, donde se enruta a una cola suspendida. Esto significa que un operador debe hacer lo siguiente:

  • Detecte de forma independiente que se ha producido una excepción.

  • Guarde manualmente el mensaje con errores en el disco mediante la consola de administración de BizTalk Server.

  • Edite y corrija manualmente el mensaje y vuelva a enviarlo al sistema. En algunos casos, este proceso tiene la posibilidad de perder información de contexto importante.

    Para resolver estos problemas, BizTalk Server proporciona el mecanismo de enrutamiento de mensajes con error. Los desarrolladores y administradores pueden usarlo para crear procesos de orquestación o puertos de envío de mensajería configurados para suscribirse a cualquier excepción que se produzca en el subsistema de mensajería. Esto proporciona un mecanismo automatizado de detección de errores y enrutamiento que conserva el estado del mensaje original y resuelve el problema de detectar excepciones.

    Dado que el enrutamiento automático de mensajes con errores no se proporciona para los procesos de orquestación, el desarrollador debe tener en cuenta los errores agregando bloques de controlador de excepciones a las formas de ámbito de orquestación. Con esta solución, cada orquestación puede tener su propio control de excepciones, pero no hay ningún mecanismo para reutilizar la funcionalidad de control de excepciones en varias orquestaciones.

    Esto significa que ahora hay dos maneras muy diferentes de procesar y administrar excepciones de mensajería en un sistema BizTalk Server, y una tercera manera en la que se procesan las excepciones de orquestación. Por lo tanto, los desarrolladores deben personalizar el mecanismo de control de excepciones para adaptarse a sus propios requisitos si quieren implementar un sistema que coincida con los requisitos descritos anteriormente en esta sección.

Consola de administración de BizTalk Server

La consola de administración de BizTalk Server proporciona un conjunto de páginas de información general de grupo, denominada Centro de grupos de BizTalk. Con estas páginas, los administradores pueden consultar mensajes suspendidos y excepciones agrupados por aplicación, nombre de servicio, código de error o URI, como se muestra en la figura 1.

consola de Administración

Ilustración 1

Páginas de información general del grupo de consola de administración de BizTalk Server

Aunque la característica Información general del grupo proporciona una interfaz de usuario común para ver las excepciones, las vistas se limitan a las instancias de servicio "dinámicas". Examinar el estado puede ser una tarea complicada porque los administradores deben explorar en profundidad el árbol en cada elemento. Además, otros factores limitan las funcionalidades de la consola de administración de BizTalk Server como una herramienta de informes de excepciones de la aplicación:

  • No hay ninguna funcionalidad para la minería de datos de business intelligence. Por ejemplo, no puede consultar las peores aplicaciones incorrectas mensualmente ni examinar las tendencias trimestrales de las excepciones de aplicación.

  • La empresa puede requerir que se generen alertas cuando se produzcan ciertas excepciones de aplicación o cuando se alcancen umbrales específicos, pero no hay ninguna facilidad para suscribirse a estos tipos de eventos de excepción.

  • La Consola de administración de Microsoft (MMC) que usa la Consola de administración como su mecanismo de interfaz de usuario (UI) no es una interfaz ideal y no siempre es conveniente acceder a en entornos de producción. Como mínimo, requiere que los usuarios sean miembros del rol Operadores de BizTalk; y, en entornos de producción, el acceso a MMC normalmente solo es posible a través de Terminal Server.

  • La consola solo muestra excepciones no controladas (instancias de servicio suspendidas). Si el desarrollador controla la excepción en la orquestación, lo que permite que la orquestación se complete normalmente, la información de excepción nunca aparecerá en la Consola de administración.

    Microsoft BizTalk ESB Toolkit aborda estas limitaciones a través del mecanismo de enrutamiento de excepciones de orquestación con errores de ESB. Esto se parece mucho al mecanismo de enrutamiento de mensajes con error de BizTalk Server. Además, microsoft BizTalk ESB Toolkit incluye un componente de canalización en un puerto de envío que se suscribe a los mensajes generados a partir del mecanismo de enrutamiento de excepciones de orquestación con errores de ESB y el mecanismo de enrutamiento de mensajes con error y los normaliza.

    El marco de administración de excepciones de ESB aprovecha otras características de BizTalk Server, como el modelo de suscripción y la supervisión de actividad empresarial basada en eventos (BAM). Esto significa que el marco de administración de excepciones de ESB puede realizar un seguimiento de los puntos de datos de excepción con BAM y, a continuación, publicarlos en el portal de BAM de BizTalk para la supervisión.