Microsoft Exchange API no seu código Java

Ana Neto Notícias da empresa, Conectores, Técnico Deixe um Comentário

O seu código Java precisa de enviar correio utilizando o Microsoft Exchange Server. Ou você precisa ler e-mails do Microsoft Exchange Server usando o Java. Ou talvez seja nos calendários que você está interessado e está tentando obter informações a partir daí ou tentando sincronizar diferentes calendários? Como você trabalha com o Microsoft Exchange Calendário API em Java?

A forma clássica de integração com qualquer tipo de software seria utilizar a sua API. Então, se você está tentando se integrar com o Microsoft Exchange, você provavelmente está tentando descobrir como usar a API do Exchange.

APIs mudam com o tempo - um pouco de história da API do Microsoft Exchange

A forma mais comum de integração de Java a Exchange era o Exchange Web Services (EWS). EWS SDK for Java was lançado como parte do Microsoft Exchange 2007. É uma API baseada em SOAP, mas a questão é que em julho de 2018 a Microsoft anunciou que não faria mais nenhuma atualização de recursos para ela. Embora o EWS SDK for Java will continue a receber atualizações de segurança por algum tempo, não faz sentido iniciar um projeto usando-o no momento.

Outra mudança importante é que a partir de 13 de outubro de 2020 o suporte à Autenticação Básica no Exchange Web Services (EWS) vai parar completamente. A Microsoft quer que tudo passe para o OAuth. O OAuth é na verdade uma opção muito melhor e é even approved como Norma Internacional (ISO/IEC). Se você não ouviu falar do OAuth, você pode verificar aqui e depois ir mais fundo aqui. E embora seja um movimento para melhor, o fato é que quando o suporte à Autenticação Básica terminar, os aplicativos não poderão mais usar a Autenticação Básica ao conectar-se ao Exchange usando o EWS.

Então, e agora?

Se você quiser se conectar ao Microsoft Exchange via API de Java e quiser seguir as recomendações da Microsoft, você deve usar o Microsoft Graph.

O Microsoft Graph foi construído em 2015 sobre o Office 365 e delega chamadas para diferentes serviços do Office 365 Cloud através de um único endpointhttps://graph.microsoft.com/. Evoluiu com o tempo de modo que agora inclui o acesso a outros produtos Microsoft como o Exchange.

Dentro do Microsoft Graph você pode usar o Microsoft Graph API ou Microsoft Graph data connect. De qualquer forma, certifique-se de verificar primeiro a Termos de Uso. A Microsoft é bastante específica sobre o que você pode e não pode fazer com a API deles, então dê uma olhada.

Para a maioria dos casos, o Microsoft Graph API é o caminho a seguir. Veremos um pouco mais sobre isso abaixo.

Você deve considerar a conexão de dados Microsoft Graph se você precisar lidar com dados grandes ou se você precisar de consentimento granular (o cliente terá que rever os campos específicos e quaisquer exclusões que não são possíveis com a API regular). Mas existe uma regra importante que deve ter em conta se estiver a considerar a ligação de dados do Microsoft Graph: apenas enviará dados do inquilino Office 365 do cliente para o inquilino Azure associado.

Vamos voltar ao API normal, pois essa é a opção mais comum. Existem atualmente 2 versões das APIs Microsoft Graph REST - beta e v1.0.You pode dar uma olhada na versão betamas, é claro, para qualquer desenvolvimento sério você deve se ater à versão de produção 1.0. Para essa versão, você pode verificar a documentação e o Java SDK. Sim, se você está apenas começando com esta API, há muito estudo envolvido!...

Para então utilizar a API, você precisará primeiro registrar seu aplicativo. Eu sei que este não é o primeiro passo mais emocionante, mas se você estiver usando a API diretamente, você precisará de um ID de aplicação para representar sua aplicação nas chamadas da API. Para isso, você precisará de uma conta de trabalho/escola ou uma conta Microsoft e então você pode escolher entre se registrar usando:

- o Portal de Registro de Aplicativos Microsoft

- o portal de gestão do Azure Active Directory (recomendado para aplicações de classe empresarial)

Se a sua aplicação é um cliente confidencial (um serviço), você deve criar uma nova senha de aplicação para protegê-la. Após o registo, será criada uma ID de aplicação para a sua aplicação e exibida na página de propriedades da sua nova aplicação.

Finalmente, note que o Microsoft Graph também está mudando o tempo todo. Para ter uma idéia das mudanças ao longo do tempo (desde dezembro de 2015), você pode dar uma olhada no changelog. Se você quiser trabalhar com ele, recomendamos que você sempre verifique qual é a versão de produção atual da API.

Há uma maneira melhor?

Se não estás muito interessado:

- Trabalhar com a Microsoft em primeiro lugar

- Ter de passar toneladas de tempo a estudar a documentação

- Ter de suportar os erros causados por futuras alterações na API gráfica da Microsoft

Você pode estar se perguntando se há alguma alternativa. Sim, há uma maneira melhor!

Em vez de usar a API diretamente, você pode colocar uma fina camada entre você e a API. Nós chamamos esta camada de Connect Bridge. Esta camada foi construída para ser fina o suficiente para ter tudo rápido e eficiente, mas espessa o suficiente para que você nunca toque no Microsoft Exchange ou mesmo na API gráfica da Microsoft.

Connect Bridge é uma ferramenta paga, mas você pode verificar o Connect Bridge teste gratuito disponível para que você possa ver se funciona para você. A beleza desta ferramenta é que ela garante compatibilidade para frente e para trás.

Você constrói seu código Java integrando-se com o Connect Bridge, e então seus usuários podem atualizar o Exchange, a Microsoft pode lançar novas versões da API... e você não terá que se preocupar com isso. Não importa o que virá depois da Microsoft Graph API v1.0. Sua solução ainda vai funcionar! Você escreve seu código uma vez e então toda a complexidade é algo com o qual você simplesmente nunca terá que se preocupar.

Não há nenhuma limitação ao ambiente onde você pode usar esta ferramenta. Você pode executá-la em

- Uma plataforma SaaS Azure gerida pelo software Connecting

- No local ou em seus próprios servidores de nuvem ou máquinas virtuais (auto-hospedados)

Como funciona o Connect Bridge? O que está a fazer nos bastidores? Ele basicamente traduz instruções SQL padrão em chamadas API. Em seu código parece que você está acessando uma base de dados relacional usando JDBC (ODBC e serviços Web também são suportados). Você escreve instruções SELECT, INSERT, UPDATE e DELETE. Você está usando o que parece ser procedimentos armazenados. Mas tudo isso é apenas uma camada de abstracção.

Você não está acessando a base de dados do Microsoft Exchange (e acredite em mim, você não quer fazer isso!). Mas parece que você está. O Connect Bridge vem com uma ferramenta Query onde você pode testar suas (falsas) consultas, ver as (falsas) tabelas com suas (falsas) colunas ou até mesmo encontrar um procedimento conveniente (falso) armazenado. Como eu disse, é exatamente como se estivesse usando um banco de dados SQL, mas é apenas uma abstração.

Depois de fazer todos os testes que quiser, basta colocar a ligação e as consultas no seu código como se estivesse a usar o JDBC para se ligar a uma base de dados... e é tudo! Agora você tem uma solução funcional que vai requerer manutenção zero. Todo o esforço de manutenção está do lado do Connect Bridge. É por isso que esta ferramenta é uma ferramenta paga. Eu acho que esta é uma ideia muito inteligente... que vale cada centavo!

Também é bom notar que esta ferramenta também lida com segurança e autenticação, o que pode levar um tempo considerável se você estiver se desenvolvendo do zero.

Conclusão

Vimos como acessar dados do Microsoft Exchange em Java pode ser feito facilmente usando a plataforma de integração Connect Bridge.

E há mais boas notícias: isto também é possível com Microsoft Dynamics e Microsoft SharePoint! De facto, pode ligar-se a qualquer software Microsoft, ao Salesforce, e a muitos outros. Você só precisa obter o Connect Bridge, que é a plataforma de integração base e escolher o conector certo.

Se você quiser saber quais conectores estão disponíveis atualmente no Connect Bridge, o lugar para ir é https://www.connecting-software.com/connect-bridge-connectors/

Se quiser saber quais são os conectores mais recentes desta vasta colecção, dê uma vista de olhos aos Connect Bridges Dynamics 365 Finanças e Operações e Dynamics 365 Central de Negócios conectores.

Também é importante saber que existem alguns produtos prontos que utilizam Connect Bridge e que são soluções totalmente out-of-the-box. Por exemplo, o Connect Bridge, CB Exchange Server Sync permite que você escolha a sincronização personalizada de calendários, pastas de e-mail, tarefas, contatos, pastas públicas sem nenhuma codificação.

Esperamos que este artigo tenha sido útil para você! Aqui estão mais alguns posts que temos no nosso blog discutindo outras possibilidades de integração:

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *