API Microsoft Exchange nel vostro codice Java

Ana Neto Notizie dell'azienda, Connettori, Tecnico Lascia un commento

Il vostro codice Java deve inviare la posta utilizzando Microsoft Exchange Server. Oppure è necessario leggere la posta elettronica da Microsoft Exchange Server utilizzando Java. O forse sono i calendari che ti interessano e stai cercando di ottenere informazioni da lì o stai cercando di sincronizzare diversi calendari? Come si lavora con l'API del calendario Microsoft Exchange in Java?

Il modo classico di integrarsi con qualsiasi tipo di software sarebbe quello di utilizzare le sue API. Quindi, se state cercando di integrarvi con Microsoft Exchange probabilmente state cercando di trovare il modo di usare le API di Exchange.

Le API cambiano nel tempo - un po' di storia delle API di Microsoft Exchange

Il modo più comune per integrare da Java a Exchange era l'Exchange Web Services (EWS). EWS SDK for Java was lanciato come parte di Microsoft Exchange 2007. Si tratta di un'API basata su SOAP, ma il fatto è che nel luglio 2018 Microsoft ha annunciato che non effettuerà più alcun aggiornamento delle funzionalità. Mentre EWS SDK for Java will continua a ricevere aggiornamenti di sicurezza per un po' di tempo, non ha senso iniziare un progetto che lo utilizzi al momento.

Un altro importante cambiamento è che dal 13 ottobre 2020 il supporto per l'autenticazione di base nei servizi Web Exchange (EWS) cesserà completamente. Microsoft vuole che tutto passi a OAuth. OAuth è in realtà un'opzione molto migliore ed è even approved come standard internazionale (ISO/IEC). Se non avete sentito parlare di OAuth, potete controllare qui e poi andare più in profondità qui. E anche se è una mossa per il meglio, il fatto è che quando il supporto per l'Autenticazione di base termina le applicazioni non saranno più in grado di utilizzare l'Autenticazione di base quando si connettono a Exchange utilizzando EWS.

E ora che si fa?

Se si desidera connettersi a Microsoft Exchange tramite API da Java e si desidera seguire le raccomandazioni di Microsoft, è necessario utilizzare Microsoft Graph.

Microsoft Graph è stato costruito nel 2015 in aggiunta a Office 365 e delega le chiamate a diversi servizi cloud Office 365 tramite un unico endpointhttps://graph.microsoft.com/. Si è evoluto nel tempo, tanto che ora include anche l'accesso ad altri prodotti Microsoft come Exchange.

All'interno di Microsoft Graph è possibile utilizzare Microsoft Graph API o Microsoft Graph data connect. In entrambi i casi, assicuratevi di controllare prima il Condizioni di utilizzo. Microsoft è molto specifica su ciò che si può e non si può fare con le loro API, quindi date un'occhiata.

Per la maggior parte dei casi, Microsoft Graph API è la strada da seguire. Vedremo un po' di più in seguito.

Si consiglia di considerare Microsoft Graph data connect se si ha bisogno di gestire dati di grandi dimensioni o se si ha bisogno di un consenso granulare (il cliente avrà la possibilità di rivedere i campi specifici e le eventuali esclusioni che non è possibile con le normali API). Ma c'è una regola importante di cui dovete essere consapevoli se state considerando Microsoft Graph data connect: invierà solo i dati dall'inquilino Office 365 del cliente all'inquilino Azure associato.

Torniamo alle normali API, poiché questa è l'opzione più comune. Attualmente ci sono 2 versioni di Microsoft Graph REST APIs - beta e v1.0.You può dare un'occhiata alla versione betama, naturalmente, per qualsiasi sviluppo serio si dovrebbe attenersi alla versione di produzione 1.0. Per quella versione, è possibile controllare la documentazione e il Java SDK. Sì, se si è appena iniziato con questa API c'è molto studio da fare!

Per poter utilizzare l'API, è necessario prima registrare la propria applicazione. So che questo non è il primo passo più entusiasmante, ma se si utilizza direttamente l'API, sarà necessario un Application ID per rappresentare la propria applicazione nelle chiamate API. Per questo ti servirà un account di lavoro/scuola o un account Microsoft e poi potrai scegliere se registrarti utilizzando l'API:

- il portale di registrazione delle applicazioni Microsoft

- il portale di gestione Azure Active Directory (consigliato per applicazioni di classe enterprise)

Se la vostra applicazione è un cliente confidenziale (un servizio), è necessario creare una nuova password dell'applicazione per proteggerla. Dopo la registrazione, verrà creato un ID applicazione per la vostra applicazione e visualizzato sulla pagina delle proprietà della vostra nuova applicazione.

Infine, si noti che anche Microsoft Graph cambia continuamente. Per avere un'idea dei cambiamenti nel tempo (da dicembre 2015), potete dare un'occhiata al changelog. Se si vuole lavorare con essa, si consiglia di verificare sempre quale sia la versione di produzione attuale dell'API.

C'è un modo migliore?

Se non ti piace molto:

- Lavorare con Microsoft in primo luogo

- Dover passare tonnellate di tempo a studiare la documentazione

- Dover sopportare gli errori causati da future modifiche alle API di Microsoft Graph

Vi starete chiedendo se c'è un'alternativa. Sì, c'è un modo migliore!

Invece di usare direttamente l'API, si può mettere un sottile strato tra voi e l'API. Chiamiamo questo strato Connect Bridge. Questo strato è stato costruito per essere abbastanza sottile da avere tutto veloce ed efficiente, ma abbastanza spesso da non toccare mai Microsoft Exchange o anche Microsoft Graph API.

Connect Bridge è uno strumento a pagamento, ma è possibile controllare il Connect Bridge prova gratuita disponibile in modo da poter vedere se funziona per voi. Il bello di questo strumento è che assicura la compatibilità avanti e indietro.

Costruisci il tuo codice Java integrandoti con Connect Bridge, e poi i tuoi utenti possono aggiornare Exchange, Microsoft può lanciare nuove versioni delle API... e non dovrai preoccuparti di questo. Non importa cosa verrà dopo Microsoft Graph API v1.0. La tua soluzione funzionerà comunque! Scrivi il tuo codice una volta e poi tutta la complessità è qualcosa di cui semplicemente non dovrai mai preoccuparti.

Non vi è alcuna limitazione sull'ambiente in cui è possibile utilizzare questo strumento. È possibile eseguirlo su

- Una piattaforma SaaS di tipo Azure-built gestita dal software Connecting

- Nei locali o sui propri server cloud o macchine virtuali (in hosting)

Come funziona Connect Bridge? Cosa fa dietro le quinte? Fondamentalmente traduce le istruzioni SQL standard in chiamate API. Sul vostro codice sembra che stiate accedendo a un database relazionale utilizzando JDBC (sono supportati anche l'ODBC e i servizi Web). Scrivete le istruzioni SELECT, INSERT, UPDATE e DELETE. State usando quelle che sembrano procedure memorizzate. Ma questo è solo un livello di astrazione.

Non state accedendo al database di Microsoft Exchange (e credetemi, non volete farlo!). Ma sembra proprio di sì. Connect Bridge viene fornito con uno strumento Query dove potete testare le vostre (false) query, vedere le tabelle (false) con le loro colonne (false) o anche trovare una comoda procedura (falsa) memorizzata. Come ho detto, sembra esattamente come se si stesse usando un database SQL, ma è solo un'astrazione.

Una volta che hai fatto tutti i test che vuoi, basta mettere la connessione e le query nel tuo codice come se stessi usando JDBC per connetterti ad un database... e questo è tutto! Ora avete una soluzione funzionante che non richiede alcuna manutenzione. Tutto lo sforzo di manutenzione è sul lato di Connect Bridge. Ecco perché questo strumento è uno strumento a pagamento. Penso che questa sia un'idea molto intelligente... che vale ogni centesimo!

È anche bene notare che questo strumento gestisce anche la sicurezza e l'autenticazione, che può richiedere molto tempo se si sta sviluppando da zero.

Conclusione

Abbiamo visto come l'accesso ai dati Microsoft Exchange in Java può essere facilmente effettuato utilizzando la piattaforma di integrazione Connect Bridge.

E c'è un'altra buona notizia: questo è possibile anche con Microsoft Dynamics e Microsoft SharePoint! Infatti, è possibile collegarsi a qualsiasi software Microsoft, a Salesforce e a molti altri. Basta prendere Connect Bridge, che è la piattaforma di integrazione di base e scegliere il connettore giusto.

Se volete sapere quali connettori sono attualmente disponibili a Connect Bridge, il posto dove andare è https://www.connecting-software.com/connect-bridge-connectors/

Se volete sapere quali sono i connettori più recenti di questa vasta collezione, date un'occhiata a Connect Bridges Dynamics 365 Finanza e operazioni e Dynamics 365 Business Central connettori.

E' anche importante sapere che ci sono alcuni prodotti pronti all'uso che utilizzano Connect Bridge e che sono soluzioni totalmente out-of-the-box. Per esempio, CB Exchange Server Sync consente di scegliere la sincronizzazione personalizzata a senso unico o bidirezionale di calendari, cartelle di posta elettronica, attività, contatti, cartelle pubbliche senza alcuna codifica.

Speriamo che questo articolo vi sia stato utile! Qui ci sono altri post che abbiamo sul nostro blog che parlano di altre possibilità di integrazione:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *