Thursday, August 25, 2011

Application Object Server (AOS) architecture

The Application Object Server (AOS) provides the infrastructure to execute the business logic of the Microsoft Dynamics AX application. The AOS handles the required connectivity, security, and database connection management. You can install the AOS on a single computer or on multiple computers and group these computers in a load-balanced cluster.

In Microsoft Dynamics AX 2009,you can create a single cluster or multiple clusters of AOS servers.

Microsoft Dynamics AX requires Windows-integrated authentication for all servers in the system, which means that you must be running Active Directory. For security reasons, the AOS must be installed on a Windows server operating system.

A system used for demonstrations, development, or testing can be set up to use more than one AOS instance. For details about developer installations of Microsoft Dynamics AX 2009, see the Installation Guide.
In Microsoft Dynamics AX, the AOS is implemented as a Microsoft Windows

Service to take advantage of the following features:
  • Windows service applications run in the security context of a specific user account that is different from any logged-on user or the default computer account. The AOS service uses a system account for authentication during start up. This account is used by the AOS to access the file server and database server.
  • A Windows service application runs in its own Windows session and takes advantage of the service control manager (SCM, a feature of the Windows Server 2003 operating system or higher) to maintain status information and to provide the user interface for managing the AOS.
  • Windows services can be configured to start at system startup or upon demand, and they continue to run even when no user is logged into the system.
  • Server status can be reported to the Windows event log, allowing administrators to view errors and warnings that can aid in troubleshooting problems.
The following diagram provides a view of the architecture of the AOS.

Wednesday, August 24, 2011

Microsoft Dynamics AX 2009 System architecture

The following post has been copied from -

Microsoft Dynamics AX 2009 - Sytem architecture
Understanding the internal architecture of Microsoft Dynamics AX can help you make decisions when planning, customizing, and deploying a system. This topic provides a high-level overview of the system architecture of Microsoft Dynamics AX.

The diagram below provides a high-level overview of Microsoft Dynamics AX system architecture. This diagram does not depict the system topology or physical infrastructure required for the deployment.

Your infrastructure can consist of many Microsoft Dynamics AX components on a single physical server or on multiple physical servers. For considerations in planning your deployment infrastructure, see Planning system topology.

For details on Microsoft Dynamics AX components, see Component architecture. For up-to-date hardware and software requirements for Microsoft Dynamics AX, see the system requirements Web page.


Tuesday, August 23, 2011

AX 2012 - New Improvements in Data Security

The new version of AX offers many new features to all of us. These go from development improvements to data security, which is the one topic I would like to focus on in this post.

The following are the improvements with regard to data security:
  • Role-based security
  • Server-enforced security
  • Extensible data security framework
  • Flexible authentication

Role-based security
Data security is much easier to manage. In AX 2012, users are assigned to roles based on the duties and responsibilities they have and access is granted based on those roles. This change puts an end to the tedious and time-consuming process of assigning users based on application objects. Once set up, role assignments can easily be updated based on the business data.

Server-enforced security
Authorization is performed on the server rather the client, consistently enforcing permissions on protected fields regardless of the type of client. The server sends the client only the information that the user has been granted access to, resulting in increased data security.

AX 2009 did not offer the facility to use data security based on effective date. However, in AX 2012 administrators can specify whether users have access to past, present, or future records with different levels of access, which creates much for flexibility to all the different iteration in the use of data throughout the life of the application.

Further, the new version can also be used to create data security policies based on data contained in a different table.

For example, in previous versions you could not filter sales lines by customer location because those were stored in different tables, but the new version makes that totally possible.

Data security policies are enforced at the server regardless of the type of client used to access the data.

Flexible authentication
Authentication of users by methods other than Active Directory allowing external users to access Dynamics AX without a required domain account.

Wednesday, August 17, 2011

Setup Electronic Format Payment (EFT) in AX 2009

A few days ago I created a new post on how to create a new Electroni Payment Format (EFT) in X++. The post can be seen here:

In this post I will show how to setup the EFT based on the class I created before in AX 2009.

1 - Open Accounts Payable | Setup | Payment | Methods of Payments and create a new record as follows:

NOTE: I will be using a Payment Method called EFT Mexico for this example, but you can name this anything in the Interface method in the class you will create to customize an Electronic Payment.

In the link above look at the class named KUMVendOutPaym_SA and look for a method named PaymInterfaceName. You will see the following code:

public PaymInterfaceName interfaceName()
    return 'EFT Mexico';

Tuesday, August 16, 2011

Ax 2009 SSRS Videos

While looking for some information related to AX 2009 SSRS I found a bunch of videos related to SSRS and AX 2009.

Here is the link:

Friday, August 12, 2011

LIKE Operator in X++

In Axapta, we can use the LIKE operator in an inline SQL statement, see the following:

select * from VendTable where VendTable.Name like 'P*'

Another example is to use the LIKE operator to compare strings!

static void MyTestForLike(Args _args)

    str test;


    if(test like "Eduar*")
       info('Hello Ed!');


Monday, August 1, 2011

Create Electronic Payment Format - AX 2009

Electronic payments are being used heavily today. It is importnat to understand how these work and how to implement them as they save lots of time and even more paperwork. In addition, AX 2009 provides some out-of-the-box payment templates, but they are not very felxible and very often we need to create our own.

Now the good thing about creating our own is that we can inherit from two base classes. (1) VendOutPaym and (2) VendOutPaymRecord.

VendOutPaym is ussually used to create the header and closing records of a payment file. On the other hand, VendOutPaymRecord is used to create the the lines records of the payment file. So, if we have a payment journal (AP > Journals > Payments> Payment Journal) with 10 lines, we should see only one header line, (in my case) only one Bank line (after header), 10 line records (Payment journal lines) and one closing line with totals, got the idea?

So, we would have to create two classes. One to write the header and closing records and one to write the journal lines, ok?

Here is the first class to write header and closing records. Because in my file the empey spaces needed to be filled with only 0's, I created a method that's called getProcessedStr that takes a string and an integer. The string is the actual value that will be written into the file but needs extra 0's. The int is the total lenght of this record in the text file.