dox42 integration framework in D365 FSCM

Prev Next

This dox42 integration framework in D365 FSCM is intended to make it easier for architects and developers implementing integration scenarios, namely, getting access to D365 FSCM reports from external systems as well as generating D365 FSCM reports on the fly from external systems. It contains a set of options and features for implementing recommended integration patterns and scenarios, allowing you to reduce implementation costs considering integration best practices.

The following table lists the integration patterns that are available.

Pattern

Description

Documentation (links)

OData

Getting access to reports via OData entity actions (for example, accessing/generating reports from Microsoft Power Automate)

Open Data Protocol (OData)

Custom service

Getting access to reports via custom service methods (any third-party app can call web-services)

Custom service development

The framework configuration process is independent of the integration pattern used. Once your framework configuration is done, you can use all integration patterns simultaneously and independently on each other or just some of them you need.

All patterns support synchronous and asynchronous integration scenarios. A synchronous pattern blocks the caller until the callee has finished running and gives a response (report). An asynchronous pattern is intended just to trigger processing (report) and resume the caller not waiting for the callee process finishing even if the API itself can be synchronous at its core.

There are also built-in request tracing and error handling capabilities in the framework. When you use a synchronous pattern, success or failure responses are returned to the caller. By using an asynchronous pattern, the caller receives an immediate response that indicates whether the process triggering call was successful (the status/result of the processing is not pushed to the caller; polling for the result of the corresponding process by the caller is also not supported – you cannot get the result in the asynchronous scenario so far in the current framework version).