CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

Um HTML zum PDF zu konvertieren, werden wir...

Weiterlesen

Die Logic Apps-Plattform von Microsoft ermöglicht...

Weiterlesen

Du bist neugierig auf aktuelle KI-Technologien und...

Weiterlesen

Am 27.09. ab 12.30h starten die vierten QUIBIQ...

Weiterlesen

"Das Beste von SAP und Microsoft nutzen": auf dem...

Weiterlesen

Azure Bicep wird verwendet, um Ressourcen in Azure...

Weiterlesen

In einer Welt, die immer digitaler wird, ist es...

Weiterlesen

Dieser Artikel beschreibt wie JSON-Dateien anhand...

Weiterlesen

Vom 5. bis 7. Juni findet in London wieder die...

Weiterlesen

Vom 5. bis 7. Juni findet in London wieder die...

Weiterlesen

Integration Dynamics 365 for Finance and Operations mit BizTalk 2016 und oData

Microsoft hat sich dazu entschieden, mit allen Produkten auf lange Sicht in die Cloud zu gehen. Zu diesen Produkten gehören auch Dynamics AX und Dynamics CRM, welche Microsoft mit der Produktfamilie Dynamics 365 in die Cloud bringt. Diese komplett cloudbasierte Lösung bietet Applikationen für sämtliche Geschäftsprozesse, die wie sooft Schnittstellen zu und von Partner-Systemen benötigen.

Microsoft hat sich bekannterweise dazu entschieden, mit allen Produkten auf lange Sicht in die Cloud zu gehen. Zu diesen Produkten gehören auch Dynamics AX und Dynamics CRM, welche Microsoft mit der Produktfamilie Dynamics 365 in die Cloud bringt.

Diese komplett cloudbasierte Lösung bietet Applikationen für sämtliche Geschäftsprozesse, die wie sooft Schnittstellen zu und von Partner-Systemen benötigen.

Wir haben im Zuge eines Integrations-Projektes Microsofts ersten großen europäischen „Dynamics 365 for Finance and Operations“-Kunden mit Hilfe vom Microsoft BizTalk Server 2016 und Microsoft Azure erfolgreich bei der Integration unterstützt.

Eine kleine Herausforderung in diesem Projekt war die Anforderung, dass zum Datenaustausch mit Dynamics 365 der oData-Standard über http-Requests verwendet werden sollte.

Da wir das Rad nicht neu erfinden wollten, wurde zu Beginn des Projektes eine generische und typsichere Lösung zum Abfragen und Schreiben von Datenentitäten gegen Dynamics 365 gesucht. Einige Tools sind auch damals schon verfügbar gewesen, haben jedoch nicht zum gewünschten Ergebnis geführt, weshalb wir uns entschieden haben, die Lösung selbst zu entwickeln.

Diese Lösung beinhaltet die folgenden Komponenten, um den Anforderungen gerecht zu werden:

1. oDataSchemaGenerator:

Ein kleines WPF-Tool zur Generierung von XSD-Dateien und entsprechenden C#-Klassen-Dateien. Dieses Tool beinhaltet zudem die Möglichkeit zur Auswahl der zu generierenden Entitäten. Technisch beinhaltet die Implementierung die Suche und Auswahl der gewünschten Entitäten, die Erzeugung des XML-Schemas und die Generierung der C#-Klassendatei zum Schema.



Das Resultat sind 2 Dateien – Eine .xsd mit der Schemadefinition der Entität und eine .cs-Datei mit der C#-Klassenrepräsentation des Schemas.

Diese Dateien kann man anschließend in ein Visual Studio BizTalk-Projekt bzw. in eine entsprechende Klassenbibliothek für das Model hinzufügen.

2. OAuth2:

Eine weitere Komponente wird benötigt, um die Anfragen gegen Dynamics 365 mittels oAuth2-Authentifizierung zu autorisieren. Hierzu wird ein POCO-Objekt für die für oAuth2 notwendigen Parameter bereitgestellt. Das oAuth2-Token wird letztlich mit Hilfe des Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext ermittelt.

3. Dynamics365Client:

Die dritte notwendige Komponente ist hier die Implementierung eines Service-Proxies. Dieser stellt die generischen Methoden zum Lesen und Schreiben von Dynamics365-Entitäten zur Verfügung.

Zusammengefasst ermöglichen diese Klassen die nachfolgende Implementierung zum generischen und typsicheren Abruf einer „ServiceOrderTable“-Entität an Hand ihrer „serviceOrderId“:

 

 

Für die meisten Anwendungsfälle besteht heutzutage die Möglichkeit mit Hilfe der neusten Version des „OData v4 Client Code Generator’s“ (https://marketplace.visualstudio.com/items?itemName=bingl.ODatav4ClientCodeGenerator#overview) und der Metadaten-Datei (.edmx) des Dynamics 365 oData-Endpunktes Entitätsklassen und einen Service-Proxy zu generieren, der einem den Großteil der Arbeit abnimmt.

Sehr ausführliche Beispiele findet ihr dazu unter: https://github.com/Microsoft/Dynamics-AX-Integration

In unserem Projekt ist die Nutzung des OData v4 Client Code Generator jedoch bisher noch nicht ohne hohen Zeitaufwand möglich, da wir zum einen nur bestimmte Entitäten und diese dann auch noch in ihren XSD-Repräsentationen benötigen.

Tino Reichel
Geschäftsführung QUIBIQ Berlin

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz