Aplicaciones EWS y la arquitectura de Exchange
Obtenga información sobre cómo funciona EWS dentro de la arquitectura de Exchange y descubra en qué protocolos se basa EWS.
Servicios web de Exchange (EWS) es una API multiplataforma que permite a las aplicaciones acceder a elementos de buzón, como mensajes de correo electrónico, reuniones y contactos de Exchange Online, Exchange Online como parte de Office 365 o versiones locales de Exchange a partir de Exchange Server 2007. Las aplicaciones EWS pueden acceder a los elementos de buzón de correo de forma local o remota mediante el envío de una solicitud en un mensaje XML basado en SOAP. El mensaje SOAP se inserta en un mensaje HTTP cuando se envía entre la aplicación y el servidor, lo que significa que, siempre que la aplicación pueda publicar XML a través de HTTP, puede usar EWS para acceder a Exchange.
Introducción a la arquitectura de Exchange
En los diagramas siguientes se muestran los métodos de autenticación y las rutas de comunicación que usan las aplicaciones EWS al comunicarse con Exchange 2013 y Exchange Online. Desde la perspectiva de la aplicación EWS, las rutas de comunicación son idénticas y los métodos de autenticación solo varían ligeramente; la principal diferencia es la visibilidad que tiene en el back-end de Exchange.
Figura 1. Aplicación EWS y la arquitectura local de Exchange
En la figura 2 se muestran las mismas rutas de comunicación que se muestran en la figura 1, como se usa en las aplicaciones EWS al comunicarse con Exchange Online.
Figura 2. Aplicación EWS y la arquitectura de Exchange Online
Los siguientes son los componentes que se muestran en los diagramas:
Aplicación EWS: puede ser una aplicación de cliente, portal o servicio y se puede instalar en un cliente o en un servidor de acceso de cliente local de Exchange. Si usa la API administrada de EWS para desarrollar la aplicación EWS, los ensamblados de api administrada de EWS deben instalarse en el cliente y redistribuirse por la aplicación.
Mensaje XML SOAP: un mensaje XML, en un sobre SOAP, incrustado en un mensaje HTTP/S que se ajusta al archivo Services.wsdl en el servidor de acceso de cliente. HTTPS se recomienda para Exchange local y es necesario para Exchange Online.
Métodos de autenticación: los mensajes EWS incluyen información básica, NTLM (autenticación integrada de Windows) o OAuth como parte de la carga HTTP.
Equilibrador de carga: el equilibrador de carga distribuye el mensaje a un servidor de acceso de cliente en la matriz del servidor de acceso de cliente. Este componente solo está visible en la arquitectura local de Exchange.
Matriz de servidor de acceso de cliente: los servidores de acceso de cliente se organizan en un grupo con equilibrio de carga denominado matriz de servidores de acceso de cliente. Los servidores de acceso de cliente individuales proporcionan servicios de autenticación, redireccionamiento limitado y proxy. Los propios servidores de acceso de cliente no realizan ninguna representación de datos y no hay datos en cola ni almacenados en un servidor de acceso de cliente: son finos y sin estado; simplemente autentica la solicitud, realiza una búsqueda de detección automática y, a continuación, envía la solicitud al servidor de buzones de correo. El servidor de acceso de cliente mantiene una relación 1:1 con el servidor de buzones de correo que hospeda los datos del usuario. El protocolo HTTP (protegido mediante SSL mediante un certificado autofirmado) se usa entre el servidor de acceso de cliente y el servidor de buzones. Este componente solo está visible en la arquitectura local de Exchange.
Servicio de detección automática: el servicio de detección automática realiza una detección de servicios mediante el acceso a Servicios de dominio de Active Directory (AD DS) para recuperar la versión del buzón y la ubicación del servidor de buzones que hospeda la copia activa de los datos del usuario.
Servicio EWS : el servicio EWS se describe mediante tres archivos: Services.wsdl, Messages.xsd y Types.xsd, así como los ensamblados de la API administrada de EWS. Services.wsdl describe el contrato entre el cliente y el servidor, Messages.xsd define los mensajes SOAP de solicitud y respuesta y Types.xsd define los elementos usados en los mensajes SOAP. Messages.xsd y Types.xsd siempre contienen las versiones más recientes del esquema, aunque existen versiones anteriores del esquema. Tenga en cuenta que Services.wsdl, Messages.xsd y Types.xsd están disponibles en el servidor de acceso de cliente, pero en realidad no se usan para la validación del esquema, solo se proporcionan como referencia. Los ensamblados de api administrada de EWS se proporcionan para aplicaciones cliente de EWS del lado servidor y se implementan en todos los roles de Exchange Server, no solo en los servidores de acceso de cliente. Este componente solo está visible en la arquitectura local de Exchange.
La disponibilidad de las funciones se basa en la versión del esquema EWS al que se dirige su aplicación. Dado que los esquemas EWS son compatibles con versiones anteriores y hacia delante, si crea una aplicación destinada a una versión de esquema anterior, como Exchange 2007 SP1, la aplicación también funcionará con una versión de esquema posterior, como el servicio Exchange 2010 SP2, así como Exchange Online. Debido a que las características y las actualizaciones de las características son impulsadas por el esquema, le recomendamos que utilice la base de código común más antigua que se dirige a las características de EWS que desea implementar en su aplicación cliente. Muchas aplicaciones pueden dirigirse a la versión Exchange2007_SP1, porque el esquema de Exchange 2007 SP1 contiene casi toda la funcionalidad principal de Exchange para trabajar con elementos y carpetas en el almacén de Exchange. Para obtener más información, vea Características de cliente de EWS.
Grupo de disponibilidad de base de datos (DAG): los servidores de buzones de correo se organizan en un DAG de alta disponibilidad, que se puede implementar en uno o varios centros de datos. El servidor de buzones de correo contiene la base de datos de buzones de correo y controla toda la actividad de los buzones activos de ese servidor. Todos los componentes que procesan, representan y almacenan datos se encuentran en el servidor de buzones de correo. Los clientes no se conectan directamente al servidor de buzones de correo; el servidor de acceso de cliente controla todas las conexiones. Este componente solo está visible en la arquitectura local de Exchange.
Exchange Online y Exchange Online como parte de Office 365: la solución de mensajería hospedada que ofrece características de Exchange como servicio basado en la nube.
Cuando una aplicación EWS solicita información del almacén de Exchange, se crea y envía un mensaje de solicitud XML que cumple con el estándar SOAP y se envía al servidor exchange. Cuando el servidor exchange recibe la solicitud, comprueba las credenciales proporcionadas por el cliente y analiza automáticamente el XML de los datos solicitados. A continuación, el servidor compila una respuesta SOAP que contiene datos XML que representan los objetos fuertemente tipados solicitados y sus propiedades. Los datos XML se envían de vuelta a la aplicación en una respuesta HTTP. A continuación, la aplicación deserializa el XML y usa los datos para reformar los objetos fuertemente tipados.
Protocolos y estándares que las aplicaciones EWS deben admitir
Para comunicarse con un servidor exchange, las aplicaciones EWS deben admitir los siguientes protocolos y estándares.
Tabla 1. Protocolos
Protocolo | Cómo se usa |
---|---|
HTTP/S |
Permite que las aplicaciones EWS accedan a los datos de la base de datos de Exchange a través de la red, independientemente de si el cliente está en Internet o en la intranet. |
SOAP 1.0 |
Forms un sobre alrededor de la carga de mensajería. EWS implementa el protocolo SOAP mediante el uso de diferentes partes del sobre SOAP para habilitar diferentes funciones. El encabezado SOAP se usa para la suplantación y para proporcionar datos de control de versiones. El cuerpo SOAP proporciona información sobre la operación que se va a ejecutar y los datos que se envían a la operación. SOAP se basa en WSDL para describir las operaciones a las que se va a llamar. |
WSDL 1.0 |
Describe los enlaces, las operaciones y las propiedades que se usan para llamar a operaciones de EWS, en el archivo Services.wsdl. Este archivo, junto con los archivos de esquema a los que se hace referencia, comprende el contrato entre una aplicación EWS y el servidor exchange, y a menudo se usa junto con herramientas específicas del proveedor para crear aplicaciones específicas de la plataforma. El archivo WSDL se encuentra en el directorio virtual de EWS, que se encuentra en la raíz del sitio web. |
Seguridad de la capa de transporte (TLS)/SSL |
Proporciona comunicaciones web seguras en Internet o en la intranet. TLS permite a las aplicaciones autenticar servidores o, opcionalmente, servidores para autenticar aplicaciones EWS. También proporciona un canal de seguridad mediante el cifrado de las comunicaciones. TLS is the latest version of the Secure Sockets Layer (SSL) protocol. |
XML/XSD |
Proporciona un formato de mensaje universal para el intercambio de información entre el servidor de Exchange y el cliente. XML proporciona datos complejos de base de datos de Exchange a las aplicaciones cliente, pero en una estructura definida. La belleza de XML es que permite el intercambio de datos incluso cuando una aplicación y un servidor de EWS no comparten una plataforma común. |
Además, las aplicaciones EWS deben admitir los siguientes estándares de autenticación:
Autenticación básica a través de SSL para aplicaciones que tienen como destino Exchange local.
Autenticación NTLM a través de SSL, para aplicaciones que tienen como destino Exchange local.
Autenticación de tokens de OAuth 2.0, para aplicaciones destinadas a Exchange Online, aplicaciones de asociados de confianza e interoperabilidad con Lync Server 2013 y SharePoint Server 2013.