For the longest time I had been trapped in my own Microsoft Dexterity development shell and could not see why anyone would want to integrate to Dynamics GP with anything that is not Dexterity -- I am not referring to simple customizations here! After all, Dexterity is (and will continue being for years to come!) the native development environment of Dynamics GP. So, the next obvious question in my mind was, why couldn't .NET developers learn Dexterity? After all, we were here first! But, then I decided to spin the question around, why couldn't Dexterity developers learn .NET? Now, that's a challenge I like!!
In the next 2 weeks I will publish a set of articles showing Dexterity developers that it is possible to make a relatively smooth transition to .NET development with Visual Studio Tools for Microsoft Dynamics GP -- by far, the longest name for any Microsoft product, so we will shorten that to VST.
What you will find as a Microsoft Dexterity developer transitioning to VST is that you can do a lot of the things you are able to do when building integrating applications: an integrating application can access the forms, windows, window fields, tables, and table fields in each dictionary. They can also access global variables, commands, procedures, and functions defined in each dictionary. So from a Dexterity developer's perspective you will be able to write the equivalent of triggers -- known as event registrations in VST -- on any resource in GP's dictionary or a third party dictionary. You will be able invoke existing global procedures and functions, form procedures, etc.
In addition, VST provides the ability to develop WinForms. WinForms included in an integrating application can use capabilities provided by VST to match the appearance of the core application widows. The appearance of the window as well as the various controls in the window can be customized, just like windows created in a Dexterity application. In fact, you can also set the famous Control Area for which Dexterity windows are widely known. Finally, with the latest release of VST, you can now access Dynamics GP tables without using any data access technology, like ADO.NET for example.
As I move through the articles, I will reference the equivalent Dexterity terminology where needed to ensure you keep track of the similarities.
From a pure architecture perspective, Dexterity resources reside in a dictionary. With VST your compiled code will reside in an assembly. An assembly is a fundamental building block of any .NET Framework application. From a coding perspective, Visual Basic.NET (VB.NET) and C# (pronounced C-sharp) will serve as replacements to Sanscript.
In summary, assembly is to dictionary as Visual Studio is to Dexterity as C# or VB.NET are to Sanscript.
What you will need
The following are the ingredients for this series of articles:
1) A valid copy of Visual Studio 2008
2) An installed copy of Microsoft Dynamics GP v10 with the Fabrikam company
3) Microsoft .NET Framework 2.0 or grater.
4) Intermediate to advance knowledge of Microsoft Dexterity
5) Click here to download Visual Studio Tools SDK SP3 for Microsoft Dynamics GP 10.0. The SDK contains the components to build integrations. Once downloaded proceed to install.
What to expect from these articles
A big disclaimer goes out to all of you Dexterity developers who will hopefully follow these articles:
1) This is not a proclamation of independence from Dexterity, rather a way to show you how to achieve some of the same integration capabilities with VST. Dexterity is a good skill to have and in today's world will keep you rightfully and gainfully employed. After all, we are a specie in way to extinction and like Bigfoot (if you believe in such thing), very hard to find. But like all species in way to extinction, if you don't reinvent yourself or learn other skills you probably won't make it.
2) These articles will not show you how to code in C# or VB.NET, rather the integration mechanisms available with VST and how they are similar to what you currently do in Dexterity. As with any new programming language, you must have fairly good programming skills. The rest comes with a lot of reading, trying, frustrating yourself, and trying again, ah... and a good search engine -- similar to how you learned Dexterity in the first place.
3) All the code for these articles will be written in C# like any world class commercially available application -- no offense to VB.NET developers intended here -- however, I will make a big effort to insert VB code snippets along with the C# code.
Please stay tuned for the series... the first article goes out tomorrow!
Jul 21, 2009. Getting Started with VST: "Hello World!" project - Click here
Jul 24, 2009. Getting Started with VST: "Hello World!" - The video - Click here
Jul 31, 2009. Getting Started with VST: WinForms and Controls - Part 1 - Click here
Aug 07, 2009. Getting Started with VST: WinForms and Controls - Part 2 - Click here
Until next post!
Mariano Gomez, MIS, MCP
Maximum Global Business, LLC