Microsoft Exchange-API in Ihrem Java-Code

Ana Neto Neuigkeiten zum Unternehmen, Konnektoren, Technisch Einen Kommentar hinterlassen

Ihr Java-Code muss E-Mails über Microsoft Exchange Server versenden. Oder Sie müssen E-Mails von Microsoft Exchange Server mit Java lesen. Oder vielleicht sind es die Kalender, die Sie interessieren, und Sie versuchen, von dort Informationen zu erhalten oder verschiedene Kalender zu synchronisieren? Wie arbeiten Sie mit der Microsoft Exchange-Kalender-API in Java?

Der klassische Weg der Integration mit jeder Art von Software wäre die Verwendung ihrer API. Wenn Sie also versuchen, sich mit Microsoft Exchange zu integrieren, versuchen Sie wahrscheinlich herauszufinden, wie Sie die API von Exchange verwenden können.

APIs ändern sich im Laufe der Zeit - ein wenig Geschichte der Microsoft Exchange API

Die gebräuchlichste Art der Integration von Java in Exchange waren früher die Exchange Web Services (EWS). Das EWS SDK for Java was wurde als Teil von Microsoft Exchange 2007 eingeführt. Es handelt sich um eine SOAP-basierte API, aber die Sache ist die, dass Microsoft im Juli 2018 angekündigt hat, keine Funktionsaktualisierungen mehr daran vorzunehmen. Während das EWS SDK for Java will noch eine Zeit lang Sicherheitsaktualisierungen erhält, macht es derzeit keinen Sinn, ein Projekt damit zu beginnen.

Eine weitere wichtige Änderung ist, dass ab dem 13. Oktober 2020 die Unterstützung für Basic Authentication in Exchange Web Services (EWS) vollständig eingestellt wird. Microsoft will, dass alles auf OAuth umgestellt wird. OAuth ist eigentlich eine viel bessere Option, und es ist even approved als internationaler Standard (ISO/IEC). Wenn Sie noch nichts von OAuth gehört haben, können Sie hier und dann tiefer gehen hier. Und obwohl dies ein Schritt zum Besseren ist, ist es eine Tatsache, dass nach dem Ende der Unterstützung für Basic Authentication Anwendungen nicht mehr in der Lage sein werden, Basic Authentication zu verwenden, wenn sie sich über EWS mit Exchange verbinden.

Also, was nun?

Wenn Sie eine Verbindung zu Microsoft Exchange über die API von Java aus herstellen möchten und den Empfehlungen von Microsoft folgen wollen, sollten Sie Microsoft Graph verwenden.

Microsoft Graph wurde 2015 zusätzlich zu Office 365 entwickelt und delegiert Anrufe an verschiedene Office 365 Cloud-Dienste über eine einzige endpointhttps://graph.microsoft.com/. Es hat sich im Laufe der Zeit weiterentwickelt, so dass es nun auch den Zugang zu anderen Microsoft-Produkten wie Exchange umfasst.

Innerhalb von Microsoft Graph können Sie Microsoft Graph API oder Microsoft Graph Data Connect verwenden. Wie auch immer, stellen Sie sicher, dass Sie zuerst die Nutzungsbedingungen. Microsoft ist recht spezifisch, was Sie mit ihrer API machen können und was nicht, also schauen Sie sich das an.

Für die meisten Fälle ist die Microsoft Graph API der richtige Weg. Wir werden weiter unten ein wenig mehr darüber sehen.

Sie sollten Microsoft Graph data connect in Betracht ziehen, wenn Sie große Datenmengen verarbeiten müssen oder wenn Sie eine granulare Zustimmung benötigen (der Kunde erhält die Möglichkeit, die spezifischen Felder und eventuelle Ausschlüsse zu überprüfen, was mit der regulären API nicht möglich ist). Es gibt jedoch eine wichtige Regel, der Sie sich bewusst sein müssen, wenn Sie Microsoft Graph data connect in Betracht ziehen: Es sendet nur Daten vom Office 365-Tenant des Kunden an den zugehörigen Azure-Tenant.

Gehen wir zurück zur regulären API, da dies die häufigste Option ist. Es gibt derzeit 2 Versionen der Microsoft Graph REST APIs - beta und v1.0.Sie können einen Blick auf die Beta-Versionaber für jede ernsthafte Entwicklung sollten Sie natürlich bei der Produktionsversion 1.0 bleiben. Für diese Version können Sie die Dokumentation und die Java-SDK. Ja, wenn Sie gerade erst mit dieser API anfangen, gibt es eine Menge zu lernen!...

Um dann die API zu nutzen, müssen Sie zunächst Ihre App registrieren. Ich weiß, das ist nicht der aufregendste erste Schritt, aber wenn Sie die API direkt verwenden, benötigen Sie eine Anwendungs-ID, um Ihre Anwendung in API-Aufrufen zu repräsentieren. Hierfür benötigen Sie ein Arbeits-/Schulkonto oder ein Microsoft-Konto und können dann zwischen der Registrierung mit wählen:

- das Portal zur Registrierung von Microsoft-Anwendungen

- das Azure Active Directory-Verwaltungsportal (empfohlen für Anwendungen der Unternehmensklasse)

Wenn Ihre Anwendung ein vertraulicher Client (ein Dienst) ist, müssen Sie ein neues App-Passwort erstellen, um sie zu sichern. Nachdem Sie sich registriert haben, wird eine Anwendungs-ID für Ihre App erstellt und auf der Eigenschaftsseite Ihrer neuen App angezeigt.

Bitte beachten Sie schließlich, dass sich auch Microsoft Graph ständig ändert. Um eine Vorstellung von den Veränderungen im Laufe der Zeit (seit Dezember 2015) zu bekommen, können Sie einen Blick auf die changelog. Wenn Sie damit arbeiten möchten, empfehlen wir Ihnen, immer zu prüfen, welche die aktuelle Produktionsversion der API ist.

Gibt es einen besseren Weg?

Wenn Sie nicht viel Lust haben:

- Zusammenarbeit mit Microsoft an erster Stelle

- Tonnenweise Zeit für das Studium der Dokumentation aufwenden zu müssen

- Die durch zukünftige Änderungen an der Microsoft Graph API verursachten Fehler hinnehmen zu müssen

Sie fragen sich vielleicht, ob es eine Alternative gibt. Ja, es gibt einen besseren Weg!

Anstatt die API direkt zu verwenden, können Sie eine dünne Schicht zwischen sich und die API legen. Wir nennen diese Schicht Connect Bridge. Diese Schicht wurde so aufgebaut, dass sie dünn genug ist, um alles schnell und effizient zu machen, aber dick genug, damit Sie niemals Microsoft Exchange oder sogar die Microsoft Graph API berühren.

Connect Bridge ist ein kostenpflichtiges Tool, aber Sie können die Kostenlose Testversion von Connect Bridge zur Verfügung, damit Sie sehen können, ob es für Sie funktioniert. Das Schöne an diesem Werkzeug ist, dass es Vorwärts- und Rückwärtskompatibilität gewährleistet.

Sie bauen Ihren Java-Code, der sich mit Connect Bridge integriert, und dann können Ihre Benutzer Exchange aktualisieren, Microsoft kann neue Versionen der API herausbringen... und Sie müssen sich nicht darum kümmern. Es spielt keine Rolle, was nach Microsoft Graph API v1.0 kommen wird. Ihre Lösung wird immer noch funktionieren! Sie schreiben Ihren Code einmal und dann ist die ganze Komplexität etwas, um das Sie sich einfach nie kümmern müssen.

Es gibt keine Einschränkung hinsichtlich der Umgebung, in der Sie dieses Tool verwenden können. Sie können es ausführen auf

- Eine von Azure entwickelte SaaS-Plattform, die von der Connecting-Software verwaltet wird

- In Ihren Räumlichkeiten oder auf Ihren eigenen Cloud-Servern oder virtuellen Maschinen (selbst gehostet)

Wie funktioniert Connect Bridge? Was macht es hinter den Kulissen? Im Wesentlichen übersetzt es Standard-SQL-Anweisungen in API-Aufrufe. Auf Ihrem Code sieht es so aus, als würden Sie über JDBC auf eine relationale Datenbank zugreifen (ODBC und Webservices werden ebenfalls unterstützt). Sie schreiben SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen. Sie verwenden etwas, das wie Stored Procedures aussieht. Aber das ist alles nur eine Ebene der Abstraktion.

Sie greifen nicht auf die Datenbank des Microsoft Exchange zu (und glauben Sie mir, das wollen Sie nicht tun!). Aber es sieht so aus, als ob Sie es täten. Connect Bridge kommt mit einem Abfrage-Tool, mit dem Sie Ihre (gefälschten) Abfragen testen, die (gefälschten) Tabellen mit ihren (gefälschten) Spalten sehen oder sogar eine bequeme (gefälschte) gespeicherte Prozedur finden können. Wie gesagt, es fühlt sich genau so an, als würden Sie eine SQL-Datenbank verwenden, aber es ist nur eine Abstraktion.

Sobald Sie alle gewünschten Tests durchgeführt haben, fügen Sie einfach die Verbindung und die Abfragen in Ihren Code ein, als ob Sie JDBC für die Verbindung zu einer Datenbank verwenden würden... und das ist alles! Sie haben nun eine funktionierende Lösung, die keinerlei Wartung erfordert. Der gesamte Wartungsaufwand liegt auf der Seite von Connect Bridge. Das ist der Grund, warum dieses Tool ein kostenpflichtiges Tool ist. Ich denke, dass dies eine sehr clevere Idee ist... jeden Cent wert!

Es ist auch gut zu wissen, dass dieses Tool auch für die Sicherheit und Authentifizierung zuständig ist, was eine beträchtliche Zeit in Anspruch nehmen kann, wenn man von Grund auf neu entwickelt.

Schlussfolgerung

Wir haben gesehen, wie der Zugriff auf Microsoft Exchange-Daten in Java mit der Integrationsplattform Connect Bridge leicht möglich ist.

Und es gibt noch mehr gute Nachrichten: dies ist auch mit Microsoft Dynamics und Microsoft SharePoint möglich! Tatsächlich können Sie eine Verbindung zu jeder Microsoft-Software, zu Salesforce und zu vielen anderen herstellen. Sie brauchen sich nur Connect Bridge, die grundlegende Integrationsplattform, zu besorgen und den richtigen Connector auszuwählen.

Wenn Sie wissen möchten, welche Konnektoren derzeit bei Connect Bridge verfügbar sind, sind Sie hier richtig https://www.connecting-software.com/connect-bridge-connectors/

Wenn Sie wissen möchten, welche die neuesten Steckverbinder in dieser umfangreichen Sammlung sind, schauen Sie sich die Connect Bridges's Dynamik 365 Finanzen & Betrieb und Dynamics 365 Business Central Konnektoren.

Es ist auch wichtig zu wissen, dass es einige vorgefertigte Produkte gibt, die Connect Bridge verwenden und bei denen es sich um völlig vorkonfigurierte Lösungen handelt. Zum Beispiel, CB Exchange Server Sync ermöglicht es Ihnen, eine benutzerdefinierte Einweg- oder Zweiweg-Synchronisierung von Kalendern, E-Mail-Ordnern, Aufgaben, Kontakten und öffentlichen Ordnern ohne jegliche Kodierung zu wählen.

Wir hoffen, dieser Artikel war für Sie hilfreich! Hier sind einige weitere Beiträge, die wir in unserem Blog über andere Integrationsmöglichkeiten diskutieren:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.