JAVA ONTWIKKELAARS: Praten met Microsoft Dynamics in uw Java code

Ana Neto Bedrijfsnieuws, Connectoren, Technisch Laat een reactie achter

Hebt u ooit overwogen om Microsoft Dynamics te benaderen vanuit uw Java code? Ja, ik weet het... u blijft liever weg van alles wat met Microsoft te maken heeft... Maar wat als u de gegevens van Microsoft Dynamics (of zelfs naar Microsoft Dynamics) zou kunnen halen zonder uw handen vuil te maken?

Wat zijn mijn opties?

De klassieke manier om met om het even welke software te integreren is gebruik te maken van haar API. Als u de Microsoft Dynamics API wilt gebruiken, heeft u in feite twee opties. Beide zijn REST API's en als u ze ooit moet opzoeken, zorg er dan voor dat u zoekt naar "Microsoft Customer Engagement REST API". Microsoft gebruikt nu de term "Customer Engagement" voor alles wat met Dynamics te maken heeft.

Terugkomend op uw opties, als u op zoek bent naar de Microsoft Dynamics API, dan zijn dat:

- Web-API

- API voor online beheer

Web API zou de natuurlijke keuze van API voor de meeste gevallen zijn. Hij implementeert OData (Open Data Protocol) en ondersteunt Dynamics 365 (zowel online als on-premises), Dynamics CRM 2016 en Dynamics CRM Online. De gebruikte versie van OData is versie 4.0, en het gebruik van OData is een groot pluspunt.

Als je nog nooit van OData hebt gehoord, kun je beginnen hier en dan dieper gaan hier. En als je niet zeker bent over de voordelen van OData, zal ik gewoon zeggen dat hetgoedgekeurd als internationale norm (ISO/IEC). Om deze API te gebruiken, zou je waarschijnlijk SDL OData Frameworks of Apache Olingo gebruiken, aangezien dit de Java bibliotheken zijn die OData V4 ondersteunen.

De tweede optie, de Online Management API, is specifiek bedoeld voor instance-gerelateerde taken. Je kunt verschillende taken uitvoeren op de online instances in je Office 365 tenant, zoals het creëren, ophalen, verwijderen, backuppen en herstellen van een instance. Dit is een API voor specifiek gebruik, niet iets wat je zou gebruiken in een generiek integratie scenario.

Een alternatief voor de klassieke API-integratie met Web API en/of Online Management API zou een no-code / low-code oplossing zijn. Het zou mogelijk zijn om gebruik te maken van PowerApps en een toepassing te maken die verbinding zou maken met Microsoft Dynamics. Deze aanpak heeft echter niet veel zin voor een ontwikkelaar... je KAN immers coderen, waarom zou je dat proberen te vermijden?

Als je voor PowerApps kiest, heb je het grote nadeel dat je vastzit aan de sjablonen die zijn gedefinieerd. En je zal ook eindigen met een toepassing die totaal nutteloos is wanneer ze offline is en die niet echt zal omgaan met lastige onderdelen zoals beveiliging. Ik denk dat dit beperkingen zijn die je alleen zou accepteren als je niet zou kunnen coderen.

De gevarenzone - kan de integratie met Microsoft Dynamics tegen mij werken?

Laten we zeggen dat je voor de klassieke API integratie gaat. Het eerste waar u zich bewust van moet zijn is dat er veel studie bij komt kijken. De basis API documentatie kan gevonden worden op https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9.
Als u moet werken met eerdere versies van Dynamics (voor 9.x) dan moet u het volgende bestuderen https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607689(v=crm.8).

Kortom, er is veel documentatie waar je je hoofd bij moet houden. Het is niet supermoeilijk om eraan te beginnen, maar het is dat wel als je aan een echte applicatie werkt. Zorg ervoor dat je er de tijd voor hebt als dit de weg is die je kiest.

Maar het echte gevaar zijn de updates. De product levenscyclus in Dynamics gaat snel! Als je kijkt naar de afgelopen 10 jaar, dit is wat je krijgt (voor meer details kijk op (voor meer details kijk op https://docs.microsoft.com/en-gb/previous-versions/dynamics/ voor de oudere versies of https://community.dynamics.com/p/products voor de huidige):

Dynamics AX

- Dynamics 365 for Finance and Operations

- Microsoft Dynamics AX 2012

Dynamics CRM

- Dynamics 365 voor verkoop

- Dynamics 365 voor Klantenservice

- Dynamics 365 voor buitendienst

- Dynamics CRM 2016

- Dynamics CRM 2015

- Dynamics CRM 2013

- Dynamics CRM 2011

Dynamics NAV

- Dynamics 365 Zakencentrum

- Dynamics NAV 2016

- Dynamics NAV 2015

- Dynamics NAV 2013 R2

- Dynamics NAV 2013

- Dynamics NAV 2009 R2

- Dynamics NAV 2009

Unified Service Desk

Management Reporter voor Microsoft Dynamics ERP

Microsoft Dynamics Business Analyzer

Microsoft Dynamics Marketing

Kortom, in het verleden als je het had over Dynamics API moest je rekening houden met de Microsoft Dynamics CRM API (2016, 2015, 2013, 2011, 4.0), de Microsoft Dynamics GP API, de Microsoft Dynamics AX API (2012/2009), ...

U kunt zich alleen maar voorstellen wat de komende 10 jaar ons zullen brengen!... Laten we nu zeggen dat u vandaag uw Java-integratie met Dynamics bouwt. Hoeveel manuren zal u nodig hebben om die integratie up to date te houden voor de volgende 10 jaar? Telkens als er een nieuwe versie wordt gelanceerd, zult u de API veranderingen moeten bestuderen en terug moeten gaan naar uw code om de nodige wijzigingen aan te brengen.

Al dit heen-en-weer gedoe is tijdrovend en foutgevoelig. En, laten we eerlijk zijn... ronduit saai! Er is niets opwindends aan om een integratie te laten werken en het is nog minder opwindend om het werkend te houden in de toekomst.

De veilige zone - kan integratie met Microsoft Dynamics werken voor mij?

Is er dan een betere manier om deze integratie van Microsoft Dynamics in Java te doen? De oplossing is om een integratie tool tussen u (en uw Java code) en de API te krijgen. De tool die wij voorstellen is Connect Bridge.

Dit is een betaald programma, maar het heeft wel een gratis proefversie beschikbaar, zodat u kunt zien of het voor u werkt. Het mooie van dit programma is dat het voorwaartse en achterwaartse compatibiliteit garandeert. U bouwde uw Java code die ermee integreert, en dan kunnen uw gebruikers upgraden (of zelfs downgraden als dat ooit het geval is) en u hoeft zich er geen zorgen over te maken. Microsoft kan ook nieuwe versies van de API lanceren, al hun Dynamics oplossingen reorganiseren of doen wat ze willen... Uw oplossing zal nog steeds doen waarvoor ze bedoeld was, zonder enige inspanning van uw kant!

Hoe werkt dit? Connect Bridge vertaalt in feite SQL-statements in API-aanroepen. Je schrijft je Java code alsof je toegang hebt tot een relationele database met behulp van JDBC (ODBC en Web services worden ook ondersteund). U gebruikt SELECT, INSERT, UPDATE en DELETE statements. Je gebruikt stored procedures. Maar dat is allemaal slechts een laag van abstractie.

U hebt geen toegang tot de database van Dynamics (en dat is maar goed ook!). Maar het lijkt alsof u dat wel doet. Connect Bridge komt met een Query tool waar je je (nep) queries kunt testen, de (nep) tabellen met hun (nep) kolommen kunt zien en een handige (nep) stored procedure kunt vinden. Zoals ik al zei, het lijkt precies alsof je naar een SQL database kijkt, maar het is slechts een abstractie. En als je klaar bent met testen, zet je gewoon alles in je code alsof je JDBC gebruikt om verbinding te maken met een database... et voilá! Een werkende oplossing die geen onderhoud nodig heeft. Al het onderhoud is aan de kant van Connect Bridge. Daarom is het een betaalde tool en daarom is het elke cent waard!

Het is belangrijk op te merken dat dit werkt voor het uitlezen van gegevens uit Dynamics, maar ook voor het invoeren van gegevens daarin. Om gegevens in te voeren gebruikt u INSERT of UPDATE statements of één van de beschikbare stored procedures. En hoewel het de eerste keer eng zal lijken omdat het lijkt alsof je de Dynamics database aanraakt, moet je gewoon onthouden dat je altijd via de API gaat, dus je zit op veilig terrein.

Conclusie

We hebben gezien hoe toegang tot Microsoft Dynamics gegevens in Java eenvoudig kan worden verkregen met behulp van de Connect Bridge integratieplatform. Het goede nieuws is dat dit ook mogelijk is met Microsoft Exchange en Microsoft SharePoint! In feite kunt u verbinding maken met alle software van het Microsoft ecosysteem, met Salesforce, en met vele anderen:

- SharePoint 2010, 2013, 2016, 2019, Online

- Office 365

- Exchange Server 2003, 2007, 2010 SP1, 2013, 2016, 2019, Exchange Online

- Active Directory

- Bing

- Excel, Word, PowerPoint

- Teams, Planner

U hoeft alleen maar Connect Bridge te hebben, het basisintegratieplatform, en de connector te kiezen voor de specifieke software die u wilt.

Als u de momenteel bij Connect Bridge verkrijgbare connectoren wilt onderzoeken, kunt u terecht bij https://www.connecting-software.com/connect-bridge-connectors/.

Als u wilt weten wat de nieuwste connectoren in deze uitgebreide collectie zijn, kijk dan eens op Connect Bridges Dynamics 365 BC en Dynamics 365 FO connectoren.

Een interessante extra optie die je hebt in Connect Bridge is het slim verzegelen van documenten. Er is een add-on die blockchain-technologie gebruikt om documenten in Dynamics te verzegelen. Het geeft je het hoogste beveiligingsniveau, de garantie dat er niet met het document is geknoeid, maar het feit dat er op een slimme manier gebruik wordt gemaakt van distributed ledgers maakt het veel kosteneffectiever. En het kan ook werken met documenten die elders zijn opgeslagen, bijvoorbeeld in SharePoint.

We hopen dat dit artikel nuttig voor u was! Hier zijn nog enkele berichten op onze blog die andere integratiemogelijkheden bespreken:

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *