Beruflich Dokumente
Kultur Dokumente
CHAPTER 1: ARCHITECTURE
Objectives
The objectives are:
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.
1-1
Development I in Microsoft Dynamics® AX 2012
• Functional features
o Single database architecture is used for all companies in the
organization.
o Highly integrated design between functional areas such as
resource planning, sales, and manufacturing.
o Dimension-based system for all modules.
o Advanced features such as Forecasting and Master Planning are
available.
o Multi-currency and Multi-language capabilities.
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
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.
In the center of the form is a grid that displays a list of customers. At the top of
the screen is the Action Pane that contains buttons to open other forms and take
actions related to the selected customer. On the right are FactBoxes that show
data related to the selected customer.
To create a new customer, click New > Customer in the Action Pane. A new
form opens where you can enter data for the new customer. Fields with a red
wavy line are mandatory.
1-3
Development I in Microsoft Dynamics® AX 2012
In the grid on the list of customers, click the field header of the Customer
account field. Doing this sorts the data by customer account number order.
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:
• 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
Chapter 1: Architecture
Extended Architecture
Several other components of the Microsoft technology stack are used in a typical
deployment.
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.
1-5
Development I in Microsoft Dynamics® AX 2012
The following image describes a typical system architecture that includes other
components of the Microsoft technology stack.
This database also stores all of the metadata and application code in the Model
Store.
1-6
Chapter 1: Architecture
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.
Developers can access the developer tools through the MorphX IDE in the
Microsoft Dynamics AX client or through Visual Studio Tools in Visual Studio.
1-7
Development I in Microsoft Dynamics® AX 2012
Other Components
Internet Information Server (IIS)
IIS is required to host the Enterprise Portal framework within SharePoint. Role
Centers require the Enterprise Portal regardless of whether they are viewed
through the web browser or the Microsoft Dynamics AX Windows Client.
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:
Object-oriented design and Inheritance are key concepts that form the basis of
the application.
1-8
Chapter 1: Architecture
A white paper titled "Selecting the Best Development Technology for your
Application Development Scenario AX2012" is available for download on
MSDN.
1-9
Development I in Microsoft Dynamics® AX 2012
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:
1-10
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.
• 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.
1-11
Development I in Microsoft Dynamics® AX 2012
NOTE: Extreme care must be taken when updating records in the table browser.
It should be regarded as a development and testing tool. It is always better
practice to update data from the Microsoft Dynamics AX client.
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
Chapter 1: Architecture
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.
1-13
Development I in Microsoft Dynamics® AX 2012
The key benefit of the layer and model structure is that it lets developers change
and extend the functionality in Microsoft Dynamics AX while maintaining
upgradability to new versions.
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 Description
SYS, SYP System layer: The standard application is developed in this
lowest layer. This includes the core application and the
localization for most countries.
GLS, GLP Globalization layer: Includes features developed for some
countries that were not yet moved into the SYS layer.
FPK, FPP Feature Pack layer: Includes industry feature packs that are
controlled by Microsoft.
Layer Description
SLN, SLP Solution layer: Includes Microsoft endorsed industry solutions.
ISV, ISP Independent Software Vendor layer: Includes generic or
vertical solutions developed by ISV's.
VAR, Value Added Reseller layer: Includes multi-customer solutions
VAP developed by VAR's.
1-14
Chapter 1: Architecture
There are two layers available to both partners and customers who have a license
to access the AX source code.
Layer Description
CUS, CUP Customer layer: Includes customer specific functionality.
USR, USP User layer: Includes installation specific functionality and
customizations.
The layers help protect the original source code and keep it separate from
modifications.
Similarly, ISV solution code is separated in a model within the ISV layer. Any
customer specific changes to the ISV solution would be in a higher layer.
1-15
Development I in Microsoft Dynamics® AX 2012
As an example:
• The item number is an extended data type that exists in the SYS
layer. This field is a string which is 20 characters in length.
• If a company that uses Microsoft Dynamics AX requires 30
characters for their item numbers, the field length would be changed
to 30 characters and the change saved in the CUS layer. The item
number data type now exists in both the SYS layer and the CUS
layer. The CUS layer is a higher layer so when the application is
compiled, the 30 character length is used.
• If in a future version, Microsoft extends the length of the item field
to 40 characters, the upgrade tool would highlight that there is a
change in the SYS layer to 40 characters and there is an existing
change in the CUS layer to 30 characters. The developer would then
have the option to keep the CUS layer change or delete the CUS
layer and revert to the new field length in the SYS layer of the new
release.
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:
1-16
Chapter 1: Architecture
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.
1-17
Development I in Microsoft Dynamics® AX 2012
Scenario
Challenge Yourself!
Create a model called Dev1 and a development project called Dev1Training
Step by Step
1-18
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.
1-19
Development I in Microsoft Dynamics® AX 2012
Summary
This course provided a high-level introduction to the Microsoft Dynamics AX
architecture.
This course also discussed the basic security architecture that includes License
codes and configuration keys.
1-20
Chapter 1: Architecture
3. Match the following modifications to the layer which they are, or should be,
developed in.
1-21
Development I in Microsoft Dynamics® AX 2012
5. What is displayed in the Application Object Tree? (Select all that apply)
( ) Tables
( ) Forms
( ) Menus
( ) Visual Studio Projects
1-22
Chapter 1: Architecture
1.
2.
3.
1-23
Development I in Microsoft Dynamics® AX 2012
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.
3. Match the following modifications to the layer which they are, or should be,
developed in.
1-24
Chapter 1: Architecture
5. What is displayed in the Application Object Tree? (Select all that apply)
(√) Tables
(√) Forms
(√) Menus
(√) Visual Studio Projects
1-25
Development I in Microsoft Dynamics® AX 2012
1-26