WINDOWS Live Search

To contact me for any clarifications regarding any posts / information, please mail me at arijit [dot] basu [at] gmail [dot] com


Wednesday, October 21, 2009

SQL Database Performance Monitoring- Nice Tool

"There is some problem with the database server..." is a very common term I hear often from clients who face performance related issue with AX. Well database tuning is very important and impacts performance but is not the only thing that needs to be looked. Some other things are:




Recently I was investigating some DB related issue by using SQL Native tools like DMV's, Activity Monitor, DTA etc and also looking for some other utilities which would provide some dashboard view of the AX Database and hit upon a nice tool 'SQL Sentry'.
I decided to take it for a spin on the AX 2009 database and the results were kind of impressive. The Performance Advisor for SQL Server Dashboard and the Disk Activity were nice. Really gives a nice overview to the DB Admin for monitoring and troubleshooting. Nice tool to complement with the native SQL Server tools. Attaching some screenshots I did on AX and SQL Sentry. Basically I had the test data in AX 2009 and ran some resource intensive tasks like Master Scheduling, Multiline journal posting and monitored them using this tool and was pretty impressed with the output. The counters are nice and highly informative(DISK IO).
Activity Dashboard:

Disk Activity:

You may like to take it for a spin :)
Happy DAX-ing

Monday, October 12, 2009

SharePoint 2007 on Windows Server 2008 R2

An interesting post by a fellow MVP Michael Nemtsev [MVP, Web Developer and SharePoint Consultant based in Sydney, Australia.] regarding MOSS 2007 & WIN 2008 R2. Definitely a reference if you want to install & configure EP on WIN 2008 R2.
Click here to read.

Friday, October 9, 2009

Dynamics AX, BING & Language Translation

I was doing some R & D on BING API (Search & Translate) and hit upon the idea of data translation in AX using BING Translate services. Presently when a user changes the AX Language, the Labels change but data does not. It would be nice if this data could also change based on the language change. To do a simple POC, I did some R&D as follows:
1. Create a .NET APP which would consume the BING Translate API to translate text. The simple UI is as follows and works great :-)

2. Replicate this feature inside AX to translate a text inside AX using the BING API and add it as a WS reference . The POC worked and it the simple UI I created is as follows:

3. Now inside AX, create a form and a tmp table and use the API to translate data on the form. I have created a simple UI with 2 Buttons for 2 languages (en) & (ar). When I press the (en) button, the data is displayed in English and when I press (ar) the data is shown in Arabic. I have used a simple Customer Table query for an example. The Screenshot shows the same form side by side with different data translated :)

Comparison...


This obviously is not related to day to day work but just an idea which hit me and I just wanted to explore whether it works. Definitely to achieve this in real life would require architectural changes. Something similar to the UTC DateTime features where the DateTIme is stored in UTC in DB and the AU UI changes based on User settings. ence this POC is just to explore data translation possibilities only. The POC has worked :) and I'm sharing this as is. For creating new data I id not consider, just view. Again this was for some good fun.
To use the BING Apps, you need to create an APP id. Some important reference URL's are:
BING Developer Centre:
http://www.bing.com/developers
Search WSDL for BING : http://api.bing.net/search.wsdl
Translation API for BING : http://api.microsofttranslator.com/V1/SOAP.svc
BING DEV App id: http://www.bing.com/developers/appids.aspx
Steps:
1. Add the WS (
http://api.microsofttranslator.com/V1/SOAP.svc) inside References Node:
2. Sample Code
Static Server Str TranslateData(Str _text = "")
{
Translation.LanguageServiceClient ls;
Str AppId = "Your BING APP ID";
Str FromL="en",ToL="ar",SourceText="";
Str Lang[];
Str Value="";
try
{
new InteropPermission(InteropKind::ClrInterop).assert();
ls = new Translation.LanguageServiceClient();
//ls.GetLanguages(AppId);
Value = ls.Translate(AppId,_text,FromL,ToL);
CodeAccessPermission::revertAssert();
}
catch(Exception::CLRError)
{
throw error(AifUtil::getClrErrorMessage());
}
Return Value;
}
This POC was created just for some serious fun :) . To be taken on the lighter side :)


Click here to see a real implementation of my experiment. This site is in Spanish. Im really happy :-)

Thursday, October 8, 2009

Microsoft Dynamics Salary Survey 2009

A Dynamics Salary Survey from NIGEL FRANK.
===========================================

Nigel Frank International would like to invite you to complete what is to be our annual survey of Microsoft Dynamics salaries worldwide. The survey will only take a couple of minutes to complete and your response and any personal details will be kept strictly confidential. The survey is available in the following languages for your convenience; English, German, French, Dutch, Danish, Spanish, Italian, Norwegian, and Finnish. As a thank-you for your contribution we will send you a PDF report of the results once they have been compiled. This will give you an insight into the salaries, opinions and demographics of your Microsoft Dynamics counterparts worldwide. Please find a link to the Microsoft Dynamics Salary Survey 2009 below:

Microsoft Dynamics Salary Survey 2009

Your response will be greatly appreciated and will help to give everyone in the Microsoft Dynamics community a greater understanding of their profession.

Thursday, September 24, 2009

Interview on DynamicsWorld UK

I had been extremely busy since the last few weeks due to multiple personal & official engagements. However I had a little time to respond to an interview by DynamicsWorld UK.
Click here to read it :)

Sunday, August 9, 2009

Microsoft Dynamics AX 2009 Quick reference Guide

Hi all, the new Microsoft Dynamics AX 2009 Quick reference guide is a nice brochure showcasing the modules and features of AX 2009. Nice to distribute to Customers & Partners.

Click on the link below to download.

Thursday, July 30, 2009

Managing Lean Manufacturing using Microsoft Dynamics AX 2009

Scott Hamilton is back again with his new book 'Managing Lean Manufacturing with Microsoft Dynamics AX '.

Book Summary

An integrated supply chain management (SCM) system represents a critical success factor for effective implementation of lean manufacturing. The software functionality must be able to manage variations in lean scenarios as well as changes associated with continuous improvement efforts and the maturity stages of lean manufacturing.

This book explains the software functionality to support lean manufacturing scenarios, as defined by functionality within the latest release of Microsoft Dynamics AX 2009. It also covers the traditional approaches to these same scenarios. It explains the incremental conceptual differences between the lean and traditional approaches, and helps those readers with a traditional SCM/ERP background to understand the new vocabulary and conceptual models. The targeted reader includes those individuals implementing or considering Dynamics AX to support their lean manufacturing initiatives, as well as those providing sales and implementation services.

Click on the image below to pre order from Amazon.

Wednesday, July 8, 2009

AX Email & URL Validation

All of you are aware that Standard AX does not carry out any validations on EMail addresses and URL's present in the contact details of BR/Cust/vend etc. However sometimes it becomes necessary to validate EMail addresses when they are entered in AX [DirECommunicationAddress] table. I was involved in a AX CRM implementation where it was required to validate email id's of contacts, BR when they are entered. Well if you consider the email validation piece, there are 2 parts:
1. Check if the EMail address is well formed
2. Check whether the well formed EMail id is valid.
For checking well formedness, you can use Regex (shown in this example) and for online validation of these emails, you can use any of the online email validation tools/ web services. For using online email validation web services, you can refer the whitepaper on 'Consuming external Web Services' by Helmut Wimmer
Well as for checking Well formedness, I created a small demo which validates email id's using regex:). The code is as below and is pretty simple. In this example I have used regex to validate email id's and URL's. The sample project is also attached as a download.


The small tool looks like this. There is a class in the project file which has 2 static methods that validates the input email/ url parameters using regex. You can change the regex match pattern.


The XPO and a small video is available for download below.

Well the main trick is to ensure that all emails entered in AX is validated, so just go ahead and check the method '\Data Dictionary\Maps\DirECommunicationMap\Methods\initCommInfoFromDirParty()'
You can extend the same to this method also and if you want have an online validation here as well.
Happy DAX-ing :-)

Friday, July 3, 2009

AX EP Role Centre inside Outlook [Short n Sweet :)]

I was just playing around with Outlook and AX trying to see see if the Role centre could be got into outlook as a default homepage. Well the simple way is to add the EP link as the defailt homepage , but it didnt look to good , with the menu etc. However if you append '&RUNONCLIENT=1' at the end on the EP RC URL, the menu's get chopped off and you see the Role centre real cool. Say if the URL is 'http://arijit:150/sites/DynamicsAx/Enterprise%20Portal/RoleCenterCEO.aspx?WCMP=CEU' then append '&RUNONCLIENT=1' at the end of the url [http://arijit:150/sites/DynamicsAx/Enterprise%20Portal/RoleCenterCEO.aspx?WCMP=CEU&RUNONCLIENT=1] and the heads of the MOSS/WSS site get chopped off. Pretty kool. See the screenshot below from my Outlook default homepage with AX CEO RC :)



Happy DAXing :-)

Wednesday, July 1, 2009

AX Intelligent Data Management Tool : Inside look

After a few hitches I've managed finally to get the IDMF started up and running and the results are pretty nice. One prerequisite is that you must have XRef done on your DB (Production :-(). Also during the post install steps watch out for the windows application log coz that goes full and you have to clean it up. However after you complete the post install steps and have executed the batches, the results are nice. To avoid the XRef* tables occupy the top tables in terms of rows and size, do not run the full XRef, just XRef the data model. Here are some screens (Done on AX 2009 SP1; WIN 2003 R2SP2,SQL 2008 ENT).

Analysis Dashboard:
Dashboard Closeup:

Analysis Details:

Data Purging (Visual XRef):

The IDM is not for Production use and should be only used in a Sandbox/ Dev environment. This is a Pre Release version . The Production build will have some more features :) like application log control...
Happy DAXING :)