Dynamics 365 for Finance and Operations

Extensions versus Overlayering approach for Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition

Extensions Overlayering Microsoft Dynamics 365 for Finance and Operations

In this post, I will provide a summary “Extensions Overlayering Microsoft Dynamics 365 for Finance and Operations” approach used to customize objects on Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition platform.

Extensions Overlayering Microsoft Dynamics 365 for Finance and Operations:

No.  Extensions  Overlayering
 1.  Extensions approach builds new packages, and these packages contain the customizations.  Over layering approach builds packages on top of the existing ones and the customizations are on top of the existing ones in the form of layers.
 2.  Code customizations sit on a separate package but the existing model and source code.  Customize code and metadata on top of the existing model or the top of third-party models.
 3.  Assemblies (.dlls) that are created from the customized packages are separate from the base package. For example, with the extension approach if a new field has to be added to a Sales Order header table (SalesTable), then the Sales Table sits on the new package instead of the existing package, which is the second step while creating a new model to customize the standard elements.  Assemblies (.dlls) that are created for customized packages are same as the base package assemblies (.dlls), and these are protected by the layered approach. For example, if we are adding a field to the Sales Order header table(SalesTable), then the SalesTable sits on the sys layer and if a new field is added then the field sits on .isv/var/sys/cus layer (depending on the license to customize the components), but they all sit on the same assembly file, although they might sit on different models.
 4.  While creating a new model,  we create new packages. The model is compiled into a separate assembly file.  While creating the model, we always choose existing packages and hence the customizations sit on the same assembly file.
5.  Facilitates ease of design, deployments and makes platform upgrades or version upgrades easier.  Upgrades and deployments are tedious when compared to the extensions approach because here post upgrades the code fixes, and the dependent components/ elements need to be manually fixed, in most of the scenarios.
6.  Recommended approach and the only approach supported by the Platform Update 3 for Dynamics 365 for Finance and Operations, Enterprise Edition.  This approach is only supported up to Platform Update 2. Later, if you want to upgrade to Platform Update 3 or later, the development team needs to move the customizations and adopt the extensions based approach for smoother upgrades.
7.  Facilitates usage of Event Handlers at the form level. Can adopt the same approach for other AOT Components like classes, plug-ins, etc. No sequencing hence brings in efficiency concerning performance.  Facilitates usage of event handlers at the form level but on the extraction of the package, the core components are also extracted. Sequencing of calls does occur and rendering of standard code.
8.  During development, only the extension packages are compiled, and this reduces the time taken to deploy.  During deployment, the entire base components and their dependent components are compiled, in addition to the custom components, hence the time taken to deploy models across different environments, for example, development to a test machine is longer.
9. During development, only the extension packages are compiled, and this reduces the time taken to deploy. During deployment, the entire base components and their dependent components are compiled, in addition to the custom components, hence the time taken to deploy models across different environments, for example, development to a test machine is longer.
9. During development, only the extension packages are compiled, and this reduces the time taken to deploy. During deployment, the entire base components and their dependent components are compiled, in addition to the custom components, hence the time taken to deploy models across different environments, for example, development to a test machine is longer.
 10.    

 

Note:

I have pulled out a sample picture from https://docs.microsoft.com which should give a good overview of the differences between the Extensions and the OverLayering based approach.

Conclusion:

It is recommended to use the Extension based approach to customize the objects that exist in Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition. This approach is the only recommended approach since Platform Update 3.  (References: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/migration-upgrade/upgrade-latest-update)

Related Reading:

Disclaimer: The Questions and Answers provided on https://www.gigxp.com are for general information purposes only. We make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose.

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
Navneeth Nagrajan
Navneeth Nagrajan is a Technology Specialist at Deloitte Australia focussing on design, development, integration, and implementation of the Microsoft Power Platform (primarily PowerBI, Common Data Service and Flow) and Dynamics 365 for Finance and Operations ERP. Other areas of focus include Azure DevOps, Github (related to Dynamics 365 for Finance and Operations deployments), and Dynamics Lifecycle Services. Profile: Twitter: http://www.twitter.com/nav21n LinkedIn: https://www.linkedin.com/in/navneeth-nagrajan-94a9aa5/

You may also like

Comments are closed.