Dynamics AX
  RSS Feed  LinkedIn  Twitter
Want to turn you're data into a true asset? Ready to break free from the report factory?
Ready to gain true insights that are action focused for truly data informed decisions?
Want to do all of this across mutliple companies, instances of Dynamics and your other investments?
Hillstar Business Intelligence is the answer then! (www.HillstarBI.com)

Hillstar Business Intelligence for Microsoft Dynamics AX and NAV on Mobile, Desktop, Tablet


Let us prove to you how we can take the complexity out of the schema and truly enable users to answer the needed questions to run your business! Visit Hillstar Business Solutions at: www.HillstarBI.com

Thursday, September 29, 2011

EMEA Microsoft Dynamics AX Partner Training session on Telling the BDM & TDM Story





I wanted to take the time and help out a fellow blogger Fee Nolan, promote a great possible partner focused training session on Telling the Business Decision Maker and Technical Decision Maker Story. This is a partner focused session, around helping tell the correct story for Microsoft Dynamics AX 2012.

Fee posted about this great session that is set for October 11th, here: Dynamics AX 2012 Telling the BDM and TDM Story - Blogging Again !!

The agenda for the session is as follows.:
Morning
-Best Practice approach to running the AX 2012 Virtual Machine
-Presenting the AX 2012 Business Decision Maker Elevator Pitch
-Demonstrating the AX 2012 Business Decision Maker Product Overview

Afternoon
-Presenting the AX 2012
-Technical Decision Maker Elevator Pitch
-Demonstrating the AX 2012 Technical Decision Maker Product Overview
-Demonstration ‘Best Practice’ Tips, Tricks and Tools


If your in the EMEA area, and specifically near Microsoft Thames, then go over to the following link, here and register today. Fee states there was a lot of great feedback from the last session like this, and if your an Active Dynamics AX partner in the area, Someone from your company should attend!

That's all for now, for this quick update. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

SQL Server - The heart of performance for Dynamics AX





With all the wonderful excitement surrounding the release of Microsoft Dynamics AX 2012, I thought it was time to take a step back and focus on something that can benefit those running on AX 2009, as well as AX 2012. What I'm talking about here is performance!

Before I get into some of the really good resources, to share with you on this topic, performance for SQL Server comes down to three area's: 1. Having enough RAM, 2. Right amount of Cores and 3. A great disk I/O Sub-system.

The last one, 3. A great disk I/O Sub-system, is usually always the issue when it comes to performance related problems in an AX solution. I can't stress this enough! Therefore, we have some good resources now, published by Microsoft, that everyone using AX, no matter what version, needs to understand. Make sure to work with your partner to get the following information, applied correctly to your instance of AX.

First off, we have the newly updated checklist / whitepaper for things to make sure you have set on your SQL Server. Microsoft Dynamics AX 2009 White Paper: Planning Database Configuration

Now don't be fooled you AX 2012-ers, this is also for you. The title has not been updated, but the content still applies. There is some great points in here, around RADI 1+0 over RAID 5, splitting your TempDB into as many physical files as you have Cores, etc. Read it, understand it, and make sure for your instance this is applied.

Next up, we have two trace flags. The first I covered last year, but still needs focus for this area. That is: Important SQL Server Change! - Parameter Sniffing and Query Plan Caching

Based on research by the Microsoft perf team, some great benefits have come from applying the above trace flag to a SQL Server. Next, we have a new trace flag, that works in conjunction with the TempDB split advice. This next trace flag, will make sure that all TempDB files grow at the same time, and with the same size increase. This too, has been proven, when you have your TempDB split out, to increase performance. Consider Enabling Trace Flag 1117 on Dynamics AX SQL Server

With this arming you as weapons, you can slay the nasty performance dragons, with ease! Of course, there is still nothing that can be done for bad Query design, or coding that forces huge resultsets, or many trips to the database. That must be addressed, and using the Trace Parser in AX 2012 is just a wonderful thing. Microsoft did a great job of making that tool, very useful, and very, very easy to use.

That's all for now, but check back soon as more to come. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , ,

Wednesday, September 28, 2011

Spotlight: Dynamics AX 2012 Testing Best Practices Now Available





Just this week, I wrote about AX 2012 & TFS 2010, along with other Version Control Options. As part of that post, I promised to update you when new white papers and information came out about this topic. Well, what timing, as late yesterday, Microsoft has released a new white paper on Dynamics AX 2012 Testing Best Practices Now Available

From the post:
"Look to the white paper for things like:
•Practices to drive quality early in the development cycle.
•Recommendations for test and ALM tooling.
•Help in deciding about test automation.
•Examples of best practices that we used in developing Dynamics AX 2012."


There's hints of sure step being the guide, which actually has not been updated 100% for AX 2012, however is in the full process of being so. It's still, at a good level, very useful and the method for implementing Dynamics AX projects.

I recommend making sure to download the whitepaper, and reviewing the spotlighted blog for more information. It's a wonderful time, to be working with Microsoft Dynamics AX!

That's all for now, but check back soon as more tome come. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Tuesday, September 27, 2011

Do Not use the .Net Business Connector with AX 2012





With the release of Microsoft Dynamics AX 2012, a lot a great things have come about. One area that I have spent some time on now, is around integration. In the past, when integrating outside line of business (LOB) applications or custom software, the options for enabling this were either the use of AIF Document Services or the .Net Business Connector.

There is good reason not to use the .Net Business Connector, as I point out in the following post: Net Business Connector Not Recommend for AX 2012



A reader today, stated that they have read on the web, and with my blog post, to not use the .Net Business Connector with AX 2012 integration's, but they were not really clear why. I thought this would make for a good post, as to clear the air of sorts on this topic, and explain why.

First you see from the above AX 2012 system architecture image, that the .Net BC is actually used in a few places to enable different parts of the solution. With that said, and beyond this fact, the only reason the .Net BC exists in AX 2012, is to truly support backwards compatibility. Understand this, future versions of AX, beyond AX 2012 will not have the .Net BC as an option. This has been made very clear in the official Microsoft Documentation released on the subject.

This means, that anyone upgrading from previous versions, will still have their integration's developed using the .Net BC, will still work. However, planning should be made to make the switch to make use of services.

The desire behind this move, is to take away proprietary technology that the .Net BC represents, and the RPC protocol it implements, and use more true .Net technologies, like WCF. This move, not only takes a step towards true .Net native code execution, but also replaces the very chatty protocol of RPC, with the less chatty and more well formed protocol of WCF.

So the reasons, for not using .Net Business Connector in AX 2012 are.:
  • 1. Microsoft will not support it beyond AX 2012
  • 2. It using the RPC protocol for communication which is very chatty compared to WCF, and does not enable the vision of cloud computing Microsoft has for AX in version 7.0 and beyond


I started, on this list, to add more, but honestly the first reason in the list is point enough. Microsoft will not support the .Net BC after AX 2012. Since that is the case, any development done with it, or any integration that is not upgraded and changed to make use of WCF and Services in AX 2012 is a waste of time and money.

I hope that through the many efforts of those in the community, including myself, to point to the desired method of services with: Custom services and document services, that it's clear why the .Net BC should not be used. Upgrades are supported to AX 2012 that make use of this technology, however it's important to understand that such integration's have to be changed over for any version of AX beyond AX 2012.

With this, I believe we can move forward and all understand that any integration efforts between AX 2012 and the outside world, should reside around services. This is, as I've pointed out before, a true statement even within AX 2012. Services help abstract some of the complexities of AX 2012, and help empower the marketing term powerfully simple.

That's all for now, but check back soon as I continue with my dive into workflows, and many other great topics. Till next time!

Update: A fellow peer of mine pointed out that this post sounded a little harsh. That is never my intention at all, and I hope this is taking as a warning. The idea is to save you time, money and effort and help deliver a clear message that WCF and services are the way for extending and integrating with AX 2012.

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Monday, September 26, 2011

AX 2012 & TFS 2010, along with other Version Control Options





One of the area's that companies look at when talking about Microsoft Dynamics AX 2012, revolves around the software development lifecycle. (SDLC). As part of this conversation, and decent amount of focus is around version control. This is a key critical part, to any true SDLC process, and that's a true statement for Microsoft Dynamics AX.

With the release of AX 2012, there are several options, which are covered in the following article on MSDN: MSDN: Version Control System [AX 2012]

With this, we see that four options exists for us: MorphX VCS, Visual Source Safe (phasing out though), Team Foundation and finally third party VCS systems. It's worth noting that Microsoft recommends either TFS or MorphX VCS.

Like all things, I want to caution in this area about getting over focused on the SDLC used for managing, say, pure .Net development efforts, or others that might be employed at a company today. AX 2012 are business projects, not pure technical development. This means, that as my broken record self continues to state, Value should drive decisions for AX 2012, not technology.

With that stated, lets look at the point, process and value that using version control affords us in a given implementation project. Like all topics relating to AX 2012 implementation projects, the size of the company, and therefore total scope and size of the implementation typically help dictate choice. Does it make sense for a two developer, smaller mid-sized company to invest in TFS? I would think not, therefore, the preferred option, based on Microsoft recommendation is MorphX VCS.



With this option, a shared development environment, that a majority of Dynamics AX projects use, is the need. Here, developers connect their clients into a shared environment and MorphX allows for checking out, checking in, and history for artifacts that are developed, touched, etc. from within AX 2012. This can leave gaps, however for certain Visual Studio project types, that might complete the entire solution for a customer, that can't be added to the AOT.

A Typical environment, for such a use of MorphX version control, then would look like the following.:



That's a very straight forward total AX solution for a given company, and one that most small to mid-sized companies would find gives them a lot of value, and ability to have version control, without a lot of overhead.

With that said, it's not really a suitable solution for a larger mid-sized, and of course moving into the enterprise space. Here there needs to be an enterprise class collaboration solution that enables version control, among other possible benefits. Enter, Microsoft's main focus for this area, and solution addressing such needs, Team Foundation, or TFS 2010.



With this option a lot of new possibilities exists, specifically around AX 2012 and TFS. This includes the ability to offering branching now, which did not exists as an option for AX 2009. Also, the ability, in a limited fashion, to make use of work items and tie those to the check in process for artifacts. Let me say, there has been some great improvements for TFS and AX 2012, in terms of setup, administration and reduction of headaches that come with both those topics.

In the past, with AX 2009 and TFS, someone once told me.: "If you want someone to really hate their job, make them setup AX 2009 and TFS." Now, that's a little over the top, but there are some issues that are caused, specifically around the need for an Object ID management server. That however, no longer exists in AX 2012 and TFS integration. The ability, to quickly setup TFS integration with AX 2012 has improved a lot, and that alone will add value to any AX 2012 project that needs this requirement.

In order to properly use AX 2012 and TFS, this changes the dynamics of the development environment. What now needs to exists, is that every Developer needs their own development workstation. This needs to have all aspects of AX 2012, SQL Server, SSRS, SSAS, EP, AX Client, VS2010, etc. etc. In doing this, then each developer instance connects with a TFS repository, for checking in and checking out project artifacts. What the use of TFS also brings to the table, as a pro, is the fact that outside project artifacts that don't belong, or can't be placed within the AOT of AX, can use the same VCS as the AX projects and artifacts uses.

In this type of scenario, the following is typical of what you might see.:



With this specific setup, you will notice I've added a Release Manager role to the workflow. This is actually very critical to understand, and a point that should not be taking lightly. By no means should you ever try to automate the deployment of AX artifacts throughout the different environments of AX. There needs to be some human workflow, in the promotion from TFS into the rest of the environments, down through production. This is a very critical point, and this will save you time, and effort, on something that quite frankly for ERP projects, automated builds add very little value. Post go live scenarios might one day, possibly, make sense, but this is still hard to really justify. making sure this effort takes place, will ensure that the correct artifacts, and merging of objects takes place and issues can be addressed, instead of forced down the line.

With this information, we can see that there is great possible value add to AX 2012 projects, through the use of MorphX VCS or integrating AX 2012 with TFS 2010. Keep in mind, simple is king of value, and use that as a guide when planning for anything in AX, including this topic. With that, there are some great resources on the web, from fellow bloggers, and MSDN, relating to this topic. I will share them below here.:


Microsoft is also expected to release a new whitepaper, very soon, on this topic of AX 2012 and TFS 2010. Once it's out, I will make sure and link to it, and give my thoughts. I hope you have found this entry useful!

That's all for now, till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , , , , ,

Thursday, September 22, 2011

IL Compile and some things to understand for AX 2012





One thing I wanted to make sure and point out, with all this talk about Microsoft Dynamics AX 2012, Services, and Complex Data Contract concepts, is around the need for proper IL generation of Xpp / X++ code artifacts.

The image above is not technically correct for AX 2012, but it's a quick snag image, to capture the point of this post, in that there are some steps you have to take, in order for AX 2012 to make sure it can properly execute your service code.

I mentioned the use of SysOperations Framework, as well as Reliable Asynchronous execution mode for operating on more complex data contract concepts in the previous post. With that focus, and around the focus of any services that you deploy, AX must have in it's "Server/[AX AOS Service Name]/bin/XppIL" the correct and most recently compiled Xpp into IL code artifacts.

If, for example, you start running into strange issues, when using the SysOpeartions Framework, for Reliable Asynchronous execution, were messages appear in the batch job history for said job executions ending in error, make sure to follow these steps, so that you can be sure your instances XppIL is correctly up-to-date.
  • 1. Click on the Incremental IL Compile button, within a Developer workspace
  • 2. Restart your AOS

Doing this, ensures that the specific changes you might have made within an instance of AX and Xpp has correctly refreshed the XppIL artifacts for the given instance of AX, for the specific AOS(es).

I wanted to make sure and point this out for this morning as I'm sure quite a few of you might run into such issues. Doing this, will save you some unneeded research time, because most likely your issue is with a not so up to date XppIL Artifacts for a specific AOS.

That's all for now, but check back soon as a whole lot more to come! Till Next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Wednesday, September 21, 2011

Continued look at AX 2012 and more Complex Concepts for Data Contract Usage






I started a new, mini-series, if you will, on Microsoft Dynamics AX 2012 and a deeper dive into more complex concepts for Data Contract usage this week. I state this as a mini-series, as it's not the typical series of post in which I finished up for services earlier this month, and like I currently have on-going for workflows in AX 2012, because of the limited scope I want to keep for this focus.

There is a lot more actually that could be covered, but I want to preface the complex concepts with the fact that the nature and design of Data Contracts for AX 2012 is not actually to be to complex. For complex data needs, document services and their use are intended for addressing such needs. However, the level in which we are talking about, I personally believe, is well within the vision in which Microsoft has for AX 2012 and custom data contracts.

With the above stated, I did want to continue tonight, with a focus on this topic. We covered in the first post, of this mini-series, about how a specific Data Contract, could have a list of related child data contracts as part of it's make up. That post talked about the enabling meta-data attribute tags that are used, to tell AX enough about a list, so that is could be consumed and used as a strongly type collection.

To take this further, lets assume that you want to make use of the SysOperations Framework, in order to enable Reliable Asynchronous processing of said data contracts. This is a valid need, that could enable safe threaded execution against such contracts, that would bring value by decreasing the time needed to process a lot of these contracts.

The idea's and concepts of the SysOperations framework actually are the evolution of the RunBase framework, and technically still use some of the underlying technology that enabled the RunBase and RunBaseBatch concepts in earlier versions of AX. It's clear, however, that any new development needs to follow the design patterns of the SysOperations framework, and nothing new in AX 2012 should be developed, with direct reference to any RunBase anything.

With this said, if we took the artifacts from my previous post, in this mini-series, and tried to submit a parent contract, that had a list of child contracts as part of it's make up, the SysOperations for Reliable Asynchronous operations would fail. This would be seen in the Batch Job History form, under the Administration module in AX 2012. Why would this fail, you may ask?

The reason this would fail, is the simple fact around AX 2012 need for such operations, that involve collections within data contracts to adhere to the pack / unpack design pattern. You can get a glimpse about this topic, from the following MSDN Article: MSDN: Pack / Unpack Design Patterns.

As I mentioned in my previous post, we will dive deeper into this topic, including making use of the SysPackable interface for AX 2012. Well this is exactly what is needed to enable such complex data contract concepts to exists and execute in AX. We have to make use of the SysPackable Interface.

To help show this off, lets look at a class declaration that implements the SysPackable Interface.


[DataContractAttribute]
class idbChildDC implements SysPackable
{
str _someValue;

#DEFINE.CurrentVersion(1)
#LOCALMACRO.CurrentList
_someValue
#ENDMACRO
}


We can see, from the above class declaration, that our focus for enabling the collection to get processed correctly and make use of the stated SysPackable interface, is around the child data contract. Why is this? Because, this is what is contained within the list. Since this is the case, we have to make the specific objects within the list, idbChildDC in our case, packable.

We have done the first part in this requirement, which is implement the SysPackable interface. However in doing this, we have three other methods we must supply, that fully enable the SysOperations Framework to execute on our custom child data contract, in a Reliable Asynchronous fashion. Those three needed methods are.: pack, unpack and a public static create metthod. Lets take a look at the makup of each.

First we have the Pack method.:

container pack()
{

return [#CurrentVersion,#CurrentList];

}

The above, we see a simple, and straight forward pack method. This is nothing special and the standard pack method that you would apply, based on implementing the SysPackable interface. Next we have the unpack method.:

public boolean unpack(container _packedClass)
{

int version = conPeek(_packedClass,1);

switch (version)
{
case #CurrentVersion:
[version,#CurrentList] = _packedClass;
break;
default:
return false;
}
return true;

}

Here, once again, we see a very generic and common unpack method. Nothing special, but must exists in order to enable such desired processing, as Reliable Asynchronous. Moving forward, the final required method that enables a collection of custom data contracts to be properly processed is the public static create method.:

public static Create(container _child)
{

idbChildDC child = new idbChildDC();
;

child.unpack(_child);
return child;

}

Now that we have applied the SysPackable interface, as well as the above needed methods, when a list of idbChildDC data contract objects is processed as part of the SysOperations Framework, with the execution mode set to Reliable Asynchronous, proper processing will take place.

The reason this is the case, is that doing the above such actions allows the collection of idbChildDC objects to be serialized and deserialized so that the state data that represents the list of objects can be reinitialized, and business logic performed on.

With this post, and the first post, combined, so really neat, and possible great business value aspects, can be driven from the use of these more complex data contract concepts.

That's all for now on this topic, but check back soon as a whole lot more to come. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , ,

Spotlight: AX Retail POS Development & AX 2012 Dive into .Net Assembly Deployment



I hope everyone is doing well this fine Wed morning! It's middle of the week, and there is some great things to learn about today. I wanted to direct your attention this morning to some recent great articles, about Microsoft Dynamics AX, posted by some fellow peers of mine. First, there is a new article covering AX Retial POS Development and configuration.



In this article Rahul does a great job in covering a topic, that really has not gotten a lot of technical attention within the Dynamics Community. Since AX for Retail is in full swing with many customers now using it, this is a great time to start covering real world examples of this great offering from Microsoft. There are some Prerequisite knowledge requirements for getting the most out of Rahul's article, that includes knowledge of C#, SQL Queries and X++.

Moving on, another recent article by my fellow peer and Dynamics Community Thought Leader, Joris, over at Dynamics Ax Musings, has posted a must read for anyone doing any developent work in AX 2012, and wanted to have a really good understanding of how .Net assemblies are deployed with an AX 2012 instance. His recent article, AX 2012 .NET Assembly Deployment is spot on and a needed resource.

Joris takes us through the correct understanding of where assemblies are deployed for the client and server, helping us realize the need for bin deployments, or manual GAC needs are a thing of the past. Joris takes up through the workings of the server side as well, with pointing us to the correct locations for the bin/XppIL location and VSAssemblies.

These are both great articles, and I recommend you read and bookmark both. That's guys for taking the time, and helping shape and grow our Dynamics Community. Well that's all for this morning, hope you have a great productive day, and check back soon as you know... a whole lot more to come. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , , ,

Tuesday, September 20, 2011

AX 2012 and a look at some more complex Datacontract concepts and usage





With the release of Microsoft Dynamics AX 2012, one topic that I have been covering a good bit is around Services. There is good reason, and why a lot of other Dynamics Community bloggers and thought leaders have spent a lot of time talking about this topic. That reason, is the design importance that exists around services, and it's usage for an AX implementation. This is the new reality, and part of what makes AX 2012 Powerfully Simple.

As stated before, services are meant to be used internally and externally, with an AX 2012 solution. They enable some really great possibilities, and it's easier than ever to create, modify, and administer services than ever before.

One of the topics, I wanted to spend a little time on this evening, is around some more complex concepts for Data contracts, and the intended use within AX 2012.

There are a couple of points to cover here, and the first one is the proper code syntax for enabling a data contract, to have a property that is a list of child data contracts.

So to get to the meat of this area, the idea here is that you have a data contract. Within this data contract, you want to have a few properties that make up the contract, as well as a collection of other data contracts, that represent some business value, directly associated and therefore related to the parent data contract. I've mentioned before, in Microsoft Dynamics AX 2012 - A Dive into Services, Custom Services (Part II) post, about the use of Attributes to define data contracts with.

To enable this more complex need, Attributes in AX 2012 are very much a need in this case. To help set the stage for this review, we need a project, and two X++ classes.



You see in the above image, a project and two classes. A Parent and Child Data Contract X++ class. This is stated, visibly through the names of this classes, however, lets take a look at the make up of said classes.

First we need a parent class, this is the starting data contract, and so the following is the makeup of the parent data contract. I would like to point out that the following is not an image, but text, with some nice CSS that color and font the X++ to look like you see in the MorphX IDE.

So first we have the parent Class Declaration.:


[DataContractAttribute]
class idbParentDC
{
List _children;
str _someField;
}


After that we have two other methods we need to look at. This is a simple DataAttribute method, and then the more complex method that enables the storage of a collection, in our case a list, of Child data contracts.



[DataMemberAttribute("SomeField")]
public str parmSomeField(str s=_someField)
{

_someField = s;
return _someField;

}


So the above uses a simple DataMemberAttribute tag, that sets the property name of this given data contract, for the parmSomeField, equal to "SomeField". This is a very simple datatype of str, and therefore not much is needed in order to describe this method to AX so the proper WSDL is created.

Enter the more complex need, of working with collections. Since Microsoft Dynamics AX 2012 is not a strongly typed language, however it interacts with XML and WCF Services that demand collections be strongly typed a bridge or ability to create strongly typed collections must exist. What to do?

Here we continue the use of Attribute meta tags that are new to AX 2012, that define to the AX what the collection type is for coming into the class, and represented in being sent back for consumption back to the consuming entity of the given data contract.

So we have the following.:


[DataMemberAttribute("Children"),
AifCollectionTypeAttribute("l",Types::Class, classStr(idbChildDC)),
AifCollectionTypeAttribute("return",Types::Class, classStr(idbChildDC))]
public List parmChildren(List l =_Children)
{
_Children = l;
return _Children;
}


With the above we see the use of the AifCollectionTypeAttribute. This is being used to define the collection type, of list, containing a collection of idbChildDC objects. Also, since this method returns a collection, a List of object, the AifCollectionTypeAttribute, in turn is also used to describe the list of objects returned.

If you want to use such a concept, the above is a must. AX 2012 does not offer any flexibility in this regard, and if you don't correctly supply these AifCollectionTypeAttribute tags, the client will shut down on you.

Well that's all for now for this topic. With the above, you should be able to easily work with more complex concepts for Data Contracts in AX 2012. I will continue this mini-series of post, if you will, with taking the above and running it through the SysOperations Framework, and working with the SysPackable interface in AX 2012. That's all for now, till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , ,

AX 2012 Reporting Architecture Model Review



With the release of Microsoft Dynamics AX 2012, so many great improvements have taking. One of these area's that has improved greatly is the reporting model used.

In AX 2009, there were two reporting model options really, the X++ reports, and SSRS reports. The option for SSRS reports however had some limits. For example, sub-reports would not work correctly. Also, the ability to use Query objects as the default datasource was limited by the fact of now being able to do outer joins easily with the Query object designer for MorphX.

This is changed however, AX 2012 has a single reporting model, which it uses SSRS for all reports. Now, let me state it is true the older X++ MorphX reporting model is still technically in AX 2012. It's Only there however for backwards compatibility, and is not meant for supporting new development efforts.

Looking at what we have now, there is a very nice, and straight forward MSDN article, that walks through the reporting Architecture from Menu Item, to Report Viewer rendering of the report data. MSDN: Reporting architecture [AX 2012]



We can see that, in the reporting model for AX 2012, SSRS is at the core of reporting. Also, with the improvements that exists with AX 2012, for example adding the keyword having and it's use within Query objects, as well as the ability to have left and right outer joins, easily setup as part of Query objects, the hurdles that existed for SSRS and AX 2009 are all but gone.

This also means, that those who chose to use a hybrid approach for report design in AX 2009 and SSRS, where as the report design included going straight to the Database, creating a new for duplicate security models, no longer is a need. You should never, ever, ever, ever, ever --- ever go directly to the Databases for anything in AX 2012. (hope that's clear!)

If you did go directly to the database, then my recent article on the use of XDS would break as it would not be applied. In AX 2012, if a user does not have access to a field that is part of a report, and the report is rendered correctly through AX+SSRS, then the data for that field will not appear in the rendered report.

I think this is a huge improvement, and there are some really great MSDN articles as well as video's that cover all kinds of reporting examples with the new Reporting model concepts. This area is for sure right on the marketing tag line of Powerfully Simple, as this is a vast improved area over previous versions of AX.

Well that's all for now, check back soon as we continue to dive into AX 2012, get into more Workflows, Security Model, Neat X++ things, as well as launching a new series this October of post, "Freaky Tech Friday's". Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Friday, September 16, 2011

A Friday Tech Focus on Win8 and Metro



This week, the BUILD conference, Windows 8 was a huge focus. There is all kinds of new things that have come out about Windows 8, including the fact that for Windows 8 Apps to be placed in the Microsoft Store, and to run on ARM based slates / tables, then these apps must be developed with Metro.

This is a focus on the new WinRT, or Windows Run Time. This also means Visual Studio 2011 will be used as it is the IDE for developing Metro apps that target correctly the WinRT for the ARM and x86 chipsets.

To this end, I've created a new LinkedIn group: Metro Developers Group on LinkedIn. I've also registered the new site: MetroDeveloper.net. If your interested in seeing this group grow, become an early member today and start to foster good conversations, topics, and sharing of knowledge.

I write about this, here on IDB, Dynamics AX blog, because this will impact the future UX, and UI for how AX, or better Dynamics ERP. I see this being a big impact for Microsoft Dynamics AX v7.0 that is in development now.

That's all for now, but it's time to get metro focused, for prepping and getting ready for the future with Microsoft Windows 8.

Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Thursday, September 15, 2011

AX 2012 and the use of the new Extensible Data Security Framework



With the release of Microsoft Dynamics AX 2012, we have a new framework in which we can make use of that will allow us to secure data across shared tables. In past versions of Dynamics AX, this was handled with record level security. With AX 2012, record level security still exists actually, but only to support backwards compatibility for upgrades to the latest version.



To help jump start the understanding, and how to develop extensible data security policies using this new framework, Microsoft has released a white paper that talks through the concepts, the ideas and examples for using this new framework to address the needs of such shared table data security requirements.

A direct link to that white paper can be found here.: Microsoft Dynamics AX 2012 White Paper: Developing Extensible Data Security Policies

From the paper:
"The extensible data security framework is a new feature in Microsoft Dynamics® AX 2012 that enables developers and administrators to secure data in shared tables such that users have access to only the part of the table that is allowed by the enforced policy. This feature can be used in conjunction with role-based security (also supported in Microsoft Dynamics AX 2012) to provide more comprehensive security than was possible in the past.

Extensible data security is an evolution of the record-level security (RLS) that was available in earlier versions of Microsoft Dynamics AX. Extensible data security policies, when deployed, are enforced, regardless of whether data is being accessed through the Microsoft Dynamics AX rich client forms, Enterprise Portal webpages, SSRS reports, or .NET Services."


As you can see this is the evolution of the record level security, and offers a lot more than was possible in the past. Looking at this a little bit, we see that the framework is made up of some basic parts.: Constrained Tables, Primary Tables, Policy Queries and finally policy Context.

The basic concept for using the framework is modeling query on the given target, or primary table. Then creating a policy than is constrained against other tables or view objects, and finally setting the context in which the policy is applied.

What's important to note, is right in the very start of this white paper, performance concerns are listed. Rightfully so, as this will add clauses to the WHERE or ON section of a given query against a SQL table. What's also important to understand, that unlike record level security, which does this within the AOS, this is actually targeted at the SQL Server execution level. A great improvement, but anytime the SQL query, or fetching or resultsets is added to on the where, the possibility of affecting performance, purely from the index usage and joins caused, can have wide ranging impacts.

To this end, as part of this white paper there is a section entitled: "Developing efficient extensible data security policies". This section is a must in understanding BP when creating such scope, and how best to avoid performance impacts. The key points to take away from that section, minus the entire amount of information is very important contained within it, is: Use Indexes correctly, and be aware that with the some of the super normalized datasets in AX 2012, complex joins can occur that can have a negative impact on performance.

With all of this pointed out, and stated, Extensible Data Security (XDS) in AX 2012 is very powerful, and like all things, when proper design and planning are in place, this can be a powerful tool, mixed with the new Role Based security that can empower the requirement needs for enabled secured access to shared tables among users.

That's all for now, check back soon as more to come. Till next time!


"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Wednesday, September 14, 2011

Microsoft Dynamics AX Fast TrAX Developer Training



With the release of Microsoft Dynamics AX 2012, in full swing, one topic that everyone is really focused on is training. This major release changes the ERP game at so many levels, and uses more and more of the Microsoft stack than ever before. To this end, it's very important that Partners understand AX 2012, as well as the rest of the Dynamics Community at large.

Well welcome Microsoft Dynamics AX Fast TrAX Training! This is a new offering that was released today on PartnerSource. With that, you need PartnerSource Access and a learning plan to be able to sign up for this training.

There are two offerings for AX Fast TrAX, and one of those is focused at the developer level, is the: Microsoft Dynamics® AX Fast TrAX Developer Training

From the summary:
"Fast TrAX is a foundational training program for new Microsoft Dynamics AX Developers. The focus of the training is to spend 3 weeks in intensive product training based on the developmental aspects of the Microsoft Dynamics AX solution. Focusing on certification preparation in addition to hands on experience through hands on labs will help to build the initial muscle for a successful developer on the Microsoft Dynamics AX solution. This coupled with mentorship within your organization will set our developers on the road to being successful and contributing to your organization’s bottom line. At the completion of the training students will be well on their way to preparation for the Microsoft Dynamics AX certifications."

The current agenda for this three week, intense focus is listed as follows:
Agenda:
Week 1:
-Development I, II and III
-Hands on Labs
-Evening Homework

Week 2:
-Development IV
-SSRS Reporting
-Hands on Labs
-Evening Homework

Week 3:
-Portal Development
-Hands on Labs
-Evening Homework

note: Agenda subject to change

You can be sure that those leading the training efforts will be some of the most knowledgeable professionals on the planet, in regard to Microsoft Dynamics AX 2012. If you are looking for a great chance at diving deep into development with AX 2012, and have the ability to attend an intense three week training session, then this is a must.

The biggest draw back for such an effort, is having the ability to dedicate that much time, all in a row. For partner organizations I would recommend sending someone to this however, and allowing that person to be used as a "train the trainer" focus, and come back to your company and train others within your organization.

That's all for this post, but check back soon as a whole lot more to come. Till next time!



Visit Hillstar Business Intelligence (www.HillstarBI.com) in order to truly unlock your data trapped in your Microsoft Dynamics investment. With our value driven business intelligence strategy Hillstar help you transform into a data informed company.




"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Tuesday, September 13, 2011

Sunrise Technologies Wants You!



I wanted to take the time this evening, and do a post, pointing out that the wonderful VAR I call my professional home, Sunrise Technologies (www.sunriseconsult.com) is looking for very talented AX professionals to join our team. We are a very active VAR, focused on Microsoft Dynamics AX and all aspects that surround the Microsoft award winning ERP platform.

Sunrise is a debt free company, that does not answer to a single VC, and the company is the people. It's not some building, some logo, or some location. It's all the wonderful people that make up the company. I've been with Sunrise, for over half a decade now, and I consider it one of the best professional choices of my career.

The line of work we are in is not easy, it's hard, and it's all about driving business value for our customers. If you think your up to it, then look at the following positions, in which we have many of each open.

-Senior Technical Architect - Apply Now:

-Financial Consultant - Apply Now:

-Supply Chain Consultant - Apply Now:

When applying for one of these awesome positions, make sure to let Sunrise know you found out through this blog entry.

As I stated above, I believe personally it was one of the best professional choices I could have ever made. We are a very focused group, with great leadership that is always open to hearing from it's employee's.

That's all for now, check back soon, as more to come! Till Next time!



"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , ,


Copyright 2005-2011, J. Brandon George - All rights Reserved