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 stai cercando di integrarti con Microsoft Exchange probabilmente stai cercando di trovare come usare le API di Exchange.
Le API cambiano nel tempo - un po' di storia dell'API 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 vuoi connetterti a Microsoft Exchange via API da Java e vuoi seguire le raccomandazioni di Microsoft, dovresti usare 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 percorrere. Ne vedremo un po' di più qui sotto.
Dovresti considerare Microsoft Graph data connect se hai bisogno di gestire grandi dati o se hai bisogno di un consenso granulare (il cliente potrà rivedere i campi specifici ed eventuali esclusioni che non è possibile con l'API regolare). Ma c'è una regola importante di cui devi essere consapevole se stai considerando Microsoft Graph data connect: invierà i dati solo dal tenant Office 365 del cliente al tenant Azure associato.
Torniamo all'API normale, poiché è l'opzione più comune. Ci sono attualmente 2 versioni di Microsoft Graph REST API - beta e v1.0.Potete dare un'occhiata alla versione 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 siete appena agli inizi con questa API c'è molto da studiare!
Per utilizzare l'API, dovrete prima registrare la vostra applicazione. So che questo non è il primo passo più eccitante, ma se state usando l'API direttamente, avrete bisogno di un Application ID per rappresentare la vostra applicazione nelle chiamate API. Per questo avrete bisogno di un account di lavoro/scuola o un account Microsoft e poi potrete scegliere se registrarvi usando:
- il portale di registrazione delle applicazioni Microsoft
- il portale di gestione Azure Active Directory (consigliato per applicazioni di classe enterprise)
Se la tua applicazione è un cliente riservato (un servizio), devi creare una nuova password dell'applicazione per renderla sicura. Dopo la registrazione, un ID dell'applicazione verrà creato per la tua applicazione e visualizzato nella pagina delle proprietà della tua 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.
Tu costruisci il tuo codice Java integrandolo con Connect Bridge, e poi i tuoi utenti possono aggiornare Exchange, Microsoft può lanciare nuove versioni dell'API... e tu non dovrai preoccuparti. Non importa cosa verrà dopo Microsoft Graph API v1.0. La tua soluzione funzionerà ancora! 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 stai accedendo al database del Microsoft Exchange (e credimi, non vuoi farlo!). Ma sembra che tu lo stia facendo. Connect Bridge è dotato di uno strumento Query dove puoi testare le tue (false) query, vedere le (false) tabelle con le loro (false) colonne o anche trovare una comoda (falsa) stored procedure. Come ho detto, sembra esattamente come se stesse usando un database SQL, ma è solo un'astrazione.
Una volta che avete fatto tutti i test che volete, basta mettere la connessione e le query nel vostro codice come se steste usando JDBC per connettervi a un database... e questo è tutto! Ora avete una soluzione funzionante che richiede zero manutenzione. Tutto lo sforzo di manutenzione è dalla parte di Connect Bridge. Ecco perché questo strumento è a pagamento. Penso che sia un'idea molto intelligente... 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/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: