Saturday, June 23, 2012

I hope everyone had a great and productive week. Well, now it is Saturday and I'm writing this article on my way to Mexico, where my family and I are going to enjoy 9 days of beautiful beaches and adventures.

And the word adventure brings me to this topic. What is the cloud? I think we have heard this word a million times by now, and yet most of us are still wondering how this new technological adventure is going change the way we do business. Before we dig further into how does cloud computing work, first let’s understand what the term “cloud“ refers to.

﻿

We can all agree that the concept of the cloud has been around for a long time in many different incarnations in the business world. It mostly means a grid of computers serving as a service-oriented architecture to deliver software and data. Further, cloud computing has been changing how most people use the web and how they store their files. We can clearly see a few examples with sites like Facebook, Amazon and Twitter and the core that allows us to take advantage of services like Google Docs and Gmail. But again, the idea is clear and we know the stuff are out there, but how does it work?

﻿

So, most websites and server-based applications run on particular computers or servers, right? What differentiates the cloud from the way those are set up is that the cloud utilizes the resources from the computers as a collective virtual computer, where the applications can run independently from particular computer or server configurations.

They are basically floating around in a “cloud of resources”, making the hardware less important to how the applications work. Further, with broadband internet, the need to have the software run on your computer or on a company’s site is becoming less and less essential. A lot of the software that people use nowadays are completely web-based. The cloud takes advantage of that to bring it to the next level.

Now let's take a simple example; If you are hosting your website on a local server or from your PC, you must usually select a particular operating system (Windows/Linux/Mac), to determine what software you can run on that particular server. If your site is being hosted in the cloud, there is no need to do that. You can run Windows and Linux programs side by side.

Further, to understand how does cloud computing work, imagine that the cloud consists of layers, mostly the back-end layers and the front-end or user-end layers. The front-end layers are the ones you see and interact with. When you access your email on Gmail for example, you are using software running on the front-end of a cloud. The same is true when you access your Facebook account. The back-end consists of the hardware and the software architecture that fuels the interface you see on the front end.

Because the computers are set up to work together, the applications can take advantage of all that computing power as if they were running on one particular machine. In addition, cloud computing also allows for a lot of flexibility because depending on the demand, you can increase how much of the cloud resources you use without the need for assigning specific hardware for the job, or just reduce the amount of resources assigned to you when they are not necessary.

So now that we know how it works, the next big question is if the cloud will change the way we use computers. At this point I just picture you, my reader, saying .. YES! And you are right, the transition from being very personal hardware dependentto a world where resources are shared among the masses is creeping up on us slowly and unobtrusively. In fact, many people have already transitioned to using a cloud environment for most of their time in front of the computer without even realizing it.

Now do you think that there problems with this concept? I personally believe that there are a few. If for some reason your internet goes down, your access to your data also disappears. There are security concerns with the data and the risk that companies will use proprietary formats for the files and that require that you pay for a certain service monthly or you may lose access to your own data permanently.

For business this is trickier as they have to (1) cut costs, and (2) improve response in many layers within the organization. So, a cloud base solution could be cheap and efficient, but at the same time risky as data could not be accessed at some point in time. Would you or your business move to a cloud base architecture?

That's all for now folks. Stay tune for more to come in AX for Retail, Windows 8, and Cloud services.

Wednesday, June 20, 2012

I will start working on a personal project in a few weeks creating a Microsoft Dynamics AX Resources App for Windows 8. The App will mostly have content useful for development and configuration.

It is my intention to add some videos at some point, but at the beginning the App will only have written material. Also, its navigation will contain categories i.e. Development/AOT/Create a Base Enum.

I was hoping if you could give me some feedback on how do you see an App for Windows 8 that could have useful information about AX (Best Practices, Development, Configuration of modules, DB configuration, etc) at your finger tips.

What kind of material would you like to see?

Do you think videos would be helpful? If so, what kind of videos would you like to see?

In terms of navigation, what would be your dream navigation app?

Would you like to have a favorites section?

Would you like to share what you find interesting with other colleagues?

Friday, June 15, 2012

Brandon George posted a great article about a free e-book introducing Windows Server 2012. He explains the business needs for Windows Server 2012 and its relationships with the Hybrid Cloud.

From the post:

"This is a very important topic to understand, for a lot of different reason's that are highlighted in the above chapter notes. Windows Server 2012 will be a foundation piece or layer, that true Hybrid Clouds will be enabled via."

I personally thanks Brandon for promoting these technologies that will help us stay ahead in our careers. Please go to his blog here to download this great material.

Thursday, June 14, 2012

I hope that everybody is having a great week. It’s almost Friday and I’m sure we are all looking forward for a restful and fun weekend.

On this post I would like to focus a bit more on a functional portion of AX 2012 Retail. This week I was working on some customization in AX 2012 Retail that required the posting of POS transactionsfrom AX 2012 Retail.

However, before posting the POS transactional data in AX 2012 retail, we need tocreate a Statement. The Statement records will be stored in theRETAILSTATEMENTTABLE, and the statement data will be used during the posting process.

In order to have transactional data in AX 2012 Retail we need to run a Job that does this for us. You can find the job inRetail/Periodic/Retail Scheduler/Distribution Schedule.

When you click the menu item, theDistribution Schedule formopens. On the left side you will see the list of jobs available for us to run. In the AX 2012 Retail Demo this jobs is called P-0001(POS Transactions). We can run this job from this window by clicking theRun Directlybutton.

When the transactional data is in AX 2012 Retail we need to create a statement. For this go toRetail/Journals/Open Statements

Choose your store

ClickNew Statement

Click theEditbutton to add a newTerminalunderSetup. (NOTE: in the picture follow the number sequence to execute the operations in the correct order)

Click theCalculate Statementbutton.

When the statement is calculated, click thePost Statementbutton to post the transactions.

That’s all for now folks. Keep checking my blog for much more to come on AX 2012 Retail. I’m working on something really cool right now and I need some time to write about Blank Operations, but I will and very soon.

Wednesday, June 6, 2012

Hi,There is going to be an exciting virtual event that you can attend for free. Please see the details below.

"The first half of 2012 has generated exciting opportunities and challenges for the Microsoft Dynamics community - issues that will define success in enterprise software planning for years to come. From new product releases to the evolution of the Dynamics cloud opportunities to new industry trends, the second half of 2012 proves to be a moment of great importance, for customers and partners alike."

Monday, June 4, 2012

I hope everyone had a good weekend and that you are ready for another challenging week ahead of you.

In this post I’m going to write about using the AX 2012 for Retail Application Settings. This is a dll that exists within the AX 2012 for Retail application folder, and that can be used to retrieve important and useful in-memory information such as the POS operator Id, Terminal ID, Store ID, Data Area ID, Store ID, among others.

If we think about it, by using this dynamic library, we can minimize numerous trips to the database and therefore improve performance at run time. On this thought, this post will focus on a sample project that will retrieve some POS information through a windows form that will be opened when the PostLogon() event is fired. This means that when the Windows form opens, we’ll know who is logged in, the terminal and the store they logged in to.

So, let’s start by setting up our project. Please note that I made a copy of my POS application folder to play around, as our exercise will overwrite the Application Triggers dll and it will create a new dll that for our new form project.

5-Make sure it looks like the following picture, and then delete the throw statements to avoid firing an exception at run time.

6-On top of the ApplicationStart() Method add the following:

7-Add a new project to the solution, select Class Library, and give it a name (i.e. AppSettingFormExample) . Then in your new project add a new form and a new class. In the form add 4 buttons that will have the following caption:

a.Show Current User b.Show Current Store c.Shoe Current Terminal d.Show Current Connection

9-In order to launch the form we created above from the ApplicationTriggers PostLogon() method, we need to add our Form project as a reference to the ApplicationTriggers Project. When you are done, then add the namespace to your code as shown below:

13-Add the following code to the class you created along with the form. Here we are using the ApplicationSettings dll to retrieve the information each button says it will retrieve. If you note, this is a really good and simplified design. Each of these calls does not fire up a trip to the Database and it just takes the data from memory, which makes the AX 2012 POS application really responsive.

﻿

14-In order to call our class and retrieve the information we need, we have to write some events for each button.

Now, I like to write one event handler for all the buttons in my form and then use a switch statement to identify which is which, and then route their operations. For me this works better as I just create one method instead of 4 for each button. Neither is better than the other, unless you think the same way I do : - )

So, write the following code in tour designer:

Now, we need to go to each button properties’ Click() method and add the name of our button event handler in order for the event to work.