Overview
The unified developer experience for finance and operations apps is both the next step in the app development experience, and a powerful enabler for leveraging the value provided by Microsoft Dynamics 365 and the Power Platform. The functionality provided by both finance and operation apps and Microsoft Dataverse are now provided through a single sign-on experience where both finance and operations and Dataverse can be managed with no additional setup required. Even if you are doing development of finance and operations apps without leveraging Power Platform, you will find value here.
Previously, the developer story was based on a single machine hosting both the development experience (i.e. code editing, X++ compilation, and deployment) and the runtime experience providing a local Application Object Server (AOS) working with a local SQL database containing business data. This locally hosted runtime provided the interaction with finance and operations application code including debugging and unit test execution. Any interaction with the Dataverse stack running in the cloud had to be managed manually.
In the new unified developer experience, this architecture is changed. Now the execution of X++ code happens in the cloud. The following illustration shows the splitting client and server tiers.
The illustration above shows the local development box running against an endpoint in the cloud. The Application Object Server (AOS), the SQL database instance, and a complete Dataverse installation is hosted for you behind this endpoint. Any target endpoints running on different versions of the application code can be used without the need for the developer to manage that complexity. The development box switches to the target version automatically and downloads the correct metadata version as needed. This means that a developer can seamlessly develop against several endpoints, all running on different versions, requiring no manual setup. Workflows requiring a refresh from production systems down to development can be managed in a single step.
The development box itself can be lightweight in terms of performance, since it only needs to run Visual Studio with the finance and operations metadata installed. As described, all the performance intensive work, like running the AOS and the SQL server, happens behind the cloud endpoint. Previously, developers often used cloud-hosted environments to mitigate the CPU and memory demands incurred by X++ execution. The split of the system into client and server tiers removes that resource problem.
The following table highlights some comparisons.
Customer Hosted Environment (CHE) | Online Development Environment | |
---|---|---|
Azure subscription | Needs Azure subscription | NA |
Security & compliance | Customer must manage | Microsoft would manage |
Azure quota management | Customer must manage | NA |
New environment setup | Takes 4 to 6 hours | Less than 2 hours |
Service updates | Customer must manage | Microsoft would manage |
Quality updates | Customer must manage | Microsoft would manage |
With Microsoft Power Platform/ Dataverse | Customer must manually integrate with CHE | Fully integrated environment |
Service and quality updates rollback | Rollback is not supported for failed updates | Full rollback support supported |
Total Cost of Ownership (TCO) | Very high | Low |
Copy production data to troubleshoot | Multi-step and multi-day process | Less than 4 hours for most data sizes |
Deploy changes / customizations to cloud | Takes a few hours | Takes a few minutes |
Customer Managed Keys enabled | Not possible | Available |
Once the logon credentials have been provided, a developer can upload the results of development work, containing contributions from both finance and operations and Power Platform, to the cloud endpoint directly from within Visual Studio. The developer can then seamlessly interact with the application, run unit tests, and do debugging of X++ and C# code just as if everything was running on the local development box. In fact, the debugging experience is snappier than local debugging used to be even when running over a network connection.
In addition to the interactive story, we also provide a continuous integration and deployment (CI/CD) experience where you can build and deploy your solutions. The fully automatic deployment contains contributions from both Dataverse and finance and operations.
All this translates into increased developer productivity. It is easy to set up the development environment (takes about 20 minutes), and the system will make sure that the version you are developing against and the code that is executed on the server are in perfect synchronization. Since we have set up the data environment for you in the cloud, you can rest assured that it is both secure and compliant. With this hands-off infrastructure in place, there is no longer any need for you to manage your own cloud-hosted environments.
Since Dataverse is set up for you, you can easily integrate with several useful technologies with no extra work. These include:
- Dual write – This allows you to synchronize data in near real time between the Dataverse and finance and operations environments.
- Virtual entities – This makes finance and operations tables available in Dataverse, without any data copying.
- Business events – These events can originate in either the Dataverse or finance and operations apps and can be connected to Power Automate to trigger a flow. They may also be connected to Azure middleware to alert subscribers to the new event and the information payload that goes with it.
Developers sometimes face problems that are data related. Fortunately, it is easy to update the database that you are debugging against so these issues can be effectively rooted out. This turnaround time has been reduced drastically. Here are the average setup times for debugging production data issues: Before After 2 days 3 hours
Here are some links to get you started:
0 comments