4D v16.3

Page Client/Serveur

Accueil

 
4D v16.3
Page Client/Serveur

Page Client/Serveur  


 

 

4D vous permet de générer des applications client/serveur personnalisées, homogènes, multi-plate-formes et avec option de mise à jour automatique. Les applications Client et Serveur sont paramétrées dans la page Client/Serveur de la boîte de dialogue du générateur d’applications.

Une application client/serveur est issue de la combinaison de trois éléments :

  • une base de données 4D compilée,
  • l’application 4D Server,
  • l’application 4D Volume Desktop (Mac OS et/ou Windows).

Une fois générée, une application client/serveur se compose de deux parties homogènes, la partie Serveur (unique), et la partie Cliente (à installer sur chaque poste client). A titre de comparaison, rappelons qu’un déploiement standard avec 4D Server nécessite l’application 4D Server, le fichier de structure de la base, le fichier de données de la base et l’application 4D en mode distant. 

En outre, l’application client/serveur est personnalisée et son maniement est simplifié :

  • pour lancer la partie serveur, l’utilisateur double-clique simplement sur l’application serveur : il n’est pas nécessaire de sélectionner un fichier de structure.
  • Pour lancer la partie cliente, l’utilisateur double-clique simplement sur l’application cliente, qui se connecte directement à l’application serveur : il n’est pas nécessaire de choisir une base de données dans une boîte de dialogue de connexion. Le client cible le serveur soit via son nom, lorsque client et serveur sont sur le même sous-réseau, soit via son adresse IP, à définir via la clé XML IPAddress dans le fichier buildapp.xml (cf. paragraphe suivant). Si la connexion échoue, des mécanismes alternatifs spécifiques peuvent être mis en place, décrits dans la section Gestion de la connexion des applications clientes).
    Il est également possible de “forcer” l’affichage de la boîte de dialogue de connexion standard en maintenant la touche Option (Mac OS) ou Alt (Windows) enfoncée lors du lancement de l’application cliente.
    Seule la partie cliente peut se connecter à la partie serveur correspondante. Si un utilisateur tente de se connecter à la partie serveur à l’aide d’une application 4D standard, un message d’erreur est retourné et la connexion est impossible.

Enfin, une application client/serveur peut être paramétrée de telle sorte que la partie cliente puisse être mise à jour automatiquement via le réseau. Cette fonction est détaillée dans le paragraphe Copie des applications clientes dans l'application serveur.

Il est également possible d'automatiser la mise à jour de la partie serveur moyennant l'utilisation d'une séquence de commandes du langage (cf. section Mise à jour auto des applications serveur ou monopostes).

  • Construire application serveur : cochez cette option pour générer la partie serveur de votre application lors de la phase de construction. Vous devez désigner sur votre disque l’emplacement de l’application 4D Server à utiliser. Ce 4D Server doit correspondre à la plate-forme courante (qui sera également la plate-forme de l’application serveur).
    Pour sélectionner le dossier de 4D Server, cliquez sur le bouton [...] et utilisez la boîte de dialogue de recherche de dossier pour localiser l’application 4D Server. Sous Mac OS, vous devez sélectionner directement le progiciel (package) de 4D Server.
  • Version courante : permet d’indiquer le numéro de version courante de l’application générée. Vous pourrez par la suite accepter ou refuser les connexions des applications clientes en fonction de leur numéro de version. L’intervalle de compatibilité des applications clientes et serveur est défini à l’aide de clés XML spécifiques (cf. paragraphe Clés XML de paramètres).
  • Construire application cliente : cochez cette option pour générer la partie cliente de votre application lors de la phase de construction. Vous devez désigner sur votre disque l’emplacement de l’application 4D Volume Desktop à utiliser. Ce 4D Volume Desktop doit correspondre à la plate-forme courante (qui sera également la plate-forme de l’application cliente). Si vous souhaitez générer une version de l’application cliente pour la plate-forme “concurrente”, vous devez répéter l'opération en utilisant une application 4D tournant sur cette plate-forme. Cette étape est nécessaire uniquement pour la version initiale de l'application cliente car les mises à jour suivantes pourront être gérées directement depuis une seule plate-forme via le mécanisme des mises à jour automatiques. Pour plus d’informations sur ce point, reportez-vous au paragraphe suivant.
    Pour sélectionner le dossier de 4D Volume Desktop, cliquez sur le bouton [...] et utilisez la boîte de dialogue standard pour localiser l’application. Sous Mac OS, vous devez sélectionner le progiciel (package) de 4D Volume Desktop.

Note : A compter de 4D v15, les numéros de version de 4D Server et de 4D Volume Desktop doivent correspondre à celle du 4D Developer Edition. Par exemple, si vous utilisez 4D Developer v15.4, vous devez sélectionner un 4D Server v15.4 et un 4D Volume Desktop v15.4.

Si vous souhaitez que l'application cliente se connecte au serveur via une adresse spécifique (autre que le nom du serveur publié sur le sous-réseau), vous devez utiliser la clé XML IPAddress dans le fichier buildapp.xml. Pour plus d'informations sur ce fichier, reportez-vous à la description de la commande GENERER APPLICATION. Vous pouvez également mettre en place des mécanismes spécifiques en cas d'échec de la connexion. Les différents scénarios proposés sont décrits dans la section Gestion de la connexion des applications clientes

Lors de la construction de l’application client-serveur exécutable, 4D duplique le contenu du dossier 4D Server dans le sous-dossier Server du dossier de destination et le contenu du dossier 4D Volume Desktop dans le sous-dossier Client du dossier de destination. Vous pouvez donc parfaitement personnaliser le contenu des dossiers 4D Server et 4D Volume Desktop d’origine en fonction de vos besoins. 

Vous pouvez, par exemple :

  • installer une version de 4D Server correspondant à une langue spécifique ;
  • ajouter des fichiers ou dossiers dans le dossier PlugIns ;
  • personnaliser le contenu du dossier 4D Extensions.

Note : Sous Mac OS, 4D Server est fourni sous forme de progiciel. Vous devrez tout d’abord afficher son contenu (effectuez Control+clic sur son icône) afin de pouvoir le modifier.

Cette option vous permet de sélectionner le mode de liaison entre l'application fusionnée et le fichier de données local. Deux modes de liaison sont disponibles, choisissez le mode qui correspond le mieux à vos besoins.

Note : Cette option est proposée uniquement lorsque l'option de compatibilité Utiliser la nouvelle architecture pour les applications déployées est cochée (cf. section Page Compatibilité).

  • Nom de l'application (défaut)
    Dans ce mode, l'application 4D ouvre automatiquement le dernier fichier de données ouvert correspondant à la structure. Ce mode souple et intuitif vous permet de déplacer librement le dossier de l'application sur le disque. Il est conseillé en général pour les applications fusionnées, à moins que vous n'ayez spécifiquement besoin de dupliquer l'application. 
  • Chemin de l'application
    Dans ce mode, l'application 4D fusionnée va lire le contenu du fichier lastDataPath.xml des préférences de l'utilisateur et tenter d'ouvrir le fichier de données dont l'attribut "executablePath" correspond au chemin d'accès de l'application. Si cette clé est trouvée, son fichier de données correspondant (défini via son attribut "dataFilePath") est ouvert. Sinon, le dernier fichier de données utilisé est ouvert (mode par défaut).
    Ce mode vous permet de dupliquer vos applications fusionnées sans rompre le lien avec le fichier de données. Toutefois avec cette option, si le dossier de l'application est déplacé sur le disque, l'utilisateur devra désigner manuellement un fichier de données, puisque le chemin de l'application ne correspondra plus à l'attribut "executablePath" (une fois que l'utilisateur a sélectionné un fichier de données, le fichier lastDataPath.xml est mis à jour).

Pour plus d'informations sur le mode de liaison des données, reportez-vous au paragraphe Configurer le mode de liaison des données.

Les options de cette zone permettent de mettre en place le mécanisme de mise à jour des parties clientes de vos applications client/serveur via le réseau à chaque nouvelle version de l’application générée.

  • Permettre la mise à jour automatique de l’application cliente Windows/Macintosh : cochez ces options pour que votre application client/serveur bénéficie du mécanisme de mise à jour automatique des parties clientes via le réseau.
    Si vous souhaitez créer une application cliente multi-plate-forme, vous devez en outre désigner sur votre disque l’emplacement de l’application 4D Volume Desktop correspondant à la plate-forme “concurrente” de la plate-forme de génération. Par exemple, si vous construisez votre application sous Windows, vous devez désigner à l’aide du bouton [...] l’application 4D Volume Desktop Mac OS (fournie sous forme de package).

La mise à jour de l’application cliente est nécessaire lorsque vous souhaitez utiliser une nouvelle version de 4D Server ou d’un des composants.

A noter que les modifications apportées à l’application personnalisée (développement et/ou données) sont toujours transmises automatiquement à chaque poste client. 

La mise à jour de l’application cliente évite au développeur de devoir installer “manuellement” les nouvelles versions de 4D sur chaque poste client. La procédure de mise à jour automatique des applications 4D clientes s'effectue via HTTP et utilise une application utilitaire nommée "updater" installée sur les postes clients et chargée de gérer les mises à jour.

Dans la pratique, la proposition de mise à jour des applications clientes découle automatiquement de la mise à jour de l’application serveur.

Le principe est le suivant : lors de la génération d’une nouvelle version de l’application client-serveur depuis le générateur d’applications, la nouvelle partie cliente est copiée sous forme compressée dans le sous-dossier Upgrade4DClient du dossier NomApplication Server (sous Mac OS, ces dossiers sont inclus dans le progiciel serveur). Si vous avez suivi le processus de génération d’une application cliente multi-plate-forme, un fichier .4darchive de mise à jour est disponible pour chaque plate-forme :

Note : Les fichiers supplémentaires archive.mac et archive.win permettent de mettre à jour des applications v13 en v14. Vous pouvez désactiver leur génération automatique en utilisant la clé XML BuildV13ClientUpgrades avec la commande GENERER APPLICATION.

Pour provoquer la mise à jour des applications clientes, il suffit de remplacer l’ancienne version de l’application serveur par la nouvelle puis de l’exécuter. Le reste du processus est automatique. 

Côté client, au moment où l’“ancienne” application cliente tente de se connecter à l’application serveur mise à jour, une boîte de dialogue s’affiche sur le poste client, lui indiquant qu’une nouvelle version est disponible. L’utilisateur peut mettre sa version à jour ou annuler la boîte de dialogue.

  • Si l’utilisateur clique sur OK, la nouvelle version est téléchargée sur le poste client via le réseau. A l’issue du téléchargement, l’ancienne application client quitte, la nouvelle est lancée et se connecte au serveur. L’ancienne application est alors placée dans la corbeille de la machine.
  • Si l’utilisateur clique sur Annuler, la mise à jour est annulée ; si l’ancienne version de l’application cliente n’appartient pas à l’intervalle des numéros de version acceptés par le serveur (cf. paragraphe suivant), l’application quitte et la connexion est impossible. Sinon (par défaut), la connexion est établie.

Dans certains cas, vous pourrez souhaiter que les applications clientes ne puissent pas annuler le téléchargement des mises à jour. Par exemple, si vous avez utilisé une nouvelle version de l’application source 4D Server, il est impératif que la nouvelle version de l’application cliente soit installée sur chaque poste client.

Pour forcer la mise à jour, il vous suffit d’exclure les versions courantes des applications clientes (N-1 et précédentes) de l’intervalle des numéros de version compatibles avec l’application serveur. Dans ce cas, le mécanisme de mise à jour n’autorisera pas la connexion des applications clientes non mises à jour. Par exemple, si la nouvelle version de l’application client-serveur est 6, vous pouvez stipuler que toute application cliente ayant un numéro de version strictement inférieur à 6 ne sera pas autorisé à se connecter. 

Le numéro de version courante est défini dans la page Client/Serveur du générateur d’application (cf. ci-dessus). Les intervalles de numéros autorisés sont définis dans le projet d’application via des clés XML spécifiques. Pour plus d’informations, reportez-vous au paragraphe Clés XML de paramètres.

Si 4D ne peut pas effectuer la mise à jour de l’application cliente, le poste client affiche le message d’erreur suivant : “La mise à jour de l’application cliente a échoué. L’application va maintenant quitter.”

Les causes possibles de cette erreur sont multiples. Lorsque vous rencontrez ce message, il est conseillé de contrôler en premier lieu les paramètres suivants :

  • chemins d’accès : vérifiez la validité des chemins d’accès définis dans le projet d’application via la boîte de dialogue du Générateur d’applications ou via des clés xml (par exemple ClientMacFolderToWin). Vérifiez en particulier les chemins d’accès aux versions de 4D Volume Desktop.
  • privilèges lecture/écriture : sur la machine cliente, vérifiez que l’utilisateur courant dispose de droits d’accès en écriture pour l’application cliente mise à jour.

A l’issue du processus de génération d’une application client-serveur, vous devez trouver dans le dossier de destination un nouveau dossier nommé Client Server executable. Ce dossier contient deux sous-dossiers, NomApplication Client et NomApplication Server :

Note : Ces dossiers ne sont pas générés si une erreur est survenue. Dans ce cas, ouvrez le fichier d’historique (cf. paragraphe Fichier d’historique) pour connaître la cause de l’erreur. 

Le dossier NomApplication Client contient la partie cliente de l’application correspondant à la plate-forme d’exécution du générateur d’application. Ce dossier doit être installé sur chaque poste client. Le dossier NomApplication Server contient la partie serveur de l’application. 

Le contenu de ces dossiers diffère en fonction de la plate-forme courante :

  • Sous Windows, chaque dossier contient le fichier exécutable de l’application, nommé NomApplication Client.exe pour la partie cliente et NomApplication Server.exe pour la partie serveur, ainsi que les fichiers .rsr correspondants. Les dossiers contiennent également divers fichiers et dossiers nécessaires au fonctionnement des applications et les éléments personnalisés éventuellement placés dans les dossiers 4D Volume Desktop et 4D Server d’origine.
  • Sous Mac OS, chaque dossier contient uniquement le progiciel de l’application, nommé NomApplication Client pour la partie cliente et NomApplication Server pour la partie serveur. Chaque progiciel contient tous les éléments nécessaires à son fonctionnement. Sous Mac OS, un progiciel est lancé via un double-clic.

Note : Les progiciels Mac OS générés contiennent les mêmes éléments que les sous-dossiers Windows. Pour les visualiser, vous devrez tout d’abord afficher leur contenu (effectuez Control+clic sur leur icône) afin de pouvoir les modifier. 

Si vous avez coché l’option “Permettre la mise à jour automatique de l’application cliente”, un sous-dossier supplémentaire nommé Upgrade4DClient est ajouté dans le dossier/progiciel NomApplication Server. Ce sous-dossier contient l’application cliente au format Mac OS et/ou Windows sous forme de fichier compressé. Ce fichier est utilisé lors de la mise à jour automatique des applications clientes.

Si la partie serveur et/ou la partie cliente de votre application exécutable est utilisée en tant que serveur Web, les fichiers et dossiers requis par le serveur doivent être installés à des emplacements spécifiques. Ces éléments sont les suivants :

  • fichiers cert.pem et key.pem (facultatifs) : ces fichiers sont requis pour les connexions SSL ainsi que par les commandes de cryptage des données,
  • dossier racine Web (DossierWeb) par défaut.

Sous Windows

  • Application serveur : les éléments doivent être installés dans le sous-dossier Client Server executable\NomApplication Server\Server Database.
  • Application cliente : les éléments doivent être installés dans le sous-dossier Client Server executable\NomApplication Client.

Sous Mac OS

  • Application serveur : les éléments doivent être installés à côté du progiciel NomApplication Server.
  • Application cliente : les éléments doivent être installés à côté du progiciel NomApplication Client.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Finaliser et déployer les applications finales
Nom intl. : Client/Server page

 
HISTORIQUE 

Modifié : 4D v15 R4

 
MOTS-CLÉS 

4darchive, .4darchive

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)