Total Pageviews

Search This Blog

Sunday, January 30, 2011

Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.)


This is an abstract of the recently concluded Dynamics AX Technical Conference which was held in Redmond.

I didn't get enough time to watch closely this event as my project was keeping me very busy. But, a special mention and huge thanks to my AX mates, Brandon (#dynamicserp) and Harish (#HarishM) for capturing the event live on their tweets!

I summarized the below content in logical buckets (groupings) based on their tweets. Watch out for the full pdf document which may hit PartnerSource or MSDN Developer Center very soon. Once it's available i will copy the link over here. Till then, the below bullet points can give you a rough idea as to what to expect from the next major release for AX.


All we know right now is that GA for public is Q3 of this year for AX 2012. RTM is typically before that

More than 1200 more features 140 percent test cases 185 customers and partner fedback 30 nationalities on the team

Public sector a big focus as it has already been said a few times during this introduction


Today is a 1980s ERP arch. All over the place. Not very dynamic for todays dynamic business needs

Model driven seamless AX dev in VS. Enriched data abstractions, dramatic improvements with .net interop

A strong statement that the model driven dev starts in VS rather than AX

Metadata native access with AOT with the VS application explorer

Official that models live in the database and multiple models within a given layer

Full web services integration shown with zones and integration with external site. SOA.

Modeling the world is the theme here. From database, to development, BPM and org setup. All about models

GAB used throughout AX2012. Reduction of duplicate data, and secure access and use to this data

AX2012 arch design tenets. In simple words, powerful yet simple. Key word: models.

Clear statement from arch session. Investments are made and will continue for MorphX and Xpp

managed code dev is now possible, eventing etc. However Xpp has it place and will continue to do so

Hierarchy browser for tables (now you can extend tables)

Table inheritance will simplify complex data models


Modeling the world, with AX 2012. Workflows should be used for all Biz Process modeling.

When you think of modeling BP, you think of DSL or domain specific language. This is true for AX 2012.

The DSL for AX 2012 can be shaped by vertical to solve a given business domain issues.

Taking and creating elements for specific verticals, that BAs can use within the AX 2012 WF designer. Vertical specific DSL.

This can then allow for the configuration or setup of a process, to match more natively the process that exists for a biz.

The vision for the shift to model is a great one. It's enforced at some places and others it's an option

Getting the dynamics ecosystem as a whole to embrace the modeling the world concept is going to need a lot of help

Understand the bubbling up tasks that the modeling is meant to achieve, the skill level to achieve it is huge.

If your a partner, you should be looking at this now, and shape your current projects and future ones to max the uses of WF

The whole concept behind WF models is about trying to address business domain issues with domain specific language.

And achieving this, through the use of WF framework, .net and AX 2012

Ax model file is the new deployment artifact. This changes promotion process

During this move, the object Id issue has been resolved with these changes

Installation specific ids is a new way for handling properly and with correct context object ids

Fall out, an element can only exists still once in a layer. Two models can't contain same object in one layer.

Model elements in a given layer, make up a model in a given layer. There can be multiple models in one layer.

PowerShell support being highlighted for use in advanced or complex uses for managing models within layers

Tools > modeling management > create model. This is where you can create a new model in a layer

One could see how models could be used to segment even customer code within the CUS layer

Models within layers do manage elements of a layer, and also manage the deployment of objects.

The change for promotion process during s project would be copy prod db to test, then deploy model from dev to test.

No longer take and move the db, as it is not just trans data. Now contains model store. Keep in mind for moves.

/verbose mode is very useful for AXutil commands

A lot of options for the AXutil app and for the complex needs of code promotion and object management, a lot of flexibility exists.

.axmodel is the ext used for the AX 2012 model files


Full intellisense for all AX objects within VS2010. This is huge vs. Todays work with AX and .net.

Point to Xpp developers: if you don't know C# it's time you invest in doing so

Showing off putting an event handler on AX code that allows you don't have to change Xpp but work off of the events

VS projects can now live in the AOT model store. Helps with deployments and management

Great possibilities with what can be done with the new option of .net and Xpp. Very powerful stuff! Will impact devs for sure

Question asked if use of new proxies with Xpp and .net has overhead and perf issues? Answer was just no. Details would be nice.


Security roles form, is central place for management of role, record and external security

Managing security in AX 2012 is totally different than in previous AX versions. Some concepts remain, but a lot new.

The points being addressed for AX 2012 is the make security administration rescues is a big way in complexity

Role based approach is a pyramid: roles, duties, privileges, permissions. Stated from top to bottom.

Duties also map out in a functional way to the "process cycles" that a person or job function perform

Process cycle and duties is where segregation if duties are enabled and managed within AX 2012

Three types of users in AX 2012. Claims user, active directory user and group. AD not required for user access anymore

Claims based authentication, based on share point 14 and it's ability to support this security context model

The idea is not having to have vendors or customers as AD users, but instead a claims based context user

Share point uses secure open service, to take the claims based user Id, and share point keeps the context for the user for user UX

This is key for federated access and trust. Ie, cloud enablement for secure access to AX and cloud objects

Federated support for security is huge, because this means not just azure with live Id, but also google accounts or others.

This also helps with mobile access to secure access to data and business logic within AX, managed the same way

MSDYNAX 2012 wil leverage SharePoint Claims based security for non-AD users. Welcome ADFS, Live-ID, SAML tokens

Ax2012 security rocks! Improvements are impressive: role based security, external users and automatic role assignment!


Install of ax 2012 is easier than ever

Fewer steps and also scom pack highkighted for ax 2012

Scom pack will be huge for those that invest in systems center

Install, configure and operate areas of focus for this session and release

Install checklist not needed to run multiple times. Done once and then done! Decouples install and initialize

Scom pack has bp configuration check. Scom pack getting a lot of praise.

In ax 2012 biztalk adapter is gone. Now common adapter for ax to biztalk is wcf adapter

Ep and reporting separation in ax 09 development in VS is now one vs tools. Good move

Service packs and updates can be dropped in install share and thse update installed with single pass

Some very nice changes to actually help make setup and install easier. However there are new roles as well

Models folder is key to enable custom installs and that it's installed as part of new install

Models, labels and updates folder make installs dynamic and simple.

Always publish and sign models as part of axmodel file creation

Management pack contains key concepts of discovery, monitor and task.

Current scom pack for 09 is limited to aos. AX 2012 has really expanded in scope, monitors and ability

Scom is key for enabling ax admin for a company. Big investment that companies should consider


Arch for performance: always start with the database. It's the lowest level. Then aos, batch, connection between them

Rpc not only protocol anymore for web based or share point communication with aos. Now with services, WCF

This means you don't have to go through the BC.Net and that removes a layer and therefore helps perf

Showing off VS TFS for performing this benchmark with AX 2012. Great to see this ability.

A lot of benchmark ability in AX 2012.

AX 2012 benchmarking is with the VS team system

AOS for the first time has large box awareness and can scale up! No longer just a scale out

True parallel and asynchronous processing with AX 2012

Table inheritance means taking one table and making it 8. This is part of the perf of AX 2012.

Hexcore and beyond support for cores In AX 2012.

Sys operations framework is the key that enabled more parallel processing. As dev you can make use of this as well

Data caching has been 100% reengineered.

Included columns as part of indexes as well as full text index. Along with true temp table usage!

Join caching, date effective caching, sysglobslconfiguration class... All great improvements in AX 2012.

Sysglobalobjectcache... And Xpp object we all need to learn about!

Unique index caching for joins. This means for unique records, cached and therefore cuts down on io round trips

Caching support for super type and subtype for across the board, and with even a legacy table.

Batch framework highlighted as how threaded processing works and will continue to work with improvements!

DMVs highlighted and shown with the IDMF for AX 2012! This continues as powerful tools for AX 2012 perf

WCF services highlighted once again as a great improvement in AX 2012 as a great perf improvement

AppFabric (velocity) mentioned during the session as session state store for services and EP.

Event trace parser for Microsoft Dynamics AX 2012 lives right out of the client, easy to get going and work with!

Making trace for AX 2012 easy to run and report on, is a key factor is having more people use it as a tool for perf.

OS can scale and tested on 32 cores! Again first time the scale up really for AOS

Performance gain for using CIL execution is around garbage collection. Test took 90k lines from 24h to 2h.

This case for performance, means that perf gains that are major gains will happen at the CIL. Deterministic GC


Now switching to MorphX IDE. Showing off still the importance of Xpp as the core language for AX

Showing off multiple ISV solutions within the same layer. Based on model files that live in the db

Showed off fact that can add table in AOT and it showed up in VS2010

** EP

Single click process for taking a rich client form to make it a web protal page! Very powerful

Portal, rich client and office are truly a blurred UX and it looks the same across these products


In AX2012, workflow is integrated in the AOS. No more messy installs

Great workflow development wizard in makes it much easier to develop new workflows

Tracking details show workflow events and show in the branched out way they took place

Common workflow UI controls. This is the top area of form within AX 2012 when workflows are enabled

Vision: every process should be modeled with a workflow

If your a customer, VAR or ISV this changes how you design an instance of AX and any vertical add on or what is custom

Should be as much as possible designed with workflows

Trying to limit the need of a developer for changing workflows. Developers still needed though

Workflow runtime integrated into AOS, which helps with lowered TCO and manageability of workflows.

New workflow development wizards to help kick off and create new workflows

Modeling the business process, documents actual workflow of process that at the same time "configures" the solution

Enjoying the wizards now provided with AX2012 to create and link AOT elements for workflow. Separate wizards for components.

Partners need to understand WF and it's impacts on AX so the correct story can be presented to customers for correct use.

So for WF, companies when they upgrade will want to consider removing code approaches to replace with WF. Again big change

So WF in AX 2012, among other things means we have a lot to cover in the Dynamics Community!

Key focus is model "real life" business process in AX with new workflow

Finally they are showing off the workflow editor. This is the same as in VS2010

Showing multiple branching workflow that works out of the box

Showing off purchasing policy. Shows great flexibility but if not designed properly could become nightmare for customer


Again, shows that PowerShell is a key part now for management of AX. Very powerful tool and one we all need to understand.

Using PowerShell, once could take and dynamically deploy the latest touched reports, based on modified date

Huge focus on PowerShell for report deployment, configuration and management among multiple instances

I've been talking to people about PowerShell for a while now. Well it's a major part of AX 2012

Three ways to deploy, client, VS2010 or ax management shell, which is PowerShell with other things loaded

Standard tooling is based on PowerShell and PS cmdlets

Standard box, 10 mins to deploy 800 reports in AX 2012


When upgrading from AX 2009 to 2012 for AIF service contracts have changed. There is some manual and reconfigure

Big schema change, and will be some rework based on this.

All excel import and exports for office addin happen through AIF.

Perf increase of 37 percent benchmarked for new AIF improvements

The AIF is fully built on services which will run on the AOS. All integration through WCF services. Standardizes integrations!

the improved AIF framework will hopefully open up AX for mobile platforms more than the previous clunky version.

Transformations truly enable any file format support based on the stream in and out for AIF.

I'm impressed with the level of efforts that have went into making AIF an easier story for setup and management

SQL server is actually being used to enable change tracking at the table level

Going through several demos, a lot of work to make AIF configuration a lot easier. Very good to see.

Claims based auth. Support again highlighted. AIF

No more 10 mb file limit! AIF

Integration ports are tied to service groups. Sharing of common WSDL helps with complex int needs

New system services: query service, metadata service and user session service. AIF

These new system services expose AX in a new one. Openning up a brand new world!

Another highlighted aspect is support for non-XML formats.

80 percent reduction in top level AIF concepts! Less complexity!

90+ out of the box document services that come with AX 2012.

Bulk import support! Opens door for using this in massive data loads!


Preprocessing data upgrade before the ACTUAL upgrade to minimize down time

AX2012 will be shipped with a new and enhanced upgrade model


SSRS reports node is the new location of report elements. No longer held in the reportlibs node of the AOT


AX data changes while using Excel to edit, optimistic concurrency is used. Data cannot be published. No merging logic in place.

Allowing the users to create data in Excel and publish it when complete will be a big talking point in getting data into AX.

Two types of AX exports to Excel: static (like in a 2009) and refreshable export (active connection to AX). Excel junkies rejoice

DAX ribbon in Excel, publish data. Go back in AX and it's all there and secured.

Security roles mean can take the budget template in excel and the person gets their data vs. The data used to create temp.

Excel budte demo enabled through services to AX. SOA once again.

So word, excel and SSRS to create mashups for information workers is very powerful


EP for AX is making use of share point 14 claims based security context. Look that up. It's the core enablement for this!

I really like the design mode in Word for reporting data from AX. The simple dragging and dropping of the fields is very intuitive


AX 2012 client will not work on XP. XP is not supported with this release

AX 2012 security will be MUCH easier to test since rec security policies are set in AOT and now no need to refresh client code base


There is an attach process that you start from the VS side. Attach to client or server, set break point. Remote debugging for AOS.

Does not recommend cross debugging at all

Two options, either AOS, client and VS on dev box for attaching with VS. Or remote debugging

AOS in process hosting of WCF services. Good move for manageability and lower TCO across many areas with this.

Net.TCP is default adapter used when services hosted within AOS.


Assembly hot swapping must be enabled in the configuration, for full debugging.

Assembly hot swapping helps fix issue of session locking on assemblies

App domains are enabled with the hot swapping. Once session is destroyed, new dll applied for new sessions

Hot swapping will be a big need for companies that don't have an AOS per developer. A lot of companies don't

Hot swapping assemblies does come at a foot print and context price

Hot swapping helps with addressing assembly change, and not making a call to restart the AOS

Xpp still becomes Pcode, then is translated into XML with Pcode in tact. That is sent to the IL to generated the managed code.

Reflector from .net highlighted to take a look at the IL code. Cool insight from Xpp down to IL

Batch debugging is made possible in AX 2012 because of it's execution vis CIL. Attached process

Breakpoint is placed on the proxy object inside VS2010 for the Xpp code.

Since remote debugging is needed, must have admin rights on the server to make this happen

Debugging in batch, with the new approach is a big improvement for sure! Makes using batch an easier choice

No sharing of breakpoints between VS2010 and the legacy Xpp debugger

When thinking compiles, you have CIL incremental and then CIL full compile

Xpp code can have errors and compile others. Were as the CIL compile, incremental, is not so forgiving

Good session. Abilities exist to debug the new proxies, batch and server based code

Now showcasing the fact that because CIL is used, all kinds of new benefits, like profiling in VS2010,


WCF is the standardize story for new AIF arch within AX 2012.

WCF message routing for external needs. Still needs IIS for external service support

AOS in process hosting of WCF services. Good move for manageability and lower TCO across many areas with this.

Single WSDL among services groups. Means can share data contracts among common services

WCF was used in AX 2009 however some pains. These issues are being addressed

Can't wait to get the slide decks from these sessions. Will be ready for us in two weks

Msft is addressing the AIF manageability pains including promotion from one instance to another.

Keys: standardized, powerful and simplified. For AIF in AX 2012

Ax power shell cmdlets introduced to manage deployments

VS2010 also always no break on exception option which has not existed before for Xpp based code. Done via CIL


Big improvements on how easy it is to service enable logic for integration work in AX 2012.

Visio and VS2010 integration for SDK tool, which not sure if that name will stay the same or not

Threadabortexcpetion is actually gone in AX2012! great!

Scripting control, multiple server management, remote deployment, threadwbortexception, and more all addressed now

Tech is great, but tech is not what AX is trying to address. AX is meant to address business domain issues

The focus is being declaritive vs. Code or rules. A theme found throughout this release of AX

SSMS and db level setup must take place as a one time DB level for change tracking to enable document tracking

To conclude, I can say the next version of AX is ready to take on the other big ERP stalwarts in the market. Good work Microsoft and a huge effort by Devs and PMs in Microsoft shaping up the next big release of Dynamics AX!

Saturday, January 29, 2011

Dynamics AX 2009 Integration with PowerShell to unzip files

Had a requirement to unzip files from AX for one of our interfaces. I didn't want to install any third party software on our server as the security policy prevents it.

Tried using Microsoft.Deployment Framework within AX (, but ran into issues using the framework to unzip files.

Since, our AOS Servers run on Windows Server 2008 and Powershell is something which comes default with this edition of windows, I thought why not leverage it as it has a powerful scripting engine and I can see it as a predecessor to VB Scripting.

Following code snippet, is the powershell script which I wrote to unzip the files.

And, here is the X++ code which calls the script

I remembered my Unix scripting and vi editor days when working on Powershell editor.

Also, this is a very useful reference if you are graduating from VBScript to Powershell

Some other useful links on Powershell from Axaptapedia and Brandon's blog

Happy Powershelling with DAx!

Wednesday, January 26, 2011

Troubleshooting Dynamics AX 2009 SSRS Report Data methods displaying #Error

I had to modify a custom Dynamics AX SSRS  Report to use Data Methods and whenever I preview the report, it was giving me the below #Error text for data methods.

Note, that Reporting tools is here on my local machine and we have SSRS Installed on a different box. I did the usual routine of building the SSRS Project from Visual Studio and then going to AX > Reports Library node and then right-clicking the custom report library to deploy it.

After some minutes of troubleshooting, found that the custom model dll was not being deployed on the SSRS Report directory (/bin folder). Rest all the dll's were in place, so copied this dll manually from my local machine and placed it in the server's SSRS path. Now, the values started displaying properly.

Out of the below dlls, as mentioned above the model dll was not getting deployed on the server.


Sunday, January 23, 2011

How to: Configure Dynamics AX AIF Services to listen for SSL Requests (https)

This post covers my experience on integrating Commerce Server Services with AIF Web Services across 2 domains. It was a bit challenging setup especially configuring the communication between AIF and Commerce Server over https, Troubleshooting WCF Bindings was the major component in this whole piece.

Note, in our infrastructure topology we have Dynamics AX 2009 SP 1 (Rollup 6), IIS 7.5 and Commerce Server 2009.

So, in brief these were the following steps carried out to make the integration work:

a. Import the Certificate and Configure IIS to listen for https requests
b. Troubleshooting TSL SSL Error
c. Troubleshooting AIF Authentication windows error
d. Troubleshooting  binding web.config (bindings "Transport")

Now, Let's get into the details:

How to: Import Certificate and Configure IIS for SSL

In my case, I already had the certificates ready supplied by the internal support team, so had to follow the Import Certificate and Configure website steps in the above link.

Once the IIS, is configured to listen to HTTPS, then one should be able to browse the AIF Services successfully through browser, note it will prompt for Certificate, accept it and move ahead.

Troubleshooting TSL SSL Error

Trying to invoke the AIF Services through the Commerce Server Client interface gives this error " Could not establish trust relationship for the SSL/TLS secure channel with authority ". This was fixed by invoking an explicit  remoteCallback validation for the certificate in the client code.

          /// Remotes the certificate validate.

.          private static bool RemoteCertificateValidate(

             object sender, X509Certificate cert,
.              X509Chain chain, SslPolicyErrors error)


               return true;

Troubleshooting AIF Authentication windows error

Moving forward, encounterd this error "The Application Integration Framework Web service cannot determine the Windows login of the user calling the Web service"
This was logged in the Event viewer of AOS box, atleast had a sigh of relief to see that the communication reached till AOS box.

This is the core problem which we faced and the reason is AIF Web Services are built with a tighter windows user authentication as it doesn't understand Certificate mode of authentication and this error is thrown from the Microsoft AIF Intergration Framework dll.

I tried couple of workarounds by creating small demo applications and configurations and presented it to our Solution Team

i. Firstly, changed the binding to basicHttpBinding on the AIF Server and Created a small app on the Commerce Server client box and this works fine and it can communicate without any problems with AIF Web Services. The downside is it's not much secure. But basicHttpBinding is much faster than wsHttpBinding.

ii. Installed and Configured Microsoft Dynamics AX .Net Business Connector on the Commerce Server Client box and created a small app which can communicate to AX via the .Net Business Connector. This works fine but I won't be recommending it as we need to rewrite the AIF Logic which AIF Framework provides out of the box and the other downside to this approach is maintainability issues as we need to maintain .Net BC on Commerce Server box (i.e. the Commerce Server code will have a tight coupling with AX .Net BC Code, and also upgrades to .Net BC means we would need to take the Commerce Server Web Sites down)

iii.To host intermediary Non-AIF Services on the same box where AIF Services resides. This will act as wrapper services for AIF Services. So, the Commerce Server client will be invoking the Non-Aif Services and this will inturn invoke the AIF Web Services, there won't be a direct or live connection  between Commerce Server and AIF. Any communication between these 2 apps will be handled by this broker or intermediary web service. The downside is performance may hamper a bit as there is an extra layer.

We chose to go with basicHttpBinding with Certificates installed on server and client and explicitly passing the Business Connectory Proxy Credentials in the code before invoking the service.

Troubleshooting  binding web.config (bindings "Transport")

This is the final version of how the server-side and client-side bindings look. I tried various combinations on the security and transport mode before arriving at this one.


Florian in his blog has an interesting article on securing AIF Services cross domain which works with IIS 6.0 and Windows Server 2003.

Tuesday, January 11, 2011

2011 - The Big Bang ERP Year for Microsoft

I knew this was coming, 2011 is going to be the important in terms of Microsoft product releases. They are doing it in a big bang way by releasing :

* Dynamics AX 2011 in 3rd quarter of 2011 (CTP release in February build, that's going to be interesting for the early birds)
* Dynamics GP 2010 R2 in first half of 2011
* Dynamics SL 2011 2nd quarter of 2011
* Dynamics NAV 7 somewhere end of 2011 or early 2012

"Officials said at NRF that Dynamics AX 6 will be based on a “unique model-driven, layered architecture,” requiring less coding and easier maintenance and upgradability. The product will be compatible with SQL Server 2008R2, Visual Studio 2010, SharePoint 2010 and Office 2010 from the get-go"

Read more here

Saturday, January 8, 2011

Troubleshooting Dynamics AX 2009 SSRS Report Generation Error

None of the SSRS reports were rendering correctly. This was working well before the Xmas break.


An error has occurred during report processing.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 


As you see from the error above, it's not much helpful and sort of misleading as I thought it could be the SSRS components which got installed in GAC may have got corrupted. After some troubleshooting, found that the Validate button on Administration > Setup > Reporting Services > Reporting Servers was not validating the datasource folder properly. Then, performed the following steps to rectify it.

a. Recreated the reporting data source and folder and now the Validate button started functioning without any issues.

b. Restarted SSRS Service from the Control Panel > Services window (As without restarting I was getting the same dll error) to make it work.

Monday, January 3, 2011

Top ERP Predictions for 2011 - Cloud hosting and Dynamics ERP start making serious waves!

I read with interest this article on the Top ERP Predictions for 2011 put across by industry experts.

Highlighting few of the key interesting points from the above link:

a. The first and most interesting part of the reading which made me excited is put up in the last para which talks about Microsoft Dynamics ERP coming out in full force in 2011.
Some interesting quotes out there:

"Today, every dollar of Dynamics generates from $3 to $9 in additional software sales for Microsoft. Now that's what I call a stack sale."

In addition, the Dynamics channel has a good handle on Microsoft's strategy for Azure, its cloud platform, according to Greenbaum.

"It's clear that the value-add of Azure has to be about driving innovation into the enterprise, and that's not something the average Office or Windows developer really gets. But Dynamics partners live and breath this concept every day," he wrote.

Dynamics itself will help Azure grow and innovate,

Greenbaum contends. "While SQL Server, Sharepoint, Communications Server, Windows Server, and other pieces of the stack will have a big play in Azure, the customer working in that innovative new Azure app will most likely be directly interfacing a piece of AX, or Dynamics CRM. That makes Dynamics essential to Azure, and vice versa."

b. In 2011, more and more customers would be demanding cloud-based ERP solutions. Many vendors already offer specialized forms of cloud hosting such as managed cloud hosting and hybrid cloud hosting. Because of demand, competition amongst vendors in the hosting space is expected to increase with some of them re-engineering their products from the ground up to take full advantage of cloud based computing

c. In 2011, the market will be flooded by social-themed ERP product tweaks, integrations and innovations, like somewhere I read already Dynamics CRM has built an accelerator to intergrate Twitter, I think very soon we will see integrations with Twitter, Facebook, Linked in etc. with Dynamics ERP suite.

d. Mobility which is one of my favorite topic seems to show some very interesting statistics as the number of downloaded mobile applications will leap from 10.9 billion this year to 76.9 billion in 2014, and revenue will experience a greater than 60 percent compound annual growth rate in the next several years, topping $35 billion in 2014. So I believe vendors or companies who provides mobile enablement of key ERP services will have a major share in the market.

Here is the Link to Reference article from PC World