Extensions Overlayering Microsoft Dynamics 365 for Finance and Operations

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

Facebooktwittergoogle_plusredditpinterestlinkedinmail

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.

Navneeth Nagrajan is a Technical Consultant at Avanade Australia focusing on implementation, pre-sales and support of Microsoft Dynamics 365 for Operations/ Microsoft Dynamics Ax ERP. Before Avanade, Navneeth worked as a Solutions Consultant at LM WindPower focusing on implementation and support of Microsoft Dynamics Ax Enterprise Resource Planning solution. Prior to LM WindPower, he worked as a Lead Consultant for ITC Infotech India Limited focusing on Enterprise Solutions like Microsoft Dynamics AX & Microsoft Dynamics CRM. He has worked for Microsoft as a Partner Technical Consultant. His primary focus area is Microsoft Dynamics AX and he specializes on Trade & Logistics, CRM, Service Management and Project Management functionalities. His secondary focus area is Microsoft Dynamics CRM and he specializes on Sales Management, Marketing Management and Service Management sections. He has successfully assisted more than 100 Microsoft partners and customers. At Microsoft, He has successfully written and published papers on '​'​ Needs for Microsoft Dynamics CRM in the Education Sector''. Prior to Microsoft, he has worked as a Functional Consultant and has implemented Microsoft Dynamics AX in the Manufacturing and Services Segment. He has also worked as a Business Development Executive implementing Document Management Systems for Security Broking and Manufacturing Organizations.