Tuesday, March 17, 2015

AX 2012 Architecture

System Architecture



Three-Tier Architecture:-

Microsoft Dynamics AX has a 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 lets users 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 that is 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 is a service that runs most of the business logic. This runs continuously on a central server.
  • The Client application is 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. 

SQL Server Databases:-

Microsoft Dynamics AX Database
The Microsoft Dynamics AX database is an Online Transactional Processing (OLTP) database that stores all the business data in SQL tables. This database also stores all of the metadata and application code in the Model Store.
Business Intelligence (BI) Databases
Some BI components of Microsoft Dynamics AX also require you to use SSRS and SSAS. The SSAS database is replicated from the OLTP database in a database format that is optimized for fast reporting and analysis.

ApplicationObjectServer:-

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.

Security architecture


Role-based security:-
  • In earlier versions of Microsoft Dynamics AX, the IT administrator wasted a lot of time and effort in managing the application security by creating user groups.
  • Microsoft Dynamics AX 2012 now offers managing security within the application by using some predefined roles and providing role based access based on these roles.
  • It also provides predefined business-related duties that are assigned with roles and matched with the users assigned to a specific role
Roles:-
  • All of the users must be assigned at least one security role to have access to Microsoft Dynamics AX. By managing the user’s access through security roles, it saves up a lot of time as the administrators only have to manage the security roles rather than each individual user.
Duties:-
  • The administrator in Dynamics AX assigns duties to the role and the administrator can assign many different duties to any role.
Privilege:-
  • A privilege in Microsoft Dynamics AX specifies the access level that is required to complete an assignment, solve a problem or perform a job.
Permissions:-
  • Permissions group all the securable objects and the different access levels that a user requires to run a function. This includes any forms, server side methods, fields or tables that can be accessed through security points.
Benefit of Having Role-based security:-
The new concept of role based security in AX 2012 has made it easier to manage security. Roles can be applied across all the companies and so the administrator does not have to maintain separate user groups for each and every company in the organization.
Data Partitioning Architecture

Microsoft Dynamics AX 2012 R2 enables data isolation by using data partitions. For example, an organization has several subsidiaries. If the management of the organization does not want employees of one subsidiary to have access to the data for other subsidiaries, data partitions can provide the boundaries that are required for data isolation.
Data partitions provide a logical separation of data in the Microsoft Dynamics AX database. To achieve this separation, Microsoft Dynamics AX adds a column to each table that contains data that must be isolated. This column contains a partition ID, which is the RecId of an entry in the Partitions table. In a partitioned table, rows that contain the same partition ID value belong to the same partition. The partition ID is also added to relevant indexes.
Partitions are defined in the Partitions form, where the system administrator creates the partition and provides a partition key. A partition key identifies a partition by using a unique string value that the system administrator specifies. Microsoft Dynamics AX displays the partition key in the title bar of the client application. Partitions can also be defined during installation and upgrade.

Model Store Architecture




The model store is the database where all application elements for Microsoft Dynamics AX are stored. Customizations are also stored in the model store. The model store replaces the Application Object Data (AOD) files that were used in earlier versions of Microsoft Dynamics AX.
In Microsoft Dynamics AX 2012 R2, the model store was moved into a database that is separate from the business database. The name of the model store consists of the name of the business database plus _model.