Microsoft Dynamics NAV architecture
Before version 2009, Microsoft Dynamics NAV had a two-tier architecture.
In two-tier architectures (client/server data model), the data layers reside on the server and the application logic, presentation logic, and presentation layers reside on the client.
Starting from version 2009, Microsoft Dynamics NAV is composed of three major components (three-tier architecture), as follows:
- Data tier: A database (database server) where the data are stored. Actually Microsoft Dynamics NAV supports only Microsoft SQL Server as the database server.
- Middle or service tier: This is an application server. A NAV service that controls all the NAV business logic and operations.
- Client tier: This represents NAV clients and is the layer that handles the real user interface for the application (presentation logic). NAV can have different types of client as follows:
- Windows client
- Web client
- Tablet client
- Phone client
In a production environment, you can obviously have multiple instances of each of the core NAV components:
The most common NAV architecture configurations that you can have in a real-world installation are as follows:
- All three tiers are on the same computer, useful only for a demo or a developer dedicated environment.
- The RoleTailored client and Microsoft Dynamics NAV Server are on the same computer, the data tier is on a separate computer.
- The data tier and Microsoft Dynamics NAV Server are on the same computer. The RoleTailored client is on a separate computer (one of the most common scenarios).
- Each of the three tiers is on a separate computer. This is the suggested configuration for a production environment.
In addition to these three core components, there are other additional components that you can have on a NAV installation:
Component |
Purpose |
Microsoft Dynamics NAV Help Server |
A website with the Help content for Microsoft Dynamics NAV in the languages that your version of Microsoft Dynamics NAV includes. You can deploy a single Help Server for all users, or customer-specific Help Servers, depending on your requirements. |
Web Server Components |
The components that are needed to enable Microsoft Dynamics NAV Web clients to connect with a browser. |
Microsoft Dynamics NAV Server Administration Tool |
A tool for configuring and managing the Microsoft Dynamics NAV Server and Microsoft Dynamics NAV sites. It has a GUI that permits an easy way to manage all the server's features. |
Development Environment (C/SIDE) |
The Development Environment for creating and modifying Microsoft Dynamics NAV applications (business logic) in C/AL. |
Microsoft Office Outlook Add-In and Business Inbox |
A set of components for synchronizing data, such as to-dos, contacts, and tasks, between Microsoft Dynamics NAV and Outlook and using Dynamics NAV as your business Inbox in Outlook. |
Automated Data Capture System |
A Microsoft Dynamics NAV tool for accurately capturing data for inbound, outbound, and internal documents, primarily in connection with warehouse activities. With Automated Data Capture System (ADCS), company employees use handheld devices and radio frequency technology to continuously validate warehouse inventories. |
ClickOnce Installer Tools |
A set of tools designed to create ClickOnce deployments for applications for the Microsoft Dynamics NAV Windows client. |
When using the NAV Web client, all NAV web server components are installed as a website on the Internet Information Server (IIS), so you need to install and properly configure it:
You can deploy the web server components on one computer or on separate computers (for example, Microsoft Dynamics NAV web server components installed on a server and Microsoft Dynamics NAV Server and SQL Server installed on another server). When you install Microsoft Dynamics NAV web server components, the setup adds a web server instance (virtual directory and application) on IIS for the Microsoft Dynamics NAV Web client.
Microsoft Dynamics NAV supports four methods for authenticating users who access the Microsoft Dynamics NAV Web client: Windows
, UserName
, NavUserPassword
, and AccessControlService
. Windows authentication is configured by default.
When installing the Microsoft Dynamics NAV web server components (or after installation), you can also enable Secure Sockets Layer (SSL) on the connection to the Microsoft Dynamics NAV Web client to increase security.
The following table describes the required components when using the Web client:
Tier |
Description |
Device |
A computer or device that has access to the Internet with a browser. |
Web Server |
A computer that is running IIS. Microsoft Dynamics NAV web server components are installed on a website on IIS. |
Microsoft Dynamics NAV Server (Service Tier) |
A Microsoft .NET Framework-based Windows service that manages communications and provides a security layer between clients and Microsoft Dynamics NAV databases in SQL Server. |
When activated, the NAV Web client appears as shown in the following screenshot:
As previously described, starting from Microsoft Dynamics NAV 2016, we have also native clients for mobile devices. Here is a quick view of the NAV Phone client in the following screenshot:
You can now download a native Microsoft Dynamics NAV application from the store of your mobile platform (iOS, Android, Windows):
After downloading the app from the store, you can start using Microsoft Dynamics NAV from your mobile device. You can also work with your NAV data directly from Outlook:
In Outlook, you can now also create new NAV documents:
The new three-tier architecture is multithreaded and it can handle more than one process at a time. Actually, the Microsoft Dynamics NAV server can be installed only on 64-bit operating systems and it requires a 64-bit Microsoft SQL Server version.
Regarding the NAV client, the Windows client can be installed on 32-bit or 64-bit operating systems.
If you install the NAV Windows client on a 64-bit OS, you will have two version of the client installed (32-bit and 64-bit). The default is the 64-bit Windows client, but obviously you can change it.
If you install the NAV Windows client on a 32-bit OS, you will have only the 32-bit client installed.
Microsoft Dynamics NAV also supports deployments where several different companies access a centrally maintained Microsoft Dynamics NAV application. This is called a multitenant architecture.
In a multitenant architecture, information about the Microsoft Dynamics NAV application is stored in a separate application database while data is stored in separate business databases, each of which is a tenant in your deployment.
By separating the application from the data, you can deploy the same solution to many customers with centralized maintenance of the application and isolation of each tenant.
The application database contains the tables that define an application and other NAV system tables.
Microsoft Dynamics NAV now includes Windows PowerShell cmdlets that create an application database, and other cmdlets that enable you to create and administer tenant-specific databases. You can find a complete overview of every cmdlets at https://msdn.microsoft.com/en-us/library/jj672916(v=nav.90).aspx.
The Export-NAVApplication
cmdlet is the one used to extract application tables in a Microsoft Dynamics NAV database to a separate database. The new application database is created on the same SQL Server instance as the original database.
The following table describes which system tables are moved to the application database when you run this cmdlet and which tables remain in the business data database:
Application database |
Business data database |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Note
For more information and details about NAV installation, you can check the Installation and Configuration Walkthroughs section at https://msdn.microsoft.com/en-us/library/dd301193(v=nav.90).aspx.