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 usted está tratando de integrarse con Microsoft Exchange probablemente está tratando de encontrar la forma de utilizar la API de Exchange.

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

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 vía API desde Java y quieres seguir las recomendaciones de Microsoft, debes utilizar 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.

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

Debería considerar Microsoft Graph data connect si necesita manejar big data o si necesita un consentimiento granular (el cliente podrá revisar los campos específicos y cualquier exclusión, lo que no es posible con la API regular). Pero hay una regla importante que debe tener en cuenta si está considerando Microsoft Graph data connect: solo enviará datos desde el tenant Office 365 del cliente al tenant Azure asociado.

Volvamos a la API normal, ya que es la opción más común. Actualmente hay dos versiones de las APIs Microsoft Graph REST: la beta y la 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 estás empezando con esta API hay que estudiar mucho...

Para poder utilizar la API, primero tendrá que registrar su aplicación. Sé que este no es el primer paso más emocionante, pero si estás usando la API directamente, necesitarás un ID de aplicación para representar tu aplicación en las llamadas a la API. Para esto necesitarás una cuenta de trabajo/escuela o una cuenta de Microsoft y luego puedes 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 tu aplicación es un cliente confidencial (un servicio), debes 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 app y se mostrará en la página de propiedades de tu nueva app.

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.

Usted construye su código Java integrando con Connect Bridge, y luego sus usuarios pueden actualizar a Exchange, Microsoft puede lanzar nuevas versiones de la API... y usted no tendrá que preocuparse. No importa lo que venga 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 nunca.

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 de Microsoft Exchange (y créeme, no quieres hacerlo). Pero parece que sí. El Connect Bridge viene con una herramienta de consulta donde puedes probar tus consultas (falsas), ver las tablas (falsas) con sus columnas (falsas) o incluso encontrar un procedimiento almacenado (falso) conveniente. Como he dicho, se siente exactamente como si estuviera utilizando 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 no requiere ningún mantenimiento. Todo el esfuerzo de mantenimiento está del lado de Connect Bridge. Por eso esta herramienta es de pago. 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 *