SupportAnmelden
Sprechen Sie mit uns
Microsoft Dynamics 365 OData-Verbindungen

Microsoft Dynamics 365 OData-Verbindungen

December 20, 2018 · Michael Bock · Microsoft-Dynamics-Integration

Wir freuen uns, mitteilen zu können, dass wir jetzt OData V4 für die Integration mit Microsoft Dynamics 365 Business Central und Microsoft Dynamics 365 for Finance and Operations unterstützen. Ältere Versionen von Microsoft Dynamics werden ebenfalls unterstützt – zum Beispiel Microsoft Dynamics NAV 2016 und 2017.

WAS IST ODATA?

OData (Open Data Protocol) ist ein OASIS-Standard , der die Best Practice für das Erstellen und Nutzen von RESTful APIs definiert. OData hilft Ihnen, sich beim Erstellen von RESTful APIs auf Ihre Geschäftslogik zu konzentrieren, ohne sich um die Vorgehensweisen für Request- und Response-Header, Statuscodes, HTTP-Methoden, URL-Konventionen, Medientypen, Payload-Formate, Query-Optionen usw. kümmern zu müssen. OData macht außerdem Vorgaben für das Nachverfolgen von Änderungen, das Definieren von Funktionen/Aktionen für wiederverwendbare Abläufe und das Senden asynchroner Anfragen bzw. Batch-Anfragen usw. Darüber hinaus bietet OData eine Erweiterungsmöglichkeit, um beliebige individuelle Anforderungen an Ihre RESTful APIs zu erfüllen.

Das klingt wirklich gut, und man könnte erwarten, dass man auf unterschiedliche Systeme in gleicher Weise zugreifen kann. Auf technischer Ebene stimmt das auch, aber leider (oder zum Glück, je nach Sichtweise) lässt der Standard weiterhin Raum dafür, die Unterstützung unterschiedlich umzusetzen und Teile davon auch auszulassen (wie zum Beispiel das Nachverfolgen von Änderungen). Auch das Filtern kann auf unterschiedliche Weise erfolgen.

Bei Rapidi möchten wir die Nutzung unserer verschiedenen Connectors so einfach wie möglich machen. Dazu bauen wir so viel Wissen und Funktionalität wie möglich in den Connector ein, damit Sie sich nicht um spezielle Details kümmern müssen, etwa darum, wie das zu verwendende Unternehmen für ein bestimmtes ERP-System angegeben wird. Das führt häufig zu spezifischen Connectors für jedes ERP- oder CRM-System. Das gilt auch für OData: Wir haben spezifische Connectors für Microsoft Dynamics 365 Business Central (das auch Microsoft Dynamics NAV 2016/2017/2018 abdeckt) und für Microsoft Dynamics 365 for Finance and Operations (auch bekannt als Microsoft Dynamics AX). 

WARUM ODATA VERWENDEN

Microsoft hat vor einigen Jahren begonnen, OData-Unterstützung für den API-Zugriff auf seine ERP-Systeme einzuführen, aber erst in den letzten Jahren ist diese Unterstützung in den verschiedenen ERP-Systemen breit verfügbar geworden und deckt generell sowohl das Lesen als auch das Schreiben von Daten ab.

Wir haben außerdem festgestellt, dass die OData-Implementierungen von Microsoft Daten recht schnell lesen. Das ist sehr gut, denn genau das war ein Hauptkritikpunkt bei den (SOAP-)Web Services, die für Microsoft Dynamics NAV und AX bereitgestellt werden.

Darüber hinaus verarbeiten die von Microsoft bereitgestellten OData-APIs auch die Geschäftslogik. Das bedeutet: Jede Validierung und jeder Code, der im System vorhanden ist, wird auch beim Lesen oder Schreiben von Daten über die OData-API ausgeführt. Das war ein Hauptkritikpunkt beim direkten Zugriff auf die MS-SQL-Datenbank unterhalb des ERP-Systems. 

Insgesamt funktioniert OData für die Integration mit Microsoft Dynamics 365-Systemen sehr gut, und genau das empfiehlt Microsoft auch. Es gibt jedoch weiterhin einige Dinge, die OData nicht unterstützt – etwa das Lesen von Änderungen ausschließlich über die NAV-Zeitstempel (was nur direkt aus MS-SQL möglich ist). Außerdem funktionieren manche Erstellungsvorgänge, wie das Anlegen von Verkaufsaufträgen in NAV, besser mit den (SOAP-)Web Services von NAV.

Rapidi wird OData für die Integration mit den neuesten Versionen wie Microsoft Dynamics 365 Business Central und Microsoft Dynamics 365 for Finance and Operations nutzen, für einige spezielle Vorgänge setzen wir aber auch weiterhin die SOAP-Web Services ein. Für ältere Versionen von Microsoft Dynamics NAV und Microsoft Dynamics AX sowie für On-Premise-Systeme können wir ebenfalls OData verwenden, wir nutzen aber auch weiterhin SOAP-Web Services und unseren direkten MS-SQL-Connector (zum Lesen von Daten), da dies gut getestete Standardintegrationen sind.

Microsoft Dynamics 365 Business Central (NAV)

Unser OData-Connector für Microsoft Dynamics 365 NAV unterstützt die folgenden Versionen:

Wir unterstützen sowohl Lesen als auch Schreiben (Anlegen, Aktualisieren und Löschen). Sie können wie in Rapidi üblich auf bestimmte Daten filtern, die Syntax der Filter richtet sich jedoch danach, was Microsoft ODataV4 für NAV unterstützt.
Sie können zum Beispiel Operatoren wie eq (gleich), lt (kleiner als), gt (größer als) usw. verwenden – siehe diese Microsoft-Dokumentationsseite für weitere Details.
Wenn Sie im Feld Value, etwa für Source Filter, nur den Wert angeben (zum Beispiel 'hello'), erstellt Rapidi einen Filter mit dem Operator 'eq' (gleich). Bei einem komplexeren Filter können Sie im Value-Teil sowohl die Feldnamen als auch den Operator und die Werte angeben. Das "filter=" sollten Sie weglassen, da Rapidi es automatisch hinzufügt.

Die OData-Web Services in Microsoft Dynamics 365 Business Central basieren entweder auf Pages (Lesen und Schreiben) oder auf Queries (nur Lesen). Um einen OData-Web Service zu nutzen, müssen Sie den Web Service zunächst in Microsoft Dynamics 365 Business Central veröffentlichen (suchen Sie nach "Web Services", folgen Sie dem Link und veröffentlichen Sie die benötigten Web Services). Um den ODataV4-Web Service anschließend in Rapidi zu verwenden, müssen Sie für die entsprechende Connection ein "Read Design" ausführen.

Einige unserer Kunden nutzen Microsoft Dynamics 365 Business Central bereits, und wir veröffentlichen bald eine neue Microsoft Dynamics 365 Business Central Standardintegration. Bleiben Sie also dran – weitere Informationen folgen.

Erfahren Sie mehr darüber, wie Sie eine OData-Connection zu Microsoft Dynamics 365 Business Central einrichten

Upgrade auf Microsoft Dynamics 365 Business Central

Da Rapidi ALLE älteren Microsoft Dynamics NAV-Versionen unterstützt (sogar zurück bis zum alten textbasierten NAV356), können Sie Ihre Daten mit Rapidi direkt in Microsoft Dynamics 365 Business Central übertragen, wenn Sie von einer älteren Microsoft Dynamics NAV-Version aktualisieren. Dieser Vorgang ist wiederholbar und lässt sich in einem Schritt von jeder älteren Microsoft Dynamics NAV-Version ausführen, sobald Sie die Transfers eingerichtet haben. 

Microsoft Dynamics 365 for Finance and Operations (AX)

Unser OData-Connector für Microsoft Dynamics 365 AX unterstützt die folgenden Versionen:

Wir unterstützen sowohl Lesen als auch Schreiben (Anlegen, Aktualisieren und Löschen). Sie können wie in Rapidi üblich auf bestimmte Daten filtern, die Syntax der Filter richtet sich jedoch danach, was Microsoft ODataV4 für AX unterstützt (Sie können zum Beispiel Operatoren wie eq (gleich), lt (kleiner als), gt (größer als) usw. verwenden – siehe diese Dokumentationsseite für weitere Details.

OData-Entitäten in Microsoft Dynamics 365 for Finance and Operations basieren auf dem Konzept einer aktualisierbaren Sicht (updatable view). Wenn die Eigenschaft IsPublic einer aktualisierbaren Sicht auf True gesetzt ist, wird diese Sicht als OData-Entität der obersten Ebene bereitgestellt. Normalerweise sind bereits recht viele OData-Endpunkte in Microsoft Dynamics 365 for Finance and Operations verfügbar.

Rapidi fügt der URL automatisch "cross-company=yes" hinzu und ergänzt zusätzlich einen Filter "dataAreaId eq xxx" (wobei xxx das auf der Connection angegebene Unternehmen ist). So stellen wir sicher, dass wir nur aus einem bestimmten Unternehmen lesen. Dieses Verhalten lässt sich überschreiben, indem Sie zum Beispiel den dataAreaId-Filter im Transfer angeben.

Lesen Sie mehr über OData in Microsoft Dynamics 365 for Finance and Operations 

Erfahren Sie mehr darüber, wie Sie eine OData-Connection zu Microsoft Dynamics 365 Finance and Operations einrichten.

Nur geänderte Datensätze mit OData übertragen

Die OData-API von Microsoft unterstützt derzeit kein Nachverfolgen von Änderungen in den ERP-Daten. Um beim Lesen über die OData-Schnittstelle nur die Änderungen zu erkennen und zu übertragen, verwenden wir daher unsere Mirror Technology. Unsere Mirror Technology ist sowohl für On-Premise- als auch für gehostete Installationen verfügbar (in Azure oder in Dynamics 365 gehostet). Die Mirror Technology ist sehr einfach zu nutzen: Sie (oder wir, wenn der Mirror von Rapidi gehostet wird) müssen lediglich eine leere Datenbank für den Mirror anlegen und angeben, wie die Verbindung dorthin aufgebaut wird – alles Weitere läuft automatisch. 

Den Überblick über die Verknüpfungen behalten (Key Cross-References)

Um die Beziehung zwischen den Datensätzen in Ihrem ERP (Microsoft Dynamics 365) und in Ihrem CRM-System nachzuvollziehen, verwenden wir unsere Link Storage Technology. Damit können wir eine Verknüpfung zwischen dem im ERP-System verwendeten Primärschlüssel (zum Beispiel der Kundennummer) und der entsprechenden Account Id im CRM-System speichern. Diese Verknüpfung lässt sich dann zum Aktualisieren dieser Datensätze (Kunden/Accounts) zwischen den Systemen nutzen, aber auch als Lookup-Tabelle für andere Transfers (zum Beispiel um die Kundennummer für eine bestimmte Account Id zu ermitteln, wenn im ERP ein neuer SalesOrder angelegt wird). Erfahren Sie mehr über unsere Link Storage Technology in diesem Blogbeitrag.

Wir hoffen, dieser Artikel hat Ihnen gefallen. Wenn Sie Fragen oder Anmerkungen haben, kontaktieren Sie uns wie immer gerne.

Viele Grüße

Michael

Und ...

Frohe Weihnachten und ein gutes neues Jahr vom Entwicklungsteam!

 

 

Finden Sie heraus, ob es zu Ihrer Umgebung passt

Sagen Sie uns, welche Systeme Sie nutzen, und wir sagen Ihnen offen, ob Rapidi das richtige Werkzeug ist.