IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Y a-t-il ici des utilisateurs de Delphi + AS400 ?


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 73
    Points : 61
    Points
    61
    Par défaut Y a-t-il ici des utilisateurs de Delphi + AS400 ?
    Bin voilà, tout est dans le titre. Je cherche des gens qui travaillent en Delphi et attaquent directement la DB2 d'un AS400... But ? Sachant que le BDE n'en finit pas de mourir, mais qu'il sera forcément vraiment mort un jour, je voudrais voir l'état de leur réflexion en la matière, discuter des solutions possibles, de leurs performances etc : ODBC, Delphi/400 de Systemobjects, etc...
    Il ne me reste plus qu'à croiser les doigts pour que ce message ne flotte pas indéfiniment dans sa bouteille :-)

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 453
    Points : 24 864
    Points
    24 864
    Par défaut
    Delphi/400 EST l'outil Delphi pour cela !
    Tu trouveras difficilement plus performant, c'est le métier de SystemObjects, il développe eux-même leur driver DB2 (que l'on peut utiliser via BDE ou ODBC)

    Surtout qu'ils ont ouvert leur outil à plus en plus de langage, on peut espérer que leur produit sera pérenne (c'est leur gagne-pain après tout)

    ODBC, si tu utilisais le BDE, DB2 était déjà accéder via ODBC (je n'ai pas souvenir d'un driver natif BDE)
    Donc ADO ou DBExpress ODBC pourrais-être ce qui s'approche le plus du BDE !

    Voir sujet similaire : Quelle connexion à une base DB2 sur AS400
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999

  4. #4
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    ADO ou DBXpress avec la couche d'accès données de Client Accès (pas besoin de licence pour l'utiliser) ça fonctionne plutôt bien. A une époque j'avais fait quelques test comparatif de performance entre ça et system object, je n'avais pas trouvé de réelle différence, mais c'était il y a quelques années, je ne parle pas des versions actuelles que je ne connais pas. Pour moi l'avantage des outils de systemobject c'est de proposer des fonctionnalités plus poussées (comme par exemple exécuter un programme sur l'AS400 avec passage de paramètre et récupération de résultat (il devient presque comme une procédure stockée comme cela en fait). Je pense que les outils de Aura proposent des choses équivalentes.
    L'inconvénient de ces outils c'est qu'ils obligent à installer une couche sur l'AS400, couche qui n'est généralement plus compatible lors des changement de versions de l'AS400, et donc t'es obligé de repayer une version, ou de prendre une maintenance juste pour avoir la compatibilité avec ta nouvelle version d'OS400. Avec Client Acces c'est plus transparent et sans licence à payer.

    @++
    Dany

  5. #5
    Membre du Club
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 73
    Points : 61
    Points
    61
    Par défaut Delphi/400
    Merci ShaiLeTroll et les autres.

    Nous travaillons avec Delphi/400 depuis une grosse dizaine d'années maintenant et on est vraiment très contents du produit. Simple, stable, rapide, et on travaille avec l'AS400 comme avec n'importe quelle DB du monde PC. Quand on l'avait découvert, on avait trouvé ça magique...

    Nous sommes une dizaine de développeurs, pour une solution logicielle maison en évolution permanente depuis 10 ans (nouvelles fonctionnalités, changements de législation, changements métier, nouveaux marchés etc.), qui gère tout, depuis les calculs actuariels (on est une société d'assurances), jusqu'à la génération du courrier, l'archivage, les communications xml avec les institutions et autorités de contrôle, etc.; on est en cours de réécriture d'une v2, réécrite totalement objet, alors que V1 est plutôt procédurale à l'ancienne :-( Faut dire, on débutait, à l'époque...

    On fait fort peu de SQL; on utilise plutôt un FindKey ou FindNearest et des boucles Next : c'était infiniment plus rapide (en tout cas il y a dix ans ! peut-être maintenant la différence de performance s'est-elle atténuée ?)

    Mon inquiétude vient de ce que
    - d'une part, BDE, on répète que c'est mort depuis des années, et ça finira bien par être le cas. Mais c'est triste, car la solution Delphi/400 sur BDE est vachement rapide et efficace !
    - d'autre part, avec la multiplication des exécutables sur nos postes clients, on rencontre depuis des mois des problèmes. Chaque exécutable a évidemment son propre TDatabase vers le 400, plus un vers des tables locales, et - selon les machines et les moments - quand on atteint plus de trois ou quatre exécutables, c'est plantage assuré. Ca doit tenir à la config du BDE plutôt qu'à Delphi/400 proprement dit.

    On a beaucoup trop peu de temps à consacrer aux recherches technologiques (la pression métier est énorme pour notre petite équipe); on a essayé une connexion ODBC avec dbExpress; ça marche, mais c'est hyper-lent. Car (c'est triste mais les contingences historiques sont ce qu'elles sont) nos programmes clients sont trop lourds, ils font beaucoup trop de lectures et de mises à jour qui devraient en réalité être faites par le 400 - mais l'équipe étant ce qu'elle est, c'est inévitable... Du coup, l'aspect rapidité de traitement est cruciale, et Delphi/400 via le BDE, c'est ce qu'on a trouvé de mieux jusqu'ici !

    D'où deux questions se posent :
    - est-ce que certains d'entre vous ont déjà eu ce genre de problème (trop de connexions tuent la connexion :-) ?
    - Comment anticiper la vraie mort de BDE tout en restant rapide ?

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    ça fait des années que je n'ai pas utilisé un AS/400 mais déjà à l'époque il était en pleine évolution avec TCP/IP, FTP et même PHP.

    En FTP j'avais de très bonnes performances et ça me suffisait pour récupérer localement les données qui n'étaient pas mise à jour sous Delphi.

    Je pense que aujourd'hui face à cette problématique j'explorerais l'approche WebService PHP sur AS/400...vu que je suis aussi compétent sur PHP que sur Delphi ^^

    Je ne sais pas ce qu'est devenu RPG, mais en RPGILE 4 il n'était pas encore possible de faire un programme générique d'accès aux données (ou alors de façon relativement complexe) et impossible d'en faire un serveur IP. J'avais commencé à faire une usine à gaz en FTP j'uploadais les mise à jour dans une table temporaire (QTEMP) et j'invoquais un programme RPG pour mettre à jour la base réelle...mais faire un RPG générique était complexe, et sinon je devais créer un programme de mise à jour par table...un peu lourd, mais ça fonctionnait.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 453
    Points : 24 864
    Points
    24 864
    Par défaut
    Citation Envoyé par PaulR Voir le message
    On fait fort peu de SQL; on utilise plutôt un FindKey ou FindNearest et des boucles Next : c'était infiniment plus rapide (en tout cas il y a dix ans ! peut-être maintenant la différence de performance s'est-elle atténuée ?)
    En Paradox ou DBase, c'est plus rapide FindKey
    En MySQL ou Oracle, le SQL est imbattable surtout si gros volume de données, en réseau, tu ne peux pas te permettre de récupérer une table entière, il faut savoir réduire les flux au maximum

    Citation Envoyé par PaulR Voir le message
    - d'une part, BDE, on répète que c'est mort depuis des années, et ça finira bien par être le cas. Mais c'est triste, car la solution Delphi/400 sur BDE est vachement rapide et efficace !
    Faut faire un test de ADO ou DBExpress dessus mais pour comparer, il faut revoir les accès, fini le Open Table, il faut réduire le nombre d'enregistrement récupéré (voir PacketRecord et autre chose du genre, j'avoue ça je n'ai jamais bien maitrisé, j'ignore ce que cela fait côté serveur)
    Cela demande de repenser son appli en SQL, comme pour les listings web, souvent paginés pour réduire les flux, c'est le même principe, il faut récupérer un nombre juste d'enregistrement !

    le BDE est un zombie très résistant !

    Citation Envoyé par PaulR Voir le message
    - d'autre part, avec la multiplication des exécutables sur nos postes clients, on rencontre depuis des mois des problèmes. Chaque exécutable a évidemment son propre TDatabase vers le 400,
    Ca doit tenir à la config du BDE
    Configurer le BDE est un art !
    Je ne le connais pas du tout appliquer à l'AS400
    Tu peux aussi penser en multi-tiers, tes clients se connectent sur un serveur applicatif type DataSnap ou DCOM, c'est lui qui traite les demandes
    le serveur applicatif est le seule qui a une connexion sur la DB, tu peux ainsi réduire les IP qui ont accès au serveur, d'un point de vue sécurité, c'est mieux, tu peux aussi mettre en place des caches et autres optimisations classiques dans des applications web de masse (surement l'archi multi-tiers la plus répandue)

    Ton serveur peut être en BDE, prévoit juste un code souple pour faciliter dégager le BDE par DBExpress par exemple !
    En OO, une bonne encapsulation permet de faire cela mais celle demande une rigueur pénible à vivre pour l'équipe de développement, on peut vite être tenté de biaiser que de respecter l'absolu séparation IHM \ Métier !
    Au pire, on finira par avoir des environnements totalement émulés, genre une VM en XP pour faire tourner ton appli BDE sans ennui, je le vois déjà pour des clients qui sont amateurs de Mac mais dont les applis métiers sont majoritaitement sous Win32, un Virtual PC et hop c'est réglé (avec d'autres soucis quand même)

    Citation Envoyé par PaulR Voir le message
    - est-ce que certains d'entre vous ont déjà eu ce genre de problème (trop de connexions tuent la connexion :-) ?
    Oui rien qu'avec IB6, lorsque tu achètes que 20 licences clients, tu apprends vite ce genre de problème !
    Plus tu as de connexion plus cela coûte au serveur mais aussi pour le trafic réseau !
    Bcp de SGBD facture au nombre de serveur\processeur avec plusieurs serveurs répliqués qui répartissent la charge, tu as des architectures DB extrêmement onéreuses pour les très grosses sociétés

    Citation Envoyé par PaulR Voir le message
    - Comment anticiper la vraie mort de BDE tout en restant rapide ?
    Trouve une VRAIE bonne solution et tu seras riche !



    Citation Envoyé par Paul TOTH Voir le message
    J'avais commencé à faire une usine à gaz en FTP j'uploadais les mise à jour dans une table temporaire (QTEMP) et j'invoquais un programme RPG pour mettre à jour la base réelle...un peu lourd, mais ça fonctionnait.
    Je n'ai pas bossé sur AS400 mais j'ai du y envoyer des données, j'ai eu souvent ce cas de figure un FTP + RCMD à l'époque du bon vieux TNMFTP
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. probleme des utilisateurs
    Par frome dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 24/03/2004, 15h10
  2. sélection des bd en fonction des utilisateurs (pg_hba.conf)
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 18/03/2004, 18h34
  3. [PostgresSQL]Pb accés des utilisateurs sans mot de passe
    Par woodwai dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/05/2003, 16h06
  4. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29
  5. Gestion approfondie des utilisateurs
    Par Lux interior dans le forum XMLRAD
    Réponses: 11
    Dernier message: 04/03/2003, 21h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo