This topic provides a high-level overview of MorphX Development Suite, the application development environment in Microsoft Dynamics AX. For details, see Developer documentation on MSDN.
Developing with the MorphX IDE
MorphX is an integrated development environment (IDE), presenting functions such as design, editing, compiling, and debugging within a single interface. Starting from the Application Object Tree (AOT), the developer can create new application objects by manually editing X++ code, using drag-and-drop functionality, and setting properties.
MorphX relies on several architectural elements and foundational technologies in Microsoft Dynamics AX:
-
Application Object Tree (AOT)
-
IntelliMorph
-
Inheritance
-
X++
-
Application Object Layers
-
Enterprise Portal Applications
-
Business intelligence framework
Application Object Tree
The Application Object Tree (AOT) provides a tree view of all the application objects within Microsoft Dynamics AX. The AOT contains everything a developer needs to customize the look and functionality of the Microsoft Dynamics AX application.
IntelliMorph
IntelliMorph is the technology that controls the user interface in Microsoft Dynamics AX. The same functionality can be displayed on multiple platforms or devices that use the same application code, for example, through the Microsoft Dynamics AX Windows client, a Web browser, or a Mobile device. IntelliMorph controls the layout of the user interface and makes it easier to modify forms, reports, and menus to suit user needs.
Inheritance
A core aspect of the Microsoft Dynamics AX application and the MorphX Development Suite is the standard object-oriented programming concept of inheritance. By creating derived classes from the supplied base classes in the AOT, it is possible to change a single element or parameter and cause the entire system to inherit the change. For example, if the length of a database field changes from 10 to 20 characters, the change is automatically reflected in all tables and on all the forms and reports that contain the field.
X++
X++ is the object-oriented programming language that is used in the MorphX environment. Information about working with X++ is provided in the Developer documentation on MSDN. An advantage of X++ is that it was created specifically for business applications. For example, X++ provides functions to implement SQL queries without the need to write separate SQL code. The business logic is kept in the application layer and developers access SQL tables the same way they use application classes.
Application Object Layers
Application object layers comprise a hierarchy of levels in the application source code that enables you to make modifications and additions without interfering with the application objects in the lower levels. When you make an object modification on one level, the modification overshadows the object on a lower level. You could, for example, decide to add e-mail information to a standard form. The addition would be saved on your level only. The revised form replaces the standard form, but you can always return to the original form at the next lower level by removing the new form.
Three customer groups have an interest in adding and modifying application objects:
-
Application developers who create the standard application.
-
Business partners.
-
End users of Microsoft Dynamics AX.
The following table describes the application object layers in Microsoft Dynamics AX.
Layer |
Description |
---|---|
SYS |
The standard application is implemented at the lowest level, the SYS layer. The application objects in the standard application can never be deleted. |
GLS |
When the application is modified to match country/region specific legal demands, these modifications are saved in the GLS layer. If an application object (for example, a form) is modified in the GLS layer, the modifications are saved in the GLS layer only, and the modified version of the form appears to the user. |
HFX |
HFX is the application layer used for on-demand hotfixes. A hotfix is a single code package composed of one or more files used to address a problem in the product. Using this layer, developers can apply a secure import of .xpo content without interfering with the existing layers or performing a full upgrade. When an update rollup or service pack covering these hotfixes is subsequently released and installed on the system, the HFX layer is automatically emptied. |
SL1, SL2, or SL3 |
A layer where the distributor can implement vertical partner solutions. SL is an abbreviation for So Lution. |
BUS |
When business partners create their own custom solutions, the modifications are saved in the BUS layer. |
VAR |
Value added resellers (VAR) can make modifications or new developments to the VAR layer as specified by the customers or as a strategy of creating an industry specific solution. Such modifications are saved in the VAR layer. |
CUS |
The supervisor or administrator of an end-user installation might want to make modifications that are specific to the company. Such modifications are saved in the CUS ( CUStomer) layer. |
USR |
End users might want to make their own modifications, such as in their reports. These modifications are saved in the USR layer. |
Each layer is saved in a separate file that is named Ax< layer>.aod, for example, Axsys.aod for the SYS layer, Axsl1.aod for the SL1 layer, and so on. The .aod extension is an acronym for application object data. For more information on the application object layers, select Developer Helpfrom the Help menu of the Microsoft Dynamics AX Windows client.
Most of the above layers also have a corresponding patch layer. The patch layer is used for the installation of application patches. The patch layers are designed to make it easy to incorporate updates in your application. The basic idea is that when a minor update or correction is made, it is distributed in a patch file, for example, Axsyp.aod. When a patch file is present, the modified objects in the patch file take precedence over the regular application objects and are automatically used.
For more information on layers and patch layers, see developer documentation on MSDN.
Application files
The application files are stored in a file system folder or share on a server that is accessible to all AOS servers. These files contain the Microsoft Dynamics AX object elements and business logic. Examples of the files in this directory include the application object index, application object data, and labels for each application object layer.
Developing Enterprise Portal Applications
Developing or customizing Enterprise Portal applications requires you to perform actions in the following areas:
-
Application Object Tree (AOT): The data and business logic tier is defined in AOT. You would create tables, classes and datasets in AOT to define the data storage, access and business logic. Also AOT is used to define the navigation and secure the application objects and store the labels, resources and files that are required for Enterprise Portal.
-
Visual Studio.NET: User Controls are the primary method for adding new functionality to Enterprise Portal. User Controls are developed in Visual Studio. User Controls and the ASP.NET-based framework are a replacement for the Web forms and Web controls that were the primary method for adding functionality in earlier releases of Enterprise Portal. Visual Studio add-in for Microsoft Dynamics AX lets you add the control from Visual Studio to AOT and creates the web content as well. For more information about the Enterprise Portal architecture, see Role Centers and Enterprise Portal architecture.
-
Windows SharePoint Services (WSS): The pages are customized or created in WSS. You would use the SharePoint Web part page framework to select the layout, add Web Parts, set their properties and connect Web Parts to one another as required. Once the Web page is created, you would import it into the AOT and use it in the navigation.
Note |
---|
Enterprise Portal can be used with Windows SharePoint Services or with Microsoft Office SharePoint Server. Where this documentation refers to Windows SharePoint Services or WSS, be aware that the information also applies to Microsoft Office SharePoint Server. |
For more information on Enterprise Portal development, see Developer documentation on MSDN.
Developing reporting and business intelligence applications
Microsoft Dynamics AX enables developers to define perspectives and business intelligence properties using the AOT. These perspectives are used to create report models for ad hoc reporting and generation of OLAP cubes. Developers can also use reporting tools to create advanced production reports for Microsoft Dynamics AX using Visual Studio and Reporting Services. For more information on reporting, see Reporting extensions and reporting tools. For more information on business analytics, see Analysis extensions and business intelligence framework.