Skip to main content

Notifications

Announcements

No record found.

Business Central forum
Answered

Connecting Business Central to access data in Azure Managed Instance

Posted on by 30

Hello,

I want to start off by saying that I unfortunately cannot provide screenshots due to the sensitive nature of the data that is behind the scenes. The Problem that me and my organization are encountering is access the underlying Data that is within Business Central. I have two questions related to this:

1. What is the best way of pulling information out of Business Central to integrate with a Azure Managed Instance (or anything similar)? 

2. What does the Business Central Data Architecture look like? Are "Pages" and "Views" the same thing and how are those stored and manipulated differently than a "Table" object?

Allow me to expand on these questions for as much context as I can give. We have a Business Central online Cloud environment that we use to host financial data. We have a ODS layer that sits on a Azure Managed Instance. My company is rather small, so they are flexing me into this to try and acquire the Data that is inside of Business Central to pull that into the ODS layer, and I have minimal experience within Business Central, so I understand the baseline of using the platform, the GUI, and so on, but when I try to understand the underlying architecture I start to get lost. Our Business Central Platform was set up by a Microsoft Service Provider, so we are unable to talk to the people who set up the environment to see if there was a problem in set up that is causing us issues. When I try to connect to Business Central using Azure Data Factory, I am unable to access "Page" objects and I can only access Tables. I understand that this is supposed to be a limitation, and that the only way to access the "Page" objects is to use an API, Web Service, or ODATA connection to access those. However, we are wanting to be able to pull out the data, manipulate/transform, and then push that back into Business Central/Dynamics 365. So in totality, I am trying to figure out the data architecture for the Dynamics 365/Business Central so I can better understand how this platform is set up on the backend in terms of file structure, and what the recommended solutions are for pulling that data out into a Azure Managed Instance

Thank you in advance! (Apologies if this is a dumb question)

  • SauceyB28 Profile Picture
    SauceyB28 30 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Hey Matthias,

    I got one more follow up question if you are still willing to help out here. Do you know if there is any way that you would be able to pull the underlying Schema for those Pages/Tables? We are trying to get as close as we can, to seeing these objects in their "truest" state. Any thoughts?

    Thank you again!

  • Verified answer
    SauceyB28 Profile Picture
    SauceyB28 30 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Awesome thank you very much!

  • matthias_rabus Profile Picture
    matthias_rabus 160 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    I get what you intend to do. If I were you, I would start looking for a good implementation partner (close to you, with solid understanding of BC and salesforce, and you can work together on a personal note). Switching partners is super easy if you fell out with your previous partner. Your process seems to be complex and I doubt you will make it work without some customizations and support from a partner.

    The pages are part of the UI layer, yes. The underlying data can only be viewed through API / web services or in the UI. There is no direct SQL database access.

  • SauceyB28 Profile Picture
    SauceyB28 30 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Matthias,

    Awesome that information is valuable in and of itself.

    Largely the use case is this:

    We have a Salesforce Platform that we use for 99.9% of our Business, but we use Business Central for all Financial and Regulatory Reporting. So what we essentially need, is to be able to pull the information out of Salesforce into our ODS Layer, and then we need to be able to take the information that is in the ODS, and match it to IDs that are specified within Business Central, do a few manipulations (this is unclear to me as of right now because we have not gotten that far, we are just trying to get to the point where we can view the data) and then take the data and re-upload that back into Business Central for use by our Finance and Accounting teams. Essentially, there are "Codes" that are within Business Central that are also used inside of Salesforce (Explicit Mapping) and then we need to map those codes from the tables inside of Salesforce and Business Central.

    Hopefully that makes some realm of sense. I did view that link that you had sent, I have probably read most documentation that is on Microsoft Online, but the part that we were struggling with is why we cannot see those Pages as a table, instead of calling them like an API, but you partially answered that question in the above response. So just to clarify, the Pages as a view sit on top of the UI layer, and then the underlying data that is associate with those Pages are stored in a table, that is unviewable since we are in the cloud?

    Thanks in advance! Really appreciate the info and understanding

  • matthias_rabus Profile Picture
    matthias_rabus 160 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Hey Saucey,

    BC Cloud = SaaS, that is true

    The data itself is always stored in tables, the pages are used to display and access the data. In BC SaaS, it is not possible to get direct access to the tables.

    API / Web Services are the only way to access the data besides working with the UI.

    Regarding the architecture, check the following docs article:

    docs.microsoft.com/.../product-and-architecture-overview

    Can you elaborate a bit more on your business case? Why don't you just use BC as it is meant to be through the UI?

  • SauceyB28 Profile Picture
    SauceyB28 30 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Hey Matthias,

    We are using Business Central Cloud, so I believe that is the SaaS version. We are essentially trying to use ADF in order to access the Underlying data (most of the data in our Business Central Platform are Pages) and I had been trying to avoid using API or ODATA pages, just simply because we thought that we could use ADF in order to access the data that is within the Platform. Is that the "Best Practice" is to have all of that information stored in Pages? or would it be better to move those into table objects? Unfortunately, we are unable to go back to our MSP for help.

    Based on your response above, I am assuming then that the only efficient way would be to use API or Web Services/ODATA? So would I be correct in saying that Page and view Objects live in the UI Layer, and Table Data is inside of the service tier?

    Lastly, is there a way to see the underlying Databases that store the data within Business Central? I tried accessing a Database Object, but that takes me to the Dataverse (CDS or CDM) component, and all I can see there are system tables and a few system mapped tables like Account and Contact.

  • matthias_rabus Profile Picture
    matthias_rabus 160 on at
    RE: Connecting Business Central to access data in Azure Managed Instance

    Hello Saucey,

    nice that you are stepping into BC. I think there is no easy answer for your questions.

    I have two questions for you:

    - are you using BC SaaS or on-premises?

    - if your BC instance was setup by a Microsoft  Service Partner, why don't you get in touch with them? They should be  able to answer these questions.

    Depending on the answer to my first questions, there are different options to connect to your system.

    The basic architecture is as follows:

    - you have your data stored in a SQL database

    - then you have a logic layer called service tier

    - on top of that, there is the UI layer

    The best way to access the data is through the API or web services.

    You asked about pages:

    They serve two purposes: first they can be used as UI pages / views. Second, they work as API pages or can be  exposed as OData web services.

    Hope that helps, if you need more,  just ask.

Helpful resources

Quick Links

Dynamics 365 Community Update – Sep 9th

Welcome to the next edition of the Community Platform Update. This is a weekly…

Announcing Our 2024 Season 2 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 290,277 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 228,126 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans