Sign Up for Training |
Jet Express Support |
Jet Reports Company Site
Jet 365 Financials
Jet Professional
Jet Enterprise
Downloads
Community
Submit a Request
Give Feedback

The Jet Remote Data Service Data Source for NAV - Admin Guide


Note: This article is meant for use by system administrators wanting to implement the Jet Remote Data Service data source available in Jet Professional and Jet Essentials 2015 Update 1 for use with Dynamics NAV.

Click here to DOWNLOAD a ZIP file containing both the 32-bit and 64-bit installers.

System administrators may also want to

Watch the Video!

 
Note: Video is available in English, only

If you are a Jet Professional user and want to configure Jet Professionalto use an existing Jet Remote Data Service data source that connects with your Dynamics NAV, contact your system administrator for details and then follow the instructions listed here .

When used with Microsoft Dynamics NAV, the Jet Remote Data Service requires that NAV user accounts be configured with "Windows Authentication" or with "NAV User Password Authentication" ( See additional information about NAV Authentication Types )

 


 

What is the Jet Remote Data Service Data Source?

The Jet Remote Data Service (JRDS) data source presents a three-tier architectural design with a service component that is hosted within Internet Information Services (IIS).  It provides a fast, secure connection method for environments where Jet users have Excel installed locally and their Dynamics NAV system is hosted on a different domain .

A brief clarification of terms:


 "Jet Remote Data Service (JRDS)"
This refers specifically to the service component of the new data source  
"JRDS Data Source"

This refers to the complete three-tier architectural components of the new data source.

 

Requirements

Host Server requirements:

  • Dynamics NAV 2013 or later
  • SQL Server and its corresponding SQL Server client must be installed
  • Internet Information Services (IIS) with an SSL/TLS certificate
  • PowerShell 4.0 (or higher)
  • The name of the host server must be exposed through DNS if users will access it via a URL.
  • The service must have access to a SQL account or Windows Login which has ‘read’ access to the NAV database.  While the user’s NAV credentials are used to determine the user’s *permissions* to access data, accessing the database itself requires a separate database login with “read” rights.

    Note: The recommended best practice is to set up a single new user account with read access to the database.  Then, use the Jet Administration Console to create a data source using the credentials for this new account, and share that data source with any Jet Professional users who will need to use the data source.
    In this way, Jet Professional users have access to the data without having to know the credentials associated with the new user account.

End user (client) requirements

  • Jet Professional or Jet Essentials (or Jet Express) 2015 Update 1 or later

To connect to their service end users will need to know

  • The URL or IP address of the Host Server
  • The Port configured for use with the JRDS
  • The Instance Name of the Service Instance
  • Their NAV Windows Authentication username, domain and password

 


 

The Jet Remote Data Service

The JRDS consists of an Application Container and one or more Service Instances.

In multi-tenant environments, each hosting client must have a distinct service instance with its own data source settings.  This ensures that no hosting client can access data from another hosting client.

 

The Application Container

The Application Container is the term used to refer to the IIS website that will host the Service Instance(s). The Application Container is associated with a port during installation.

 

Service Instances

The Application Container must include one or more Service Instances.  Each Service Instance must be uniquely named and provides access to a single NAV data source (or a single NAV Tenant data source in a multi-tenant environment).

In a multi-tenant environment all clients may connect to their data via the same port, but each client will connect to their own service instance.

 


 

Jet Remote Data Service Administration Shell

The Jet Remote Data Service is installed and configured using the Jet Remote Data Service Administration Shell , which is a PowerShell management module.

The MSI file can be used (with the Windows Installer for other installation tool) to install the Administration Shell into a “Jet Remote Data Service” directory in the appropriate “Program Files” directory.


Along with the Administration Shell, the MSI also installs the service assemblies and a shortcut in the Start Menu (to access the administration shell).



Click DOWNLOAD to download a zip file containing both the 32-bit and 64-bit installer:


DOWNLOAD


The bit-level you install should match the bit-level of the version of the operating system (usually 64-bit for recent versions of WIndows Server)

There are two ways to initialize the management module. The first is to use the shortcut called “Jet Remote Data Service Administration Shell”. This must be run as administrator and will open an instance of Powershell as shown below in Figure 3.

Alternatively, the initialization script (JetRemoteDataServiceAdministrativeShell.ps1) can be found in the Management folder of the install directory and run manually via the PowerShell prompt running as administrator.

 


 

Installing a Jet Remote Data Service

The Jet Remote Data Service Administration Shell provides a set of PowerShell cmdlets which are used to create, configure and remove Application Container and Service Instances.  Each of the available cmdlets and their common uses are listed below.

 

New-JetRemoteDataService

This command creates the Application Container and must be called prior to calling other Jet cmdlets.

The parameter ‘-Port’ is required, which indicates the port that will be used for the website address binding.

This command must be called prior to calling New-JetNavRemoteDataServiceInstance

Example Command:

New-JetRemoteDataService -Port 443

Note - this port will need to have an inbound Windows firewall rule in place.  Jet Reports recommends that port 443 be used.

This creates a new, empty website in IIS that is named “Jet Remote Data Service Container” which serves as the container for service instances of the JRDS.

 

Parameter

Description

Type of Value

Example Value or Description

-Port

The port to be used by the Jet Remote Data Service

Numeric

443

 

The command does support other parameters,  For additional details, you can use the PowerShell "get-help" cmdlet
Jet cmdlets also support the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, and OutVariable.  For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216)

 

New-JetNavRemoteDataServiceInstance

This command creates a service instance of the JRDS.

This command can be used multiple times to create multiple Service Instances.  The New-JetRemoteDataService command must be called prior to running this command.

Example Command

New-JetNavRemoteDataServiceInstance -InstanceName "Customer" –Server “Jet-Test” –Database “NAV Demo Database” -AuthenticationType 2 –UserID “UserName” –Password “paSSw0rd”

 

When a new service instance is created:

    1. An instance directory is created in the IIS website root directory that contains a symbolic link to the installed service assemblies and a “Web.config” file. This new directory is loaded into the Application Container as a virtual directory whose path is the name of the instance, and within that virtual directory the symbolic link is loaded as an application.
    2. The instance application will be given its own Application Pool within IIS. This results in an instance-specific IIS process being created for each service hosted in the Application Container.
(A virtual directory in the Application Container is mapped to a distinct instance directory and the link to the service assemblies is located as an application)

The figure above shoes a virtual directory inside of the Application Container and the location of the actual directory in the file system. Within that instance directory a symbolic link is pointing to the location of the service assemblies, which in this example is the default installation directory.

Parameters Supported:

These parameters can be used with the New-JetNavRemoteDataServiceInstance or the Set-JetNavRemoteDataServiceInstance commands in single-tenant or multi-tenant environments.  In multi-tenant environments the connection information refers to the NAV tenant database.

Parameter

Description

Type of Value

Example Values or Description

-InstanceName The name of the new Service Instance Text "Jet-Test"

 

-Server

The server of the NAV SQL database.

Text

"Jet-Test"

-Database

The name of the NAV SQL database.

Text

"NAV Demo Database"

-AuthenticationType

The authentication type for the NAV SQL server database.


Note:

Type 1 also requires -UserID, -Password,and  –Domain.

Type 2 also requires –UserID and -Password

Numeric

(0,1,   or 2)

0 - Windows (Current User)
1 - Windows (Other User)
2 - SQL Server

 

-UserID

The userID used to authenticate with the NAV SQL database.  This userID must have read permissions to   the NAV SQL database.

This is required for AuthenticationType 1 and   2.

 

Text

"UserName"

-Password

The password used to authenticate with the NAV SQL database.

This is required for AuthenticationType 1 and   2.

Text

"paSSw0rd"

-Domain

The domain that the NAV SQL database is on.

This is required for AuthenticationType 1.

Text

“MYCORP”

"mycorp.com"

“xyz.local”

-DefaultCompany

The default company for Jet users

Text

"XYZ Corp"

-DrilldownServer

The NAV server used by clients for drilldown into either the NAV RTC or web   client

Text

"NAV-SVR"

-DrilldownUsesSsl

A value indicating whether the web client drilldown uses SSL.

Boolean

$false

(default: $false)

-RoleTailoredClientInstance

The NAV instance used by clients to drilldown into the RTC

Text

"NAV Instance 8"

-RoleTailoredClientDrilldownPort

The port used by clients to drilldown into the RTC

Numeric

8048

-WebClientDrilldownInstance

The NAV instance used by clients to drilldown into the web client

Text

"NAV Instance 9"

-WebClientDrilldownPort

The port used by clients to drilldown into the web client

Numeric

8049

 

The additional parameters below are used only for Multi-tenant environments

Parameter

Description

Type   of Value

Example   Value or Description

-IsMultitenant

Indicates whether the NAV database is multi-tenant

Boolean

$true

(default:   $false)

-MultitenantAppServer

The name of the server with the NAV application SQL database.

Text

"Jet-Test"

-MultitenantAppDatabase

The name of the NAV application SQL database.

Text

"NAV Demo Database"

-MultitenantAppAuthenticationType

The authentication type for the NAV application SQL server database.

Note:

Type 1 also requires: -MultitenantAppUserID, -MultitenantAppPassword   and –MultitenantAppDomain.

Type 2 also requires:-MultitenantAppUserID, and   -MultitenantAppPassword

Numeric
(0, 1, or 2)

0 - Windows (Current User)
1 - Windows (Other User)
2 - SQL Server

-MultitenantAppUserId

The userID used to authenticate with the NAV application SQL database.

This is required for MultitenantAppAuthenticationType   1 and 2.

 

Text

"UserName"

-MultitenantAppPassword

The password used to authenticate with the NAV application SQL database.

This is required for MultitenantAppAuthenticationType   1 and 2.

Text

"paSSw0rd"

-MultitenantAppDomain

The domain that the NAV SQL application database is on.

 

Text

"your_comp.com"

 

Note:

  • All switches are proceeded by a dash ( - )
  • There is no space between the dash and the switch name
  • There is always a space between the switch and its value
  • For boolean (True/False) switches, the value is in lowercase and preceded by the dollar symbol ( $ )
  • Text (alpha-numeric) values are enclosed within double quote marks
  • Numeric values have no special formatting
These parameters are stored in the instanceweb.config file in the NavRemoteDataService folder under the wwwroot directory.

 

Set-JetNavRemoteDataServiceInstance

This command is used to modify the data source settings of an existing Service Instance. The only required parameter is ‘-InstanceName’ which indicates the instance of the service whose settings are to be configured. In this example, the setting ‘-IsMultitenant’ is modified (other settings are available and are listed below).

Example Command

Set-JetNavRemoteDataServiceInstance -InstanceName "Customer" -IsMultitenant $true

Parameters Supported:  See the list for the New-JetNavRemoteDataServiceInstance cmdlet

 

Remove-JetRemoteDataServiceInstance

This command is used to remove an instance of the JRDS. The only required parameter is ‘-InstanceName’ which indicates the instance to remove from the Application Container.

Example Command

Remove-JetRemoteDataServiceInstance -InstanceName "Customer"

 

Remove-JetRemoteDataService

This command is used to remove the Application Container. No parameters are necessary.

Example Command

Remove-JetRemoteDataService

 


Configuring User and Group Access

*** IMPORTANT ***

By default, all users are authorized to access the JRDS.

The full set of allowed and denied users can be viewed with the Get-JetRemoteDataServiceInstance command, and noting the values shown for Authorized Users , Authorized Groups , Denied Users , and Denied Groups .

For details about how to configure JRDS access for specific users and/or groups, see the article Configuring user and group access to the JRDS

 


 

End-to-end Configuration of the Jet Remote Data Service

Using the tools discussed above, we’ll now look at a step-by-step walkthrough of setting up the Jet Remote Data Service and a data source connection to it in Jet Professional.

An important distinction to remember is the difference between

  1. The JRDS instance configuration to the database, and
  2. The configuration in the Jet Professional Excel add-in to connect to the JRDS

 

Individuals in charge of configuring the JRDS in IIS will need to configure the JRDS instance's connection to the database.

Jet Professional users will then need to configure their connection to the JRDS

 

Creating and configuring an instance of the JRDS

Hosting providers will need to configure the following items.

The recommended configuration is to use an AuthenticationType of SqlServer for the database. This makes it easier to manage security.

Here is an example of creating a new service instance for a customer named “JetReports” using port 443 on a server named “Jet-Test”:

 

Example Commands

New-JetRemoteDataService -Port 443

New-JetNavRemoteDataServiceInstance -InstanceName "JetReports" -Server "Jet-Test" -Database "NAV Demo Database (33781)" -UserId "User" -Password "PaSSw0rd"

 

The bare minimum settings have been configured to make this data service usable. Note that without any drilldown configuration, no user will be able to perform drilldowns using the RTC or Web Client.

 


IMPORTANT MANUAL STEP

There is a manual step when creating the Application Container which must only be done once.

When the Application Container is created, no SSL/TLS certificate is configured for it. In order to complete this step, IIS Manager must be opened and the binding on the site entitled “Jet Remote Data Service Container” must be configured to use an SSL/TLS certificate, as shown below
 

(configuring the SSL/TLS certificate for use with the Application Container)
It is important that a trusted certificate be used.  Additionally, the site that the certificate was issued to must be the site used in the "Server" value when configuring your users' Jet Professional data source settings.  Failure to follow these guidelines may result in certificate warnings for your users and an inability to connect to the data source.  See the certificate properties and data source settings shown below.

 

 


 

Configuring the data source connection in Jet Professional

The first step in Jet Professional is to create a new data source of the type “Dynamics NAV 2013 and later (Remote Data Service)”.  Next, the authentication needs to be configured. The user can authenticate against the JRDS using specified Windows credentials.

It is expected that users will be given a username, domain, and password to use for authentication (the same one they use to connect to the NAV RTC or Web Client).

 

Finally, the connection information for the instance of the JRDS must be configured:

 

Note that the server is the one which is hosting IIS and the JRDS, the port is the one which was entered into PowerShell when creating the Application Container, and the instance is the name entered into PowerShell when creating the service instance.

The dropdown to select the company will populate when opened if the settings are correct.

All remaining settings pages are typical of other NAV data sources with the exception of Drilldown. As noted above in the parameter list for the "New-JetNAVRemoteDataServiceInstance" command, hosting providers will configure the drilldown settings (RTC/Web Client server, instance, port, and whether SSL should be used) when configuring the JRDS instance. The only configuration a user must make is to select the desired drilldown type and, in the case of RTC drilldown, the directory where the RTC is installed.

Important Note:
When upgrading versions of Jet to a much newer release, ensure that both the Jet Remote Data Service version installed on the server and the client versions are on the same version to reduce potential issues.

 

 

 
Was this article helpful?
2 out of 2 found this helpful
Have more questions? Submit a request

Comments