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

Ana Neto Nouvelles de l'entreprise, Connecteurs, Technique Laissez un commentaire

Avez-vous déjà envisagé de vous connecter à Microsoft Dynamics à partir de votre code Java ? Oui, je sais... vous préféreriez rester à l'écart de tout ce qui concerne Microsoft... Mais si vous pouviez obtenir les données de Microsoft Dynamics (ou même de Microsoft Dynamics) sans vous salir les mains ?

Quelles sont mes options ?

La façon classique de s'intégrer à tout type de logiciel serait d'utiliser son API. Si vous voulez utiliser l'API de Microsoft Dynamics, vous avez en fait deux options. Les deux sont des 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 a trait à 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 essayer de 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, c'est qu'il y aura beaucoup d'études à faire. La documentation de base de l'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), ...

Vous ne pouvez qu'imaginer ce que les dix prochaines années nous apporteront ... Disons que vous construisez aujourd'hui votre intégration Java avec Dynamics. Combien d'heures/homme vous faudra-t-il pour maintenir cette intégration à jour pendant les 10 prochaines années ? Chaque fois qu'une nouvelle version est lancée, vous devrez étudier les changements de l'API et retourner à votre code pour effectuer les modifications nécessaires.

Tout ce va-et-vient prend du temps et est sujet à des erreurs. Et, avouons-le... c'est ennuyeux ! Il n'y a rien d'excitant à faire fonctionner une intégration et il est encore moins excitant de la faire fonctionner à l'avenir.

La zone de sécurité - l'intégration avec Microsoft Dynamics pourrait-elle fonctionner pour moi ?

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 disponibles pour que vous puissiez voir si cela vous convient. La beauté de cet outil est qu'il assure une compatibilité en amont et en aval. Vous avez construit votre code Java en l'intégrant, et vos utilisateurs peuvent ensuite le mettre à niveau (ou même le rétrograder si jamais c'est le cas) et vous n'avez pas à vous en soucier. 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 est censée faire avec zéro 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 :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *