Conceptos del agente de transporte en Exchange 2013

Busque información sobre cómo afectan el desarrollo del agente de transporte la canalización del agente de transporte y la arquitectura de roles de servidor en Exchange 2013 y las clases que puede usar para desarrollar agentes de transporte.

Se aplica a: Exchange Server 2013

Puede usar la biblioteca de clases proporcionada en Exchange Server 2013 para implementar agentes de transporte que se registren para eventos y realicen acciones en los mensajes a medida que pasan por la canalización de transporte. También puede usar agentes de transporte para modificar mensajes y convertir contenido.

En este artículo se proporciona información sobre los agentes de transporte y la arquitectura de canalización de transporte. Es importante comprender la arquitectura de la canalización de transporte para que pueda modificar el comportamiento del transporte para satisfacer las necesidades de su organización. En este artículo también se proporciona información sobre los cambios en la arquitectura de Exchange 2013 que afectan a los agentes de transporte y a las clases que puede usar para desarrollar agentes de transporte.

Agentes de transporte en la canalización de transporte

Los agentes de transporte se derivan de una de las tres clases siguientes:

La canalización de transporte hace referencia al flujo de datos de mensajes dentro de los límites de una organización de Exchange 2013. La canalización consta de los servicios enumerados en la tabla siguiente.

Tabla 1. Servicios de canalización de transporte

Servicio Descripción Clases admitidas
Transporte front-end
Se ejecuta en todos los servidores de acceso de cliente y actúa como un proxy sin estado para todo el tráfico SMTP externo entrante y saliente de la organización de Exchange 2013. El servicio de transporte front-end no inspecciona el contenido del mensaje ni pone en cola ningún mensaje localmente. Se comunica con el servicio de transporte en un servidor de buzones de correo.
SmtpReceiveAgent
Transport
Se ejecuta en todos los servidores de buzones de correo y es similar al rol de servidor transporte de concentrador en Exchange Server 2010. El servicio de transporte enruta los mensajes entre sí y los servicios transporte de buzón y transporte front-end. Este servicio no se comunica directamente con las bases de datos de buzones de correo.
SmtpReceiveAgent
RoutingAgent
DeliveryAgent
Transporte de buzones
Se ejecuta en todos los servidores de buzones de correo y consta de dos servicios independientes: Envío de transporte de buzón y Entrega de transporte de buzones. La entrega de transporte de buzón recibe mensajes SMTP del servicio de transporte y se conecta a la base de datos de buzones mediante una llamada a procedimiento remoto de Exchange (RPC) para entregar el mensaje. Envío de transporte de buzón se conecta a la base de datos de buzón de correo mediante RPC para recuperar mensajes y envía los mensajes a través de SMTP al servicio de transporte.
Ninguno.

Eventos de transporte

Los agentes de transporte se implementan registrando primero para un evento y, a continuación, realizando una acción cuando se desencadena ese evento. Cada uno de los tres tipos de agente puede registrarse para un conjunto diferente de eventos.

En la ilustración siguiente se muestra dónde pueden registrarse los agentes de transporte de canalización de transporte para eventos.

Figura 1. Eventos de transporte

Imagen que muestra el flujo de mensajes por la canalización de transporte y los eventos que cada agente puede registrar, comenzando por los eventos Smtp para SmtpReceivedAgent, después los eventos Categorizor para RoutingAgent y, por último, eventos Deliver para DeliveryAgent.

Cuando un mensaje entra en la canalización de transporte, un agente de transporte derivado de la clase SmtpReceiveAgent puede actuar en el mensaje durante cualquiera de los eventos SMTP para los que se registró el agente. Un agente derivado de la clase RoutingAgent puede actuar en cualquiera de los cuatro eventos de categorizador para los que se ha registrado. Un agente derivado de la clase DeliveryAgent puede actuar en un mensaje durante cualquiera de los eventos de entrega para los que se ha registrado.

Agentes de transporte y roles de servidor

Los cambios en la arquitectura del rol de servidor en Exchange 2013 afectan a los agentes de transporte y a lo que pueden hacer los agentes de transporte. Exchange 2013 incluye los siguientes roles de servidor:

  • Servidor de buzones: incluye protocolos de acceso de cliente, el servicio de transporte, bases de datos de buzones y componentes de mensajería unificada. El servidor de buzones de correo se comunica directamente con Servicios de dominio de Active Directory (AD DS), servidores de acceso de cliente y clientes de correo como Outlook.

  • Servidor de acceso de cliente: proporciona autenticación, redireccionamiento limitado, servicios proxy y protocolos de acceso de cliente como HTTP, POP, IMAP y SMTP.

  • Servidor de transporte perimetral: enruta el correo electrónico dentro y fuera de una organización. Los servidores de transporte perimetral suelen estar en el perímetro de una topología de Exchange.

Esta estructura consolidada reduce el número de servidores que deben implementarse en un entorno de Exchange 2013. Los administradores ya no tienen que implementar los servidores de transporte de concentrador y acceso de cliente en todos los sitios de Active Directory que incluyan un servidor de buzones de correo y ya no necesitan actualizar todos los roles de servidor para aprovechar las nuevas funciones.

Estos cambios en la arquitectura del rol de servidor pueden afectar potencialmente a dónde puede responder el agente a los eventos en la canalización. Si ha creado agentes de transporte para versiones de Exchange anteriores a Exchange 2013, asegúrese de revisar los cambios de arquitectura para determinar si necesita realizar cambios en los agentes.

En la ilustración siguiente se muestra cómo los cambios de arquitectura en Exchange 2013 dan como resultado una canalización de transporte simplificada y consolidada. En esta ilustración, los servidores de acceso de cliente tienen la etiqueta CAS. Y los servidores de buzones de correo tienen la etiqueta MBX.

Figura 2. Arquitectura de rol de servidor de Exchange 2013

Imagen que muestra el tráfico de cliente a través de un firewall externo, el Transporte perimetral a la izquierda que pasa el tráfico por un equilibrio de carga de nivel 4 a una matriz CAS consolidada y un conjunto de servidores de buzones en un grupo de accesibilidad a bases de datos a la derecha.

En la ilustración siguiente se muestran las interacciones entre los roles de servidor de Exchange 2013.

Figura 3. Interacciones del servidor de acceso de cliente y buzón

Imagen que muestra las interacciones que se inician con flechas desde el tráfico de cliente que pasa por un equilibrio de carga de nivel 4 que tiene 4 destinos en la matriz CAS: proxy IIS/HTTP, POP/IMAP, SMTP y UM. Las flechas pasan a sus destinos complementarios en el almacén de buzones.

Para obtener más información sobre los cambios en la arquitectura de roles de servidor de Exchange 2013, vea Arquitectura de Exchange 2013 en Novedades de Exchange 2013.

Clases de agente de transporte

La clase de la que deriva el agente de transporte determina los eventos para los que el agente puede registrarse. El agente normalmente contendrá una clase de agente, un generador de agentes, uno o varios controladores de eventos y el código que realiza las acciones que quiere que realice el agente.

En la tabla siguiente se enumeran las clases de las que se derivan para cada tipo de agente.

Tabla 2. Clases de agente

Tipo de agente Clase base de fábrica Clase base del agente
Recepción SMTP
SmtpReceiveAgentFactory
SmtpReceiveAgent
Enrutamiento
RoutingAgentFactory
RoutingAgent
Entrega
DeliveryAgentFactory<Manager>
DeliveryAgent

Estas clases base de agente y de fábrica proporcionan propiedades y métodos que puede usar para acceder a los eventos y mensajes de transporte. Implemente clases en el agente que hereden de estas clases. En la clase derivada del generador de agentes, invalide el método CreateAgent para que devuelva una nueva instancia de la clase de agente.

Los argumentos pasados a los eventos pueden contener una instancia de la clase EmailMessage , que puede usar para cambiar las propiedades y el contenido del mensaje subyacente. No toda la información del mensaje está disponible en cada evento. Debe determinar qué agente y qué evento es mejor para la tarea que desea realizar.

Los siguientes espacios de nombres contienen tipos que puede usar para leer, escribir y modificar mensajes en la canalización de transporte:

Después de escribir el agente de transporte, instale y administre el agente mediante el Shell de administración de Exchange. Para obtener más información, consulte Creación de agentes de transporte para Exchange 2013.

Vea también