The introduction of Microsoft Visual Studio Tools for Microsoft Dynamics AX creates a huge opportunity for developers, including traditional Microsoft Dynamics AX developers who will realize the benefits of working with the Visual Studio IDE, as well as the millions of Microsoft .NET developers who have been waiting to develop enterprise resource planning (ERP) applications. With the new toolset, we’ve bridged the gap between the Microsoft Dynamics AX development and customization life cycle, the capabilities of Visual Studio, and the strengths of the .NET Framework.
One of the most exciting changes we’ve made in Microsoft Dynamics AX 2012 is that we’ve enabled developers to fully take advantage of the Visual Studio development environment in creating applications and customizations for Microsoft Dynamics AX. This represents a real breakthrough for independent software vendors (ISVs), value-added resellers (VARs), and in-house development teams.
We know that traditional Microsoft Dynamics AX developers are excited to experience the agility of the super-productive Visual Studio environment. But more importantly, we know that there are thousands of.NET developers who can take advantage of this amazing application asset and customization model to start making their mark by building high-quality ERP applications.
This interview with AX - vetran Jakob Hansen, Principle Development Manager, gives a good overview of our focus on developer tools in this release.
We should note that all the MorphX development tools are still in place. Because of this, the committed X++ developers won’t lose anything; however, you’ll want to explore Visual Studio to take advantage of the new capabilities of Microsoft Dynamics AX 2012—for example, reporting against Microsoft SQL Server Reporting Services and calling managed code. We’re confident that once you tap into the .NET world, with its class libraries, language independence, interoperability, and the Common Language Runtime, you’ll agree that we’ve taken a major step forward.
Relationship to the Programming Model
Of course, we can’t talk about the importance of the Visual Studio tools without referencing some of the changes to the programming model, as well. Over the next few weeks, this blog will take a closer look at updates to the application architecture and the programming model. For now, here are some of the key changes that really harness the power of Visual Studio:
- Exposing the event model. Visual Studio is a great tool, but if you can’t access the application data or integrate the code, you can’t really do much with it. For the first time, we’ve exposed the programming constructs that have always existed in Microsoft Dynamics AX outside of the MorphX environment, making them available to .NET developers. We put a lot of work into the event mechanism and the .NET code integration so that we can call .NET code from Microsoft Dynamics AX code (running in X++) and it can call back into the application stack while maintaining sessions. This gives you a very powerful way to take advantage of your existing .NET skills to build new applications and to support integration scenarios between Microsoft Dynamics AX and other enterprise applications.
- Web services. Web services are another area that we have significantly enhanced in Microsoft Dynamics AX 2012. In the coming weeks, we’ll post more detail about the services architecture, but what’s important here is that we have greatly improved the way we expose these web services programmatically. .NET developers already know that Visual Studio does some amazing things with web services. Because of this, the ability to work with the new Microsoft Dynamics AX 2012 services in Visual Studio will open many doors to custom integration and new, innovative applications.
- Easier reuse and customization. One of the most versatile features of Microsoft Dynamics AX is the ability to customize business logic that’s been written by other people to tailor it to the specific needs of your business. In earlier versions, you typically had to do this in MorphX and X++, which could be a pretty difficult process. In Microsoft Dynamics AX 2012, we’ve exposed most major functionality as events, which can be subscribed to by or hooked up to .NET code. By doing this, you can modify the behavior of Microsoft Dynamics AX 2012 or someone else’s customizations, without actually editing that piece of software, simply by calling your own managed code. You can hook up code written in any managed code language directly to the business logic so that the code is called at the right points, and you can access all the resources of Microsoft Dynamics AX 2012—such as subscribing to events or reusing classes, methods, and even data—just as if they were ordinary .NET types.
This customization model is very powerful because it lets you safely modify or customize pieces of the application while still supporting updates and modifications to the original code. You can integrate your customizations with the application’s repository by over layering your own managed code, benefitting from the Model Driven Layered Architecture and effectively making your managed code an integrated part of the application development and customization life cycle in Microsoft Dynamics AX 2012.