Plusieurs serveurs, une seule ressource locale partagée

Traduit automatiquement de Deepl

Il peut arriver que vous ayez besoin que les utilisateurs se connectent à de nombreuses instances de la même application serveur fusionnée. Lorsque cela se produit, l’application client fusionnée télécharge autant de ressources locales que de connexions au serveur. Mais si le dossier Ressources de votre serveur est énorme, cela peut représenter une charge considérable en termes de temps, de volume et de réseau ! Heureusement, 4D v18 R5 a une solution pour ce scénario !

En connectant votre application distante à plusieurs serveurs, comme décrit dans l’image ci-dessus, vous obtenez ce dossier Ressources local dans le système :

blank

Plutôt que d’utiliser le dossier Ressources du serveur, qui prend beaucoup de temps, vous avez la possibilité de partager le même dossier Ressources local entre tous ces serveurs strictement identiques.

Applications REMOTE héritées

Une nouvelle clé buildApp est à votre disposition pour partager le dossier Ressources local :

<BuildApp>
<CS>
<ClientServerSystemFolderName>myApp</ClientServerSystemFolderName>

Lors de la connexion à un serveur, les informations du serveur sont remplacées par la chaîne que vous avez définie lors de la construction de l’application. Nous avons conservé la dernière clé pour vous permettre d’utiliser autant d’applications distantes que vous le souhaitez sur le même ordinateur. Le dossier Ressources local ressemble maintenant à ceci :

blankVous pouvez toujours vous connecter au serveur en utilisant la boîte de dialogue de connexion intégrée. Dans ce cas, le dossier de cache utilisé n’est plus celui composé de vos informations personnalisées (nom de l’application, IP et port), mais celui défini lors de la construction de l’application.

Exécution à distance du DIALOGUE de connexion PERSONNALISÉ

Dans ce billet de blog, nous avons appris comment utiliser une base de données de connexion au lieu de l’ancien dialogue de connexion 4D dans vos applications distantes fusionnées. Le comportement est basé sur l’utilisation d’un fichier 4DLink personnalisé avec la commande OPEN DATABASE.

Vous pouvez définir le nom de la racine des ressources locales en utilisant la nouvelle clé cache_folder_name dans le fichier 4DLink.

En utilisant le même exemple que dans l’article de blog mentionné précédemment, voici l’extrait de code d’un dialogue de sélection de serveur où Form.selectedServer contient les informations relatives au serveur 4D :

If (Form.selectedServer#Null)
C_TEXT ($xml)
C_OBJECT ($link)
$xml :="<?xml version=\"1.0\" encoding=\"UTF-8\"?><database_shortcut is_remote=\"true\" server_database_name=\"FA_RemoteConnexionServ\" server_path=\""+Form.selectedServer.IP+ " : "+Form.selectedServer.portID+"\" cache_folder_name=\""+Form.selectedServer.customCacheFolder+"\"/>"
$link :=Folder(fk user preferences folder).file("server.4dlink")
$link .setText($xml)
OPEN DATABASE ($link.platformPath)
End if

N’oubliez pas

Si vous modifiez votre package d’application serveur, la mise à jour automatique des ressources locales sera effectuée pour chaque package différent. Mais tant que tous vos paquets d’applications serveur sont strictement identiques, les ressources locales ne sont téléchargées que lorsque cela est nécessaire : à la première connexion au serveur !

Avatar
- Product Owner -Damien Fuzeau a rejoint l'équipe 4D Product en février 2019. En tant que Product Owner, il est en charge de la rédaction des user stories, puis de leur traduction en spécifications fonctionnelles. Son travail consiste également à s'assurer que les implémentations de fonctionnalités livrées répondent aux besoins des clients.Damien est diplômé de l'Université de Nantes en génie logiciel. Il a passé plus de 23 ans dans son ancienne entreprise, d'abord en tant que développeur (découverte de 4D en 1997), puis en tant que responsable de l'ingénierie et architecte logiciel. Cette société est un partenaire OEM de 4D et a déployé des logiciels d'entreprise basés sur 4D pour des milliers d'utilisateurs, sur des centaines de serveurs. Damien est donc habitué au développement et au déploiement 4D dans un contexte multi-langues.