Hi there,
I am using Dynamics CRM Online and we have several applications that need to consume data from Dataverse. Some of them are on premise, some on cloud. And some new consumer applications may come in the future.
My question/ point for discussion is, how would you approach this architecturally?
1) each consumer will write its own code to get the data it needs, or
2) create a central, 'proxy' application to expose all data needed, for all the consumer applications
3) other?
Second question/ point for discussion. I assume web api is the way to go (let me know if not). How would you design the exposed operations for solution (2).
1) The simplest approach is to code each operation separately, or
2) Somehow parametrically define the queries and then dynamically construct the web api calls and expose all operations in a common interface.
Third question, supposing solution (2) is a C# application, how/where would you deploy this?
I would highly appreciate your thoughts and experiences on the above.
Hi Bipin, thank you for the answer. It is not exactly what I am looking for. My question mainly has to do with how to architect a set of retrieval operations from Dataverse to be consumed by several applications.
Should the consumer applications do it themselves (with direct connectivity to the Dataverse) or would it be better to create a mediator service and expose through it all the operations needed?
If the recommended approach is the second, how would I decouple the development of new operations from the consumption of the existing ones? How would I facilitate changes and make creation of new operations easy?
Then, if this is a C# application, where would you deploy this, taking into account that the consumer applications can be on premise or on cloud.
So, basically, my question/ thread for discussion has more to do with the architectural aspect.
Secondarily, it seems that the recommended way is to go with the Web API. The SQL query is still in preview and has the limitation of 80MB and no paging (except if I implement this in a custom way), or am I missing something?
Thanks everybody for your time!
Hi,
I would recommend to use newly introduced feature by Microsoft to direct query data using SQL
docs.microsoft.com/.../dataverse-sql-query
This way different consumer can connect to same sql to get the data required.
Other option is to set up Data export service to replicate the CRM online data to Azure Sql server in near real time -
docs.microsoft.com/.../replicate-data-microsoft-azure-sql-database
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,240 Super User 2024 Season 2
Martin Dráb 230,149 Most Valuable Professional
nmaenpaa 101,156