m-exchange-api-java-code-cover

API Microsoft Exchange nel vostro codice Java

Ana NetoCompany news, Connectors, Technical Leave a Comment

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 Java all'Exchange era l'Exchange Web Services (EWS). L'SDK EWS per Java è stato lanciato come parte di Microsoft Exchange 2007. Si tratta di un'API basata su SOAP, ma nel luglio 2018 Microsoft ha annunciato che non avrebbe più effettuato alcun aggiornamento delle funzionalità. Anche se EWS SDK per Java continuerà a ricevere aggiornamenti di sicurezza per un po' di tempo, al momento non ha senso avviare un progetto che lo utilizzi.

Un altro cambiamento importante è 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 è persino approvato come standard internazionale (ISO/IEC). Se non avete mai 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 sulla base di Office 365 e delega le chiamate a diversi servizi Office 365 Cloud attraverso un unico endpoint.https://graph.microsoft.com/. Si è evoluto nel tempo, tanto che ora include anche l'accesso ad altri prodotti Microsoft come Exchange.

Image

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. Attualmente esistono due versioni delle API REST di Microsoft Graph: beta e v1.0.È possibile 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 di Azure Active Directory (consigliato per le 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 spendere tonnellate di tempo per studiare la documentazione

- Dover sopportare gli errori causati dalle future modifiche all'API 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-connectors-m-exchange-api-java-code1

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.

Costruite il vostro codice Java integrandolo con Connect Bridge, e poi i vostri utenti possono aggiornare Exchange, Microsoft può lanciare nuove versioni dell'API... e voi non dovrete preoccuparvi. Non importa cosa succederà dopo la Microsoft Graph API v1.0. La vostra soluzione funzionerà comunque! Si scrive il codice una volta sola e tutta la complessità è qualcosa di cui non ci si deve mai preoccupare.

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

- Una piattaforma SaaS costruita su Azure e gestita da Connecting software

- In sede o su server o macchine virtuali del proprio cloud (self-hosted)

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 eseguiti tutti i test desiderati, basta inserire la connessione e le query nel codice come se si stesse usando JDBC per connettersi a un database... e questo è tutto! Ora avete una soluzione funzionante che richiede zero manutenzione. Tutto il lavoro di manutenzione è a carico 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.

selezionare_exchange-m-exchange-api-java-code

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/

connettori-m-exchange-api-java-code

Se volete sapere quali sono i connettori più recenti di questa vasta collezione, date un'occhiata al sito di 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:


Sull'autore

Ana Neto

Da Ana Neto, consulente tecnico a Connecting Software.

"Sono un ingegnere informatico dal 1997, con un amore più recente per la scrittura e il public speaking". Avete domande o commenti su questo articolo? Mi piacerebbe avere il vostro feedback, lasciate un commento qui sotto!"

Lascia un commento

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

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.