Book Image

Implementing Microsoft Dynamics 365 Business Central On-Premise - Fourth Edition

By : Roberto Stefanetti, Alex Chow
Book Image

Implementing Microsoft Dynamics 365 Business Central On-Premise - Fourth Edition

By: Roberto Stefanetti, Alex Chow

Overview of this book

Microsoft Dynamics Business Central is a full business solution suite and a complete ERP solution, which contains a robust set of development tools; these tools can help you to gain control over your business and can simplify supply chains, manufacturing, and operations. Implementing Microsoft Dynamics 365 Business Central On-Premise covers the latest features of Dynamics Business Central and NAV from the end users' and developers' perspectives. It also provides an insight into different tools available for implementation, whether it's a new installation or migrating from the previous version of Dynamics NAV. This book will take you from an introduction to Dynamics NAV 2018 through to exploring all the techniques related to implementation and migration. You will also learn to expand functionalities within your existing Microsoft Dynamics NAV installation, perform data analysis, and implement free third-party add-ons to your existing installation. As you progress through the book, you will learn to work with third-party add-on tools. In the concluding chapters, you will explore Dynamics 365 Business Central, the new Cloud solution based on the Microsoft NAV platform, and techniques for using Docker and Sandbox to develop applications. By the end of the book, you will have gained a deep understanding of the key components for successful Dynamics NAV implementation for an organization.
Table of Contents (22 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Accessing Microsoft Dynamics NAV


In the past, Microsoft Dynamics NAV had a single client access. But technology has changed and evolved, and so has Microsoft Dynamics NAV. The release of Microsoft Dynamics NAV 2009 already brought two new ways of accessing the application: the RTC and SOAP Web services. Microsoft Dynamics NAV 2018 also brings new accessibility options: the Web client and Universal App, and several other types of integration clients. It has also removed the accessibility option, the Classic Client, although it has been maintained and converted for development purposes.

In this section, we will explain the different environments in which you can access the Microsoft Dynamics NAV 2018 application.

Windows client

The Windows client is also known as the RoleTailored Client, or the RTC client. That was its name when the client was first released on Microsoft Dynamics NAV 2009. But Microsoft Dynamics NAV 2018 has the Web client, which is also a RoleTailored Client. So, we cannot call it the RoleTailored Client any more.

The Windows client is based on the individuals within an organization, their roles, and the tasks they perform. When users first enter Microsoft Dynamics NAV, they see the data needed for the daily tasks they do according to their role. Users belonging to different roles will have a different view of the system, each of them seeing only those functions they need to be able to perform their daily tasks.

For those of you who haven't used Microsoft Dynamics NAV 2009 yet, but who have had the opportunity to work with Microsoft Business Solutions NAV 4.0 or 5.0, you might remember how difficult it was at times to locate a specific feature in the jungle of the navigation pane. Switching back and forth between the specific menus in search of a menu item was a frustrating experience, especially for users performing tasks in several functional areas of the application. Unless you used shortcuts, accessing any feature required three or four clicks, provided you knew exactly where it was. The system also didn't do much to help users focus on what was needed to be done, and after you found the feature you needed, you typically had to spend extra time searching for documents or tasks that needed your attention. With the RoleTailored Client, the feature jungle was gone.

The Windows client allows users to widely customize the data they see on each page. They have the ability to personalize the pages according to their requirements by hiding, moving, and configuring parts contained on the pages, and also by saving queries, adding filters, and adding or removing fields. The ribbon can also be customized; you can add, remove, and rename actions, menus, and tabs.

The following screenshot shows what the Role Center of the Windows client looks like. Role Center is the main page of the client, and it is the first page a user sees when entering Microsoft Dynamics NAV (in this case, it is shown as the Sales Order Processor role):

The Windows client supports many methods for authenticating users who try to access the Dynamics NAV Web client:

  • Windows: This credential type authenticates users using their Windows credentials (Active Directory, local workgroup, or the local computer's users). Because they are authenticated through Windows, Windows users are not prompted for credentials when they start the Windows client.
  • Username: This setting prompts the user for username/password credentials when starting the client. These credentials are then validated against Windows authentication by the Microsoft Dynamics NAV Server.
  • NavUserPassword: This setting manages authentication by the Microsoft Dynamics NAV Server, but is not based on Windows users or Active Directory. The user is prompted for username/password credentials when they start the client. The credentials are then validated by an external mechanism.
  • AccessControlService: Using this setting, NAV uses the Microsoft Azure Access Control Service (ACS, this feature will be superseded after November 2018) or Azure Active Directory (Azure AD) for user authentication services.

Web client

The Microsoft Dynamics NAV Web client gives users access to Microsoft Dynamics NAV data over a network, such as the internet. From a web browser, users can view and modify data from a user-friendly interface that resembles the Windows client where the starting point is Role Center. The Role Center page can be customized according to a user's individual needs based on their role, company, and daily tasks. The Web client does not replace the Windows client, but complements it by enabling scenarios that are not possible with the Windows client.

The following screenshot shows what the role center of the Web client looks like:

The Microsoft Dynamics 365 Business Central Web client (Business Manager role) dashboard looks as follows:

Web client – "In-Client" Designer and User Personalization

Personalize your workspace directly in the browser. Today, it is actually possible to configure the Web client as you want (configured by the browser); it has become a desktop interactive whiteboard where you can customize almost everything.

 

 

 

 

 

Nowadays, it is possible to perform the following actions:

  • Reposition the freeze pane
  • Move and hide page parts
  • Reposition or hide Cues and Cue Groups
  • Use list parts on Role Centers

The Microsoft Dynamics NAV Web client shown here supports most of the features that the Microsoft Dynamics NAV Windows client supports; however, there are a number of exceptions and limitations:

The full list of the limitations can be found at https://docs.microsoft.com/en-us/dynamics-nav/feature-limitations-of-the-microsoft-dynamics-nav-web-client.

Personalization in Microsoft Dynamics 365 Business Central SaaS is not possible in production environments, only in Sandbox environments, as can be seen in the following screenshot:

Tablet client, phone client, and Universal App

Let's first talk about the tablet client. With Microsoft Dynamics NAV 2015, the tablet client has been introduced. This means that you can download an app to connect to a web server on your iOS, Android, and Microsoft tablet devices. The design of the tablet client is focused on how you usually hold the tablet—using both hands and holding it like a steering wheel. The design has been done so that you can navigate between screens in an easy way.

The tablet functionalities are based on the Web client. So, this means that whenever you modify something in a page, it will translate into the Web client and the tablet client. The following image shows Microsoft Dynamics NAV on three devices:

Image showing Microsoft Dynamics NAV can be used on three different devices

With Microsoft Dynamics NAV 2016, the Universal App has been introduced. This is a new product. With Microsoft Dynamics NAV 2016, the same app released for tablet has been enhanced to also support the phone experience. It could then be downloaded and deployed in tablet and phone devices in a universal way. Universal means that it supports most of the device universe, covering iOS, Android, and Microsoft tablets and phones; an app for every device, with Windows continuum technology supported.

When we talk about Universal App, we mean that it works on different devices, but that behaviors are different depending on the device, OS, and so on.

If we run the Universal App on a Windows computer with a keyboard attached, then it will show the Web client interface where print preview is available, and from preview direct printing too.

If we run the Universal App on a computer without a keyboard (in tablet mode), then print preview and the option to direct print are not available. Universal Apps only save as PDFs and print using the available viewer and printer; the same is true if we use other OSes or devices instead of Windows.

Where can I download the apps? The apps can be downloaded from some marketplaces (Microsoft Windows Store, Google Play Store, and Apple Store), as demonstrated in the following screenshot:

Downloading the Dynamics NAV app

SharePoint integration (remote client)

Microsoft Dynamics NAV SharePoint integration (remote client) enables you to interact with Microsoft Dynamics NAV data from a Microsoft SharePoint website. By integrating with SharePoint, the Microsoft Dynamics NAV SharePoint client can use the business and administration features available in Microsoft SharePoint, including workflows, business connectivity services, workspaces, SharePoint authentication, and scalability.

Working with Microsoft Dynamics NAV pages and reports in the SharePoint remote client is very similar to working with pages and reports in Microsoft Dynamics NAV Windows client, or Microsoft Dynamics NAV Web client. The Microsoft Dynamics NAV SharePoint client is designed for occasional users who typically need an overview of their daily work status and perform relatively straightforward or light data entries:

The Cronus Company Team Site dashboard view

Web services

Microsoft Dynamics NAV provides Web services, which makes it easy for other systems to integrate with Microsoft Dynamics NAV. Web services allow you to expose the business logic of Microsoft Dynamics NAV to other environments.

Web services are a lightweight, industry-standard means of making an application's functionality available to a wide range of external systems and users. Microsoft Dynamics NAV 2018 supports the creation and publishing of Microsoft Dynamics NAV functionality as Web services. You can expose pages, code units, or queries as Web services and even enhance a Web service page with an extension code unit. When you publish Microsoft Dynamics NAV objects as Web services, they are immediately available on the network.

Developers can publish two types of Web services from Microsoft Dynamics NAV objects:

  • SOAP Web services: You can publish either Microsoft Dynamics NAV pages or code units as SOAP services.
  • OData Web services: You can publish either pages or queries as OData services. The OData protocol offers new and flexible opportunities for interacting with Microsoft Dynamics NAV data. For example, you can use OData Web services to publish a refreshable link to Microsoft Dynamics NAV data that can be displayed in Microsoft Excel using Power Pivot or in SharePoint.

Three different objects can be exposed as Web services:

  • Page Web services: When you expose a page as an OData Web service, you can query that data to return a service metadata (EDMX) document or an AtomPub document. When you expose a page as a SOAP Web service, you expose a default set of operations that you can use to manage common operations such as create, read, update, and delete. For SOAP services, you can also use extension code units to extend the default set of operations that are available on a page.
  • Code unit Web services: Currently available only for SOAP Web services, code unit Web services provide you with maximum control and flexibility. When a code unit is exposed as a Web service, all the functions defined in the code unit are exposed as operations.
  • Query Web services: When you expose a Microsoft Dynamics NAV query as an OData Web service, you can query that data to return a service metadata (EDMX) document or an AtomPub document.

 

Dynamics NAV Development Environments

In Microsoft Dynamics NAV 2018, you can use the Microsoft Dynamics NAV Development Environment (C/SIDE plus C/AL) or the New Modern Development Environment (VS Code plus the AL Language Extension) to develop Microsoft Dynamics NAV applications. The Microsoft Dynamics NAV Development Environment, which was also an end user client in the earlier versions of Microsoft Dynamics NAV, was formerly known as the Classic Client. The New Modern Development Environment is a completely different system—modern and open source, based on VS Code (Visual Studio Code).

The Old Development Environment (C/SIDE)

When you open the Old Development Environment, the Object Designer opens, which gives you access to Microsoft Dynamics NAV objects. You can use the Object Designer to modify the application or to create new application areas.

The following screenshot displays how the C/SIDE appears:

Screen showing the appearance of C/SIDE

Events and extensions 

Events and extensions are the core of the new development model for Microsoft Dynamics NAV 2018 and, overall, Microsoft Dynamics 365 Business Central:

  • Events: This is a new model to help you create safe, upgraded extensions to Microsoft Dynamics NAV and in Microsoft Dynamics 365 Business Central. It is designed for cloud, multitenancy, and repeatability, which will enable developers to change behavior and add functionality without explicitly modifying source code (Microsoft gives developers a pre-built way to add customizations). It's a modern programming style in terms of C/AL Style; an event is like an integration point, or "hook", into Microsoft Dynamics NAV.
  • Extensions: This is the correct way for you to think about developing, packaging, and delivering, and is a modern development approach. An extension is put together using the code the developer has written using the events. The extension wraps up all of that code and puts it into a package that you could just click on and install. Only code that has been written in one of the events can be part of the extension; we are currently at extensions version 2.0.

You can extend and customize a Microsoft Dynamics NAV deployment without modifying the original application objects. With extension packages, you install, upgrade, and uninstall functionalities in on-premise or SaaS deployments. Customers can easily add or remove horizontal or customized functionality to/from their solution that upgrades much easier than past solutions.

For more information, you can visit the following URLs:

 

The New Modern Development Environment

The New Modern Development Environment is made up of VS Code and a Microsoft AL Language extension. The New Modern Development Environment has become necessary to modernize the system and allows the creation of applications in a parallel layer, so that the system can update itself since the standard is not modified. The Microsoft AL Language extension is the new tool to develop extensions. You can learn more at https://github.com/Microsoft/AL.

The following screenshot shows how the New Modern Development Environment appears:

New Modern Development Environment screen

Microsoft AL is the new language based on Extension 2.0 and is itself an extension. It can be installed from the Microsoft Dynamics NAV 2018 DVD or directly from the Microsoft Store.

The installation is different for the two technologies. In practice, it is installed in different ways:

The following screenshot shows the Microsoft AL Language Extension installed from VS Code; search for AL in EXTENSIONS: MARKETPLACE:

Let's compare the two development environments—C/SIDE plus C/AL versus VS Code plus AL:

  • Old Development Environment: C/SIDE, Object Designer, FOB, and TXT Objects
  • New Modern Development Environment: VS Code, .APP Objects (extensions only)

 

The following diagram also demonstrates this comparison:

As previously mentioned, whatever you change in the development environment will be reflected in all of the different clients; this significantly reduces the development time to deploy changes to your clients.