Já pensou em conectar-se ao Microsoft Dynamics a partir do seu código Java? Sim, eu sei... prefere ficar longe de tudo que seja Microsoft... Mas e se pudesse obter os dados do Microsoft Dynamics (ou até mesmo para o Microsoft Dynamics) sem sujar as mãos?
Quais são as minhas opções?
A forma clássica de integração com qualquer tipo de software seria utilizar a sua API. Se quiser utilizar a API do Microsoft Dynamics, tem, na verdade, duas opções. Ambas são APIs REST e, se precisar de as consultar, certifique-se de que procura por “Microsoft Customer Engagement REST API". A Microsoft utiliza agora o termo "Customer Engagement" para tudo o que está relacionado com o Dynamics.
Voltando às suas opções, se você está procurando o Microsoft Dynamics API, estas são:
• API Web
• API de gestão online
Web API seria a escolha natural de API para a maioria dos casos. Ela implementa OData (Open Data Protocol) e suporta Dynamics 365 (online e on-premises), Dynamics CRM 2016 e Dynamics CRM Online. A versão do OData utilizada é a versão 4.0, e utilizar OData é uma grande vantagem.
Se você ainda não ouviu falar em OData, você pode começar aqui e depois ir mais fundo aqui. E se não tem a certeza sobre as vantagens do OData, direi apenas que é aprovado como Norma Internacional (ISO/IEC). Para usar esta API, você provavelmente usaria ou SDL OData Frameworks ou Apache Olingo, como estas como as bibliotecas Java que suportam OData V4.
A segunda opção, a API de gerenciamento on-line, destina-se especificamente a tarefas relacionadas à instância. Pode executar várias tarefas nas instâncias online do seu locatário Office 365, tais como criar, recuperar, eliminar, fazer cópias de segurança e restaurar uma instância. Esta é uma API de uso específico, não algo que você usaria em um cenário de integração genérico.
Uma alternativa à integração clássica da API com a Web API e/ou a API de gestão em linha seria tentar uma solução sem código / com pouco código. Seria possível utilizar PowerApps e criar uma aplicação que se conectasse ao Microsoft Dynamics. No entanto, essa abordagem não faz muito sentido para um programador... afinal, você SABE programar; por que tentaria evitar isso?
Se optar pelo PowerApps, tem a grande desvantagem de ficar preso aos modelos definidos. Além disso, acabará por ter uma aplicação que é totalmente inútil quando está offline e que não lida com partes complicadas como a segurança. Penso que estas são limitações que só se aceitariam se não se soubesse programar.
A zona de perigo - poderia a integração com a Microsoft Dynamics funcionar contra mim?
Digamos que opta pela integração clássica da API. A primeira coisa que precisa de ter em conta é que haverá muitos estudos envolvidos. A documentação básica da API pode ser encontrada em https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9.
Se for necessário trabalhar com versões anteriores do Dynamics (antes da 9.x), é necessário estudar https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607689(v=crm.8).
Em resumo, há muita documentação que você precisa para se concentrar. Não é super difícil começar, mas é mais difícil se você estiver trabalhando em uma aplicação da vida real. Certifique-se de ter tempo para isso, se este for o caminho que você escolher.
Mas o verdadeiro perigo vem das actualizações. O ciclo de vida do produto no Dynamics move-se rapidamente! Se olharmos para os últimos 10 anos, isto é o que temos (para mais pormenores, consulte (para mais pormenores, consulte https://docs.microsoft.com/en-gb/previous-versions/dynamics/ para as versões anteriores ou https://community.dynamics.com/#dynamicsproductsdivid para as actuais):
Dinâmica AX
• Dynamics 365 for Finance and Operations
• Microsoft Dynamics AX 2012
Dinâmica CRM
• Dynamics 365 para vendas
• Dynamics 365 para atendimento ao cliente
• Dynamics 365 para serviço de campo
• Dynamics CRM 2016
• Dynamics CRM 2015
• Dynamics CRM 2013
• Dynamics CRM 2011
Dinâmica NAV
• Dynamics 365 Business Central
• Dynamics NAV 2016
• Dynamics NAV 2015
• Dynamics NAV 2013 R2
• Dynamics NAV 2013
• Dynamics NAV 2009 R2
• Dynamics NAV 2009
Central de Serviços Unificada
Repórter de Gestão para Microsoft Dynamics ERP
Microsoft Dynamics Business Analyzer
Marketing Microsoft Dynamics
Em resumo, no passado, se estivesse a falar com a API Dynamics, teria de considerar a API Microsoft Dynamics CRM (2016, 2015, 2013, 2011, 4.0), a API Microsoft Dynamics GP, a API Microsoft Dynamics AX (2012/2009), ...
Você só pode imaginar o que os próximos 10 anos nos trarão!... Agora vamos dizer que você constrói a sua integração Java com a Dynamics hoje. Quantas horas-homem você vai precisar para manter essa integração atualizada nos próximos 10 anos? Cada vez que uma nova versão for lançada, você precisará estudar as mudanças na API e voltar ao seu código para fazer as mudanças necessárias.
Todo esse vaivém consome tempo e é propenso a erros. E, sejamos sinceros... é simplesmente enfadonho! Não há nada de emocionante em fazer uma integração funcionar e é ainda menos emocionante mantê-la a funcionar no futuro.
A zona segura - poderia a integração com a Microsoft Dynamics funcionar para mim?
Existe então uma melhor forma de fazer esta integração da Microsoft Dynamics em Java? A solução é obter uma ferramenta de integração entre você (e seu código Java) e a API. A ferramenta que sugerimos é Connect Bridge.
Esta é uma ferramenta paga, mas tem um avaliação gratuita disponível para que possa ver se funciona para si. A beleza desta ferramenta é que ela garante compatibilidade com versões anteriores e futuras. Você criou o seu código Java integrando-o e, então, os seus utilizadores podem atualizar (ou até mesmo fazer o downgrade, se for o caso) e você não precisa se preocupar com isso. A Microsoft também pode lançar novas versões da API, reorganizar todas as suas soluções Dynamics ou fazer o que quiser... A sua solução continuará a fazer o que foi projetada para fazer, sem nenhum esforço da sua parte!
Como é que isto funciona? Connect Bridge basicamente traduz as instruções SQL em chamadas API. Você está escrevendo seu código Java como se estivesse acessando uma base de dados relacional usando JDBC (ODBC e serviços Web também são suportados). Você está usando instruções SELECT, INSERT, UPDATE e DELETE. Você está a utilizar procedimentos armazenados. Mas tudo isso é apenas uma camada de abstracção.
Não está a aceder à base de dados do Dynamics (e isso é bom!). Mas parece que está. O Connect Bridge vem com uma ferramenta de consulta onde pode testar as suas consultas (falsas), ver as tabelas (falsas) com as suas colunas (falsas) e encontrar um procedimento armazenado (falso) conveniente. Como eu disse, parece exatamente como se estivesse a olhar para um banco de dados SQL, mas é apenas uma abstração. E depois de terminar os testes, basta colocar tudo no seu código como se estivesse a usar JDBC para se conectar a um banco de dados... et voilà! Uma solução funcional que não requer manutenção. Todo o esforço de manutenção fica por conta do Connect Bridge. É por isso que é uma ferramenta paga e vale cada centavo!
É importante notar que isto funciona para ler dados fora da Dynamics, mas também para colocar dados lá dentro. Para colocar os dados, você usa instruções INSERT ou UPDATE ou um dos procedimentos armazenados disponíveis. E embora pareça assustador na primeira vez que você o faz porque parece que você está realmente tocando a base de dados Dynamics, você só tem que lembrar que você está sempre passando pela API, então você está em terreno seguro.
Conclusão
Temos visto como o acesso aos dados do Microsoft Dynamics em Java pode ser feito facilmente usando o Plataforma de integração Connect Bridge. A boa notícia é que isso também é possível com Microsoft Exchange e Microsoft SharePoint! Na verdade, você pode se conectar a qualquer software do ecossistema Microsoft, ao Salesforce, e a muitos outros:
• SharePoint 2010, 2013, 2016, 2019, Online
• Office 365
• Exchange Servidor 2003, 2007, 2010 SP1, 2013, 2016, 2019, Exchange Online
• Diretório Ativo
• Bing
• Excel, Word, PowerPoint
• Equipas, Planeador
Basta ter Connect Bridge, que é a plataforma de integração base e escolher o conector para o software específico que você deseja.
Se você quiser explorar os conectores atualmente disponíveis no Connect Bridge, o lugar para ir é https://www.connecting-software.com/connectors/.

Se quiser saber quais são os conectores mais recentes desta extensa coleção, consulte Connect Bridges’s Dynamics 365 BC e Dynamics 365 FO conectores.
Uma opção adicional interessante que você tem no Connect Bridge é o selamento inteligente de documentos. Há um add-on que usa a tecnologia blockchain para selar documentos em Dynamics. Ele lhe dá o mais alto nível de segurança, garantindo que o documento não tenha sido adulterado, mas o fato de usar ledgers distribuídos de forma inteligente torna-o muito mais econômico. E também pode trabalhar com documentos que são armazenados em outro lugar, por exemplo, no SharePoint.
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:

Comments 1
Artigo muito bonito e informativo.