Professional Documents
Culture Documents
CHAPTER 1: ARCHITECTURE
Objectives
The objectives are: Describe the basic features of Microsoft Dynamics AX 2012. Review basic form navigation. Review the architecture of Microsoft Dynamics AX 2012. Describe the options for making development changes in Microsoft Dynamics AX 2012. Describe the theory of Model Driven Architecture in Microsoft Dynamics AX 2012. Review licensing and configuration.
Introduction
Microsoft Dynamics AX 2012 is a customizable, multiple-language, and multiple-currency Enterprise Resource Planning (ERP) solution. Microsoft Dynamics AX excels in: Manufacturing. E-business. Wholesale. Services industries.
Microsoft Dynamics AX is a completely integrated solution and is web-enabled and supports Microsoft SQL Server. With customizable source code, the solution can be modified however and whenever it is necessary.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-1
Development environment features o o o o o Microsoft Dynamics AX MorphX is an integrated development environment (IDE) for developing in Microsoft Dynamics AX. Visual Studio is an alternative development environment for web, report and managed code development. The Application Object Tree (AOT) provides a uniform and compact viewing repository. Drag-and-drop functionality is supported for many programming tasks. Projects help organize and track customized applications in Microsoft Dynamics AX.
Client Workspace
The client workspace is the standard rich client interface that an end-user uses. The workspace consists of various components:
Navigation Pane
The Navigation pane is the menu on the left side of the screen that shows all of the modules the current user has access to.
Content Pane
The content pane displays role centers, list pages and area pages. Role centers display specific data, reports, alerts, and common tasks associated with a user's role in the organization. The role center is displayed when an end-user opens the application or goes to Home in the Navigation pane. List pages display lists of data. They are optimized to view and search through a list of records and act on information.
1-2
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
Area pages display all menu items relevant to the module selected in the Navigation pane. They are grouped logically to make it easier for end-users to find what they need.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-3
Architecture
Microsoft Dynamics AX has a three-tier architecture.
Three-Tier Architecture
Three-tier architecture is defined as having a separate database, server and client where: The database stores the data. The server runs the application business logic. The client application allows users to connect to the server to access business logic and use the data in the database.
In Microsoft Dynamics AX the three tiers include the following: A SQL Server Database that houses the data entered into, and used by, the Microsoft Dynamics AX application. It also houses the model store that contains the application elements. (Application elements are explained in the following lesson) An Application Object Server (AOS) is a service that runs most of the business logic. This runs continuously on a central server.
1-4
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
The Client application is the user interface through which an enduser accesses Microsoft Dynamics AX. There are various clients available including the Microsoft Dynamics AX rich client and Enterprise Portal.
Extended Architecture
Several other components of the Microsoft technology stack are used in a typical deployment. Reports are delivered by SQL Reporting Services (SSRS). SSRS is a component included in SQL Server. Business Intelligence (BI) components such as Key Performance Indicators use Online Analytical Processing (OLAP) cubes which are delivered by SQL Analysis Services (SSAS). SSAS is a component included in SQL Server. The Enterprise Portal and Role Pages are hosted in SharePoint. There are two versions of SharePoint that can be used. Window SharePoint Foundation 2010 is a free download. Microsoft SharePoint Server 2010 is a product that can be purchased to provide extended collaboration and content management tools. Integration to other applications or to third party organizations might require integration solutions such as web services.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-5
1-6
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
Application Object Server
The Application Object Server (AOS) is the Microsoft Dynamics AX application server. The AOS is where most of the business logic is executed. The AOS performs many tasks. Some of the most important tasks include: X++ runtime: It runs the X++ code which provides most of the business logic in Microsoft Dynamics AX. Security: It enforces security to manage access to data and functionality. Session management: It manages client sessions. Web services: It is a web service endpoint.
Multiple AOS's can be installed to spread the processing load over multiple servers. This improves performance in larger implementations.
Clients
Microsoft Dynamics AX Rich Client is the primary client to access Microsoft Dynamics AX functionality. Most forms displayed in the rich client are designed by using the MorphX development environment. Role center pages are SharePoint pages that are displayed within a rich client form. SQL reports are called from the rich client by using the report viewer control. Enterprise Portal pages are displayed through a web browser. A subset of functionality and reports are available on the portal. Microsoft Office can be used as a client to access the Microsoft Dynamics AX application and data. Office add-ins are available out-of-the-box for Microsoft Excel and Microsoft Word. Other Applications can be used as a client to the Microsoft Dynamics AX application. Examples include mobile applications, specialized applications written in .net and legacy applications. Applications can be integrated using methods such as web services or the .net business connector. The .NET Business Connector is a client that has no user interface. It is designed for other applications to access the Microsoft Dynamics AX business logic. End-users can use another application as the user interface that interacts with the AOS through the .net Business Connector. Developers can access the developer tools through the MorphX IDE in the Microsoft Dynamics AX client or through Visual Studio Tools in Visual Studio.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-7
Help Server
Microsoft Dynamics AX Help files are hosted through IIS. When a user accesses Help from within the rich client, the AOS generates a call to the Help server to display the Help pages.
Web Services
Web Services are hosted within IIS. The AOS is the web service endpoint that provides the data that is served to other applications by IIS in a standardized format.
Development Environments
The Microsoft Dynamics AX application is built of elements that are stored in the model store in the SQL Service database. For example, the following element types make up part of the application: Fields and Tables define data structure. Forms and Menus define how a user interacts with the application. Classes and Methods are code objects that define business logic.
The Application Object Tree (AOT) provides a visual representation of the elements that comprise the application. Object-oriented design and Inheritance are key concepts that form the basis of the application.
1-8
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
Model elements can be modified or added using a development environment. The development environments that can be used with Microsoft Dynamics AX 2012 include: Microsoft Visual Studio. Microsoft Dynamics AX Integrated Development Environment (IDE). This is also referred to as the MorphX IDE and is accessed through the developer workspace in the Microsoft Dynamics AX client.
A white paper titled "Selecting the Best Development Technology for your Application Development Scenario AX2012" is available for download on MSDN.
Classes contain code that is used in the application. Forms define the layout of all of the forms. Forms are used to view data in the Microsoft Dynamics AX client.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-9
Labels
Labels are used to provide the language text that end-users see when using the application. All text presented in the client displays the translation of a label code. The label codes usually are reused wherever the exact same text is used with the same meaning. This makes it easier to manage multiple languages and to adapt to company specific language. As an example: The label code @SYS78211 is translated as "Direct delivery" in the English-US label file. This label code is used in various places throughout the application. It is used on field names and menu items displayed on forms such as the Sales Order Header form. All label codes are already translated into all other languages in which Microsoft Dynamics AX is available. This label code is translated as "Entrega directa" in the Spanish label file. If an enduser opens the application in Spanish, they will see the Spanish translation wherever this label code is used. Developers can create new label files to translate label codes into other languages or customer specific terminology. Tools, including the label editor and label wizard, are available within the MorphX development environment to add or change label files.
1-10
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
MorphX IDE
The MorphX IDE is accessed through the Developer Workspace which provides access to the AOT and other developer tools. It is used to make changes and add to the application. This is the most commonly used development environment. Common operations such as building or modifying tables, forms and menus can be performed by using drag-and-drop techniques with little or no coding. X++ is the programming language that is used in the MorphX IDE to write more advanced business logic. You can access the MorphX IDE from the Microsoft Dynamics AX client. Click the Windows menu in the command bar and select New Developer Workspace. Alternatively you can use the shortcut keys Ctrl+Shift+W.
X++ Tools
X++ is the object-oriented programming language that is used in the MorphX development environment. X++ has C#-like syntax, and incorporates SQL data manipulation statements. A full list of developer tools in the MorphX development environment can be found in the developer help documentation. Some of the tools available include: The X++ Code Editor is a text editor used to write X++ code. It supports color-coding and allows to look up and select various objects such as method names and enumeration values as you type. The Debugger is an application used by developers to step through X++ code to help resolve code errors. The Reverse Engineering tool enables you to visualize data and classes in Microsoft Dynamics AX by creating UML data models, UML object models, and ERX ER data models. The Table browser displays data from all fields in a selected table. The table browser can be used to run SQL statements.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-11
Visual Studio
The Visual Studio development environment is integrated through Visual Studio Tools for Microsoft Dynamics AX (Visual Studio Tools) and it supports managed code. Close integration between MorphX and Visual Studio means developers can take advantage of the benefits of each development tool and work in the environment that best suits their development scenario. Some development scenarios must take place in Visual Studio. This includes creating and customizing SSRS reports, most Enterprise Portal web development and any managed code development.
1-12
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
The Application Explorer is available within Visual Studio. This gives developers the ability to browse AX metadata. The Application Explorer displays information that is similar to the AOT in the MorphX IDE. Visual Studio projects are displayed in the AOT and are stored in the Microsoft Dynamics AX model store in SQL server.
Development Projects
While developing in Microsoft Dynamics AX, you can group all your modifications in to a development project. To create a new development project, click the project icon in the development workspace, or press Ctrl-Shift-P. Private projects are visible to the user creating them and shared project are visible to everyone. To create a new shared project: Right-click the Shared node and select New > Project. Give the project a descriptive name and then double-click it to open it. Now any elements from the AOT can be dragged in to this project. This creates a reference to the element. Modifying elements in the project is the same as modifying them directly in the AOT.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-13
Layers
Application object layers hold all elements that are displayed in the AOT. There are eight application object layers available. Each of these layers also has a patch layer making a total of sixteen layers. Layers are a hierarchy of levels in the application you can use to make modifications and additions without interfering with the application elements in the next lower level. When you make an element modification on one level, the modification overshadows the element on a lower level. When the application is compiled, only the top-level version of an application element is used. There are three layers available only to Microsoft to deliver the base application. (The xxP layer indicates the patch layer for each application object layer). Layer SYS, SYP Description System layer: The standard application is developed in this lowest layer. This includes the core application and the localization for most countries. Globalization layer: Includes features developed for some countries that were not yet moved into the SYS layer. Feature Pack layer: Includes industry feature packs that are controlled by Microsoft.
There are three layers available to partners and ISVs. Layer SLN, SLP ISV, ISP VAR, VAP Description Solution layer: Includes Microsoft endorsed industry solutions. Independent Software Vendor layer: Includes generic or vertical solutions developed by ISV's. Value Added Reseller layer: Includes multi-customer solutions developed by VAR's.
1-14
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
There are two layers available to both partners and customers who have a license to access the AX source code. Layer CUS, CUP USR, USP Description Customer layer: Includes customer specific functionality. User layer: Includes installation specific functionality and customizations.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-15
Models
A model is a logical grouping of elements within a layer. Models help in situations where multiple ISV solutions or projects must operate together. This architecture allows many solutions to co-exist within each layer. An element can exist in exactly one model in a layer. The same element can exist in a customized version in a model in a higher layer. New models are easy to create in the MorphX IDE and are applied when modifying or adding objects in the AOT. Models can be exported, installed, or uninstalled from the model store. Models are identified by a name and a publisher, and have a set of properties that can be changed, including a version number. Following is an example: A company has two lines of business. They manufacture and sell medical products. They also manufacture, sell and service specialized equipment to produce medical products. Solution A is an advanced vertical solution for the production of food and drug products. Among other things, this solution adds a new field to the item table to store the government approval number. This is stored in the ISV layer and in the model MEDICAL.
1-16
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
Solution B is an advanced vertical solution for managing the ongoing service of equipment which is sold to customers. Among other things, this solution adds a new field to the item table for the default service period. This is stored in the ISV layer and in the model SERVICE. You can use models to view the modifications to the item table made by all ISV solutions and easily see where each change originated.
Managing Models
Models can be created in the development workspace by clicking on Tools > Model management > Create model. Then you can enter the model name, your company, which layer the model is in, the version number, a full description, and a shorter description. The combination of name and publisher make a unique model.
To change the current model, click the current model in the status bar.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-17
Challenge Yourself!
Create a model called Dev1 and a development project called Dev1Training
Step by Step
1. Click Tools > Model Management > Create Model. 2. Enter Dev1 in the model name, your name in the publisher and Dynamics AX Development 1 training labs in the description. 3. Click OK. 4. Click Close on the infolog dialog. 5. Press Ctrl-Shift-P to open the development projects window. 6. Right-click the Shared node and select New > Project. 7. Rename the project to Dev1Training.
1-18
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
License Codes
License codes control the modules that can be used within Microsoft Dynamics AX. If a license code for a module is not purchased, none of that functionality is available.
Configuration Keys
Configuration keys in Microsoft Dynamics AX control the functionality and features in the system. These keys ensure the Microsoft Dynamics AX solution is not cluttered with functionality companies do not use. Configuration keys have descriptions to describe the functionality affected by enabling or disabling them. Each configuration key is attached to a license code, so if the license is not purchased, the configuration key is unavailable.
Each configuration key controls access to a specific feature, and once it is enabled or disabled, the feature is automatically added or removed in the user interface. The underlying tables attached to that configuration key still exist in the database, but are set to be temporary tables, which do not store data.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-19
Summary
This course provided a high-level introduction to the Microsoft Dynamics AX architecture. The course introduced important terms related to Microsoft Dynamics AX Development, and it also discussed the user interface and the different ways data can be presented in forms and reports. This course also discussed the basic security architecture that includes License codes and configuration keys.
1-20
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
2. What client applications can be used to access Microsoft Dynamics AX 2012? (Select all that apply) ( ) Microsoft Dynamics AX Rich Client ( ) Internet Information Server ( ) Application Object Server ( ) Enterprise Portal 3. Match the following modifications to the layer which they are, or should be, developed in. _____ 1. The core customer table _____ 2. A bank file import format developed by a partner that can be used for several of their customers. _____ 3. A new field on the item table required for a vertical solution developed by an ISV. _____ 4. A new label code specified on a field to better reflect a particular customer's terminology. a. b. c. d. CUS VAR SYS ISV
4. Which of these statements best describes models in Microsoft Dynamics AX? ( ) A view of the metadata within the MorphX IDE. ( ) A logical grouping of elements within a layer. ( ) A visual representation of objects. ( ) A piece of X++ code.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-21
1-22
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
2.
3.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-23
Solutions
Test Your Knowledge
1. Microsoft Dynamics AX 2012 has a three-tier architecture. What are the three tiers and what is the purpose of each tier? MODEL ANSWER: SQL Server Database - houses the data entered into, and used by, the Microsoft Dynamics AX application. It also houses the model store that contains the application elements. (Application elements are explained in the following lesson) Application Object Server - a service that runs most of the business logic. This runs continuously on a central server. Client application - the user interface through which an end-user accesses Microsoft Dynamics AX. There are various clients available including the Microsoft Dynamics AX rich client and Enterprise Portal. 2. What client applications can be used to access Microsoft Dynamics AX 2012? (Select all that apply) () Microsoft Dynamics AX Rich Client ( ) Internet Information Server ( ) Application Object Server () Enterprise Portal 3. Match the following modifications to the layer which they are, or should be, developed in. c 1. The core customer table b 2. A bank file import format developed by a partner that can be used for several of their customers. d 3. A new field on the item table required for a vertical solution developed by an ISV. a 4. A new label code specified on a field to better reflect a particular customer's terminology. a. b. c. d. CUS VAR SYS ISV
4. Which of these statements best describes models in Microsoft Dynamics AX? ( ) A view of the metadata within the MorphX IDE. () A logical grouping of elements within a layer. ( ) A visual representation of objects. ( ) A piece of X++ code.
1-24
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 1: Architecture
5. What is displayed in the Application Object Tree? (Select all that apply) () Tables () Forms () Menus () Visual Studio Projects 6. Which tools can developers use to write Microsoft Dynamics AX business logic? (Select all that apply) ( ) Microsoft Office () Visual Studio () MorphX IDE ( ) SQL Server
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
1-25
1-26
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement