En plus de deux décennies de développement JDE, j'ai vu des centaines d'applications interactives personnalisées (APPLs) faire planter le serveur HTML avec des erreurs silencieuses de corruption de mémoire. Beaucoup de ces problèmes proviennent d'un exemple de JDE APPL form interconnect mal configuré où les développeurs n'ont pas réussi à passer les paramètres correctement. Lorsque les développeurs s'appuient sur des mappages implicites ou laissent des membres de structures de données en suspens, le moteur JAS peine à réconcilier la pile mémoire. Une seule variable MATH_NUMERIC ou char mal transmise peut déstabiliser toute une session utilisateur, transformant une simple étape de navigation en une défaillance critique de la JVM.
Chaque fois qu'un développeur extrait une application standard comme P4210 ou P4312 dans l'Object Management Workbench (OMW) pour ajouter un seul champ, il ajoute environ quatre à huit heures de dette de retrofit à sa prochaine mise à jour applicative. Les extensions de formulaire (Form Extensions) contournent les modifications traditionnelles via Form Design Aid (FDA) en stockant les modifications de l'interface utilisateur sous forme de métadonnées XML dans les tables User Defined Object (UDO) comme la F9860W, préservant ainsi l'intégrité du logiciel de base.
La plupart des ralentissements de performance dans les applications interactives personnalisées (APPLApplications interactives au sein de l'environnement JD Edwards.) ne proviennent pas de la latence de la base de données, mais de Event Rules (ER)Langage de programmation propriétaire utilisé pour définir la logique métier dans JD Edwards. mal synchronisées qui récupèrent des données lors de l'initialisation du formulaire. Lorsque les développeurs doivent extraire des données standard de l'Address Book en parallèle de configurations personnalisées, ils déclenchent souvent des allers-retours redondants avec la base de données qui peuvent plus que doubler ou tripler les temps de chargement des écrans. L'implémentation d'un exemple propre de JDE APPL pour les valeurs par défaut de la F0101 et des tables personnalisées nécessite une adhésion stricte au flux d'événements de Form Design Aid (FDA)Outil de développement JD Edwards utilisé pour créer et modifier les interfaces des applications. pour éviter la double extraction.
Dans Form Design Aid (FDA), insérer une business function comme F4211FSEditLine (B4200310) dans une event rule en supposant que le moteur HTML interceptera gracieusement un échec de traitement est une erreur à haut risque. Une part importante des applications interactives personnalisées (P55/P56) que nous auditons, environ un tiers à la moitié selon notre expérience, souffre d'échecs silencieux car les développeurs comptent sur le runtime JDE pour faire remonter les erreurs automatiquement. Cet article fournit un exemple concret d'appel de business function JDE APPL depuis les event rules pour démontrer comment prévenir ces corruptions de base de données cachées.
Une part importante des défauts des applications interactives (APPL)Logiciels JD Edwards composés d'écrans permettant aux utilisateurs de consulter et modifier des données. personnalisées audités lors des mises à niveau 9.2 — selon notre expérience, environ un tiers à la moitié — provient d'erreurs classiques de séquence d'événements JDEJD Edwards : progiciel de gestion intégré (ERP) d'Oracle utilisé pour la gestion d'entreprise. APPL commises par des développeurs supposant une exécution synchrone. La cause profonde est rarement une fonction métier (BSFN)Business Function : composant logiciel réutilisable exécutant une logique spécifique sur le serveur. défectueuse ; il s'agit plutôt d'un défaut de prise en compte de la manière dont le moteur JAS (Java Application Server)Serveur gérant l'interface utilisateur web et la communication entre le client et le serveur. sérialise les événements. Lorsque les développeurs placent mal les Event Rules (ER)Langage de programmation visuel utilisé pour définir la logique applicative dans JD Edwards. dans le Form Design Aid (FDA)Outil de développement graphique permettant de concevoir les écrans et la logique des applications JDE., ils exposent les applications à des conditions de concurrence (race conditions)Bug survenant lorsque le résultat dépend de l'ordre imprévisible d'exécution de plusieurs tâches simultanées. qui ne se manifestent que lorsque la latence du réseau et le garbage collectionProcessus automatique de nettoyage de la mémoire vive utilisée par le serveur pour libérer de l'espace. de la JVMJava Virtual Machine : environnement d'exécution permettant de faire tourner les applications Java sur le serveur. faussent le timing d'exécution.
Page 1 sur 5