API de Microsoft Exchange en tu Código Java

Ana Neto Noticias de la empresa, Conectores, Técnico Deje un comentario

Su código Java necesita enviar el correo usando el Servidor Microsoft Exchange. O necesitas leer el correo electrónico del Servidor Microsoft Exchange usando Java. O tal vez son los calendarios en los que estás interesado y estás tratando de obtener información de allí o tratando de sincronizar diferentes calendarios? ¿Cómo trabajas con la API del Calendario Exchange de Microsoft en Java?

La forma clásica de integrarse con cualquier tipo de software sería utilizar su API. Por lo tanto, si estás tratando de integrarte con el Exchange de Microsoft, probablemente estás tratando de encontrar cómo usar la API del Exchange.

Las APIs cambian con el tiempo - un poco de historia de la API de Microsoft Exchange

La forma más común de integrar de Java a Exchange solía ser el Exchange Web Services (EWS). EWS SDK para  Java fue lanzado como parte de Microsoft Exchange 2007. Es una API basada en SOAP, pero el caso es que en julio de 2018 Microsoft anunció que ya no haría ninguna actualización de sus características. Mientras que el EWS SDK para  Java sigue recibiendo actualizaciones de seguridad por un tiempo no tiene sentido comenzar un proyecto usándolo en este momento.

Otro cambio importante es que a partir del 13 de octubre de 2020 el soporte para la Autenticación Básica en Exchange Web Services (EWS) se detendrá completamente. Microsoft quiere que todo se mueva hacia OAuth. OAuth es en realidad una opción mucho mejor y es incluso aprobado como un Estándar Internacional (ISO/IEC). Si no has oído hablar de OAuth, puedes comprobar aquí y luego ir más profundo aquí. Y aunque es un movimiento para mejor, el hecho es que cuando el soporte para la Autenticación Básica termine, las aplicaciones ya no podrán usar la Autenticación Básica cuando se conecten a Exchange usando EWS.

¿Y ahora?

Si quieres conectarte a Microsoft Exchange a través de la API de Java y quieres seguir las recomendaciones de Microsoft, debes usar Microsoft Graph.

Microsoft Graph se construyó en 2015 sobre el Office 365 y delega las llamadas a diferentes servicios de la Cloud del Office 365 a través de un único endpointhttps://graph.microsoft.com/. Ha evolucionado con el tiempo de manera que ahora incluye el acceso a otros productos de Microsoft como el Exchange.

Dentro de Microsoft Graph puedes usar la API de Microsoft Graph o la conexión de datos de Microsoft Graph. De cualquier manera, asegúrate de revisar primero las Condiciones de uso. Microsoft es bastante específico sobre lo que puedes y no puedes hacer con su API, así que echa un vistazo.

En la mayoría de los casos, Microsoft Graph API es el camino a seguir. Veremos un poco más sobre esto a continuación.

Debe considerar la conexión de datos de Microsoft Graph si necesita manejar datos de gran tamaño o si necesita un consentimiento granular (el cliente podrá revisar los campos específicos y cualquier exclusión que no sea posible con la API regular). Pero hay una regla importante que debes tener en cuenta si estás considerando la conexión de datos de Microsoft Graph: sólo enviará datos del tenant Office 365 del cliente al tenant Azure asociado.

Volvamos al API regular, ya que es la opción más común. Actualmente hay 2 versiones de Microsoft Graph REST APIs - beta y v1.0. Puedes echar un vistazo a la versión beta...pero, por supuesto, para cualquier desarrollo serio debes ceñirte a la versión de producción 1.0. Para esa versión, puede consultar la documentación y la Java SDK. Sí, si acabas de empezar con este API hay mucho que estudiar...

Para poder utilizar la API, primero tendrás que registrar tu aplicación. Sé que este no es el primer paso más emocionante, pero si utilizas la API directamente, necesitarás un ID de aplicación para representar tu aplicación en las llamadas a la API. Para ello necesitarás una cuenta de trabajo/escuela o una cuenta de Microsoft y luego podrás elegir entre registrarte usando:

- el Portal de Registro de Aplicaciones de Microsoft

- el portal de gestión Azure Active Directory (recomendado para aplicaciones de clase empresarial)

Si su aplicación es un cliente confidencial (un servicio), debe crear una nueva contraseña de aplicación para asegurarla. Una vez que te hayas registrado, se creará un ID de aplicación para tu aplicación y se mostrará en la página de propiedades de tu nueva aplicación.

Por último, tened en cuenta que Microsoft Graph también está cambiando todo el tiempo. Para tener una idea de los cambios a lo largo del tiempo (desde diciembre de 2015), puedes echar un vistazo a lo changelog. Si quieres trabajar con él, te recomendamos que siempre compruebes cuál es la versión de producción actual de la API.

¿Hay una mejor manera?

Si no te gusta mucho:

- Trabajar con Microsoft en primer lugar

- Tener que pasar inmenso tiempo estudiando la documentación

- Tener que lidiar con errores causados ​​por cambios futuros en la API de Microsoft Graph

Te preguntarás si hay alguna alternativa. ¡Sí, hay una mejor manera!

En lugar de usar la API directamente, puedes poner una fina capa entre tú y la API. Llamamos a esta capa Connect Bridge. Esta capa se construyó para ser lo suficientemente delgada para tener todo rápido y eficiente, pero lo suficientemente gruesa para que nunca toques el Microsoft Exchange o incluso el Microsoft Graph API.

Connect Bridge es una herramienta pagada, pero puedes comprobar el Connect Bridge prueba gratuita disponible para que puedas ver si funciona para ti. La belleza de esta herramienta es que asegura la compatibilidad con versiones anteriores y posteriores.

Construyes tu código Java integrándolo con Connect Bridge, y luego tus usuarios pueden actualizar Exchange, Microsoft puede lanzar nuevas versiones del API... y no tendrás que preocuparte por ello. No importa lo que vendrá después de Microsoft Graph API v1.0. Tu solución seguirá funcionando! Escribes tu código una vez y luego toda la complejidad es algo de lo que simplemente no tienes que preocuparte.

No hay ninguna limitación en el entorno en el que se puede utilizar esta herramienta. Puedes ejecutarla en

- Una plataforma SaaS construido en Azure gestionada por Connecting software

- En sus instalaciones o en sus propios servidores en la Cloud o máquinas virtuales (Self-hosted)

¿Cómo funciona el Connect Bridge? ¿Qué está haciendo entre bastidores? Básicamente traduce las sentencias SQL estándar a llamadas API. En su código parece que está accediendo a una base de datos relacional usando JDBC (también se soportan ODBC y servicios Web). Escribes las sentencias SELECT, INSERT, UPDATE y DELETE. Estás usando lo que parece ser procedimientos almacenados. Pero todo eso es sólo una capa de abstracción.

No estás accediendo a la base de datos del Microsoft Exchange (y créeme, ¡no quieres hacer eso!). Pero parece que sí. Connect Bridge viene con una herramienta de Query donde puedes probar tus queries (falsas), ver las tablas (falsas) con sus columnas (falsas) o incluso encontrar un procedimiento almacenado (falso) conveniente. Como dije, se siente exactamente como si estuviera usando una base de datos SQL, pero es sólo una abstracción.

Una vez que hayas hecho todas las pruebas que quieras, sólo tienes que poner la conexión y las consultas en tu código como si estuvieras usando JDBC para conectarte a una base de datos... ¡y eso es todo! Ahora tienes una solución que funciona y que requerirá cero mantenimiento. Todo el esfuerzo de mantenimiento está del lado de Connect Bridge. Por eso esta herramienta es una herramienta pagada. Creo que es una idea muy inteligente... ¡vale cada centavo!

También es bueno señalar que esta herramienta también se encarga de la seguridad y la autenticación, lo que puede llevar una cantidad considerable de tiempo si se está desarrollando desde cero.

Conclusión

Hemos visto cómo el acceso a los datos de Microsoft Exchange en Java se puede hacer fácilmente usando la plataforma de integración Connect Bridge.

Y hay más buenas noticias: ¡esto también es posible con Microsoft Dynamics y Microsoft SharePoint! De hecho, puedes conectarte a cualquier software de Microsoft, a Salesforce y a muchos otros. Sólo tienes que obtener el Connect Bridge, que es la plataforma base de integración y elegir el conector correcto.

Si quieres saber qué conectores están disponibles actualmente en el Connect Bridge, el lugar para ir es https://www.connecting-software.com/connect-bridge-connectors/

Si quieres saber cuáles son los conectores más nuevos de esta vasta colección, echa un vistazo a los conectores de Connect Bridge Dynamics 365 Finance & Operations y Dynamics 365 Business Central .

También es importante saber que hay algunos productos ya preparados que utilizan el Connect Bridge y que son soluciones totalmente listas para usar. Por ejemplo, CB Exchange Server Sync le permite elegir la sincronización personalizada unilateral o bidireccional de calendarios, carpetas de correo electrónico, tareas, contactos, carpetas públicas sin ningún tipo de codificación.

¡Esperamos que este artículo le haya sido útil! Aquí hay algunas publicaciones más que tenemos en nuestro blog discutiendo otras posibilidades de integración:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *