Lorsqu'une application Find/Browse personnalisée interrogeant la F4211Table JD Edwards contenant les détails des commandes de vente. ou la F0911Table JD Edwards contenant les écritures comptables du grand livre. prend plus de quelques secondes pour retourner les lignes de la grille, les développeurs blâment immédiatement l'indexation de la base de données ou la latence du réseau. Dans la grande majorité des audits de performance que je réalise, le goulot d'étranglement est auto-infligé au sein de JDE. La corrélation entre la performance des formulaires de recherche personnalisés JDE APPL et la conception de la Business ViewObjet JDE définissant les tables et colonnes de données utilisées par une application. est directe : joindre des dizaines de colonnes inutiles dans une BSVW personnalisée force la base de données à effectuer des table scansOpération lente où la base de données lit chaque ligne d'une table pour trouver les résultats. coûteux au lieu de index seeksRecherche efficace utilisant un index pour localiser directement les données souhaitées. propres.
Chaque projet de mise à niveau de la version 9.1 vers la 9.2 révèle la même blessure auto-infligée : des APPLApplications interactives dans JD Edwards permettant aux utilisateurs de consulter et modifier des données via des formulaires. personnalisées avec des milliers de lignes d'Event Rules (ER)Langage de programmation propriétaire de JD Edwards utilisé pour ajouter de la logique métier aux applications. entassées directement dans les événements de contrôle du Form Design Aid (FDA)Outil de développement JD Edwards utilisé pour concevoir les interfaces graphiques et les formulaires.. Lors d'une mise à niveau, ces formulaires surchargés transforment ce qui devrait être une fusion de spécifications simple de quelques jours en un cycle de débogage de plusieurs semaines. Parvenir à une conception de formulaire JDE APPL résiliente pour éviter les futurs problèmes de retrofit nécessite une discipline architecturale stricte, et non des outils de fusion plus rapides.
Plus de deux décennies passées à auditer des bases de code JDEJD Edwards, un progiciel de gestion intégré (ERP) d'Oracle utilisé pour gérer les ressources de l'entreprise. révèlent un modèle courant : des applications interactives (APPL)Programmes JD Edwards permettant aux utilisateurs de consulter et de modifier des données via des formulaires graphiques. personnalisées avec des centaines de lignes de logique de validation complexe entassées directement dans l'événement Button Clicked d'un bouton « OK » ou d'un bouton personnalisé. C'est une impasse architecturale. Lorsque vous passez au Tools Release 9.2.8Version technique du socle logiciel de JD Edwards qui apporte de nouvelles fonctionnalités et correctifs de sécurité. ou que vous tentez d'exposer cette logique à OrchestratorOutil permettant d'automatiser des processus métier et de connecter JD Edwards à des applications externes via des API., vous réalisez que vous avez piégé vos règles métier à l'intérieur de la couche de présentation, forçant des remises à niveau coûteuses.
Lorsqu'une application interactive personnalisée (APPLUne application interactive dans JD Edwards permettant aux utilisateurs de visualiser et modifier des données via des formulaires.) dans JDE EnterpriseOne 9.2 met plusieurs secondes à charger une grille, les développeurs blâment souvent le matériel de la base de données ou la latence du réseau. Dans la grande majorité des cas, le coupable est une jointure mal construite dans une Business View (BSVW)Un objet JDE qui définit la sélection de colonnes et les jointures entre tables pour les applications et rapports. personnalisée définie dans le Form Design Aid (FDA)L'outil de développement JDE utilisé pour concevoir les interfaces utilisateur et la logique des formulaires.. Maîtriser l'utilisation des Business Views personnalisées JDE APPL pour éviter les mauvaises jointures est essentiel pour empêcher la base de données d'exécuter des boucles imbriquées incontrôlées sur des millions de lignes dans des tables comme F0911 ou F4211.
Promouvoir des applications interactives (APPLApplication interactive JD Edwards permettant aux utilisateurs de consulter et modifier des données via une interface graphique.) en se basant uniquement sur des tests fonctionnels de type « happy pathScénario de test idéal où tout se déroule comme prévu, sans erreur ni exception. » est une voie directe vers l'instabilité en production. Lorsqu'un analyste métier valide une APPL parce qu'il a réussi à traiter quelques transactions de test, il passe à côté des fuites de mémoire latentes, des Data StructuresFormats définis pour organiser et transmettre des données entre différents composants du système JD Edwards. non mappées et des verrous de table non libérés qui se cachent dans les Event RulesLangage de programmation propriétaire de JD Edwards utilisé pour ajouter de la logique métier aux formulaires et rapports.. Dans EnterpriseOne 9.2, un seul handle de base de donnéesIdentifiant technique utilisé par le système pour maintenir une connexion active avec la base de données. non libéré ou un appel de business functionProgramme modulaire qui exécute une logique métier spécifique et réutilisable, comme un calcul ou une validation. mal fermé dans une APPL personnalisée peut dégrader les performances du serveur HTML pour des centaines d'utilisateurs simultanés, transformant un déploiement mineur en une urgence de niveau Sev-1Niveau de sévérité critique indiquant une interruption totale d'un service métier essentiel nécessitant une résolution immédiate..
Page 3 sur 5