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 in Microsoft Exchange zu integrieren, versuchen Sie wahrscheinlich herauszufinden, wie Sie die API von Exchange verwenden können.

APIs ändern sich mit der Zeit - ein bisschen 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 sich von Java aus über API mit Microsoft Exchange verbinden 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.

In den meisten Fällen ist die Microsoft Graph API der richtige Weg. Wir werden weiter unten etwas 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 kann die spezifischen Felder und alle Ausschlüsse überprüfen, was mit der regulären API nicht möglich ist). Es gibt jedoch eine wichtige Regel, die Sie beachten müssen, wenn Sie Microsoft Graph data connect in Erwägung ziehen: Es werden nur Daten vom Office 365-Mieter des Kunden an den zugehörigen Azure-Mieter gesendet.

Lassen Sie uns zur regulären API zurückkehren, da dies die häufigste Option ist. Derzeit gibt es 2 Versionen der Microsoft Graph REST APIs - Beta und v1.0.You kann 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, ist eine Menge Studium erforderlich!....

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

- das Portal zur Registrierung von Microsoft-Anwendungen

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

Wenn es sich bei Ihrer Anwendung um einen vertraulichen Client (eine Dienstleistung) handelt, müssen Sie ein neues Anwendungspasswort erstellen, um sie zu sichern. Nachdem Sie sich registriert haben, wird eine Anwendungs-ID für Ihre Anwendung erstellt und auf der Eigenschaftsseite Ihrer neuen Anwendung 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 erstellen Ihren Java-Code mit der Integration von Connect Bridge, und dann können Ihre Benutzer Exchange aktualisieren, Microsoft kann neue Versionen der API starten... und Sie müssen sich darüber keine Gedanken machen. Es spielt keine Rolle, was nach der Microsoft Graph API v1.0 kommen wird. Ihre Lösung wird trotzdem funktionieren! Sie schreiben Ihren Code einmal und dann ist die ganze Komplexität etwas, worüber Sie sich einfach nie Sorgen machen 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 von Microsoft Exchange zu (und glauben Sie mir, das wollen Sie nicht tun!). Aber es sieht so aus, als würden Sie es tun. Connect Bridge wird mit einem Abfragetool geliefert, 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 ich schon sagte, fühlt es sich genau so an, als würde es eine SQL-Datenbank verwenden, aber es ist nur eine Abstraktion.

Wenn Sie alle gewünschten Tests durchgeführt haben, setzen 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. Deshalb ist dieses Tool ein kostenpflichtiges Tool. 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.