Skip to main content

Notifications

Announcements

No record found.

Supply chain | Supply Chain Management, Commerce
Suggested answer

Design Pattern for calling in real-time external web services from D365 - middleware or not?

Posted on by 5

I'm looking get in some input on what design patterns those in the community are using when calling (in real-time) external web service APIs.  Outbound re-curring patterns are well documented but I'm not finding much on real-time outbound calls.  Some I've talked with consume external APIs directly from D365 while some are using a middle-tier abstraction approach.  For inbound transactions to D365, having middleware (Logic Apps usually) makes complete sense for abstraction and isolation and I've seen that commonly done.  But what about out-bound?  Are folks utilizing business events with logic apps to trigger calls out, are you developing custom code to call the Logic App and coding the logic app to place calls externally to have it then return the information requested, or are you doing more direct consumption from D365?  Coming from the EA side and just my own development background, I've always preferred that layer of abstraction.  There is more work from that perspective but then your not tying your customizations directly to an external endpoint.  If changes are needed, the assumption is that in most cases, you only need to change the logic app.

Thoughts?

  • Suggested answer
    Komi Siabi Profile Picture
    Komi Siabi 12,686 Most Valuable Professional on at
    RE: Design Pattern for calling in real-time external web services from D365 - middleware or not?

    Hello Michaels,

    Well, everyone had their approach to Integration and several roads could lead to Rome .

    Here is what we have been doing in a while when it comes to talking to external service to get data to get response and probably store some part of the data in D365FO.

    We use create a DLL also known as middleware using C#. In the DLL, we do the POST, GET... Kindly note that, all the parameters required to talk to the external services are pro grammatically setup in D365FO. That way, it is easy to switch the services credentials, like Url, Token, Key, message.....  when moving from DEV to UAT/Prod.

    This approach saves you cost using, Logic Apps, Power platform(This is not really to stop anyone from considering such). I have haven't used logic Apps yet though, but I believed, you might be billed based on the number and frequency of call.

    Below is an example to consume external service via DLL.

    https://blog.monsieurwinner.com/2022/08/30/consume-api-from-dynamics-365-finance-and-operations/

  • huijij Profile Picture
    huijij 19,811 on at
    RE: Design Pattern for calling in real-time external web services from D365 - middleware or not?

    Can you specify From EA and Security Design perspectives, it's not best practice to have 3rd party services directly interacting with an ERP. I didn't fully understand it, but you can wait for other people's answers on the forum.

  • MichaelRichards Profile Picture
    MichaelRichards 5 on at
    RE: Design Pattern for calling in real-time external web services from D365 - middleware or not?

    Hi Judy,

    I appreciate these links.  The first two I did see but didn't really hit on the middle-tier concepts.  From EA and Security Design perspectives, it's not best practice to have 3rd party services directly interacting with an ERP.

    The third link did have some information and the diagram at the bottom is more in-line to the conversation.  What's been your practical experience with implementation of a middle-tier layer D365?  Common, not-common?  If it varies, do you have any insight on the criteria used to help determine approach?

    Thanks,

  • huijij Profile Picture
    huijij 19,811 on at
    RE: Design Pattern for calling in real-time external web services from D365 - middleware or not?

    Hi MichaelRichards,

    Please start with the following articles describe integration patterns, integration scenarios, and integration solutions and best practices.

    7416.png

    learn.microsoft.com/.../integration-overview

    azureintegrations.com/.../

    community.dynamics.com/.../integration-patterns-in-d365fo

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,253 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,188 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans