Microsoft Exchange API in uw Java-code

Ana Neto Bedrijfsnieuws, Connectoren, Technisch Laat een reactie achter

Uw Java code moet e-mail versturen met behulp van Microsoft Exchange Server. Of u moet e-mail lezen van Microsoft Exchange Server met behulp van Java. Of misschien zijn het de kalenders waarin je geïnteresseerd bent en probeer je daar informatie vandaan te halen of probeer je verschillende kalenders te synchroniseren? Hoe werkt u met de Microsoft Exchange Agenda API in Java?

De klassieke manier om te integreren met wat voor software dan ook zou zijn om de API ervan te gebruiken. Dus, als u probeert te integreren met Microsoft Exchange probeert u waarschijnlijk te vinden hoe u Exchange's API kunt gebruiken.

API's veranderen met de tijd - een stukje geschiedenis van de Microsoft Exchange API

De meest gebruikelijke manier om van Java naar Exchange te integreren was vroeger de Exchange Web Services (EWS). EWS SDK voor Java werd gelanceerd als onderdeel van Microsoft Exchange 2007. Het is een op SOAP gebaseerde API, maar het ding is dat Microsoft in juli 2018 aankondigde dat het er geen feature-updates meer voor zou doen. Hoewel EWS SDK voor Java nog een tijdje beveiligingsupdates zal blijven ontvangen, heeft het op dit moment geen zin om er een project mee te starten.

Een andere belangrijke verandering is dat vanaf 13 oktober 2020 de ondersteuning voor Basic Authentication in Exchange Web Services (EWS) volledig stopt. Microsoft wil dat alles overgaat op OAuth. OAuth is eigenlijk een veel betere optie en het is zelfs goedgekeurd als een internationale standaard (ISO/IEC). Als u nog niet van OAuth heeft gehoord, kunt u kijken op hier en dan dieper gaan hier. En hoewel het een stap ten goede is, is het een feit dat wanneer de ondersteuning voor Basic Authentication eindigt, apps niet langer Basic Authentication zullen kunnen gebruiken wanneer ze verbinding maken met Exchange via EWS.

Dus, wat nu?

Als u vanuit Java verbinding wilt maken met Microsoft Exchange via API en u wilt de aanbevelingen van Microsoft volgen, dan moet u Microsoft Graph gebruiken.

Microsoft Graph werd in 2015 gebouwd bovenop Office 365 en delegeert oproepen naar verschillende Office 365-clouddiensten via één enkel eindpunthttps://graph.microsoft.com/. Het is in de loop der tijd zo geëvolueerd dat het nu ook toegang biedt tot andere Microsoft-producten zoals Exchange.

Binnen Microsoft Graph kunt u gebruik maken van Microsoft Graph API of Microsoft Graph data connect. Hoe dan ook, zorg ervoor dat u eerst de Gebruiksvoorwaarden. Microsoft is vrij specifiek over wat je wel en niet kunt doen met hun API, dus neem een kijkje.

In de meeste gevallen is Microsoft Graph API de beste oplossing. We zullen er hieronder wat meer over zien.

U zou Microsoft Graph data connect moeten overwegen als u grote hoeveelheden gegevens moet verwerken of als u granulaire toestemming nodig hebt (de klant krijgt inzage in de specifieke velden en eventuele uitsluitingen, wat niet mogelijk is met de gewone API). Maar er is een belangrijke regel waarvan u zich bewust moet zijn als u Microsoft Graph data connect overweegt: het zal alleen gegevens verzenden van de Office 365 tenant van de klant naar de bijbehorende Azure tenant.

Laten we teruggaan naar de gewone API, want dat is de meest voorkomende optie. Er zijn momenteel 2 versies van Microsoft Graph REST API's - beta en v1.0.U kunt een kijkje nemen op de beta-versiemaar, natuurlijk, voor een serieuze ontwikkeling moet u zich houden aan de productie versie 1.0. Voor die versie kunt u de documentatie en de Java SDK. Ja, als je net begint met deze API komt er een hoop studie bij kijken!...

Om vervolgens de API te gebruiken, moet u eerst uw app registreren. Ik weet dat dit niet de meest opwindende eerste stap is, maar als je de API direct gebruikt, heb je een Applicatie ID nodig om je applicatie te vertegenwoordigen in API calls. Hiervoor heb je een werk/school account of een Microsoft account nodig en dan kun je kiezen tussen registreren met:

- het Microsoft-applicatie registratieportaal

- het Azure Active Directory-beheerportaal (aanbevolen voor bedrijfstoepassingen)

Als uw toepassing een vertrouwelijke client is (een dienst), moet u een nieuw app-wachtwoord maken om deze te beveiligen. Nadat u zich hebt geregistreerd, wordt een applicatie-ID voor uw app aangemaakt en weergegeven op de eigenschappenpagina van uw nieuwe app.

Merk tot slot op dat Microsoft Graph ook voortdurend verandert. Om een idee te krijgen van de veranderingen in de loop der tijd (sinds dec 2015), kunt u een kijkje nemen op de changelog. Als u ermee wilt werken, raden wij u aan altijd te controleren wat de huidige productieversie van de API is.

Is er een betere manier?

Als je niet veel zin hebt:

- Werken met Microsoft in de eerste plaats

- Veel tijd moeten besteden aan het bestuderen van de documentatie

- Fouten als gevolg van toekomstige wijzigingen in de Microsoft Graph API

Je vraagt je misschien af of er een alternatief is. Ja, er is een betere manier!

In plaats van de API rechtstreeks te gebruiken, kunt u een dunne laag tussen u en de API aanbrengen. We noemen deze laag Connect Bridge. Deze laag is gebouwd om dun genoeg te zijn om alles snel en efficiënt te laten verlopen, maar dik genoeg zodat je nooit Microsoft Exchange of zelfs de Microsoft Graph API aanraakt.

Connect Bridge is een betaald gereedschap, maar u kunt de Connect Bridge gratis proef beschikbaar, zodat u kunt zien of het voor u werkt. Het mooie van dit hulpmiddel is dat het zowel voorwaartse als achterwaartse compatibiliteit garandeert.

Je bouwt je Java code integrerend met Connect Bridge, en dan kunnen je gebruikers upgraden naar Exchange, Microsoft kan nieuwe versies van de API lanceren... en jij hoeft je er geen zorgen over te maken. Het maakt niet uit wat er komt na Microsoft Graph API v1.0. Uw oplossing zal nog steeds werken! U schrijft uw code een keer en dan is alle complexiteit iets waar u zich gewoon nooit zorgen over hoeft te maken.

Er is geen beperking op de omgeving waar u dit hulpmiddel kunt gebruiken. U kunt het uitvoeren op

- Een op Azure gebouwd SaaS-platform, beheerd door Connecting-software

- Ter plaatse of op uw eigen cloudservers of virtuele machines (zelf gehost)

Hoe werkt Connect Bridge? Wat doet het achter de schermen? Het vertaalt standaard SQL statements naar API calls. In jouw code lijkt het alsof je een relationele database benadert met JDBC (ODBC en webservices worden ook ondersteund). Je schrijft SELECT, INSERT, UPDATE en DELETE statements. Je gebruikt wat lijkt op stored procedures. Maar dat is allemaal slechts een laag van abstractie.

U hebt geen toegang tot de database van de Microsoft Exchange (en geloof me, dat wilt u ook niet!). Maar het lijkt alsof je dat doet. Connect Bridge komt met een Query tool waar je je (nep) queries kunt testen, de (nep) tabellen met hun (nep) kolommen kunt zien of zelfs een handige (nep) stored procedure kunt vinden. Zoals ik al zei, het voelt precies aan alsof je een SQL database gebruikt, maar het is slechts een abstractie.

Zodra je alle testen hebt gedaan die je wilt, zet je gewoon de verbinding en de queries in je code alsof je JDBC gebruikt om verbinding te maken met een database... en dat is alles! Je hebt nu een werkende oplossing die geen onderhoud nodig heeft. Al het onderhoud is aan de kant van Connect Bridge. Dat is de reden waarom deze tool een betaalde tool is. Ik denk dat dit een heel slim idee is... elke cent waard!

Het is ook goed om op te merken dat dit gereedschap ook beveiliging en authenticatie afhandelt, wat een aanzienlijke hoeveelheid tijd kan kosten als u vanaf nul ontwikkelt.

Conclusie

We hebben gezien hoe toegang tot Microsoft Exchange gegevens in Java gemakkelijk kan worden verkregen met behulp van het Connect Bridge integratieplatform.

En er is nog meer goed nieuws: dit is ook mogelijk met Microsoft Dynamics en Microsoft SharePoint! In feite kunt u verbinding maken met elke Microsoft software, met Salesforce, en met vele andere. U hoeft alleen maar Connect Bridge aan te schaffen, dat is het basis integratieplatform, en de juiste connector te kiezen.

Als u wilt weten welke connectoren momenteel beschikbaar zijn bij Connect Bridge, kunt u terecht bij https://www.connecting-software.com/connect-bridge-connectors/

Als u wilt weten wat de nieuwste connectoren zijn in deze uitgebreide collectie, kijk dan eens naar de Connect Bridges Dynamics 365 Financiën en verrichtingen en Dynamics 365 Zakencentrum connectoren.

Het is ook belangrijk te weten dat er kant-en-klare producten zijn die gebruik maken van Connect Bridge en die volledig "out-of-the-box" zijn. Bijvoorbeeld, CB Exchange Server Sync kunt u kiezen voor aangepaste eenrichtings- of tweerichtingssynchronisatie van agenda's, e-mailmappen, taken, contactpersonen, openbare mappen zonder enige codering.

We hopen dat dit artikel nuttig voor u was! Hier zijn nog enkele berichten op onze blog die andere integratiemogelijkheden bespreken:

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *