Microsoft Dynamics Ax 2012 Services – Book Review

March 3, 2013 2 comments

7546EN_mockupcover_normal_0

Thanks to Packt  for asking me to review their book and I appreciate the author Klass Deforche and Kenny Saelen for their outstanding work.

Who should read it ?

Its very helpful for all AX users new to the Services world, for developers who work on integrating Ax to external systems and for ISV developers who are extending Ax through their non-ax based Add-on’s.

What can i take out of it ?

With AX 2012, SOA is slowly getting augmented to core of AX and using Services is extremely significant for developers and  a book that focuses on the Services aspect is need of the hour. This is a handy book that can be a quick and effective read.The beginning of this book unveils the key concepts of Service Architecture and Deployment  followed by a deep dive into different types of Services ranging from Document services to System services. Every topic is accompanied with necessary screenshots and code examples making it easier to understand. Topics like SysOperationFramework/Document Services  are exhaustively covered explaining Custom controllers and Custom UI builders. The AIF Document services in this book explains key concepts like Creating, updating ,deploying and consuming a document service. You can find below the TOC of the book

Chapter 1: Getting Started with Microsoft Dynamics AX 2012 Services
Chapter 2: Service Architecture and Deployment
Chapter 3: AIF Document Services
Chapter 4: Custom Services
Chapter 5: The SysOperation Framework
Chapter 6: Web Services
Chapter 7: System Services

Overall: The book is well organized  with  an how- to -do approach through out, It not only helps developers new to services but  also experts who build integration products.

Rating: 3.5/5   Click here to order the book   http://bit.ly/137yTni,

 

Dynamics Ax 2012 Security How To – Book Review

December 21, 2012 1 comment

Packt has recently come up with a Security How-To book to followup it’s Ax2012 releases.

 

7508ENcov.jpg

Thanks to Packt for asking me to review their book and I appreciate the author Ahmed Mohamed Rafik Moustafa for his work.

First of all, this is not the regular books that keeps you stay away from reading by the sheer numbers of page. I like the fact that Packt is trying to come up with more shorter series that are interesting and easier to read. The security How To is a Hand book with less pages and more content. It is something that you can tap on to your smart devices, start reading on your way to meet your client and be fully prepared.

The book inclines more towards administrators and consultants but it still dedicates few of the topics to the hard core developers who double as consultants. Segregation of duties to meet Sox Compliance or similar standards was not at least a cake walk with the previous versions of Dynamics Ax. Ax 2012 has made it much easier for functional users/administrators to carry out this operation, but that also means that you need to understand this new framework.  For that matter this book can come handy to get you prepared to face this new framework.

Right now Packt is running a offer and you will be able to buy this book for a little more than a dollar and i definitely recommend that you do it, since the take away from it is worth it. Click here to buy it

Also pre-order the upcoming book on Ax2012 Services by Klass Deforche and Kenny Saelen

7546EN_mockupcover_normal_0

 

 

What’s coming in the future Ax 201X ? :) – KeyNote Day 2 @ Dynamics Ax2012 R2

October 25, 2012 1 comment

The Keynote on Day 2 had to two portions one focusing on the LifeCycle and the other on What’s cooking for the future ?

Mike Ehrenberg, Technical fellow @ Microsoft was the one who came down to feed our curiosity.

Major  innovations are happening in these areas,

Modern Client:

- Microsoft is looking to see how it can totally revamp the UI to fit it with the happening story of Windows 8. They are totally trying to give a new face to the ERP interface by attempting to give importance to Data visualizations and Tile way of organizing information.

- There is also this attempt to eliminate Rich and Poor ;) Clients to have one common client that can work over the internet or one premise

- Microsoft Recommendation is not to make UI investment for the current release on the Product as their can happen something to what happened to the legacy reports

Performance and Scale

- Cloud concentric approach where they try to leverage the Private cloud concept to create a On-Premise kind of setup of Ax

-Scalability is brought in through the Cloud Infrastructure

Simplifying Customization’s and Upgrade

- Microsoft is working hard to make code upgrade smoother and simpler (Refer Programming Improvements with Dynamics Ax)

- Other interesting area is to no downtime data upgrade. Here the concept is take snapshots of the database and upgrade the db in parallel then upgrade the Delta that has been created through a iterative approach.

Application Life Cycle Management

- Mike was definite to point out that the slew of Life cycle tools that we see is the reflection of their efforts towards this direction

- The current ALM tools are meant only to be a teaser and more is to come

Innovation Areas

Integration of  other products.

- There is also work in progress for bringing in Skype, Yammer in to the ERP Platform to break the barriers  and connect it to the external world much more in a seamless manner

- Kinect integration is also seriously considered. The last few attempts of showcasing kinect was early attempts but there is efforts to built in more ERP specific context to the kinect SDK that can take voice commands and relate it to the Forms in the ERP

- BING: There is also exploration going on to see how to bring the power of search in to the ERP and take the ERP search also little further it’s current limits of the Database.

Product Integrations

Preparing for the future

- Avoid UX investments

- Educate on Windows Private Cloud

- Adopt and stick to Best Practice that ensures your transition would be smoother and predictable

- Move to Dynamics ax 2012 R2

 

Programming Improvements with Dynamics Ax 2012 R2

October 25, 2012 Leave a comment
This was one of the very interesting session we had :) . As a developer it was really exciting to see how we can scale the application further.

LINQ:

- Though the .net integration worked well with through Ax proxies there was a void when it comes data acess.
- The X++ team has come up with a LINQ provider that will fill up this gap.

- Highlevel: X++ LINQ Provider will create a search tree based equivalent for the C# search tree created through LINQ

-What this means ? You can access data from AOT Tables through LINQ with just few lines of code, something like the one below.

</pre>
//Pseudo not exact syntax
 QueryDataProvider query = new QueryDataProvider('TableName');

//Rest the regular Linq Syntax applies
<pre>

- Since LINQ Queries are composable the data once fetched can be applied with multiple composable ranges further E.g

</pre>
QueryDataProvider query = new QueryDataProvider('select custtable');

 var results = from qr in query
 select new (q.custaccount, q.custName)
 //prints the all the customer records
 foreach (var result in results)
 {
 Console.WriteLine(result);
 }

 //basically for a single result set fetched in query
 //you can apply multiple select criteria later to fetch data
 //This is like narrowing a search result further
 var results = from qr in query
 where qr.custName like 'Test*'
 select new (q.custaccount, q.custName)
 //prints the all the customer records
 foreach (var result in results)
 {
 Console.WriteLine(result);
 }
<pre>

- You can filter based on expressions

- Field list concept is no more applicable. The choice of fields is automatically decided by the linq framework based on the conditions applied in each case.

- query is not executed untill the results are fetched.

- Folks, the advantages mentioned here are just to give you a feeling but it is limitless. All advantage that LINQ has brought in to the C# space is now applicable for data access to X++ tables.

- Remember this is LINQ Provider on the C# end and not on the X++. Means basically it works for the Visual Studio Projects

- LINQ Project Portal - http://msdn.microsoft.com/en-us/library/vstudio/bb397926.aspx

- Keep watching the X++ team blog as Peter Villadsen who detailed this has promised to put more examples here :)

LINQ – Points to note

Solver Foundation

- OR(Operation Research) issues like the travelling sales man problem, transportation problem can be solved with the help of solver Foundation

- Solver Foundation is a mathematical modelling API brought in place by Microsoft. Solver Foundation is sold seperately to customers (Read more here).

-But the Good!!! news is that it comes fully licensed with Dynamics Ax

- Leverage this Solver Foundation to solve problems concerning with Optimization(Shortest Route), Bin Packing(Optimal allocation)

- The dll is present in the Dynamics Ax installation(Client i guess) and you can just add it to your reference and get to use it.

- Solver foundation is used by standard Dynamics Ax in constraint based product configurator.

Code Upgrade Tool

- Microsoft is trying to see how it can reduce the pain of code upgrade with rollup and major releases. CUT is an outcome of this exercise.

- This is very very powerful, as AST(Abstract Syntax Tree) is created for the X++. (Similar to Roslyn Project for C#)

- What is an AST ? AST is a DOM(XML sort of) representation of a method or a class.This means the variables in a class could just be a node in the DOM and can be easily queried. Similarly expressions, Types etc.

- How does this help ? unlike the X++ parser output the output of AST is simple, structured, queryable. Which means you can easily manipulate code based on Rules..
- E.g:

- All methods must have a access specifier, if not an access specifier is entered automatically
- If there is a IF condition it must have braces around
- Format the code

Architecture

- What it has to do with Code Upgrade ? Means, the system will try to better manage automatic merge and simplify the process. The CUT tool that is to come will create automerged objects and put it in a patch layer(not sure if it is patch). Then one can review to decide to keep the changes or eliminate them

- What other use AST has ? The Life cycle tools that are built my Microsoft relies on the AST to analyze the code metrics.

- Can i use it for older versions ? No it can’t be used. Since AST can’t be built for older versions.

- When is CUT available ? Not confirmed as of now.

Code Upgrade tool (AST visible on the left)

ALM (Deployment) with Dynamics Ax 2012 R2

October 24, 2012 Leave a comment

- Metadata db and the datadb can now be separate :)

- Single user Topology for development: Microsoft recomments the Single user topology when using sourcecontrol and to manage multiparty development

- Shared application topology is not recommened for the following reasons
- To debug a Pcode the visual studio needs to be used. During the attach process the AOS is paused for all user
- Server restarts for a single user stops the entire application

- Visual Studio Projects – Apart from the Synchornize to the AOT, we must right scripts to run MSbuild for these projects. This
ensures a proper VS project import

Deploying to the Production

- Element id’s as we all know is generated during the import of models, so it is recommended not to import models in to Production
system to avoid id conflicts

- Maintain a seperate staging setup where the metadatastore of the production and staging are maintained commonly. Import models to
the staging and then move the metadata

- Model store import is quicker, will bring the down time and speed up import.

 

Data Partitions with Dynamics Ax 2012 R2

October 24, 2012 2 comments

- This is one of the key feature of Dynamics Ax 2012 R2.

- A data partion helps sharing the Ax install base but not the data

- This is a powerful feature that can help companies use the same installation. Takes away the hassle of updating multiple
installation.

What it means functionally ?

- As we had company id’s there is one level on top of it now, called the partition key.

- The partition key on the status bar indicates your active partition.

- System Data like AIF, Configuration, Batch are shared between the partitions. While Application data like address book, Unit of
measure are shared only between the companies within each partitions

- Partition is identified through the client configuration.

- Like Default company there will be a default partition called the “initial”

- Users belong only to a particular partition

- There can be companies with the same name in multiple partitions.E.g Every partition will have the default company ‘DAT’

- Intercompany doesn’t work across partitions

- Mircosoft Recommends: Implementation choice must be made carefully as the companies between two partitions cannot be merged and Intercompany features cannot be used. The only option is to use Data migration tool kit for data export import between partitions and AIF for inter company operations
How is it achieved Technically ?

- A new partition table is introduced with a Key and the Recid field

- There is a new field called ‘PartitionRecid’ in everytable and as the dataareaid was by default applied to all contexts(Forms
queries) the partition key will also be added. So a look in to the SQL trace would transalate a Dax query as follows

Ax Query
Select * From CustTable

SQL (Before Partition)

Select * from custTable where dataareaid = ‘Dat’

SQL (After data partiion)

Select * from custTable where data areaid = ‘Dat’ and Partion key = ‘Initial’

- No cross company query on partitions are allowed like the cross company query

- You can know the current partition through ‘getcurrentpartitionrecid()’ similar to ‘curext()’

- Batch servers work across partitions

- AIF works across partitions

- Programming Impact
– BC.Net new parameter to mention the partition id
– AIF Envelope includes partition id
– Workflow created in the AOT as metadata is shared but while you have to create workflow configuration in each partition.

- New table property like “SaveDataPerPartition” has been introduced like the “SaveDataPerCompany”. So for AIF, Batch tables – Save
data per partition is set to “No”

Life Cycle tools – Dynamics ax 2012 R2

October 24, 2012 Leave a comment

Life cycle services

Life Cycle Dash board

- This is a all new cloud based service that helps managing several stages of implementations

- Has a dashboard kind of setup that gives a complete overview of all projects and their status.

- Industry solutions like Public Sector, Manufacturing, are modeled through their business process. The business process are created in detailed manner and then mapped to their behavior in ax.(Similar to Rapid value from ColumbusIT)

- These business process can be customized based on  your implementation requirement. Finally these can be used to generate gap fit documents.

-The Process created here can be used to create workItems directly in TFS helping manage the customization process.

Business Process

 

Hot fix process

- Based on components (Classes/Tables) you can search for Hotfixes/changes that has happened in the previous or the upcoming hotfix releases.

- A search on element shows up all the Hotfixes that are related to it and allows to further drill down to see the changes that has happened in the specific hotfixes.

HotFix Analysis

Diagnostic services:

- The Microsoft Dynamics AX 2012 Diagnostic Framework, also called DiagFX, helps administrators diagnose the health of Microsoft Dynamics AX 2012.

- The framework assesses the health of  Application Object Server (AOS), Microsoft SQL Server, Microsoft SQL Server Reporting Services, and  Analysis Services.

- It can be configured to Collect data from Microsoft Dynamics AX servers, Execute rules on the collected data, Report rule violations on a dashboard interface, and Provide reports based on collected data.

- The Microsoft Dynamics AX 2012 Diagnostic Framework also helps administrators mitigate problems by providing information about issues, and also links to sites where suitable information is available. Users can add new modules and rules.

Diagnostic Framework – Dashboard

 Code Analyzer tool:

- A cloud based service that allows to upload code as (XPO/Model-Not sure here). The models are analyzed to give you detailed reports on the quality of the customization changes.

- Can be accessed through information source

- You can compare models against different versions

- Since it is a cloud tool takes no resource from you, that you can upload leave it and wait for the results to be back.

- A few higlights like,

- Bench mark metrics on Performance, Quality.(More to be added before the release)

- Excel report on table without indexes, Forms and the datasource count, Charts on various quality factors by table group, Top
errors in the application etc

- A consolidated HTML report that gives you stastics on New components by their type like Table, classes. Deprecated key word in
code, Best practice warnings etc.

Code Analyzer results view

Follow

Get every new post delivered to your Inbox.

Join 235 other followers