DÉVELOPPEURS JAVA : Parler à Microsoft Dynamics dans votre code Java

Ana Neto Nouvelles de l'entreprise, Connecteurs, Technique 1 Commentaire

Avez-vous déjà envisagé de vous connecter à Microsoft Dynamics à partir de votre code Java ? Oui, je sais... vous préférez rester loin de tout ce qui est Microsoft... Mais que se passerait-il si vous pouviez obtenir les données de Microsoft Dynamics (ou même vers Microsoft Dynamics) sans vous salir les mains ?

Quelles sont mes options ?

La manière classique d'intégrer un logiciel, quel qu'il soit, est d'utiliser son API. Si vous souhaitez utiliser l'API de Microsoft Dynamics, vous avez, en fait, deux options. Il s'agit de deux API REST et si vous avez besoin de les consulter, assurez-vous de chercher "Microsoft Customer Engagement REST API". Microsoft utilise désormais le terme "Customer Engagement" pour tout ce qui concerne Dynamics.

Pour en revenir à vos options, si vous cherchez l'API Microsoft Dynamics, voici ce qu'il vous faut :

- API Web

- API de gestion en ligne

L'API Web serait le choix naturel de l'API dans la plupart des cas. Elle met en œuvre OData (Open Data Protocol) et prend en charge Dynamics 365 (à la fois en ligne et sur site), Dynamics CRM 2016 et Dynamics CRM Online. La version d'OData utilisée est la version 4.0, et l'utilisation d'OData est un gros avantage.

Si vous n'avez pas entendu parler d'OData, vous pouvez commencer ici et ensuite approfondir ici. Et si vous n'êtes pas sûr des avantages d'OData, je me contenterai de le dire isapprouvé en tant que norme internationale (ISO/CEI). Pour utiliser cette API, vous utiliserez probablement soit SDL OData Frameworks, soit Apache Olingo, comme les bibliothèques Java qui prennent en charge OData V4.

La deuxième option, l'API de gestion en ligne, est spécifiquement destinée aux tâches liées aux exemples. Vous pouvez effectuer diverses tâches sur les instances en ligne de votre locataire Office 365, telles que la création, la récupération, la suppression, la sauvegarde et la restauration d'une instance. Il s'agit d'une API à usage spécifique, et non d'une API que vous utiliseriez dans un scénario d'intégration générique.

Une alternative à l'intégration classique de l'API avec l'API Web et/ou l'API de gestion en ligne serait d'essayer une solution sans code / à faible code. Il serait possible d'utiliser PowerApps et créer une application qui se connecterait à Microsoft Dynamics. Cependant, cette approche n'a pas beaucoup de sens pour un développeur... après tout, vous POUVEZ coder, pourquoi chercher à l'éviter ?

Si vous optez pour PowerApps, vous avez l'inconvénient majeur d'être collé aux modèles qui sont définis. Et vous vous retrouverez avec une application qui est totalement inutile lorsqu'elle est hors ligne et qui ne gérera pas vraiment les éléments délicats comme la sécurité. Je pense que ce sont des limitations que vous ne supporteriez que si vous ne pouviez pas coder.

La zone de danger - l'intégration à Microsoft Dynamics pourrait-elle jouer contre moi ?

Supposons que vous optiez pour l'intégration API classique. La première chose dont vous devez être conscient est qu'il y aura beaucoup d'études à faire. La documentation de base sur les API se trouve à l'adresse suivante https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9.
Si vous avez besoin de travailler avec des versions antérieures de Dynamics (avant 9.x), vous devez étudier https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607689(v=crm.8).

En bref, il y a beaucoup de documents à consulter pour se faire une idée. Il n'est pas très difficile de démarrer, mais c'est encore plus difficile si vous travaillez sur une application réelle. Assurez-vous d'avoir le temps nécessaire si c'est la voie que vous choisissez.

Mais le vrai danger, ce sont les mises à jour. Le cycle de vie des produits dans Dynamics va vite ! Si vous regardez les 10 dernières années, voici ce que vous obtenez (pour plus de détails, consultez (pour plus de détails, consultez https://docs.microsoft.com/en-gb/previous-versions/dynamics/ pour les anciennes versions ou https://community.dynamics.com/p/products pour les actuels) :

Dynamique AX

- Dynamics 365 for Finance and Operations

- Microsoft Dynamics AX 2012

Dynamique CRM

- Dynamics 365 pour les ventes

- Dynamics 365 pour le service à la clientèle

- Dynamics 365 pour le service extérieur

- Dynamique CRM 2016

- Dynamics CRM 2015

- Dynamics CRM 2013

- Dynamics CRM 2011

Dynamics 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

Bureau de service unifié

Rapport de gestion pour Microsoft Dynamics ERP

Microsoft Dynamics Business Analyzer

Microsoft Dynamics Marketing

En bref, dans le passé, si vous parliez à Dynamics API, vous auriez dû considérer l'API Microsoft Dynamics CRM (2016, 2015, 2013, 2011, 4.0), l'API Microsoft Dynamics GP, l'API Microsoft Dynamics AX (2012/2009), ...

On ne peut qu'imaginer ce que les 10 prochaines années vont nous apporter .... Imaginons maintenant que vous construisiez aujourd'hui votre intégration Java avec Dynamics. Combien d'heures de travail vous faudra-t-il pour maintenir cette intégration à jour pendant les dix prochaines années ? Chaque fois qu'une nouvelle version sera lancée, vous devrez étudier les changements d'API et revenir à votre code pour apporter les modifications nécessaires.

Tous ces va-et-vient prennent du temps et sont sources d'erreurs. Et, avouons-le, c'est tout simplement ennuyeux ! Il n'y a rien de passionnant à faire fonctionner une intégration et il est encore moins passionnant de la faire fonctionner à l'avenir.

La zone de sécurité - l'intégration à Microsoft Dynamics peut-elle me convenir ?

Y a-t-il une meilleure façon de procéder à cette intégration de Microsoft Dynamics dans Java ? La solution consiste à obtenir un outil d'intégration entre vous (et votre code Java) et l'API. L'outil que nous proposons est Connect Bridge.

C'est un outil payant, mais il a un essai gratuit disponible afin que vous puissiez voir s'il fonctionne pour vous. La beauté de cet outil est qu'il assure la compatibilité en amont et en aval. Vous avez construit votre code Java en l'intégrant, puis vos utilisateurs peuvent effectuer une mise à niveau (ou même une rétrogradation si jamais c'est le cas) et vous n'avez pas à vous en préoccuper. Microsoft peut également lancer de nouvelles versions de l'API, réorganiser toutes ses solutions Dynamics ou faire ce qu'il veut... Votre solution fera toujours ce qu'elle était censée faire, sans aucun effort de votre part !

Comment cela fonctionne-t-il ? Connect Bridge traduit essentiellement les instructions SQL en appels d'API. Vous écrivez votre code Java comme si vous accédiez à une base de données relationnelle en utilisant JDBC (ODBC et les services Web sont également pris en charge). Vous utilisez les instructions SELECT, INSERT, UPDATE et DELETE. Vous utilisez des procédures stockées. Mais tout cela n'est qu'une couche d'abstraction.

Vous n'accédez pas à la base de données de Dynamics (et c'est une bonne chose !). Mais il semble que vous y ayez accès. Connect Bridge est livré avec un outil de requête où vous pouvez tester vos (fausses) requêtes, voir les (fausses) tables avec leurs (fausses) colonnes et trouver une procédure stockée (fausse) pratique. Comme je l'ai dit, cela ressemble exactement à une base de données SQL, mais ce n'est qu'une abstraction. Et une fois que vous avez terminé les tests, vous mettez tout dans votre code comme si vous utilisiez JDBC pour vous connecter à une base de données... et voilá ! Une solution qui fonctionne et qui ne nécessite aucune maintenance. Tout l'effort de maintenance est du côté de Connect Bridge. C'est pourquoi il s'agit d'un outil payant et c'est pourquoi il vaut chaque centime !

Il est important de noter que cela fonctionne pour lire les données de Dynamics mais aussi pour y mettre des données. Pour y introduire des données, vous devez utiliser les instructions INSERT ou UPDATE ou l'une des procédures stockées disponibles. Et même si vous aurez l'air effrayé la première fois que vous le ferez parce que vous aurez l'impression de toucher la base de données Dynamics, vous devez vous rappeler que vous passez toujours par l'API, donc vous êtes en terrain sûr.

Conclusion

Nous avons vu comment l'accès aux données de Microsoft Dynamics en Java peut être facilement réalisé en utilisant le Plate-forme d'intégration Connect Bridge. La bonne nouvelle est que cela est également possible avec Microsoft Exchange et Microsoft SharePoint ! En fait, vous pouvez vous connecter à n'importe quel logiciel de l'écosystème Microsoft, à Salesforce, et à bien d'autres encore :

- SharePoint 2010, 2013, 2016, 2019, en ligne

- Office 365

- Exchange Serveur 2003, 2007, 2010 SP1, 2013, 2016, 2019, Exchange en ligne

- Active Directory

- Bing

- Excel, Word, PowerPoint

- Équipes, Planificateur

Il vous suffit d'avoir Connect Bridge, qui est la plate-forme d'intégration de base, et de choisir le connecteur pour le logiciel spécifique que vous souhaitez.

Si vous souhaitez explorer les connecteurs actuellement disponibles sur Connect Bridge, vous pouvez vous rendre à l'adresse suivante https://www.connecting-software.com/connect-bridge-connectors/.

Si vous voulez savoir quels sont les derniers connecteurs de cette vaste collection, consultez les Connect Bridges Dynamics 365 BC et Dynamics 365 FO connecteurs.

Une option supplémentaire intéressante dont vous disposez dans le Connect Bridge est le scellement intelligent des documents. Il existe un module complémentaire qui utilise la technologie des chaînes de blocs pour sceller les documents dans Dynamics. Il vous offre le niveau de sécurité le plus élevé, garantissant que le document n'a pas été altéré, mais le fait d'utiliser les grands livres distribués de manière intelligente le rend beaucoup plus rentable. Et il peut également fonctionner avec des documents qui sont stockés ailleurs, par exemple dans SharePoint.

Nous espérons que cet article vous a été utile ! Voici d'autres articles que nous avons publiés sur notre blog pour discuter d'autres possibilités d'intégration :

Commentaires 1

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.