Web Services

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:

SOAREST
  • Codeunit
  • Page
  • XMLport (zur Definition komplexerer Datenverträge)
  • Query
  • Page
AL-Objekttypen zur Verwendung in Web Services

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.