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.