I. Introduction

I-A. Architecture de Microsoft Dynamics NAV 2013

Depuis la fin d'année 2012, une nouvelle version de l'ERP Dynamics NAV a vu le jour. Cette nouvelle version constitue une avancée majeure de l'éditeur dans le monde des ERP. De nombreuses évolutions ont été opérées, nous n'allons pas nous attarder dessus. Le principal changement qui nous intéressera est la mise à jour de l'architecture de l'application avec la suppression du modèle classique deux tiers. Le seul disponible est désormais le modèle trois tiers. Les trois tiers étant constitués :

  1. Du client, on distingue alors plusieurs types de client :

    - le client personnalisé Windows,

    - le client SharePoint,

    - le client Web,

    - le client utilisant les services web SOAP,

    - le client utilisant les services web ODATA,

    - le client utilisant les services NAS.

  2. Du serveur applicatif qui tourne sur le framework .NET et dont le rôle est de fournir la couche métier.
  3. Du serveur de base de données sur SQL Server qui fournit la couche de données.
Image non disponible

Architecture trois tiers de Dynamics NAV 2013

I-B. Problématique

La possibilité de pouvoir se connecter à plusieurs bases de données est très importante lors de l'implémentation d'un ERP. Elle permet par exemple de « switcher » à partir d'un même poste client sur la base de données en production et sur une base de données de test. Les utilisateurs peuvent ainsi simuler certains traitements sur la base de données de test avant de les appliquer sur la base de donnée de production.

Avec l'architecture trois tiers le client ne se connecte plus directement au serveur de bases de données, il doit pour accéder aux données passer par le serveur applicatif qui, lui, est configuré pour se connecter à une seule base de données.

I-C. Objectif

L'idée de ce mini-tutoriel est de montrer les étapes permettant de configurer un deuxième serveur applicatif afin de pouvoir se connecter à partir d'un même poste à deux bases de données différentes qui peuvent se trouver sur un même ou sur deux serveurs de bases de données différents. Voici donc l'architecture finale voulue :

Image non disponible

Architecture cible à implémenter

Dans notre cas, nous aurons un seul serveur SQL.

II. Création d'une base de données de test

Commençons par créer une deuxième base de données sur notre serveur SQL. Pour cela nous allons faire une copie de la base de données de démonstration fournie avec l'application. Si vous avez déjà une deuxième base, vous pouvez aller directement à la partie III.

II-A. Sauvegarde de la base de données de démonstration

À partir de SQL Server Management Studio, sélectionnez la base de données, puis faites un clic droit et suivez le lien Taches -> Sauvegarder.

Image non disponible

La fenêtre de sauvegarde apparaît, elle vous permet de spécifier vos options de sauvegarde. Une fois les options renseignées, cliquez sur OK.

Image non disponible

Une fois la sauvegarde terminée le système affiche le message suivant :

Image non disponible

II-B. Restauration de la base de données de démonstration

À partir de SQL Server Management Studio, sélectionnez le dossier Bases de données, puis faites un clic droit et suivez le lien Restaurer la base de données.

Image non disponible

Sélectionnez la sauvegarde effectuée précédemment puis cliquez sur OK.

Image non disponible

Cliquez sur OK. Lorsque la sauvegarde est terminée, le message suivant apparaît :

Image non disponible

III. Création du deuxième serveur applicatif Dynamics NAV

Pour créer un deuxième serveur applicatif nous allons utiliser l'outil d'administration Dynamics NAV Server Administration. Pour cela il faut suivre le lien Démarrer -> Tous les programmes -> Microsoft Dynamics NAV Administration.

Image non disponible

L'outil Microsoft Dynamics NAV Server Administration est utilisé pour créer et configurer les instances de serveurs Microsoft Dynamics NAV. Pour créer une nouvelle instance de serveur applicatif, faites un clic droit sur le nom de votre machine - généralement Microsoft Dynamics NAV (Local) - puis cliquez sur Add Instance.

Image non disponible

La fenêtre de paramétrage de la nouvelle instance s'ouvre, renseignez les champs suivants :

Champ Description
Server Instance Nom de la nouvelle instance.
Managment Services Port Port TCP utilisé par l'outil d'administration des instances de serveur (Microsoft Dynamics NAV Server Administration).
Client Services Port Port TCP utilisé par les clients personnalisés Windows (RTC).
SOAP Services Port Port HTTP utilisé par les applications externes pour consommer les services web de type SOAP.
ODATA Services Port Port HTTP utilisé par les applications externes pour consommer les services web de type ODATA.
Service Account Compte utilisateur utilisé pour démarrer cette instance. Il est recommandé de créer un compte de domaine dédié à cette tâche. Pour notre cas, on peut se contenter des valeurs par défaut.
Image non disponible

Une fois les informations renseignées pour la nouvelle instance, cliquez sur OK.

La nouvelle instance est créée. Vous devez maintenant indiquer que cette instance va se connecter sur la deuxième base de données créée plus haut. Pour cela vous devez accéder à la page de configuration de l'instance créée puis cliquer sur le bouton Edit au pas de la page.

Renseignez ensuite le nom de la deuxième base de données dans le champ Database Name

Image non disponible

Une fois les modifications effectuées, cliquez sur le bouton Save. Le système vous envoie un message indiquant que les modifications effectuées ne seront prises en compte qu'une fois le service redémarré.

Image non disponible

À partir de votre console d'administration, sélectionnez la nouvelle instance puis faites un clic droit et ensuite cliquez sur Start pour démarrer l'instance.

Image non disponible

Le système vous indique que l'instance va être démarrée.

Image non disponible

Une fois votre nouvelle instance démarrée, vous pouvez désormais vous connecter dessus.

IV. Création d'un fichier de configuration ClientUserSettings.config

Pour faciliter la connexion à la nouvelle instance, nous allons créer un raccourci avec les paramètres du nouveau serveur applicatif.

Pour cela nous devons créer un nouveau fichier de configuration qui est basé sur le fichier de configuration initial ClientUserSettings.config.

Ce fichier nous permettra d'enregistrer les paramètres de connexion à notre nouvelle instance.

Allez à l'emplacement du fichier ClientUserSettings.config, dans notre cas, il se trouve dans le répertoire C:\Users\Administrateur\AppData\Local\Microsoft\Microsoft Dynamics NAV\

Image non disponible

Copiez le fichier et collez-le dans un nouveau répertoire.

Image non disponible

Dans le nouveau fichier, effectuez les changements suivants :

- remplacez le nom de l'instance « DynamicsNav » par « DynamicsNav_V2 » ;

- changez le numéro de port « 7046 » par « 7056 ».

Le fichier original :

Image non disponible

Le nouveau fichier mis à jour :

Image non disponible

V. Création du raccourci pour accéder à la nouvelle instance de serveur créée

Créez un nouveau raccourci :

Image non disponible

Le raccourci doit lancer le client personnalisé avec l'option -settings qui indique le fichier où se trouve les paramètres de connexion.

"C:\Program Files (x86)\Microsoft Dynamics NAV\70\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" -settings:"C:\Lancement NAV 2013 V2\ClientUserSettings.config".

Image non disponible

Donnez un nom au raccourci créé.

Image non disponible

VI. Connexion au deuxième serveur applicatif

Double-cliquez sur le raccourci créé.

Pour une première connexion, le serveur affiche ce message, indiquant que la connexion n'a pas eu lieu.

Image non disponible

Cliquez sur NON. Puis déroulez la liste du champ Adresse du serveur pour sélectionner votre nouvelle instance.

Image non disponible

Après un temps de recherche, le système affiche la liste des sociétés présentes dans la nouvelle base de données.

Image non disponible

Sélectionnez la société à laquelle vous souhaitez vous connecter puis cliquez sur OK.

Image non disponible

VII. Remerciements

Je tiens à remercier f-leb pour sa relecture attentive.