Tuesday, January 26, 2016

AX 7 - Technical Insights

AX 7 is impending with a radical technical and structural change in the world of Microsoft ERP, Dynamics AX, in contrast to what we got in current version AX 2012. This is a soft indication to all developers to get ready to adopt this change nippily. There is a lot to learn on AX 7 development while supporting\working with current versions of Dynamics AX :(

Back to file system; Yes, with AX 7 we are back to file system. Any change (technical) we make in application is saved into file (XML file) at your disk.

Before we talk about the main artefacts involved in AX 7 development and the approach we will be using while developing in AX 7 world. Let's put some glance on Development environment how will it looks like, what we (developer) will have in our DEV box.



Visual Studio will be used for all development stuff; MS developed visual studio extensions using standard Visual Studio extensions to enable the development of X++ code and AX 7 metadata in Visual Studio. 

Metadata API that communicate from visual studio with the XML files that are the source code on disk. Your source and metadata are the set of XML files now. Visual Studio user interface communicates with them with an API called Metadata API. 

Build from Visual Studio: When you build from Visual Studio, it compiles into assemblies and other binaries that runtime uses and during this whole process you are working against files. At this point in time there is no need for AOS to be running during design and compilation. 

Debug: Use standard visual studio paradigms to run and debug the code with F5 and Ctrl F5.

Runtime: It is the AOS and batch manager service which are running locally into your DEV box, the AOS is actually a web service in IIS.

Database: This is a standard SQL server database in your box, 

Deployment Package: It is a major change in AX 7 and I will post more in my future posts. 
For now just to understand how it works, let's assume you have completed the development or a stage of development of a certain task into your Development box and now wan to move these changes to Production. You will need to create a package (your changes) what its called Deployment Package. These can be created onto your development box and also can be created on your build automation box. 

These Deployment Packages are compiled binary versions of your models and packages that can be deployed on the cloud. The cloud can be a test, UAT or production environment.