Microsoft Dynamics Ax developer's blog

Tuesday, February 23, 2010

Book review: “Microsoft Dynamics AX 2009 Programming: Getting Started”

See the book description on the publisher's site: "Microsoft Dynamics AX 2009 Programming: Getting Started"

When I've received the book, I first thought about beginning of my experience with Ax: in 2003 I worked with BAAN and planned to become a developer for Ax 3. I have decompiled developer's guide and best practice chm, downloaded it to my Sony SL10 and read it for month or two in the Moscow subway during daily commute. I can recall some difficulties I've met and I expect from every book for beginners to go beyond Dev Guide and BP describing these particular areas.

I think the main two topics to learn for every Ax developer are:

  • Dynamics Ax development platform
  • X++ code that implements business logic

Historically, platform was the more clear area docs, but has some dark corners, but business logic was less documented and the knowledge transferred mostly from the code itself, more experienced colleagues, and online communities.

So I tried to search for following topics:

  1. Links to external information sources such as MSDN, Partner Source, internet communities
  2. Data access (Ax have a very specific SQL implementation)
  3. Forms layout
  4. Business logic patterns
  5. Tools and techniques to extract information from X++ code

BTW one of the book reviewers, Harish Mohanbabu, is known by his blog and free Ax tools.

First, the book contains list of online resources links related to Ax, such as blogs, axaptapedia, official sites, so on. The only thing I wish to add it to explain what partner source and what customer source are, and how to get access – it is very frequent question from newbies.

Database manipulation is described in several chapters, the description is easy to understand, full of example screenshots and can be useful for new developers, but I missed description of union joins (which is new to Ax2009 and I haven't seen much usage in the existing X++ code)

Forms-related information is shown mostly by example; you should refer to developer's guide for more detail. I think, it should be better to provide more information on different form layout templates, and some existing form patterns. Anyway, I think, a novice programmer can learn basic form structure prom the chapter and can use some more advanced techniques such as splitters and edit methods.

There are some chapters related to most frequently used business modules, such as inventory, ledger and accounts receivable/payable, each starting with small entity-relationship diagram of basic tables with examples of using Ledger posting framework, adding new dimension, etc..

The topic about tools contains example of usage of cross reference with screenshots, but profiler and trace parser have not been mentioned.

So these were topics that I was interested in due to I remember I had problems with, when I started to learn Ax.

In addition there is lots of information related to:

  • Other platform areas (such as X++ basics, AOT nodes, architecture, File export and import), which have not caused learning problems for me but maybe can cause to other novice developers.
  • Parts of platform I have not used (Application Integration Framework , Enterprise Portal, Webservices) - so I cannot say anything about them

The book contains an example of car rental module (with full sources in xpo's). Chapters of the book describe corresponding pieces of example code and I think it's a good manner to write books for developer.

I definitely recommend the book for novice developers as a good addition to manuals that go with the product and msdn.