Aplicativos EWS e a arquitetura do ExchangeEWS applications and the Exchange architecture

Saiba mais sobre como o EWS funciona dentro da arquitetura do Exchange e descubra em quais protocolos o EWS se baseia.Learn about how EWS works within the Exchange architecture, and find out which protocols EWS relies on.

O EWS (serviços Web do Exchange) é uma API de plataforma cruzada que permite que os aplicativos acessem itens de caixa de correio, como mensagens de email, reuniões e contatos do Exchange Online, do Exchange Online como parte do Office 365 ou de versões locais do Exchange a partir do Exchange Server 2007.Exchange Web Services (EWS) is a cross-platform API that enables applications to access mailbox items such as email messages, meetings, and contacts from Exchange Online, Exchange Online as part of Office 365, or on-premises versions of Exchange starting with Exchange Server 2007. Os aplicativos EWS podem acessar itens de caixa de correio local ou remotamente enviando uma solicitação em uma mensagem XML baseada em SOAP.EWS applications can access mailbox items locally or remotely by sending a request in a SOAP-based XML message. A mensagem SOAP é incorporada em uma mensagem HTTP quando enviada entre o aplicativo e o servidor, o que significa que, desde que o aplicativo possa postar XML através de HTTP, ele pode usar o EWS para acessar o Exchange.The SOAP message is embedded in an HTTP message when sent between the application and the server, which means that as long as your application can post XML through HTTP, it can use EWS to access Exchange.

Visão geral da arquitetura do ExchangeExchange architecture overview

Os diagramas a seguir mostram os métodos de autenticação e os caminhos de comunicação usados pelos aplicativos do EWS durante a comunicação com o Exchange 2013 e o Exchange Online.The following diagrams show the authentication methods and communication paths used by EWS applications when communicating with Exchange 2013 and Exchange Online. Da perspectiva do aplicativo EWS, os caminhos de comunicação são idênticos e os métodos de autenticação variam apenas um pouco; a principal diferença é a visibilidade que você tem no back-end do Exchange.From the EWS application perspective, the communication paths are identical and the authentication methods only vary slightly; the main difference is the visibility you have into the Exchange backend.

Figura 1. Aplicativo EWS e arquitetura local do ExchangeFigure 1. EWS application and the Exchange on-premises architecture

Uma ilustração que mostra um aplicativo EWS no contexto de arquitetura local do Exchange. Para obter uma descrição dos componentes do diagrama, consulte os itens 1-8 no texto que segue esta e a próxima imagem.

A Figura 2 mostra os mesmos caminhos de comunicação mostrados na Figura 1, conforme usado pelos aplicativos EWS ao se comunicar com o Exchange Online.Figure 2 shows the same communication paths shown in Figure 1, as used by EWS applications when communicating with Exchange Online.

Figura 2. Aplicativo EWS e arquitetura do Exchange OnlineFigure 2. EWS application and the Exchange Online architecture

Uma ilustração que mostra um aplicativo EWS no contexto de arquitetura do Exchange Online para um aplicativo EWS. Para obter uma descrição dos componentes do diagrama, consulte os itens 1, 2, 3, 6 e 9 no texto que segue a imagem.

Estes são os componentes mostrados nos diagramas:The following are the components that are shown in the diagrams:

  1. Aplicativo EWS — pode ser um cliente, portal ou aplicativo de serviço e que pode ser instalado em um cliente ou em um servidor de acesso para cliente local do Exchange.EWS application — This can be a client, portal, or service application and it can be installed on a client or on an Exchange on-premises Client Access server. Se você usar a API gerenciada do EWS para desenvolver o aplicativo EWS, os assemblies da API gerenciada do EWS precisam ser instalados no cliente e redistribuídos pelo seu aplicativo.If you use the EWS Managed API to develop the EWS application, the EWS Managed API assemblies have to be installed on the client and redistributed by your application.

  2. A mensagem XML do SOAP — uma mensagem XML, em um envelope SOAP, incorporada em uma mensagem HTTP/S que está de acordo com o arquivo Services. WSDL no servidor de acesso para cliente.The SOAP XML message — An XML message, in a SOAP envelope, embedded in an HTTP/S message that conforms to the Services.wsdl file on the Client Access server. O HTTPS é recomendado para o Exchange local e é necessário para o Exchange Online.HTTPS is recommended for Exchange on-premises and is required for Exchange Online.

  3. Métodos de autenticação – as mensagens do EWS incluem as informações de autenticação básica, NTLM (autenticação integrada do Windows) ou OAuth como parte da carga HTTP.Authentication methods — EWS messages include basic, NTLM (Windows Integrated authentication), or OAuth authentication information as part of the HTTP payload.

  4. Balanceador de carga — o balanceador de carga distribui a mensagem para um servidor de acesso para cliente na matriz de servidor de acesso para cliente.Load balancer — The load balancer distributes the message to a Client Access server in the Client Access server array. Este componente só é visível na arquitetura local do Exchange.This component is only visible in the Exchange on-premises architecture.

  5. Matriz de servidor de acesso para cliente — os servidores de acesso para cliente são organizados em um grupo com balanceamento de carga chamado matriz de servidor de acesso para cliente.Client Access server array — Client Access servers are organized into a load-balanced group called a Client Access server array. Os servidores de acesso para cliente individuais fornecem autenticação, redirecionamento limitado e serviços de proxy.Individual Client Access servers provide authentication, limited redirection, and proxy services. Os servidores de acesso para cliente propriamente ditos não fazem renderização de dados, e nenhum dado é enfileirado ou armazenado em um servidor de acesso para cliente, ele é thin e sem estado; Ele simplesmente autentica a solicitação, realiza uma pesquisa de descoberta automática e, em seguida, faz a proxy da solicitação para o servidor de caixa de correio.The Client Access servers themselves don't do any data rendering, and no data is queued or stored on a Client Access server - it is thin and stateless; it simply authenticates the request, performs an Autodiscover lookup, and then proxies the request to the Mailbox server. O servidor de acesso para cliente mantém uma relação 1:1 com o servidor de caixa de correio que hospeda os dados do usuário.The Client Access server does maintain a 1:1 relationship with the Mailbox server that hosts the user's data. O protocolo HTTP (protegido via SSL usando um certificado autoassinado) é usado entre o servidor de acesso para cliente e o servidor de caixa de correio.The HTTP protocol (secured via SSL using a self-signed certificate) is used between the Client Access server and Mailbox server. Este componente só é visível na arquitetura local do Exchange.This component is only visible in the Exchange on-premises architecture.

  6. Serviço de descoberta automática – o serviço de descoberta automática realiza uma descoberta de serviço acessando os serviços de domínio do Active Directory (AD DS) para recuperar a versão da caixa de correio e o local do servidor de caixa de correio que hospeda a cópia ativa dos dados do usuário.Autodiscover service — The Autodiscover service performs a service discovery by accessing Active Directory Domain Services (AD DS) to retrieve the mailbox version and the location of the Mailbox server that is hosting the active copy of the user's data.

  7. Serviço EWS — o serviço EWS é descrito por três arquivos: Services. WSDL, messages. xsd, e Types. xsd, bem como os assemblies da API gerenciada do EWS.EWS service —The EWS service is described by three files: Services.wsdl, Messages.xsd, and Types.xsd, as well as the EWS Managed API assemblies. Services. WSDL descreve o contrato entre o cliente e o servidor, messages. xsd define as mensagens SOAP de solicitação e resposta e Types. xsd define os elementos usados nas mensagens SOAP.Services.wsdl describes the contract between the client and server, Messages.xsd defines the request and response SOAP messages, and Types.xsd defines the elements used in the SOAP messages. Messages. xsd e Types. xsd sempre contêm as versões mais recentes do esquema, embora existam versões anteriores do esquema.Messages.xsd and Types.xsd always contain the latest versions of the schema, although earlier versions of the schema exist. Observe que Services. WSDL, messages. xsd e Types. xsd são disponibilizados no servidor de acesso para cliente, mas que não são realmente usados para validação de esquema, são fornecidos apenas para referência.Note that Services.wsdl, Messages.xsd, and Types.xsd are made available on the Client Access server, but are not actually used for schema validation — they are provided for reference only. Os assemblies da API gerenciada do EWS são fornecidos para aplicativos clientes do EWS do servidor e são implantados em todas as funções do Exchange Server, não apenas nos servidores de acesso para cliente.The EWS Managed API assemblies are provided for server-side EWS client applications and are deployed on all Exchange Server roles, not just the Client Access servers. Este componente só é visível na arquitetura local do Exchange.This component is only visible in the Exchange on-premises architecture.

    A disponibilidade de recursos é baseada na versão do esquema do EWS que seu aplicativo direciona.Feature availability is based on the EWS schema version that your application targets. Como os esquemas do EWS são compatíveis com versões anteriores e posteriores, se você criar um aplicativo que tenha como destino uma versão de esquema anterior, como o Exchange 2007 SP1, seu aplicativo também funcionará com uma versão de esquema posterior, como o serviço do Exchange 2010 SP2, bem como o Exchange Online.Because EWS schemas are backward- and forward-compatible, if you create an application that targets an earlier schema version, such as Exchange 2007 SP1, your application will also work against a later schema version, such as the Exchange 2010 SP2 service, as well as Exchange Online. Como recursos e atualizações de recurso são orientados pelo esquema, recomendamos que você use a base de código comum mais antiga que direciona os recursos do EWS que você deseja implementar no seu aplicativo cliente.Because features and feature updates are driven by the schema, we recommend that you use the earliest common code base that targets the EWS features that you want to implement in your client application. Muitos aplicativos podem se concentrar na versão do Exchange2007_SP1, porque o esquema do Exchange 2007 SP1 contém quase todas as funcionalidades principais do Exchange para trabalhar com itens e pastas no repositório do Exchange.Many applications can target the Exchange2007_SP1 version, because the Exchange 2007 SP1 schema contains almost all the core Exchange functionality for working with items and folders in the Exchange store. Para obter mais informações, consulte EWS Client Features.For more information, see EWS client features.

  8. Grupo de disponibilidade de banco de dados (DAG) — os servidores de caixa de correio são organizados em um DAG altamente disponível, que pode ser implantado em um ou mais datacenters.Database Availability Group (DAG) — Mailbox servers are organized into a highly available DAG, which can be deployed in one or more datacenters. O servidor de caixa de correio contém o banco de dados de caixa de correio e lida com todas as atividades das caixas de correio ativas nesse servidor.The Mailbox server contains the mailbox database and handles all activity for the active mailboxes on that server. Todos os componentes que processam, colocam e armazenam dados estão no servidor de caixa de correio.All components that process, render, and store data are on the Mailbox server. Os clientes não se conectam diretamente ao servidor de caixa de correio; todas as conexões são tratadas pelo servidor de acesso para cliente.Clients do not connect directly to the Mailbox server; all connections are handled by the Client Access server. Este componente só é visível na arquitetura local do Exchange.This component is only visible in the Exchange on-premises architecture.

  9. Exchange Online e Exchange Online como parte do Office 365 — a solução de mensagens hospedada que fornece recursos do Exchange como um serviço baseado em nuvem.Exchange Online and Exchange Online as part of Office 365 — The hosted messaging solution that delivers Exchange features as a cloud-based service.

Quando um aplicativo EWS solicita informações do armazenamento do Exchange, uma mensagem de solicitação XML que está em conformidade com o padrão SOAP é criada e enviada ao servidor Exchange.When an EWS application requests information from the Exchange store, an XML request message that complies with the SOAP standard is created and sent to the Exchange server. Quando o servidor do Exchange recebe a solicitação, ele verifica as credenciais fornecidas pelo cliente e analisa automaticamente o XML para os dados solicitados.When the Exchange server receives the request, it verifies the credentials that are provided by the client and automatically parses the XML for the requested data. O servidor então cria uma resposta SOAP que contém dados XML que representam os objetos fortemente tipados solicitados e suas propriedades.The server then builds a SOAP response that contains XML data that represents the requested strongly typed objects and their properties. Os dados XML são enviados de volta para o aplicativo em uma resposta HTTP.The XML data is sent back to the application in an HTTP response. O aplicativo, em seguida, desserializa o XML e usa os dados para reformular os objetos fortemente tipados.The application then deserializes the XML and uses the data to reform the strongly typed objects.

Protocolos e padrões que os aplicativos EWS devem suportarProtocols and standards that EWS applications must support

Para se comunicar com um servidor Exchange, os aplicativos EWS devem oferecer suporte aos seguintes protocolos e padrões.To communicate with an Exchange server, EWS applications must support the following protocols and standards.

Tabela 1. ProtocolosTable 1. Protocols

ProtocoloProtocol Como ela é usadaHow it's used
HTTP/SHTTP/S
Permite que os aplicativos EWS acessem os dados do banco de dados do Exchange através da rede, independentemente se o cliente está na Internet ou na intranet.Enables EWS applications to access Exchange database data over the network, regardless of whether the client is on the Internet or intranet.
SOAP 1,0SOAP 1.0
Forma um envelope em torno da carga de mensagens.Forms an envelope around the messaging payload. O EWS implementa o protocolo SOAP usando partes diferentes do envelope SOAP para habilitar funcionalidades diferentes.EWS implements the SOAP protocol by using different parts of the SOAP envelope to enable different functionality. O cabeçalho SOAP é usado para representação e para fornecer dados de controle de versão.The SOAP header is used for impersonation and to provide versioning data. O corpo SOAP fornece informações sobre a operação a ser executada e os dados que são enviados para a operação.The SOAP body provides information about the operation to run and the data that is submitted to the operation. O SOAP se baseia no WSDL para descrever as operações a serem chamadas.SOAP relies on WSDL to describe the operations to call.
WSDL 1,0WSDL 1.0
Descreve as associações, as operações e as propriedades que são usadas para chamar as operações do EWS, no arquivo Services. WSDL.Describes the bindings, the operations, and the properties that are used to call EWS operations, in the Services.wsdl file. Este arquivo, junto com os arquivos de esquema referenciados, abrange o contrato entre um aplicativo EWS e o servidor Exchange e é geralmente usado junto com ferramentas específicas do fornecedor para criar aplicativos específicos da plataforma.This file, along with the referenced schema files, comprises the contract between an EWS application and the Exchange server, and is often used along with vendor-specific tools to create platform-specific applications. O arquivo WSDL está localizado no diretório virtual do EWS, que está na raiz do site.The WSDL file is located in the EWS virtual directory, which is at the root of the website.
Segurança da camada de transporte (TLS)/SSLTransport Layer Security (TLS)/SSL
Fornece comunicações da Web seguras na Internet ou na intranet.Provides secure web communications on the Internet or on intranet. O TLS permite que os aplicativos autentiquem servidores ou, opcionalmente, que os servidores autentiquem aplicativos do EWS.TLS enables applications to authenticate servers or, optionally, servers to authenticate EWS applications. Ele também fornece um canal de segurança com a criptografia de comunicações.It also provides a security channel by encrypting communications. TLS é a versão mais recente do protocolo SSL (Secure Sockets Layer).TLS is the latest version of the Secure Sockets Layer (SSL) protocol.
XML/XSDXML/XSD
Fornece um formato de mensagem universal para a troca de informações entre o servidor Exchange e o cliente.Provides a universal message format for the exchange of information between the Exchange server and the client. O XML fornece dados complexos do banco de dados do Exchange para aplicativos cliente, mas em uma estrutura definida.XML provides complex Exchange database data to client applications, but in a defined structure. A beleza do XML é que ele permite a troca de dados mesmo quando um aplicativo e um servidor do EWS não compartilham uma plataforma comum.The beauty of XML is that it allows for the exchange of data even when an EWS application and server do not share a common platform.

Além disso, os aplicativos EWS devem suportar os seguintes padrões de autenticação:In addition, EWS applications must support the following authentication standards:

  • Autenticação básica sobre SSL, para aplicativos direcionados para o Exchange Online ou o Exchange no local.Basic authentication over SSL, for applications that target Exchange Online or Exchange on-premises.

  • Autenticação NTLM sobre SSL, para aplicativos que dão suporte ao Exchange no local.NTLM authentication over SSL, for applications that support Exchange on-premises.

  • Autenticação de token 2,0 OAuth, para aplicativos de parceiros confiáveis e interoperabilidade com o Lync Server 2013 e o SharePoint Server 2013.OAuth 2.0 token authentication, for trusted partner applications and interoperability with Lync Server 2013 and SharePoint Server 2013.

Confira tambémSee also