Haben Sie schon einmal darüber nachgedacht, von Ihrem Java-Code aus eine Verbindung zu Microsoft Dynamics herzustellen? Ja, ich weiß... Sie würden sich lieber von allem fernhalten, was mit Microsoft zu tun hat... Aber was wäre, wenn Sie die Daten von Microsoft Dynamics (oder sogar zu Microsoft Dynamics) bekommen könnten, ohne sich die Hände schmutzig zu machen?
Was sind meine Optionen?
Der klassische Weg der Integration mit jeder Art von Software wäre die Verwendung ihrer API. Wenn Sie die Microsoft Dynamics API verwenden möchten, haben Sie eigentlich zwei Möglichkeiten. Bei beiden handelt es sich um REST-APIs, und wenn Sie sie jemals nachschlagen müssen, stellen Sie sicher, dass Sie nach "Microsoft Customer Engagement REST API" suchen. Microsoft verwendet jetzt den Begriff "Customer Engagement" für alles, was mit Dynamics zu tun hat.
Um auf Ihre Optionen zurückzukommen: Wenn Sie nach der Microsoft Dynamics API suchen, sind dies
- Web-API
- Online-Verwaltungs-API
Die Web-API wäre in den meisten Fällen die natürliche Wahl der API. Sie implementiert OData (Open Data Protocol) und unterstützt Dynamics 365 (sowohl online als auch vor Ort), Dynamics CRM 2016 und Dynamics CRM Online. Die verwendete Version von OData ist Version 4.0, und die Verwendung von OData ist ein großes Plus.
Wenn Sie noch nichts von OData gehört haben, können Sie hier und dann tiefer gehen hier. Und wenn Sie sich über die Vorteile von OData nicht sicher sind, werde ich es einfach sagen: isals Internationale Norm genehmigt (ISO/IEC). Um diese API zu verwenden, würden Sie wahrscheinlich entweder SDL OData Frameworks oder Apache Olingo verwenden, da diese die Java-Bibliotheken sind, die OData V4 unterstützen.
Die zweite Option, die Online Management API, ist speziell für instanzbezogene Aufgaben gedacht. Sie können verschiedene Aufgaben mit den Online-Instanzen in Ihrem Office 365-Tenant durchführen, wie z. B. das Erstellen, Abrufen, Löschen, Sichern und Wiederherstellen einer Instanz. Es handelt sich hierbei um eine API für spezifische Zwecke, die Sie nicht in einem allgemeinen Integrationsszenario verwenden würden.
Eine Alternative zur klassischen API-Integration mit der Web-API und/oder der Online-Verwaltungs-API wäre eine no-code / low-code Lösung. Es wäre möglich, Folgendes zu verwenden PowerApps und eine Anwendung erstellen, die eine Verbindung zu Microsoft Dynamics herstellt. Für einen Entwickler macht dieser Ansatz jedoch nicht viel Sinn... schließlich KANN man programmieren, warum sollte man das vermeiden wollen?
Wenn Sie sich für PowerApps entscheiden, haben Sie den großen Nachteil, dass Sie an die definierten Vorlagen gebunden sind. Außerdem erhalten Sie eine Anwendung, die im Offline-Betrieb völlig nutzlos ist und die schwierige Bereiche wie die Sicherheit nicht wirklich beherrscht. Ich denke, das sind Einschränkungen, die Sie nur in Kauf nehmen würden, wenn Sie nicht programmieren könnten.
Die Gefahrenzone - könnte die Integration mit Microsoft Dynamics gegen mich arbeiten?
Nehmen wir an, Sie entscheiden sich für die klassische API-Integration. Das erste, worüber Sie sich im Klaren sein müssen, ist, dass Sie viel lernen müssen. Die grundlegende API-Dokumentation finden Sie unter https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9.
Wenn Sie mit früheren Versionen von Dynamics (vor 9.x) arbeiten müssen, dann müssen Sie https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607689(v=crm.8).
Kurz gesagt, es gibt eine Menge Dokumentation, die Sie brauchen, um sich zurechtzufinden. Es ist nicht besonders schwierig, den Anfang zu machen, aber es ist noch schwieriger, wenn Sie an einer Anwendung aus dem wirklichen Leben arbeiten. Stellen Sie sicher, dass Sie die Zeit dafür haben, wenn dies der Weg ist, den Sie wählen.
Die eigentliche Gefahr geht jedoch von den Aktualisierungen aus. Der Produktlebenszyklus von Dynamics bewegt sich schnell! Wenn Sie die letzten 10 Jahre betrachten, ergibt sich folgendes Bild (weitere Details finden Sie unter (weitere Details finden Sie unter https://docs.microsoft.com/en-gb/previous-versions/dynamics/ für die älteren Versionen oder https://community.dynamics.com/#dynamicsproductsdivid für aktuelle):
Dynamik AX
- Dynamik 365 für Finanzen und Betrieb
- Microsoft Dynamics AX 2012
Dynamics CRM
- Dynamics 365 für den Vertrieb
- Dynamics 365 für den Kundendienst
- Dynamics 365 für den Außendienst
- Dynamics CRM 2016
- Dynamik CRM 2015
- Dynamik CRM 2013
- Dynamics CRM 2011
Dynamik NAV
- Dynamics 365 Business Central
- Dynamik NAV 2016
- Dynamik NAV 2015
- Dynamik NAV 2013 R2
- Dynamik NAV 2013
- Dynamik NAV 2009 R2
- Dynamik NAV 2009
Einheitliches Service-Desk
Management-Berichterstatter für Microsoft Dynamics ERP
Microsoft Dynamics Business Analyzer
Microsoft Dynamics Marketing
Kurz gesagt, wenn Sie in der Vergangenheit mit der Dynamics API gesprochen haben, hätten Sie die Microsoft Dynamics CRM API (2016, 2015, 2013, 2011, 4.0), die Microsoft Dynamics GP API, die Microsoft Dynamics AX API (2012/2009), ...
Sie können sich nur vorstellen, was die nächsten 10 Jahre uns bringen werden!... Nehmen wir an, Sie bauen Ihre Java-Integration mit Dynamics heute. Wie viele Arbeitsstunden werden Sie benötigen, um diese Integration in den nächsten 10 Jahren auf dem neuesten Stand zu halten? Jedes Mal, wenn eine neue Version auf den Markt kommt, müssen Sie die API-Änderungen studieren und auf Ihren Code zurückgreifen, um die notwendigen Änderungen vorzunehmen.
Dieses ganze Hin und Her ist zeitaufwendig und fehleranfällig. Und, seien wir mal ehrlich... einfach langweilig! Es ist nicht aufregend, eine Integration zum Laufen zu bringen, und noch weniger aufregend ist es, sie in der Zukunft am Laufen zu halten.
Die sichere Zone - könnte die Integration mit Microsoft Dynamics für mich funktionieren?
Gibt es dann eine bessere Möglichkeit, diese Integration von Microsoft Dynamics in Java durchzuführen? Die Lösung besteht darin, ein Integrationswerkzeug zwischen Sie (und Ihren Java-Code) und die API zu bekommen. Das von uns vorgeschlagene Werkzeug ist Connect Bridge.
Dies ist ein kostenpflichtiges Instrument, aber es hat eine kostenloser Test verfügbar, damit Sie sehen können, ob es für Sie funktioniert. Das Schöne an diesem Tool ist, dass es Vorwärts- und Abwärtskompatibilität gewährleistet. Sie haben Ihren Java-Code so gebaut, dass er sich damit integrieren lässt, und dann können Ihre Benutzer ein Upgrade (oder sogar ein Downgrade, falls das jemals der Fall sein sollte) durchführen, und Sie müssen sich nicht darum kümmern. Microsoft kann auch neue Versionen der API auf den Markt bringen, alle ihre Dynamics-Lösungen neu organisieren oder was auch immer sie wollen... Ihre Lösung wird immer noch das tun, wofür sie gedacht war, mit null Aufwand auf Ihrer Seite!
Wie funktioniert das? Connect Bridge übersetzt grundsätzlich SQL-Anweisungen in API-Aufrufe. Sie schreiben Ihren Java-Code so, als ob Sie über JDBC auf eine relationale Datenbank zugreifen würden (ODBC und Webservices werden ebenfalls unterstützt). Sie verwenden SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen. Sie verwenden Stored Procedures. Aber das ist alles nur eine Ebene der Abstraktion.
Sie greifen nicht auf die Datenbank von Dynamics zu (und das ist eine gute Sache!). Aber es sieht so aus, als ob Sie auf sie zugreifen. Connect Bridge wird mit einem Abfragewerkzeug geliefert, mit dem Sie Ihre (gefälschten) Abfragen testen können, die (gefälschten) Tabellen mit ihren (gefälschten) Spalten sehen und eine bequeme (gefälschte) gespeicherte Prozedur finden können. Wie ich schon sagte, sieht es genau so aus, als ob Sie sich eine SQL-Datenbank ansehen, aber es ist nur eine Abstraktion. Und nachdem Sie mit dem Testen fertig sind, fügen Sie einfach alles in Ihren Code ein, als ob Sie JDBC zur Verbindung mit einer Datenbank verwenden würden... et voilá! Eine funktionierende Lösung, die keinerlei Wartung erfordert. Der gesamte Wartungsaufwand liegt auf der Seite von Connect Bridge. Deshalb ist es ein kostenpflichtiges Tool und deshalb ist es jeden Cent wert!
Es ist wichtig zu beachten, dass dies sowohl für das Auslesen von Daten aus den Dynamics als auch für das Einfügen von Daten in die Dynamics funktioniert. Zum Einfügen von Daten verwenden Sie INSERT- oder UPDATE-Anweisungen oder eine der verfügbaren Stored Procedures. Und obwohl es beim ersten Mal beängstigend aussieht, weil es sich anfühlt, als ob Sie die Dynamics-Datenbank tatsächlich berühren, müssen Sie nur daran denken, dass Sie immer durch die API gehen, so dass Sie auf sicherem Boden sind.
Schlussfolgerung
Wir haben gesehen, wie der Zugriff auf Microsoft Dynamics-Daten in Java einfach über die Integrationsplattform Connect Bridge. Die gute Nachricht ist, dass dies auch mit Microsoft Exchange und Microsoft SharePoint möglich ist! Tatsächlich können Sie eine Verbindung zu jeder Software des Microsoft-Ökosystems, zu Salesforce und zu vielen anderen herstellen:
- SharePoint 2010, 2013, 2016, 2019, Online
- Office 365
- Exchange Server 2003, 2007, 2010 SP1, 2013, 2016, 2019, Exchange Online
- Aktives Verzeichnis
- Bing
- Excel, Word, PowerPoint
- Teams, Planer
Sie brauchen nur Connect Bridge, die Basisintegrationsplattform, und den Konnektor für die gewünschte Software auswählen.
Wenn Sie die Konnektoren, die derzeit bei Connect Bridge verfügbar sind, erkunden möchten, dann ist die folgende Stelle die richtige Wahl https://www.connecting-software.com/connectors/.
Wenn Sie wissen möchten, welche die neuesten Steckverbinder in dieser umfangreichen Sammlung sind, schauen Sie sich Connect Bridges's Dynamik 365 v. Chr. und Dynamik 365 FO Konnektoren.
Eine interessante Zusatzoption, die Sie in Connect Bridge haben, ist die intelligente Versiegelung von Dokumenten. Es gibt ein Add-on, das die Blockchain-Technologie verwendet, um Dokumente in Dynamics zu versiegeln. Es bietet Ihnen die höchste Sicherheitsstufe und garantiert, dass das Dokument nicht manipuliert wurde, aber die Tatsache, dass verteilte Ledger auf geschickte Weise verwendet werden, macht es weitaus kostengünstiger. Und sie kann auch mit Dokumenten arbeiten, die an anderer Stelle gespeichert sind, zum Beispiel in SharePoint.
Wir hoffen, dieser Artikel war für Sie hilfreich! Hier sind einige weitere Beiträge, die wir in unserem Blog über andere Integrationsmöglichkeiten diskutieren:
Comments 1
Sehr schöner und informativer Artikel.