August 25, 2020

Comparing technology platforms: Reflections of a Microsoft Dynamics NAV developer after three years of Dynamics 365 Business Central

In the past, investing in a mid-market accounting or ERP system automatically meant customers were stuck with a legacy code base, out-dated technology, and a dubious commitment to change on the part of the software developer. In these setups, once a system had achieved maturity, the ongoing maintenance revenues were usually all the company had to support day-to-day operations. This made updating the system an almost unaffordable luxury, especially when many of the existing customers abandoned the platform if they were expected to eventually upgrade to a new platform or, worse yet, stopped paying the annual maintenance and enhancement costs.

But today, with new and evolving technology from Microsoft, this is no longer the case. Now software developers can better accommodate their customers with more customized software systems, easy automatic upgrades, and personalized add-ons to meet each unique business need.

Be aware that as a result of this market shift, a number of software consolidators have arisen in the marketplace. Software consolidators accumulate accounting systems and then exploit the majority of their new acquisitions for the annual maintenance fees and customer base.

While system consolidation is a perfectly legitimate business model, customers should be careful of buying into it. If you are interested in this kind of software, be sure to pick a platform the software developer has fully committed to. They should be continually investing in substantive amounts in research and development to improve their system.

We recommend a safer, more sustainable option that can grow with your business like Microsoft Dynamics 365 Business Central. Read on for a detailed explanation for this recommendation.

Microsoft Dynamics’ positive pivot to cloud-based systems

The injection of Microsoft into the mid-market ERP space has brought significant change. Microsoft’s deep pockets can both run the four accounting systems it acquired back in the early 2000s and still develop new systems.

While it took many years for Microsoft to get their heads wrapped around managing business solutions and upgrading them to the latest technology, customers now have an amazing opportunity with either of the mid-market Dynamics 365 Business Central and tier one Finance cloud solutions. A great deal of this positive change has resulted from the pivot to cloud-based systems from on-premise solutions with their high cost in hardware, operating systems, and maintenance costs.

The acquisition of Navision, a Denmark-based software developer, in 2002 was a pivotal event in Microsoft obtaining market leadership in the mid and upper mid-market space based on the Navision and Axapta products.

These two systems have been upgraded substantially in the past five years. The level of Microsoft’s research and development spend on these two products alone has presented considerable challenges to competitors, with Microsoft’s investments in excess of some competitor sales levels. Combine that initiative with Microsoft’s extended investment in the cloud and the extended Dynamics family, and you have a formula for substantive change.

Comparing Microsoft Dynamics’ old and new technology platforms

Eighteen years after the acquisition of Navision by Microsoft, the product line has evolved into Dynamics 365 Business Central, a system able to flourish in the cloud with industry-leading technology. The following are some comparisons between the old and new technology platforms from the viewpoint of a senior Dynamics product developer.

Totally changing the development platform might lead people to think Dynamics NAV (formerly Navision) and Business Central are very different solutions. This might be true for the software developers. However, the Business Central Base Application still contains most of the robust business code logic and processing routines acquired in 2002 that were developed, tested, and enhanced over many years. The end user sees incremental improvements in the system’s capabilities despite the transformative nature of the new toolkit, which assists in the adoption of the new system.

Even though the new development environment of Business Central is quite different from Dynamics NAV, it has been valuable for software developers to have a good knowledge and understanding of the Microsoft Dynamics NAV framework and code structures to be able to extend and build code in Business Central (read more here about the reasons why your Business Central partner should also have prior experience with Dynamics NAV).

When developers have extensive experience developing custom solutions and enhancing the core application within Microsoft Dynamics NAV, they build up a very good understanding of the inner workings of the base application code logic. This gives them a big advantage over newcomers when it comes to designing and building published or non-published apps for extending and enhancing the Dynamics 365 Business Central application.

NAV was well designed for future system upgrades

Much of the success of Navision and Dynamics NAV in the past was based on the technical design of the product. An underlying technology layer was developed with Visual C, then Visual C++, and finally .Net. A proprietary business logic development layer was placed on top of this layer, which allowed for an efficient design for future system upgrades.

When Navision came to North America in the late 1990s, it only had 264,000 lines of business logic. By comparison, another competitor in the same market space used a proprietary development language for both the technology and business logic layers, resulting in a code base of 22,000,000 lines. The efficient design made it relatively simple to upgrade Navision to Dynamics NAV, and then to Dynamics 365 Business Central as technology changed.

As an example, one Microsoft employee stated it took two days to move to Windows 2000 – one day to change the code and one day to test the change. That might have been an exaggeration, but Microsoft has been able to easily move the Navision product along to match its technology platform changes. The aforementioned competitor is still in business, but they are locked into a code base that cannot be changed without a complete re-write and the cost of doing so is impossible or impractical.

Business Central is designed to evolve with your specific business needs

With Dynamics 365 Business Central, Microsoft has been able to make a quantum leap in the underlying technology and still keep its market leadership in the mid-market ERP space. The new Business Central Development Environment is aimed towards building apps and hosting ERP systems in the cloud.Business Central uses a newer, modern multi-language development environment based on Visual Studio that is an Open Source and cross-platform development environment. The .AL (Application Language) Extension for Visual Studio enables developers to extend Business Central by building specialized apps for a specific customer or tenant. Developers can also publish these apps to be sold through the Microsoft app marketplace, AppSource.

The development code for Business Central is developed in a file and folder-based environment, as opposed to code objects stored directly in the database. Source code control and version control is easily managed through the integration of version control extensions such as Git.

Two advantages of the Visual Studio AL environment

The first big advantage of the Visual Studio AL environment is the ability to install different extensions for supporting the development experience by providing developers with:

  • Code snippets that are re-usable code templates for rapidly coding new or extending application objects
  • The ability to easily get context-sensitive IntelliSense
  • The option to receive compiler validation while coding, instead of having to run debugs afterwards

The second major advantage is the updates to the development environment and upgrades to the ERP systems handled automatically through Microsoft’s regular Business Central updates and upgrades. These updates happen semi-annually at a minimum, but improvements can also happen in between the major releases.

Comparing Microsoft Dynamics NAV and Dynamics 365 Business Central

The following matrix lays out the details and differences of each of Business Central’s and NAV’s technical aspects.

Dynamics NAV

Business Central

Platform

  • On premise and hosted solutions
  • Designed more for Cloud-based deployments
  • Can also be hosted on premise
  • Integration with Cloud Services and Cloud Intelligence

Ideology

  • Pre-dominantly on-premise implementations with some hosted sites
  • Often invasive customizations to suit customer needs, which have proven to be difficult and expensive to maintain, upgrade, extend, and support
  • Predominantly Cloud-based implementations
  • Less invasive customizations and rather multiple extension apps to extend and enhance business processes for companies, which can be upgraded automatically on semi-annual updates usually with little or minimum effort
  • Easier to extend, upgrade, and support

Development Environment and Language

  • C/SIDE (Client Server Integrated Development Environment) which was older technology with a fixed editor and very limited coding assistance
    – C/AL (Client/Server Application Language), which was a Database specific language
  • Object based with all Objects stored within the Database
  • Difficult to release and maintain version control on source code
  • Modern multi-language development environment using Visual Studio code, which is Open Source and Cross-platform. The development environment using VS Code Extensions that improve development tools, including text editor enhancements for a better programming experience
  • .AL (Application Language) is based on C/AL but it has been extended for future new language features and updates. It has been designed for developing Cloud-based apps for extending Business Central
  • It is a code centric, folder-based environment (not object based) that can be compiled and packaged as .app packages for specific customer use or published on Microsoft AppSource
  • Source code/version control (Git)
  • Ability to use Docker containers for developing and testing extensions and maintaining different versions using Bit Time Saver
  • PowerShell scripting for easier and quicker handling of tasks and automation of tasks

Development Methodology

  • Developing new code logic
  • Directly customizing base system code logic including the base or custom objects
  • Code object number ranges could be reserved for ISV development partners for their products
  • Developing new Code Logic
  • Extending Base Logic with event driven development coding without changing base logic code and making upgrades easier and faster
  • Developing apps designed for the Cloud or on premise databases
  • Code snippets that provide templates for coding application objects
  • Get context-sensitive IntelliSense
  • Compiler validation while coding

Updates

  • Updates when required
  • Regular updates on development environment

System Upgrades

  • Upgrades when required
  • Semi-annual updates on base application software and additional incremental automatic updates
  • PowerShell Integration

Apps

  • Install code extensions developed by ISV (Independent Software Vendor) partners directly from Microsoft AppSource to extend the functionality of the system

User Involvement

  • A power user instead of a developer can now amend pages, add new fields, and save the result as an extension

Developers are excited about the changes Microsoft has invested in

Certainly, the change in the toolkit has not been without its challenges – one of the greatest being the need to re-train many of the C/Side developers. Coding is still taking more time than we are used to in the Dynamics NAV world. However, the selection of an industry-standard toolkit opens up an entire world of development graduates that would have otherwise been excluded or needed to be re-trained.

Microsoft continues to rapidly improve the development environment to the point where many of the classic developers are genuinely excited about the changes. As you may expect, there are some who still are getting used to the changes.

Contact us here for more information on the changes from Microsoft Dynamics NAV to Microsoft Dynamics 365 Business Central.

*Still working from home during the pandemic? Don’t let your guard down! Read our previous blog here for five proactive security tips to protect your business data while working remotely.