Hi, yes exactly, middleware is only needed when additional logic is required beyond just reading/writing data. Here are a few examples:
Transformation D365FO returns item price in USD, but the external system needs it in EUR. Middleware handles the currency conversion in between.
Routing data from D365FO needs to be sent to multiple external systems simultaneously. Middleware routes it accordingly.
Scheduling/Orchestration external system can't call OData directly on a schedule, so Logic Apps triggers the call at a set time and passes the data along.
Format conversion D365FO OData returns JSON, but the external system only accepts XML. Middleware transforms the format.
Without these kinds of requirements, direct OData consumption is enough.
If need any manipulation in the recovered data middleware is need
Thanks,