Wednesday, August 1, 2018

Difference between AX 2012 and D 365 Finance and Operations

Apparently in lay man terms we can say the Three main visible changes in D365 :

  • New Client
  • Cloud Readiness
  • New Development Stack
Key terms in D365:

Packages : A package is a deployable unit, which may have multiple modals.

Model:  A model is a group of elements, a model is collection of elements that represent a distributed sofware solution.

Element:  Element is any object residing in AOT.
eg: Base Enum, any EDT, Table, Form which you see in AOT tree in an element itself.  

Project : Project are the logical container for everything thats needed to build your application.
A project can be associated with any one model.

I got some detail understanding on the changes from different blogs, which I am sharing below


Dynamics 365 for Operations is web/browser based, hosted by Microsoft on Azure (like Office 365) is provides similar functionality, but has a completely new UI. It is part of their family called Dynamics 365 that merges elements of Microsoft Dynamics CRM, AX and the financials from Dynamics NAV.

Enhanced User Experience :
  • One of the biggest differences in the new version is in the user experience, as Dynamics 365 for Operations has a new interface . 
  • Also, the entire program is now web-oriented, so everything you need is located within a browser, which should make everything faster and easier to use.
  • The user experience will be enhanced even more by the fact that Microsoft has now made Dynamics 365 compatible with mobile devices like phones and tablets
  • Users having real-time access to data on these devices is a game changer for nearly any company, as it will allow them to do business anywhere and at any time.
More Integrations :

The intelligence of Dynamics 365 is also miles ahead of previous versions. There is now full integration with CRM, Office 365, and PowerBI, not to mention Cortana, so the speed at which you can retrieve data and make accurate and informed decisions is quite impressive.


Changes for Developers :

1. Visual Studio :

MorphX is gone, Visual Studio (VS) is the new IDE. All of Microsoft Dynamics 365 is web-based, there is no longer a fat AX client and there is no MorphX development environment to get into. You will do all of your work in VS. It is well-documented, stable, and feature rich. 

2. Deployment Packages :
  • The next big change is the introduction of deployment packages and the marginalization of the traditional AX concept of layers. Deployment packages are conceptually a replacement for model stores. 

  • Deployment packages are comprised of all of the artifacts (like assemblies and configurations files) required to make the code function. 

  • When moving code between environments, deployment packages will be used. 

  • As part of this change, when you create a model in Visual Studio (VS) you indicate which deployment package the model is a part of and what kind of dependencies it has. Similar to how in VS when you add a reference to a project, you create a dependency between your project and the one you added a reference to. 

  • Additionally, when you create your model, you specify which layer the model is going to live in. The layer is the traditional AX concept of a layer but in the VS world, the layer’s importance is very minimal. You are not required to provide a key for your model to live in that layer.

3. Extensions :
  • Dynamics 365 for Operations includes the introduction of extensions. In all previous versions of AX when modifying or adding to sys or ISV code, you override or added something to an object which created a potential conflict at upgrade time.

  • In Dynamics 365 this is still possible it is known as a customization but now it is not the only way to modify existing code. Microsoft has added an extensions model with extensions you can extend an object without touching the base object. This means you can add new fields, methods or controls to tables, classes and forms and those additions are contained in your own extension object. You have not affected the base object.

  • Also the base objects have many, many events added to them. In previous versions of AX, you override methods so your code would be called when events happened – like a button being clicked. Now the button will raise an event and you can subscribe to that event. By subscribing to the event your code will be called without you having to override or modify the button.

4. Form Patterns :

The required adherence to form patterns are next big change. Form patterns are guidelines Microsoft has for how forms should be designed. Microsoft wants all forms in AX to look-and-feel similar regardless of who makes them so the end user has a consistent experience. Form patterns are not a new concept; they exist in AX 2012. However, most AX developers were not aware of them in AX 2012 because they were a guideline and not a requirement. 

In Dynamics 365 when you create a form, the first thing you do in the design of that form is specify the form pattern it is going to follow. If you don’t specify the form pattern, you will get compile errors. 

As you continue to build the form’s design, the pattern for the form is enforced meaning you must fill out the requirements of the pattern and if you do not you will get compile errors. This definitely takes some time to get used to.

5. Introduction of Data Entities :

Introduction of data entities. Data entities serve as the new framework for integrating with AX. They are a replacement two concepts in AX 2012, document services and the classes that comprised the Data Import Export Framework (DIXF). 

With data entities, all data coming into and going out of AX follow the same path so you do not have to build two different things if you are calling an API or using DIXF to manipulate data. 

The data entities are very easy to create. There is a wizard that walks you through the creation process similar to the wizard in AX 2012 used to generate document services. 

Another notable change within integrations is that the services exposing data entities are restful state APIs using JSON formatted data. 

In AX2012 all services were WCF services. This change means the way you call services is significantly different so if you are planning to do integrations on Dynamics 365 you will want to study up on how to call the APIs.



VS project types:

There are Dynamics AX template project types that have been added to VS.

The template project types are:

Dynamics AX Best Practice Rules – used for writing best practices checks for code and metadata
Dynamics AX Developer Tool Add-in
Dynamics AX Project – main project template type for containing customizations


When creating a new project, first create a new model:

  • If you create a project without a new model, the project gets created in the sys layer in the model where the object being modified exists.
  • Because the project is in the sys layer you cannot add existing objects to the project because you are working in the sys layer.
  • You need to create a new model and put your projects inside of it.

When you create the new model, the dialog asking about the new model will prompt for:
  • The layer you want to work in
  • The package you want to work in
  • The first project you want to create
Once the project has been created you can see the layer and model next to the project name in the Solution Explorer.


AXPP Files

1. Files ending in axpp are the replacement for xpo files.

2. To export and import projects similar to what you would do with xpos on 2012:

In the Solution Explorer, right-click on a project and choose Export project <ProjectName>
The project gets saved as a file with an extension of .axpp

     a. The model the project is created in is saved in the axpp file

            i. The model contains the layer info. 

     b. The axpp file cannot be read with Notepad

3. To import the axpp containing the project in VS go to the Dynamics AX menu and choose Import project.

      a. The project is created in the model (and layer) and saved in the axpp file.

            i. If the model doesn’t exist in the imported environment, it will be generated.

4. Similar to AX 2012 and importing an xpo, in Dynamics 365 for Operations (AX7) you can do a comparison between the contents of the axpp file and the current environment.

      a. To compare objects during the import: When you select Import project a dialog opens asking you to select the location of the axpp file.

  • When you select Import project a dialog opens asking you to select the location of the axpp file.
  • Once you have selected the axpp file at the bottom of the dialog there is a Details section.
  • In the details section, you can see all of the objects to be imported.
  • When viewing the objects, right-click on one of them and choose Compare to bring up compare window.

Packages

  • It includes all of the models, binaries and additional pieces needed to deploy code.
  • Similar concept to an AX2012 modelstore or in VS a solution.
                   You can have multiple packages per installation.
  • AX ships with several packages including:
                   Application Suite - This is the package containing most of the application code and is the most likely to be overridden.

  • Application Suite Form Adaptor
  • Application Foundation
  • Application Foundation Form Adaptor
  • Application Platform
  • Application Platform Form Adaptor
  • When creating a model, the wizard prompts for which package the model should live in.
  • To create customization objects (overlayer objects) you have to:
             Create a new model in the same package as the objects being customized.
                     This is because there will be a dependency between your customizations and the objects being customized.
  • The new model has to exist in a layer that you can access (usr, cus, or var).

10 comments:

  1. I was surfing net and fortunately came across this site and found very interesting stuff here. Its really fun to read. I enjoyed a lot. Thanks for sharing this wonderful information. why not find out more

    ReplyDelete
  2. Valuable post useful for everyone.Keep on sharing.
    MS Dynamics Online Training

    ReplyDelete
  3. valuable post in technical. Is there any functional/reports/user level key differences pls?

    ReplyDelete
  4. Thanks for posting such a useful information. You have done a great job.
    MS Dynamics Operation Trade and Logistics Training

    ReplyDelete
  5. https://www.youtube.com/playlist?list=PLWSxgDbjVWTjxvgnaAZ0iK8o5dYHAYhrq

    Collection of Microsoft ERP Clips || ERP Licensing, Technical, Functional ,Manager Learning Videos Listing

    ReplyDelete
  6. I really like and appreciate your post.Really thank you! Fantastic.
    office 365 online training
    office 365 training

    ReplyDelete
  7. Before we mention some of the differences between Dynamics AX and Dynamics 365, allow us to explain them briefly. Dynamics AX is an ERP from Microsoft that helps businesses manage their backend operations. However, Dynamics AX is now retired. Microsoft split Dynamics AX into 5 different apps namely Dynamics 365 Finance, Dynamics 365 Supply Chain Management, Dynamics 365 Commerce, Dynamics 365 Project Operations, Dynamics 365 Human Resources.

    Still, when we say Dynamics 365, we are referring to a wider group of applications. Dynamics 365 is a portfolio of applications with capabilities for Sales, Customer Services, Field Service, Marketing, Supply Chain, Financials, and Project Operations.

    So, we specifically mean Dynamics 365 Finance and Dynamics 365 Supply Chain Management when we talk about it with reference to Dynamics AX. Dynamics 365 Finance covers GL, AP, AR, Tax, Bank Management, Audit, Fixed Assets and Budgets. D365 SCM has functionality for Purchasing, Quality, Inventory, Production Planning, Logistics, Transportation, Order Management, and Service Management.

    Now that we understand Dynamics AX and Dynamics 365 (Finance and Supply Chain Management) let us talk about the differences between the two.

    One of the major differences is in their infrastructure. Dynamics AX is primarily a cloud-based solution and Dynamics 365 is cloud-based. On a side note, Dynamics 365 has inherited all core functionalities from Dynamics AX but with a modern touch to it. Some other differences or betterments in Dynamics 365 include web-based login, embedded Power BI, more user-friendly interface, more integrations, automated bi-annual updates, additional flexibility, improved searches, and navigation, increased excel integration, etc.

    To know more about Dynamics 365, you can contact the Dynamics Square team.

    ReplyDelete
  8. In The Cloud With Microsoft Azure Iot, One Step Ahead With Iot: Pursue The Digital Transformation Of Your Business. Leverage Data From All Networked Devices And Draw Conclusions To Increase Profitability. Microsoft Azure IoT
    Azure IoT Hub
    Azure IoT Central, A Highly Adaptable Cloud Platform, Simplifies Iot And Accelerates Adoption With Fully Managed, Industry-specific Iot Solutions.

    ReplyDelete
  9. Optimize the replenishment of your stocks, improve the efficiency of your order processing, manage your stocks at optimum levels, thanks to the power of the Purchasing and Supply module of the Microsoft Dynamics 365 Business Central ERP solution. Dynamics 365 Finance

    ReplyDelete

How to enable the dimension fields based on the Item selected on the form.

[Form] public class KMTShipFromWarehouses extends FormRun {     InventDimCtrl_Frm_EditDimensions        inventDimFormSetup;     /// &l...