Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour cher tous,
J'ai mené une petite expérience que je décrit ci-dessous et j'aimerai que vous m'apportiez vos conseils
- J'ai sur un petit réseau local de 3 machines reversés l'une d'elles comme Serveur ou j'ai installés une application faite avec PowerBuilder ainsi que les dll, nécessaires au fonctionnement de celui ci. Je me suis arrangés pour installé ce dernier dans une repertoire que j'ai pris les soins de partager pour que les autres machines puissent y accéder.
- Sur les 2 autres machines, j'ai installé les dlls nécessaire pour le fonctionnement de ces derniers.
- J'ai lancé l'application sur les 3 machines et elles fonctionnent correctement.
Mes questions sont les suivantes:
1- Est ce que cette expérience peut être renouveler dans un réseau avec des centaines de machines?
2- Si oui quels sont les risques que je court en utilisant ce type de déploiement?
3- Sinon, pour quelles raisons cette expérience ne pourrait pas marcher.
Merci pour vos réactions
Hors ligne
Salut,
my 2 cents :
1- je pense que ça pourrait fonctionner aussi pour des centaines de machines mais ce n'est pas recommandé de faire ainsi pour autant de machines.
2 et 3- Déjà ça va augmenter l'utilisation du réseau et aussi quand tu voudras mettre à jour les fichiers du programme il y aura toujours qqun de connecté dessus et qui utilisera les fichiers ce qui t'empêchera de les remplacer.
En général d'après mon expérience on fait plutôt comme ça :
au lancement de l'application elle vérifie si de nouveaux fichiers existent dans le répertoire sur le serveur où tu vas mettre la nouvelle version, si il y en a l'appli les "télécharge" en local et se relance une fois la mise à jour terminé.
Hors ligne
Merci rincevent,
Merci pour ce conseil très précieux, mais une question reste tout de même
On peut apporter des modifications, mais par exemple la taille du fichier n'a pas évoluer et dans ce sens, après compilation, comment comparer les fichiers d'avant et d'après pour ainsi effectuer des téléchargement en local? car après une compilation, on a à peu près les mêmes fichiers qui sont générés.
Existe t'il des outils PowerBuilder permettant d'effectuer cela?
Hors ligne
Est-ce que tu gères un numéro de version pour ton EXE ? Si oui, tu peux te baser dessus pour les mise à jours.
Hors ligne
Il ne faut pas te baser sur la taille des fichiers mais sur leur date de modification (mise à jour par la compilation)
Pour obtenir cette date il faut passer par des API windows ou par de l'OLE.
Lien vers méthode via API Windows
méthode via OLE
Hors ligne
Bonjour,
J'ajouterai qu'il est fortement déconseillé de mettre les pbd sur un partage réseau. Il existe un gros soucis de performances, cf par exemple :
http://codeverge.com/sybase.powerbuilde … pe/1032617
Hors ligne
Normalement windows va chercher les dll nécessaire à une application
- d'abord dans le répertoire où est l'exe
- ensuite dans le path (win32, common files, sxs, ...)
Il faudrait que tu regardes avec un outil genre Process Hacker ou Process Explorer sur les autres postes qui démarrent l'appli sur le partage réseau où on été chargées les dll utilisées par l'appli, à mon avis ce qui a été installé localement sur les postes n'est pas utilisé et tout est lu sur le réseau avec les problèmes de perfs qui vont avec...
Exemple avec Process Hacker : c'est dans l'onglet "modules" des détails d'un processus :
Exemple avec Process Explorer : il faut afficher les dlls via View / Lower pane view / DLLs :
Hors ligne