Hi there!
My fellow Sunriser, Brandon George, has written an amazing article about running reports without hitting the Production Database.
Form the article:
"Since the default .Net Business Connector configuration for SSRS is pointing back to the same AX instance, when the SSRS instance is executing the reporting and firing the Data Extensions to get to the correct Query object and therefore data, then in this standard approach, we are hitting the production database for your instance of AX..."
"The critical keys that enable this concept are, (1) having the production instance of your AOS and Reporting Server setup, pointing to your SSRS server role within AX. (2) Changing what AOS the SSRS server hits for processing data, by deploying a custom configuration file. (3) Log Shipping is enabled at on the AX Production database, so that the AX Reporting Database is kept up to date with live data."
"...That is code promotion, or change management. Why does this matter? Well simply put, it's because the model store that represents the application now lives as a part of the production database. This then gets replicated when any changes take place."
Brandon George is a Senior Technical Architect at Sunrise Technologies and I personally believe he is one of the few people in the world that has truly master AX. I strongly suggest to follow his blog as it contains valuable, innovative, and critical information about AX.
You can access his blog (and the article) from here.
Take care!
Showing posts with label Bussiness Connector. Show all posts
Showing posts with label Bussiness Connector. Show all posts
Thursday, January 5, 2012
Wednesday, January 4, 2012
Helpful AX 2012 links
New Stuff for Developers
What's New in Microsoft Dynamics AX 2012 for Developers [AX 2012]
http://msdn.microsoft.com/en-us/library/gg845327.aspx
Architecture
AOS architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd309593.aspx
Model store architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd362019.aspx
Help server [AX 2012]
http://technet.microsoft.com/en-us/library/gg866975.aspx
.NET Business Connector architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd309664.aspx
Enterprise Portal architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd362005.aspx
.NET Business Connector
.NET Business Connector Overview [AX 2012]
http://msdn.microsoft.com/en-us/library/aa659581.aspx
Development
Microsoft Dynamics AX IDE [AX 2012]
http://msdn.microsoft.com/en-us/library/aa676506.aspx
Visual Studio Development for Microsoft Dynamics AX [AX 2012]
http://msdn.microsoft.com/en-us/library/gg889157.aspx
Visual Studio Integration [AX 2012]
http://msdn.microsoft.com/en-us/library/gg889299.aspx
Business Intelligence
Business intelligence components [AX 2012]
http://technet.microsoft.com/en-us/library/gg731794.aspx
Installation & Configuration
Firewall settings for Microsoft Dynamics AX components [AX 2012]
http://technet.microsoft.com/en-us/library/gg731780.aspx
http://technet.microsoft.com/en-us/library/dd362104.aspx
Microsoft Dynamics AX 2012 Implementation Planning Guide [AX 2012]
http://www.microsoft.com/download/en/details.aspx?id=4007
Moving between Microsoft Dynamics AX 2012 Environments [AX 2012]
http://blogs.msdn.com/b/axsupport/archive/2011/11/07/moving-between-microsoft-dynamics-ax-2012-environments.aspx
AX 2012 WHITE PAPERS
http://www.microsoft.com/download/en/details.aspx?id=20864
Utilities
AxUpdatePortal Utility [AX 2012]
http://msdn.microsoft.com/en-us/library/dd261467.aspx
http://blogs.msdn.com/b/solutions/archive/2009/02/04/axupdateportal-utility.aspx
What's New in Microsoft Dynamics AX 2012 for Developers [AX 2012]
http://msdn.microsoft.com/en-us/library/gg845327.aspx
Architecture
AOS architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd309593.aspx
Model store architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd362019.aspx
Help server [AX 2012]
http://technet.microsoft.com/en-us/library/gg866975.aspx
.NET Business Connector architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd309664.aspx
Enterprise Portal architecture [AX 2012]
http://technet.microsoft.com/en-us/library/dd362005.aspx
.NET Business Connector
.NET Business Connector Overview [AX 2012]
http://msdn.microsoft.com/en-us/library/aa659581.aspx
Development
Microsoft Dynamics AX IDE [AX 2012]
http://msdn.microsoft.com/en-us/library/aa676506.aspx
Visual Studio Development for Microsoft Dynamics AX [AX 2012]
http://msdn.microsoft.com/en-us/library/gg889157.aspx
Visual Studio Integration [AX 2012]
http://msdn.microsoft.com/en-us/library/gg889299.aspx
Business Intelligence
Business intelligence components [AX 2012]
http://technet.microsoft.com/en-us/library/gg731794.aspx
Installation & Configuration
Firewall settings for Microsoft Dynamics AX components [AX 2012]
http://technet.microsoft.com/en-us/library/gg731780.aspx
Verify that you have the required permissions for installation [AX 2012]
Developing Extensible Data Security Policies [AX 2012]
Create service accounts [AX 2012]
Planning hardware infrastructure [AX 2012]http://technet.microsoft.com/en-us/library/dd362104.aspx
Microsoft Dynamics AX 2012 Implementation Planning Guide [AX 2012]
http://www.microsoft.com/download/en/details.aspx?id=4007
Moving between Microsoft Dynamics AX 2012 Environments [AX 2012]
http://blogs.msdn.com/b/axsupport/archive/2011/11/07/moving-between-microsoft-dynamics-ax-2012-environments.aspx
AX 2012 WHITE PAPERS
http://www.microsoft.com/download/en/details.aspx?id=20864
Utilities
AxUpdatePortal Utility [AX 2012]
http://msdn.microsoft.com/en-us/library/dd261467.aspx
http://blogs.msdn.com/b/solutions/archive/2009/02/04/axupdateportal-utility.aspx
Friday, December 9, 2011
Intelligent Data Management Framework (IDMF)
Hi there,
Take care!
There has been a lot of talk about the Intelligent Data Management Framework (IDMF) in AX 2012, and for a good reason! This is because the Intelligent Data Management Framework allows the system administrators optimize the performance of Microsoft Dynamics AX installations, which is something that we all should be concerned about when implementing AX 2012.
Why? Well, first of all, the system requirements for AX 2012 are going to be much more than the ones for AX 2009.
This has been proved by a recent installation in Bank of America where they thought the hardware required was much more of what is needed for AX 2009. For this reason, the IDMF assesses the health of the Microsoft Dynamics AX application, analyzes current usage patterns, and helps reduce database size. In addition, the IDMF lets you analyze the database and maintain an optimal database size by providing the purge and archive functions.
A Microsoft articles says “the purge function removes or deletes data from a set of related entities, or tables, from the production database. The archive function moves data from all related tables from the production database to a standby database called the archive database. Users can use the archive database for reporting purposes but cannot update it”
Further, both the purge and archive operations depend on a hierarchical relationship tree of related tables based on the Microsoft Dynamics AX metadata, and to create a hierarchical relationship, you select a parent table and discover all related tables based on the AX metadata.
Moreover, the parent table in the relationship is put at the root level of the tree and the discovery process creates a nested relationship tree from a parent entity to a child entity. This is done until there are no relationships left at the lowest level.
Also, a purge object is used to remove selected records from all tables in the relationship tree from the AX database. Similarly, an archive object is used to move selected records from all tables in the relationship tree from the AX database to the archive database.
After creating a purge object or an archive object, you can apply business rules and selection criteria to entities and transactions to determine which records are deleted or moved from the production database.
System architecture
The IDMF was created using the Microsoft .NET development environment and provides a single document interface (SDI). In addition, the IDMF uses a database, called the management database, for the storage and retrieval of data, and communicates with Application Object Server (AOS) through COM Business Connector or .NET Business Connector.
Now, just be aware that during installation, the IDMF installs a Windows service called the Intelligent Data Management Framework for Microsoft Dynamics AX service. This service is used to run scheduled jobs and is referred to as the scheduler service for the Data Management Framework.
The following diagram provides a high-level overview of the Data Management Framework system architecture.
Deployment scenarios
Single-server deployment
Multi-server deployment
Distributed deployment
Take care!
Monday, October 31, 2011
Plan a Succesful AX 2009 System Topology
Hi,
Today I would like to talk about a topic that, when followed with professionalism, can differentiate a good consultant from a bad one.
If you think about it, Microsoft Dynamics AX has become the way to help companies become more efficient, and to also help them save money. However, is also true that AX (in general) has become a big boom where some (low quality) partners and developers are not following up certain guidelines to make an implementation a successful one.
The result ... Customer dissatisfaction and a bad taste for AX.
In this article I would like to discuss the basics to plan a good system topology. In other words, what do we need to have in mind when faced with this task. What kind of question should we be asking the customer.
For example, A large business with multiple locations might experience different challenges compared to a smaller business with one location and only a few users.
So, a good tip would be to start the implementation process by (1) creating an inventory of the customer's current hardware and software, and (2) determining the deployment scenario that best meets the business’ current needs and future growth.
So, before the actual installation occurs, we must collect information about the customer's requirements to help prepare the correct topology.
1- Define and document these items with the customer:
Topologies
If the customer's requirements are focused on not allowing users outside the domain, then use the following topologies:
Minimal Base Topology
Clustered Base Topology (You can install the application file server on a AOS server as you will have more than one AOS server)
Enterprise Portal Topology
There are two (1) Intranet (Simple and Large-Scale), and (2) Internet-Facing
Intranet
Intranet Large-Scale
Internet-Facing Enterprise Portal
Today I would like to talk about a topic that, when followed with professionalism, can differentiate a good consultant from a bad one.
If you think about it, Microsoft Dynamics AX has become the way to help companies become more efficient, and to also help them save money. However, is also true that AX (in general) has become a big boom where some (low quality) partners and developers are not following up certain guidelines to make an implementation a successful one.
The result ... Customer dissatisfaction and a bad taste for AX.
In this article I would like to discuss the basics to plan a good system topology. In other words, what do we need to have in mind when faced with this task. What kind of question should we be asking the customer.
For example, A large business with multiple locations might experience different challenges compared to a smaller business with one location and only a few users.
So, a good tip would be to start the implementation process by (1) creating an inventory of the customer's current hardware and software, and (2) determining the deployment scenario that best meets the business’ current needs and future growth.
So, before the actual installation occurs, we must collect information about the customer's requirements to help prepare the correct topology.
1- Define and document these items with the customer:
- Number of transactions
- Number of users
- Uses of system (modules and features to be implemented)
- External user access required
- Web access required
- Required availability
- Projected growth rate
- Number of sites
2- Evaluate and document the existing infrastructure:
- Existing hardware
- Bandwidth
- Operating system
- Databases present
- Applications to integrate
3- After collecting this information, determine how to structure the system. Key decisions are as follows:
- If there are any computer roles that can be combined on a single computer? If computer roles can be combined, consider which ones to combine.
- Determine whether there are any network load-balanced clusters to host the AOS.
- Select a backup system for the Microsoft Dynamics AX environment.
Topologies
If the customer's requirements are focused on not allowing users outside the domain, then use the following topologies:
Minimal Base Topology
Clustered Base Topology (You can install the application file server on a AOS server as you will have more than one AOS server)
Enterprise Portal Topology
There are two (1) Intranet (Simple and Large-Scale), and (2) Internet-Facing
Intranet
Intranet Large-Scale
Internet-Facing Enterprise Portal
Standard Perimeter Network
With a standard perimeter network the Active Directory domain contains:
- All internal users to be added to Microsoft Dynamics AX 2009.
- Special users required for Microsoft Dynamics AX functionality.
- An organizational unit that contains any users from outside the organization that require Enterprise Portal access. These users’ rights must be restricted in that the users cannot:
Log on locally
Access network
Traditional Perimeter Network
Basically, the traditional perimeter network contains two Active Directory domains: the internal domain and the external domain. The internal domain contains:
- All internal users to be added to Microsoft Dynamics AX 2009.
- Special users required for Microsoft Dynamics AX functionality.
- Group required for application integration server functionality.
[From Microsoft Training Material]
The perimeter network contains a second domain controller with a one-way trust relationship to the first domain controller. The second domain controller contains any users from outside the organization that require Enterprise Portal access.
These users cannot have any rights in the internal domain, and their rights must be restricted in the perimeter network domain so that the users cannot:
- Log on locally
- Access network
Report Server Topology (This is installed on IIS and is not Internet-Facing)
Application Integration Server Topology (This is also installed in IIS and is not Internet-Facing)
Let's be consistent in the work that we do. Let's provide a great customer satisfaction so Microsoft Dynamics AX can keep growing and helping businesses succeed. By following the above suggestions, we can make a huge difference in how new businesses experience AX implementations.
Take care!
Thursday, October 6, 2011
Channel 9 - AX 2009 AIF Web Services
The following link will take you to a Channel 9 screen cast where you can learn about the new features of the AX 2009 AIF Web Services.
The following are some of the enhancements to Application Integration Framework (AIF) in AX 2009 AIF Web Services.
1. Create, read, update, and delete operations are now supported.
2. The programming model for AIF supports document services that encapsulate business logic and are the interface between AX 2009 and external systems.
3. AIF provides functionality for consuming external Web services from within X++.
4. New document services for additional commonly-used documents.
http://channel9.msdn.com/Blogs/SanjayJain/Microsoft-Dynamics-AX-2009-AIF-Web-Services-Screencast
Monday, June 13, 2011
Create Axapta Payment Journal
The following code creates a payment journal in AX.
There are some methods calls in the previous code. These are the following:
NOTE: I'm using accessory methods for most of the variables in this code (this is a class), so remember to declare them in the classDeclaration and create your own properties.
public void PaymentJournalLineCreation()
{
boolean ret;
CustTable custTable;
LedgerJournalName LedgerJournalName;
LedgerJournalTable ledgerJournalTable;
LedgerJournalTrans ledgerJournalTrans;
LedgerJournalCheckPost ledgerJournalCheckPost;
NumberSeq numberseq;
;
//Get customer account
this.getCustomerAccount();
//Get currency
this.setCurrency();
//Set JournalNameId
this.setJournalNameId(LedgerJournalACType::Bank);
//Get table buffer
custTable = CustTable::find(customerAccount, false);
// Find a ledgerJournalName record
select firstonly LedgerJournalName
where LedgerJournalName.JournalName == journalNameId;
//Get next available voucher number
numberseq = NumberSeq::newGetVoucherFromCode(LedgerJournalName.VoucherSeries);
ledgerJournalTrans.Voucher = numberseq.voucher();
//Generate the transaction line
ledgerJournalTrans.JournalNum = ledgerJournalId;
ledgerJournalTrans.CurrencyCode = currencyCode;
ledgerJournalTrans.ExchRate = Currency::exchRate(ledgerJournalTrans.CurrencyCode);
ledgerJournalTrans.AccountNum = customerAccount;
ledgerJournalTrans.accountName();
ledgerJournalTrans.AccountType = LedgerJournalACType::Cust;
ledgerJournalTrans.Dimension[1] = custTable.Dimension[1];
LedgerJournalTrans.KUMTeamDescription();
ledgerJournalTrans.Dimension[2] = custTable.Dimension[2];
ledgerJournalTrans.KUMDetailDescription();
ledgerJournalTrans.Dimension[3] = custTable.Dimension[3];
ledgerJournalTrans.KUMEventDescription();
ledgerJournalTrans.AmountCurCredit = paymentAmount;
ledgerJournalTrans.TransDate = PaymentDate;
ledgerJournalTrans.Txt = '@COL1576'; //Payment, Thank you
ledgerJournalTrans.PaymMode = custTable.PaymMode;
ledgerJournalTrans.PostingProfile = 'DFLT';
ledgerJournalTrans.BankTransType = 'Chck-rcpt';
ledgerJournalTrans.Payment = custTable.PaymTermId;
ledgerJournalTrans.CustVendBankAccountId = this.GetCustomerBankAccountID(customerAccount);
ledgerJournalTrans.SettleVoucher = SettlementType::OpenTransact;
ledgerJournalTrans.TransactionType = LedgerTransType::Payment;
ledgerJournalTrans.Approved = NoYes::Yes;
ledgerJournalTrans.ApprovedBy = curUserId();
ledgerJournalTrans.Due = systemdateget();
ledgerJournalTrans.TaxGroup = 'DFLT';
ledgerJournalTrans.OffsetAccount = bankAccount;
ledgerJournalTrans.OffsetAccountType = LedgerJournalACType::Bank;
ledgerJournalTrans.offsetAccountName();
ledgerJournalTrans.PaymentStatus = CustVendPaymStatus::None;
ledgerJournalTrans.insert();
}
//Find customer account based on Customer Reference Number
public CustAccount getCustomerAccount()
{
CustAccount custAccount;
CustBankAccount custBankAccount;
int countRecords = 0;
;
switch (JournalFormatType)
{
case KMN_CustPaymentJournalFormatType::Mexico:
select * from custBankAccount where custBankAccount.MsgToBank == customerReference;
custAccount = custBankAccount.CustAccount;
this.parmCustAccount(custAccount);
break;
}
return custAccount;
}
//Sets the currency value to the property
public void setCurrency()
{
;
//Set property
this.parmCurrencyCode(CompanyInfo::standardCurrency());
}
public void setJournalNameId(LedgerJournalACType _journalType)
{
LedgerJournalNameId _journalNameId;
;
switch(_journalType)
{
case LedgerJournalACType::Bank:
_journalNameId = 'CR';
break;
}
this.parmLedgerJournalNameId(_journalNameId);
}
NOTE: I'm using accessory methods for most of the variables in this code (this is a class), so remember to declare them in the classDeclaration and create your own properties.
Tuesday, June 7, 2011
Create a Proxy Business Connector Account in active directory - AX 2009
Create the proxy account in Active Directory as follows:
1. Create a unique user in Active Directory in the form domain\username, for example, domain\bcproxy. This user must not have the same name as an existing Microsoft Dynamics AX user. For the procedure to add a new user, see the Active Directory documentation.
2. Assign a password to the user.
3. Select the Password does not expire option.
4. Select the No interactive logon rights option.
5. Close Active Directory
1. Create a unique user in Active Directory in the form domain\username, for example, domain\bcproxy. This user must not have the same name as an existing Microsoft Dynamics AX user. For the procedure to add a new user, see the Active Directory documentation.
2. Assign a password to the user.
3. Select the Password does not expire option.
4. Select the No interactive logon rights option.
5. Close Active Directory
Subscribe to:
Posts (Atom)