Microsoft Exchange-Webdienste (EWS)
Was ist Microsoft Exchange-Webdienste (EWS)?
Microsoft Exchange-Webdienste (Exchange Web Services, EWS) ist eine Anwendungsprogrammschnittstelle (API), über die Anwendungen auf Elemente in einem Microsoft-Exchange-E-Mail-Postfach zugreifenkönnen, beispielsweise auf Kalender, Kontakte und Nachrichten. Mit EWS greifen viele Arten von Anwendungen auf jedes dieser Elemente von lokalen Versionen von Exchange (ab Exchange Server 2007) sowie von Exchange Online (einschließlich Exchange Online in Office 365) zu.
Erstmals wurde EWS in Exchange Server 2007 verfügbar. Diese plattformübergreifend verwaltete API bietet Exchange-Administratoren die Flexibilität, E-Mails und E-Mail-bezogene Daten zu speichern, abzurufen, zu verschieben und zu ändern. Diese Daten können zu einem einzelnen Benutzer, einer Gruppe von Benutzern und sogar zu einer ganzen Exchange-Server-Organisation auf einem Exchange-Server gehören.
Im September 2023 wurde angekündigt, dass EWS am 01. Oktober 2026 abgeschaltet wird und Anfragen von anderen Anwendungen werden blockiert. Allerdings betrifft diese Einstellung nur Microsoft 365 und Exchange Online. In Exchange Server wird es keine Änderungen an EWS geben.
Auch für Folgendes ist EWS nützlich:
- Migration von lokalen Exchange-Daten auf einen Cloud Host eines Drittanbieters
- Durchführung von Massen-Mail-Übertragungen oder -Abrufen
- Durchsuchung von Exchange-Speichern
- Verwaltung von Benutzern und Messaging-Datensätzen
Die EWS-API umfasst mehrere Funktionen, die auch in Exchange Online und Exchange 2013 aufwärts verfügbar sind:
- eDiscovery ist ein Webdienst für Verbundabfragen, mit dem externe Anwendungen eDiscovery-Abfragen für Exchange-Daten durchführen können.
- Sekundäre Postfächer für die E-Mail-Archivierung helfen bei der Verwaltung von E-Mail-Speichergrenzen.
- Aufbewahrungsrichtlinien gruppieren einen oder mehrere Aufbewahrungs-Tags und Aufbewahrungseinstellungen auf Ordner. Außerdem werden sie auf einzelne Elemente oder ein ganzes Postfach angewendet.
- Die Verwaltung von Mail-Anwendungen für Outlook unterstützt das Deaktivieren, Abrufen von App-Manifesten, Abrufen von App-Marktplatz-URLs, das Abrufen von Client-Zugriffs-Tokens und so weiter.
Wie Anwendungen Microsoft EWS für den Zugriff auf Postfächer nutzen
Mit EWS kann eine Vielzahl von Anwendungen sowohl lokal als auch remote auf Postfächer zugreifen. Die Anwendung sendet einfach eine Anforderung an den Exchange Server in einer XML-Nachricht (Extensible Markup Language), die auf dem Simple Object Access Protocol (SOAP) basiert. Die Anforderungsnachricht ist also im XML-Format, entspricht aber dem SOAP-Standard. Die SOAP/XML-Nachricht ist eine HTTP/HTTPS-Nachricht eingebettet. So kann jede Anwendung, die XML über HTTP/HTTPS posten kann, EWS verwenden, um au die gewünschten Exchange-Postfachelemente zuzugreifen.
Sobald der Exchange Server eine Anfrage von einer Anwendung erhält, geschieht Folgendes:
1. Der Server prüft die vom Client bereitgestellten Anmeldeinformationen und analysiert automatisch das XML für die angeforderten Daten.
2. Er erstellt eine SOAP-Antwort mit XML-Daten. Die Antwort stellt die angeforderten stark typisierten Objekte und ihre Eigenschaften dar.
3. Die Anwendung empfängt die XML-Daten in einer HTTP-Antwort und deserialisiert die XML-Daten.
4. Die Anwendung verwendet die Daten, um die stark typisierten Objekte neu zu erstellen.
Architektur von EWS
EWS-Anwendungen funktionieren sowohl mit den lokalen als auch mit den Online-Versionen von Microsoft Exchange. Diese Anwendungen können auf einem Client oder auf einem lokalen Exchange Client Access Server (CAS) installiert werden und sind ein wichtiger Bestandteil der EWS-Architektur.
Weitere wichtige Elemente der Architektur sind:
SOAP/XML-Nachricht
Um auf Informationen aus dem Exchange-Speicher zuzugreifen, ist eine SOAP/XML-Nachricht für Anwendungen erforderlich. Diese XML-Nachricht befindet sich in einem SOAP-Umschlag und ist in eine HTTP/HTTPS-Nachricht eingebettet. Letztere ist für Exchange Online erforderlich und muss mit der Datei Services.wsdl auf dem CAS übereinstimmen.
EWS-Dienst
Der EWS-Dienst wird durch drei Dateien und EWS-Managed-API-Assemblies (nur EWS-On-Premises-Architektur) beschrieben. Jede Datei hat ihr eigene Funktion. Eine beschreibt den Datenaustausch zwischen Client und Server, die zweite definiert die SOAP-Nachrichten für Anfrage und Antwort und die dritte definiert die in den SOAP-Nachrichten verwendeten Elemente.
Diese Dateien werden nicht für die Schema-Validierung verwendet. Die EWS-Schemata sind jedoch rückwärts- und vorwärtskompatibel, so dass eine Anwendung, die auf eine frühere Schemaversion abzielt, auch mit einer späteren Schemaversion funktioniert. Die API-Assemblies werden für serverseitige EWS-Client-Anwendungen bereitgestellt und auf allen Exchange-Server-Rollen eingesetzt.
Load Balancer
Die Load-Balancer-Komponente ist nur in der Exchange-On-Premises-Architektur sichtbar. Ihre Aufgabe ist es, die SOAP/XML-Nachricht an ein CAS im CAS-Array zu verteilen.
Authentifizierung
Verschiedene EWS-Anwendungen verwenden unterschiedliche Authentifizierungsmethoden als Teil der HTTP/HTTPS-Nutzdaten. Client-Anwendungen verwenden beispielsweise die NTLM-Authentifizierung (New Technology Lan Manager), während Portalanwendungen die OAuth-Authentifizierung (Open Authorization) verwenden. Service-Anwendungen können entweder Impersonation oder OAuth zur Authentifizierung verwenden.
Client-Zugriffsserver
Wie Load Balancer ist eine CAS-Komponente nur in der Exchange-Architektur On-Premises sichtbar. Sie bezieht sich auf eine Gruppe von CAS mit Lastausgleich. Einzelne CAS authentifizieren Anfragen, führen Exchange Autodiscover Lookups durch und leiten empfangene Anfragen an den Mailbox-Server weiter. Sie sind jedoch dünn und zustandslos und können daher keine Daten speichern oder in eine Warteschlange stellen und auch kein Daten-Rendering durchführen.
Datenbank-Verfügbarkeitsgruppe
Eine Datenbank-Verfügbarkeitsgruppe (Database Availability Group, DAG) ist nur in der Exchange-On-Premises-Architektur verfügbar. Sie bezieht sich auf eine Gruppe von Postfachservern, die in einem oder mehreren Rechenzentren bereitgestellt werden. Ein Postfachserver verwaltet alle Aktivitäten für seine aktiven Postfächer und besteht aus allen Komponenten, die Daten verarbeiten, darstellen und speichern.
Was sind EWS-Anwendungen?
Benutzer können viele Arten von EWS-Anwendungen erstellen, indem sie EWS in Exchange verwenden, da EWS die Exchange-Architektur ein einheitliches Entwicklungsmodell bieten, das die einfache und konsistente Erstellung von Anwendungen unterstützt. Alle Anwendungen verwenden eine gemeinsame Codebasis, um Informationen von Exchange abzurufen, und es besteht keine Notwendigkeit, den Code zu ändern. Die einzige Funktion, die sich zwischen den Anwendungen ändert, ist der Mechanismus für den Mailbox-Zugriff und die Authentifizierung.
Um mit einem Exchange-Server zu kommunizieren, müssen alle EWS-Anwendungen Protokolle wie HTTP/HTTPS, SOAP 1.0, Web Services Description Language (WSDL) 1.0, Secure Sockets Layer/Transport Layer Security (SSL/TSS) und XML/XML-Schema-Definition unterstützen. Die Anwendungen müssen auch diese Authentifizierungsmethoden unterstützen: Basis- und NTLM-Authentifizierung über SSL und OAuth 2.0-Token-Authentifizierung für vertrauenswürdige Partneranwendungen.
Client-Anwendungen
Die eigenständigen Anwendungen verwenden EWS, um Daten aus Exchange abzurufen und darauf zuzugreifen, entweder über direkten Client-Zugriff oder durch Delegieren des Zugriffs zum Abrufen der erforderlichen Daten. Benutzer können nur mit ihren eigenen Anmeldedaten auf die Informationen in ihrem eigenen Postfach zugreifen, und zwar aufgrund von Basic-, NTLM- (älteres Windows) oder Kerberos-Authentifizierung (in Windows integriert). Beispiele für Client-Anwendungen sind Outlook, Outlook on the Web (früher Outlook Web App) und Microsoft Teams.
Portalanwendungen
In der Regel greifen Portalanwendungen auf Informationen aus Exchange zu, wie zum Beispiel freie/besetzte Zeiten in einem Kalender oder Kontaktinformationen, um eine bestehende Website oder ein Portal zu erweitern und zu personalisieren. Ein Beispiel für eine Portalanwendung ist ein SharePoint-Webpart, der den Benutzern beim Anzeigen von Seiten in einem SharePoint-Portal personalisierte Erfahrungen bietet.
Auch Portalanwendungen können wie Client-Anwendungen direkten Client-Zugriff verwenden oder den Zugriff auf Informationen aus dem Exchange-Postfachspeicher delegieren. Darüber hinaus verwenden diese Anwendungen Impersonation, um die erforderlichen Daten abzurufen. Die verwendete Authentifizierungsmethode ist OAuth, da sie eine nahtlose und sicherer Methode zur Authentifizierung von Daten bieten.
Dienstanwendungen
Dienstanwendungen sind Hintergrundaufgaben, die in eine bestehende Anwendung integriert werden, um Daten zwischen einem System und Microsoft Exchange zu integrieren oder zu synchronisieren. Eine Anwendung, die Kontaktinformationen von Exchange mit einer CRM-Anwendung synchronisiert, ist beispielsweise eine Dienstanwendung.
Die meisten Dienstanwendungen verfügen nicht über eine Benutzeroberfläche. Außerdem verwenden sie entweder Impersonation oder OAuth für die Authentifizierung, den Datenzugriff und die Postfachoperationen für mehrere (impersonierte) Konten.