Book Image

Building ERP Solutions with Microsoft Dynamics NAV

By : Stefano Demiliani
Book Image

Building ERP Solutions with Microsoft Dynamics NAV

By: Stefano Demiliani

Overview of this book

Implementing Microsoft Dynamics NAV in the real world often requires you to integrate the ERP with external applications or solve complex architectural tasks in order to have a final successful project. This book will show you how to extend a Microsoft Dynamics NAV installation to the enterprise world in a practical way. The book starts with an introduction to Microsoft Dynamics NAV architecture and then moves on to advanced topics related to implementing real-world solutions based on NAV and external applications. You will learn how an enterprise distributed architecture with NAV at the core can be implemented. Through a series of real-world cases on every topic and every industry (sales, retail, manufacturing, distribution, healthcare, and so on), you’ll see step by step how to efficiently solve a technical problem. These common problems encountered in a NAV implementation will be solved using the entire technology stack that Microsoft offers. By the end of the book, you will have the knowledge to efficiently solve certain scenarios, you will know which is the best solution architecture to propose to a customer and how to implement it.
Table of Contents (17 chapters)
Building ERP Solutions with Microsoft Dynamics NAV
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

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

Chart

Access Control

Client Add-in

Active Session

Client Add-in Resources

Company

Debugger Breakpoint

Device

Debugger Watch

Document Service

Object

Integration Page

Object Metadata

Object Metadata Snapshot

Object Tracking

Object Translation

Permission

Page Data Personalization

Permission Set

Printer Selection

Profile

Record Link

Profile Metadata

Report List Translation

Send-To Program

Session Event

Server Instance

User

Style Sheet

User Default Style Sheet

Web Service

User Metadata

User Personalization

User Property

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.