Microsoft Great Plains – Marriage between GP Web Client & Microsoft Azure

Snip20150121_5

So here we go, after we have gone through a months of nightmares, here are some of the guideline for how to deploy GP 2015 web client on Microsoft Azure platform. The test starts with GP 2013…and ended up 2015. Now its working satisfactory…

History of an ERP system

The Dynamics GP product was originally developed by Great Plains Software, an independent company located in Fargo, North Dakota, which was run by Doug Burgum. Dynamics Release 1.0 was released in February 1993. In late 2000, Microsoft announced the purchase of Great Plains Software for $1.1 billion. This acquisition was completed in April 2001.

Snip20150120_1

August 2014: Now that we plan to start migrating from GP 2013 Web Client, we got an idea for moving our ON-PREM server to a proper DR site….to dream this solution; its beautiful…to implement, its a pain…

Microsoft Azure came into picture…its not just that, we have no guideline for how to slice and dice this environment to host Microsoft GP from Azure….along with Microsoft CRM Online integration. i did ask our GP community to help me..but no reply

Its a major task….and our nightmare starts….Team Spirit at its best Myself, Vaidy and Shiyas discussed our plan and submit to our Executive Director Jimmy @ Elcome International, who is there for all the help…approved our plan to go ahead.

Snip20150121_2

Planning checklist started….

  • All the Crystal reports to be converted to SSRS reports
  • Get ready to go with existing GP code to be compatible with GP desktop/web client
  • CRM should be Microsoft Online CRM
  • ERP has to be there at Microsoft Azure
  • Azure VM needs to setup…..
  • Integration between our online CRM & Microsoft GP using Scribe
  • Instead of Terminal session, use Remote Apps.
  • DNS propagation and IIS/Certificate installation
  • User training and new environment adaptation…
  • Discuss any other technical glitch for moving our critical business application cloud go-live on halt…
    • there you go….
    • Once we move our server to cloud…we are totally depend on our ISP internet connection. We have only one internet connection, 100Mpbs. Once this is down, our business halt….so we need another internet connection., that also from a different switch/route from ISP. The reason is because if the one network is down, the other network will server the purpose. What if whole internet is down? We have planned for a 4G modem route; also from 2 ISP data SIM….If this is also down, We have a backup link from Satellite to serve the purpose…but this is the last option.

So lets start moving our PAWN….boarder has been drawn…deadline has been set….

First thing first….Azure slice…We have done quite a lot of mistakes, while provisioning the SQL server…below was the primary configuration we deployed. (This was done, when Remote App @ Azure is still under preview)

  • What machines did you select, who did the sizing for you.
    • SQL Server Azure Machine Type: A7, 8core, 56GB RAM
  • Server Configuration Window Server 2012 R2 64bit with SQL 2104
    • Terminal Server (For users to access GP Client): Azure Machine Type: A7, 8core, 56GB RAM
    • Fresh Installation on Azure: ZONE: East Asia
  • How did we deploy your instances.
    • Details as mentioned above
    • Sizing: There are no documet support received from Microsoft/Partner, at this stage, so we did it ourself
    • We have raised the questions to different product blog platform from Microsoft and no response so far
  • What are the total concurrent number of users for each?
  • Terminal Server users: 40
  • Great Plains users: 60

Build number at the time of this test (September 2014): GP 2013 R2 – 12.00.1745

Testing started….

Connecting to the server took a very long time from Web Client. Rendering issues of each window…Lookup issues

Done an installation of windows client as in Dynamics GP client on-premise, then we did a testing with Dynamics GP client installed on 4 machines on-premise. These clients connected to Azure ERP (database) server. Below were the observations:

  1. Performance in terms of transactions lookup and entry was slower than Azure Terminal Server setup.
  2. Posting transactions took more time than desired.
  3. Windows rendering was not bad like it was in Azure TS setup, but field to field traverse within a window took a bit longer than on-premise TS and Azure TS setup.

October 2014: Testing still in progress and we have moved multiple scenario as to

  • Web client only – 40 users from different region
  • Web Client and GP desktop client – 20 users from the office only

Still no sign of user experience improvement…we have decided to call Microsoft Centre of Expertise for help….

Performance issues may occur because of the Datacenters latency.  This link will help you identify the latency and what is the closest datacenter to your location.

November 2014:

they are in…..done couple of testings on the existing scenario…

OUR LEARNING CURVE….with them

Best practice to consider while doing SQL server provisioning on Microsoft Azure… (I’m considering here only my region..each admin should consider their region when it comes to azure regional datacenter selection)

s1

So here are the facts, which needs to be taken care while provisioning the SQL server on Azure for ERP data platform. Click here to read.

Monday, November 24, 2014

As per our tests today we can conclude the following:

  1. Performance is good with 1 and 6 users test.
  2. Posting, rendering and loading are Ok
  3. No bottlenecks noticed on the RS and SQL machine in terms of Memory and Processor
  4. We noticed higher activity related to the Network and Disk I/O’s which also was in the normal range
  5. Also Nearest DC is East Asia and latency is within accepted range
  6. System is configured properly.
  7. We also found that A7 may not be needed as there are a lot of unused resources.

Based on that we discussed and agreed on the following action plan

  1. We will do another test with 30 users and will monitor the RS and SQL Server.
  2. Depending on the resource consumption we will create an A4 machine as another RDS in the same cloud service and will do another 30 users test
  3. Based on the performance results and resource consumption we will decide to use which machine.

Thursday, December 4, 2014: As per our Second round test we conclude the following

  1. Performance related to the RDS and Latency is Ok
  2. We faced 1 user latency issue and we have tested the same user from another machine and it was Ok, so I assume that this is a machine specific issue.
  3. Transaction posting, Fields lookup and populating is Ok
  4. We found out that 1 Transaction with average 50 lines was posted in around 8 minutes which is not acceptable related to previous experience and we agreed that you will perform some database maintenance checks (DBCC, Index and Update statistics) on Sunday and retest the high volume postings noting that we didn’t find any unusual bottle necks in SQL during the posting process.

Following are the observations after running DBCC checks and updates:

  • DBCC CHECKDB returned no errors on both DYNAMICS (app database) and ELDB (GP company database)
  • With GP2013, DBCC REINDEX script (to run for multiple tables) is not provided as it is configured directly on SQL.
  • “Auto Create Statistics” and “Auto Update Statistics” are also setup on both databases by default.

I then posted a GRN with 347 line items and it took exactly 7 minutes (8 minutes less than our previous testing AND 3 minutes more than on-premise). Please note that no other user(s) had logged on when I posted this transaction.

We now should consider in line with Expertise that  we can be aligned, that simulate a production scenario go with 3 servers A7 SQL, A4 RDS and A4-A5 for your web components. Please note that A5 is 2 cores and 14 GB of RAM based on the test result we may need to increase the cores but for now we can start by this configurations and see.

  • A4 machine Scenario is good and CPU average usage is way far from the A5 machine
  • We noticed that the antimalware extension installing is hanging do we removed it from the SQL Server machine and will restart it
  • For the RDS machine it will remain as it is till we finalize the Web client stress test
  • We noticed a list form that freeze, this can be due to IE temporary files and cache.
  • We cleared the cache, also we lowered the settings for the trusted zone to medium-low and installed the trusted cert from Web client and we retested the issue, it was gone.
  • From a common-best practice users can do a more filtered lookups if possible and try to minimize the scroll to end in one click to maintain the buffer for running any form related script smoothly.

Next Actions

  • We need to stress test the web server.
  • Conclude the outcome.
  • After Removing the Extension installation and restarting the SQL Server, it returned to normal
  • The Web Server had no bottle necks
  • Some of the users faced some screen freezing when they scrolled from top to bottom and vice versa quickly. (User behaviour issue)

The following are some notes regarding Internet explorer and user behaviour

  • Only Windows 8 and IE 10 are supported with GP2013, Windows 8.1 and IE 11 are supported with GP 2015
  • It is recommended to Adjust IE settings by Emptying the IE temporary files, Lower the security settings to medium low in the trusted sites and adding the Web Server URL to the trusted sites, installing the security add on prompted by the GP web Client(May require local admin privilege), update your Silverlight.
  • The most important thing is to educate the user of the face that this should happen if the user doesn’t follow the common practice.

Microsoft Dynamics GP 2015, Web Client both became available to Dynamics Partners/Customers from December 2014…With this deployment, this is clearing a lot of issue what we face on GP 2013 web client….So another task…replace with GP 2015

Today…Sunday, December 28, 2014

 

Snip20150121_1

So now we have come to a conclusion for how to go ahead further…..

  • Backup line is up….trying to find a device to manage multiple VPN…Cradle Point?…till then TMG
  • Few users computer needs to upgrade
  • Going for a Hybrid approach…meaning GP 2015 Web Client and GP Remote Apps (reason for this remote apps is because Analytical accounting is not supported by Web Client)

Now we start getting another issue….

While trying to access our SSRS reports from within GP 2015 web client, using Internet Explorer 10, we are receiving a critical error titled “AsyncCallBackException”. Reports are invoked programmatically using “URL Access” method and authentication is happening within same domain.

DETAILS:

We have written a plugin to invoke our SSRS reports from within GP 2015 web client. Function that we use is as follows:

  • Dynamics.Forms.SyVisualStudioHelper.Functions.DexUtilityLaunchUrl.Invoke(sReportName);
  • URL is constructed by using URL Access method by directly calling SSRS Report Server report path.
  • Report is getting generated without any issues. But once we close the browser that rendered the report, following series of errors are received:

n1

n2

If we close our browser and reconnect to the session, we retain some of the errors OR some functionalities such as Lookup button, tabbing out, etc. do not work.

Kindly note that any other website could be launched with the same without any issues. There is a GP forum post which is exactly the same issue, but no resolution is posted out there:

The funny part is that GP 2015 web client works well with Google Chrome browser….we did not expect that coming…but IE issue remains same

Snip20150121_3

Severity: Critical

Summary: An AsyncCallback threw an exception.

Details:

System.Exception: An AsyncCallback threw an exception. —> System.Exception: An AsyncCallback threw an exception. —> System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. —> System.Net.WebException: The remote server returned an error: NotFound. —> System.Net.WebException: The remote server returned an error: NotFound.

at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)

at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)

at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)

— End of inner exception stack trace —

at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)

at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)

— End of inner exception stack trace —

at System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object[] args)

at proxy_2.EndGetDexServerMessages(IAsyncResult )

at Microsoft.Dynamics.GP.Web.Silverlight.Services.RuntimeHandler.ProcessServerMessagesCallback(IAsyncResult result)

at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)

— End of inner exception stack trace —

at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)

at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishSend(IAsyncResult result, Boolean completedSynchronously)

at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.SendCallback(IAsyncResult result)

at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)

— End of inner exception stack trace —

at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)

at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.OnGetResponse(IAsyncResult result)

at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass19.<InvokeGetResponseCallback>b__17(Object state2)

at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()

at System.Threading.ThreadPoolWorkQueue.Dispatch()

at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Severity: Critical

Summary: The remote server returned an error: NotFound.

Details:

System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. —> System.Net.WebException: The remote server returned an error: NotFound. —> System.Net.WebException: The remote server returned an error: NotFound.

at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)

at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)

at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)

— End of inner exception stack trace —

at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)

at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)

— End of inner exception stack trace —

at System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object[] args)

at proxy_2.EndProcessDexClientMessages(IAsyncResult )

at Microsoft.Dynamics.GP.Web.Silverlight.Services.RuntimeHandler.<>c__DisplayClass2.<ProcessClientMessages>b__1(IRuntimeService channel)

at Microsoft.Dynamics.GP.Web.Silverlight.Services.RuntimeHandler.InvokeCallWithMessageHeaders(Action`1 a)

at Microsoft.Dynamics.GP.Web.Silverlight.Services.RuntimeHandler.ProcessClientMessages(Byte[] data)

at Microsoft.Dynamics.GP.Web.Silverlight.MessageManagementService.FlushQueueWorker_DoWork(Object sender, DoWorkEventArgs e)

Severity: Critical

Summary: Object reference not set to an instance of an object.

Details:

System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.Dynamics.GP.Web.Silverlight.Momm.CommandMessageActions.CommandAddChild(IWCDexMessage message)

at Microsoft.Dynamics.GP.Web.Silverlight.MessageManagementService.ProcessMessage(IWCDexMessage message)

at Microsoft.Dynamics.GP.Web.Silverlight.MessageManagementService.ProcessMessages(IEnumerable`1 messages)

at Microsoft.Dynamics.GP.Web.Silverlight.MessageManagementService.<>c__DisplayClass1f.<ProcessReturnBytes>b__1d()

at Microsoft.Dynamics.GP.Web.Silverlight.Extensions.ApplicationHelper.<>c__DisplayClass7.<ExecuteOnUIThreadSync>b__3()

This issue is still doing the test with Microsoft…till then i will stick to Google Chrome browser.

So far so good… learned a lot with this deployment….

No my GP 2015 is now serving from Azure cloud to all our users…Finance/Accounts users, they are using GP 2015 desktop client.

Snip20150121_4

This document will keep on updating with more and more solutions, as and when we cleared. 

Internet Explorer 11 – Preview

Snip20130921_1

Internet Explorer 11 Release Preview is a prerelease version of Internet Explorer 11. It includes enhancements to browsing performance, and better protections for your PC and your privacy. Here’s your chance to be one of the first to try out the preview. We’ll use your feedback to make the final product even better.

Click here to get it

Windows 8 Release Preview

It’s Windows reimagined and reinvented from a solid core of Windows 7 speed and reliability. It’s an all-new touch interface. It’s a new Windows for new devices.

Windows 8 Release Preview: Frequently asked questions…click here

Metro Style apps development….click here

The Windows 8 Release Preview & Windows Upgrade…click here

Product guide…click here

Internet explorer 10 – Built for speed, Internet Explorer brings you a faster web…click here

Your apps light up with connections to your friends and family. Info from the services you connect to—Hotmail, Messenger, Facebook, Twitter, LinkedIn, and more—appears right inside the Mail, Messaging, and People apps…click here to know more

Experiencing O365 platform with Microsoft online service

We are now experiencing the O365 environment to our domain…i should tell you that “beauty lies beneath the platform”…more to explore

Built to deliver the enterprise-grade security and reliability that businesses require, Microsoft Exchange Online provides hosted email, calendar and contacts on your PC, phone and web browser.

  • Built-in anti-virus and antispam filters protect your information and help you focus on what’s most important
  • Mobile sync to hundreds of devices means you can access and update your info while on the go
  • 99.9% uptime commitment with financially-backed SLA
  • For a total of $5 per user per month, you control a rich hosted Exchangeenvironment with 25 GB mailboxes for every user without having to manage a server.
    • Data is hosted in geographically-distributed datacenters with continuous data backup and premiere disaster recovery capabilities
    • A team of security experts monitors Exchange Online around the clock and updates anti-virus and spam filters to address new threats as soon as they appear
    • Automatic patching eliminates the time and effort of maintaining and servicing your email system
    • An easy-to-use Web interface lets you manage your online environment from anywhere
  • Live phone support 24 hours a day, 7 days a week, 365 days a year
  • Large, 25 GB mailboxes are standard for every user so they can access all essential information in one place
  • Seamless integration with Outlook so your users can enjoy a rich, familiar email experience and offline access
  • Calendar sharing allows users to see free/busy information with colleagues, even if they work at another company
  • Email archiving, eDiscovery Search, retention policies, and optional legal hold help preserve and discover data
  • Security policies let you create approved mobile device lists, enforce PIN lock, and remotely wipe data from lost phones
  • Free tools for migrating IMAP and Exchange Server mailbox data to Exchange Online
  • Beauty of FOPE..Forefront Online Protection for Exchange integration and management through browser.

Here is the plan…and if you need more, go to O365 Home Site and for UAE users, go to O365 UAE plan

Enjoy!!!

Nokia Lumia 800 – First Windows Phone 7.5

I Really Love it!!!

The Nokia Lumia 800 with Windows Phone is the first Nokia smartphone to have Windows Phone 7.5. Its beautiful design is a head-turner. Simpler social networking keeps you connected to those who matter. Internet Explorer 9 gives you quicker browsing – plus the web like it is on your PC. And with a Carl Zeiss lens and 8-megapixel camera, you’ll shoot better photos and video.

Lumia 800 is a “refinement” of the N9 – Seamless design: Curved 3.7″ AMOLED ClearBlack glass touchscreen display seamlessly integrated into a smooth one-piece body…People Hub: Facebook, Twitter, LinkedIn, email, Chat, SMS…Browser: Bing, Internet Explorer 9, HTML5, Wi-Fi…Camera: 8 MP Auto Focus with Carl Zeiss Optics, 2x LED Flash and HD Video

Extra features

  • Micro SIM
  • Nokia Maps
  • Bing Maps
  • Flight Mode
  • Nokia Drive
  • Nokia Music
  • 2 Microphones
  • 3D Accelerometer
  • Proximity sensor
  • Ambient light sensor
  • Application Highlights
  • Nokia Contacts Transfer
  • Compass (Magnetometer Sensor

Operating band

  • GSM 850
  • GSM 900
  • GSM 1800
  • GSM 1900
  • WCDMA Band V (850)
  • WCDMA Band I (2100)
  • WCDMA Band II (1900)
  • WCDMA Band VIII (900)

Reviews like it has a slightly smaller screen due to the intrusion of the Windows Phone Button, only 512 MB RAM, only 16GB onboard storage, No NFC etc etc etc

But rumours that Nokia is working on Windows Phone 8 – (aka Apollo)!!!

IE 10 – Windows developer preview

With the new IE10 engine included in the Windows Developer Preview, developers can work with more HTML5 technologies to build touch-friendly and beautiful interactive Web applications. With this update, IE10 includes support for touch-friendly sites to use many new technologies:

  • Rich Visual Effects: CSS Text Shadow, CSS 3D Transforms, CSS3 Transitions and Animations, CSS3 Gradient, SVG Filter Effects
  • Sophisticated Page Layouts: CSS3 for publication quality page layouts and application UI (CSS3 grid, flexbox, multi-column, positioned floats, regions, and hyphenation), HTML5 Forms, input controls, and validation
  • Enhanced Web Programming Model: Better offline applications through local storage with IndexedDB and the HTML5 Application Cache; Web Sockets, HTML5 History, Async scripts, HTML5 File APIs, HTML5 Drag-drop, HTML5 Sandboxing, Web workers, ES5 Strict mode support.

To download the Windows developer preview to experience IE10 from Microsoft Connect, Click here

IE Blog…click here

Internet Explorer 10 Platform Preview 3 video overview on Windows 8 ..Click here

Enjoy!!!

Microsoft Windows Phone – Previews of Next Release

In my previous blog i mentioned that  today May 25th, 2011, As promised, Microsoft intends to unveil a more detailed and full roadmap for the Windows Phone 7 mobile line. Yesterday, Microsoft previewed the next major release of Windows Phone, code-named “Mango,” through a series of media events around the world. “Mango” will deliver more than 500 new features to push the boundaries of the smartphone experience around communications, apps and the Internet. The “Mango” release will be available for free to Windows Phone 7 customers and is scheduled to ship on new phones beginning this fall. More details on device update timing will be provided closer to availability. Windows Phone will also add support for additional languages, expand access to apps by launching Windows Phone Marketplace in new countries, and partner with new OEMs to enable expansion to new markets.

This release include features such as

  • Threads: Switch between text, Facebook chat and Windows Live Messenger within the same conversation.
  • Groups: Group contacts into personalized Live Tiles to see the latest status updates right from the Start Screen and quickly send a text, email or IM to the whole group.
  • Deeper social network integration: Twitter and LinkedIn feeds are now integrated into contact cards, and “Mango” includes built-in Facebook check-ins and new face detection software that makes it easier to quickly tag photos and post to the Web.
  • Linked inbox: See multiple email accounts in one linked inbox. Conversations are organized to make it easy to stay on top of the latest mail.
  • Hands-free messaging: Built-in voice-to-text and text-to-voice support enables hands-free texting or chatting.

More information about this release, read the press release from Microsoft News Center.

Enjoy!!!

SmartScreen® Application Reputation in IE9

One out of every 14 programs downloaded is malware, Microsoft reported in a blog post on Wednesday.  Application Reputation mechanism in Internet Explorer 9, Microsoft noted that IE blocks between 2 and 5 million attacks a day for IE8 and IE9 customers…PC Magazine has more news on this. Social-engineering attacks, like tricking a user into running a malicious program, are far more common than attacks on security vulnerabilities. Application Reputation  in IE9 helps protect users from these socially engineered malware attacks. Please click here to read this article from MSDN blog

Microsoft Dynamics GP “12” Web Client Architecture

The Web Client is the full GP application delivered through the Web. The key pieces to be delivered will be the core application components, ISV dictionaries, and in-house customizations – Dexterity customizations. At the
core of the web client is the UI update which will feature new homepage tiles, ribbons and tabs. Microsoft expects that UI performance will rival that of Terminal Server or better. Web Client to be introduced with codename GP “12. To know more about Microsoft Dynamics GP webclient, Mariano Gomez had an interest article to explain it. Click here to know more. To know more about the Rendering Engine, click here.

To know more about Silver light architecture, click here

Internet Explorer 9 Officially Released (Not For XP Users)

Microsoft has officially released Internet Explorer 9. Not a beta, not a release candidate, but the real deal. You’ll recall that a Mozilla rep had already spoken out against it a few weeks ago, saying that it was not a “modern browser.” GPU acceleration and a fancy new user interface would suggest otherwise, but there’s no need to get into a browser fight. Use what you like, I say. One of the big features of Internet Explorer 9 is the lack of Windows XP support. It’s a bold move, considering how many people still run that ancient operating system. (If XP still works for you then by all means enjoy yourself, but do you really expect Microsoft to continue to support a 10-year-old OS? Also the browser’s platform preview requires Direct2D, an API available only with  Windows 7, Windows Vista, and Windows Server 2008. IE9 uses Direct2D to hardware-accelerate HTML5-based scrolling and 3D graphics, handing such processing to the machine’s GPU. Direct2D was introduced with Windows 7, and it was later rolled into Windows Vista SP2 and Windows Server
2008 R2.

According to the team, Windows XP users have a fast, safe, reliable and private browser in Internet Explorer 8,” company representatives said in an emailed statement. “As the Web has continued to change in everything from security to the future HTML5 applications developers are starting to build today, browsers should require the modern graphics and security infrastructure that has come along since 2001. Internet Explorer 9 requires the modern graphics and security underpinnings that have come since 2001, and is intended to be run on a modern operating system in order to build on the latest hardware and operating system innovations.”

Also for your information, read this too Windows XP End Of Support