Immer wenn voneinander getrennte Systeme nicht nur Daten sondern auch Funktionen ein- oder gegenseitig bereitstellen sollen, bietet sich der Einsatz von Web Services an. Hierzu bietet Business Central / Dynamics NAV verschiedene Techniken, die sich vereinfacht betrachtet in die zwei Grundtechniken SOA und REST einteilen lassen.
Während SOA eine strikte Definition von Daten- und Operationsverträgen mit Hilfe der Web Service Description Language (WSDL) erzwingt, kann dies bei REST-basierten Web Services entfallen. Stattdessen verwendet Business Central / Dynamics NAV ODATA und WebAPI-Calls, um die Kommunikation über die REST-basierten Services zu vereinfachen.
Komfortabler Weise wird der Entwickler jedoch in beiden Fällen von manuellen Definitionen weitgehend freigehalten. Stattdessen werden die in AL hinlänglich bekannten Objekttypen zur Definition der Daten- und Funktionsstrukturen verwendet.
Folgende Objekttypen kommen dabei zum Einsatz:
SOA | REST |
|
|
Im Web Services Training lernen Entwickler, wie sie Web Service-basierte Schnittstellen unter Verwendung dieser Objekttypen entwickeln. Darüberhinaus lernen Entwickler nicht nur, wie sie Web Services in Business Central / Dynamics NAV veröffentlichen sondern auch, wie sie externe Web Services mit Hilfe von AL konsumieren.
Nachfolgende Aufstellung enthält einen Auszug der behandelten Themen:
- Implementieren eines einfachen SOA Web Services auf Basis einer Codeunit in AL
- Konsumieren des Business Central / Dynamics NAV Web Services mit Hilfe einer .NET-Applikation, wie z.B. ASP.NET oder Windows Forms
- Implementieren von SOA Web Services mit komplexen Datenstrukturen
- Verwendung temporärer Records zur Zwischenpufferung empfangener Daten zwecks Einspeisung in die Anwendungslogik und entsprechender Weiterverarbeitung
- Transaktionssteuerung in Web Services
- automatische Registrierung von Web Services einer Extension beim Deployment bzw. Deregistrierung bei Deinstallation der Extension
- Verwendung von OData zum Lesen und Schreiben von Daten sowie zum Ausführen von AL-Anwendungslogik
- Verwendung der WebAPI-Schnittstelle
- Konsumieren externer Web Services
- Verarbeiten der den Web Services zugrundeliegenden Datenformaten JSON und XML innerhalb AL
Als Programmiersprache für externe Systeme kommt im Training C# auf Basis des .NET-Frameworks zum Einsatz. Entsprechende Grundkenntnisse werden vorausgesetzt oder müssen zuvor in einem gesonderten Training vermittelt werden.
Überwiegend führe ich diese Trainings für Microsoft Implementierungspartner aber auch direkt für Entwickler-Teams von Endkunden durch.