PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Que choisir
Que choisir
Débuté par aurélien, 11 jan. 2006 15:18 - 3 réponses
Posté le 11 janvier 2006 - 15:18
Bonjour,

Je dois réaliser plusieurs projets notamment une gestion commerciale liée à une gestion de production.

Comment dois-je créer l'analyse ?

1) une analyse commune à tous les projets
Mais l'analyse est illisible car elle contient beaucoup de fichiers et surtout si je la modifie, je dois revoir tous les projets

2) une analyse spécifique pour chaque projet
Mais il y a des fichiers communs entre chaque analyse.
Si je modifie la structure d'un fichier commun dans une analyse, il faut revoir les projets concernés.
Je constate aussi que sans modifier la structure d'un fichier commun, la génération d'une analyse modifie les contraintes d'intégrité sur les fichiers communs. (qui génère parfois des erreurs dans les applications)


3) ???

Comment procédez-vous pour gérer des analyses dans plusieurs projets ?
Posté le 11 janvier 2006 - 16:23
Bonjour,
Je me suis retrouvé dans une situation similaire il y a deux ans : plusieurs applications qui utilisaient des données en commun, provenant d'un PGI.
En premier lieu, j'ai utilisé une analyse ( et donc une "base" HF ) par application. Gros avantage, la modification de l'analyse d'une application n'impliquait pas de recompiler l'ensemble de ces application. Inconvenient, les infos étaient dupliquées, et je devait maintenir autant de batch de communication avec le PGI que d'application.

Nous avons refondu tout celà, et je suis passé à une seule base de donnée ( MaxDB ), avec une connection ODBC. Dans la base de donnée, un utilisateur est créé pour chaque application, et il est propriétaire des tables de cette application. Par contre il est possible de mettre en commun certaines table entre plusieurs applications. Enfin, je n'ai aucune analyse déclarée dans les applications.

De cette façon, j'ai tout les avantages:
1. La modification du schéma d'une table n'implique pas la recompilation des applications qui l'utilisent, tant que les colonnes ne sont pas renommées/supprimées
2. Les informations communes entre les applications ne sont pas dupliquées
3. Une seule "interface" de communication avec notre PGI
4. Avec SqlStudio ( l'outil de MaxDB ), lorsque je travaille sur une application, je ne vois que les tables utilisées par cette application, même si elles "appartiennent" à une autre.
5. Je peux définir des contraintes d'intégrité référentielle entre des tables de différentes applications.

Voici un exemple concret:
J'ai une application nommée Torpedo, qui possède toutes les données qui proviennent du PGI ( base article/fournisseur/client, prix d'achat/de revient/de vente, etc ), ainsi que quelques autres.
J'ai une application d'homologation de produit, qui utilise ses propres tables pour les dossiers, ainsi que quelques tables de Torpedo ( Article, fournisseur )
J'ai également une application de balisage pour les magasin, qui utilise quelques tables de Torpedo ( les articles ), mais n'en possède aucune ( pour l'instant )
J'ai enfin une application de gestion des NPAI, qui possède quelques table, et qui utilise la base des clients de Torpedo.

Frédéric.
Posté le 11 janvier 2006 - 18:30
Bonjour,

Une facon simple est la programmation objet et par composant.
Les objets communs et analyse commne sont dans un projet (mes composants).

L'avantage est de pouvoir faire evoluer une classe, meme la surcharger pour une application particulière sans bouger toutes les autres applications.
Si j'ai besoin d'une fenêtre particulière des composants, je l'appelle depuis une classe, la classe contient une propriete Owner ( non de la fenetre appelante).
Depuis la classe je peux donc executer un traitement amont par un
executeTraitement( :Owner + Nomdela procedure, trtProcedure, etc...), idem pour la fenetre fille ou soeur...

Domage qu'il ne soit pas possible en windew de créer des librairies...


Cordialement,

C.AUBRY
Posté le 12 janvier 2006 - 10:24
Regarder la déclaration externe des fichiers

On peut lire des fichiers HF sans l'analyse correspondante simplement en connaissant leur emplacement.

Salut