DESENVOLVEDORES JAVA: Conversando com Microsoft Dynamics em seu código Java

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

Já pensou em ligar-se à Microsoft Dynamics a partir do seu código Java? Sim, eu sei... você prefere ficar longe de qualquer coisa da Microsoft... Mas e se você pudesse obter os dados do Microsoft Dynamics (ou 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 você quiser usar o Microsoft Dynamics API, você tem, na verdade, duas opções. Ambas são APIs REST e se alguma vez precisar de as procurar, certifique-se de procurar "Microsoft Customer Engagement REST API". A Microsoft está agora usando o termo "Customer Engagement" para qualquer coisa relacionada com o Dynamics.

Voltando às suas opções, se você está procurando o Microsoft Dynamics API, estas são:

- API da Web

- API de gerenciamento 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 você não tem certeza sobre as vantagens do OData, eu só vou dizer isaprovado 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 Gestão Online é especificamente destinada a tarefas relacionadas com, por exemplo. Você pode executar várias tarefas nas instâncias online do seu locatário Office 365, como criar, recuperar, excluir, fazer backup e restaurar uma instância. Trata-se de uma API de uso específico, não algo que você utilizaria em um cenário de integração genérica.

Uma alternativa à integração clássica de API com Web API e/ou Online Management API seria tentar uma solução sem código/baixo código. Seria possível utilizar PowerApps e criar uma aplicação que se ligasse à Microsoft Dynamics. No entanto, esta abordagem não faz muito sentido para um desenvolvedor... depois de tudo que você pode codificar, por que você tentaria evitá-lo?

Se você for com o PowerApps você tem a grande desvantagem de ficar preso aos modelos definidos. E você também vai acabar com uma aplicação que é totalmente inútil quando está offline e que não vai realmente lidar com nenhuma parte complicada como a segurança. Eu acho que estas são limitações que você só suportaria se não conseguisse codificar.

A zona de perigo - poderia a integração com a Microsoft Dynamics funcionar contra mim?

Digamos que você vai com a integração API clássica. A primeira coisa que você precisa estar ciente é 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 você precisa trabalhar com versões anteriores de Dinâmica (antes das 9.x), então você precisa 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 são as actualizações. O ciclo de vida do produto na Dynamics move-se rapidamente! Se você olhar para os últimos 10 anos, isto é o que você recebe (para mais detalhes dê uma olhada (para mais detalhes dê uma olhada em https://docs.microsoft.com/en-gb/previous-versions/dynamics/ para as versões anteriores ou https://community.dynamics.com/p/products 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 Serviço ao Cliente

- Dynamics 365 para Serviço de Campo

- Dinâmica CRM 2016

- Dinâmica CRM 2015

- Dinâmica CRM 2013

- Dinâmica CRM 2011

Dinâmica NAV

- Dynamics 365 Central de Negócios

- Dinâmica NAV 2016

- Dinâmica NAV 2015

- Dinâmica NAV 2013 R2

- Dinâmica NAV 2013

- Dinâmica NAV 2009 R2

- Dinâmica 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 você estivesse falando com o Dynamics API você teria que considerar o Microsoft Dynamics CRM API (2016, 2015, 2013, 2011, 4.0), o Microsoft Dynamics GP API, o Microsoft Dynamics AX API (2012/2009), ...

Você só pode imaginar o que os próximos 10 anos nos trarão!... Agora vamos dizer que você constrói 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.

Tudo isto é demorado e propenso a erros. E, sejamos francos... chato! Não há nada de excitante em fazer uma integração funcionar e é ainda menos excitante mantê-la funcionando 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 você possa ver se funciona para você. A beleza desta ferramenta é que ela garante compatibilidade para frente e para trás. Você construiu seu código Java integrando-se com ele, e então seus usuários podem atualizar (ou até mesmo fazer 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 quiserem... A sua solução ainda fará o que foi pensado para fazer com esforço zero do seu lado!

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.

Você não está acessando a base de dados da Dynamics (e isso é uma coisa boa!). Mas parece que você está. Connect Bridge vem com uma ferramenta Query onde você pode testar suas (falsas) consultas, ver as (falsas) tabelas com suas (falsas) colunas e encontrar um procedimento conveniente (falso) armazenado. Como eu disse, parece exatamente como se você estivesse olhando 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 usando JDBC para se conectar a uma base de dados... et voilá! Uma solução funcional que requer manutenção zero. Todo o esforço de manutenção está do lado do Connect Bridge. É por isso que é uma ferramenta paga e é por isso que 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

- Active Directory

- Bing

- Excel, Word, PowerPoint

- Equipes, Planejador

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/connect-bridge-connectors/.

Se você quer saber quais são os conectores mais novos nesta extensa coleção, confira os Connect Bridges 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:

Deixe uma resposta

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