Quando una APPLApplicazione interattiva di JD Edwards utilizzata dagli utenti per visualizzare o inserire dati. Find/Browse personalizzata che interroga le tabelle F4211 o F0911 impiega più di qualche secondo per restituire le righe nella gridLa griglia o tabella all'interno di una schermata JDE dove vengono visualizzati i record., gli sviluppatori tendono immediatamente a incolpare l'indicizzazione del database o la latenza di rete. Nella stragrande maggioranza degli audit di performance che eseguo, il collo di bottiglia è auto-inflitto all'interno di JDE. La correlazione tra le performance di una form di ricerca personalizzata JDE APPL e il design della business viewOggetto JDE che definisce quali tabelle e campi vengono utilizzati da un'applicazione o un report. è diretta: l'unione di dozzine di colonne non necessarie in una BSVW personalizzata costringe il database a eseguire costosi table scanOperazione lenta in cui il database legge ogni singola riga di una tabella per trovare i dati. invece di puliti index seekOperazione veloce in cui il database usa un indice per saltare direttamente ai dati richiesti..
Ogni progetto di upgrade dalla versione 9.1 alla 9.2 rivela la stessa ferita autoinflitta: applicazioni interattive (APPL) personalizzate con migliaia di righe di Event Rules (ER)Linguaggio di programmazione visuale di JD Edwards usato per definire la logica di business nelle applicazioni. stipate direttamente negli eventi di controllo del Form Design Aid (FDA)Strumento di sviluppo per creare e modificare le interfacce utente delle applicazioni JD Edwards.. Durante l'aggiornamento, queste form gonfie trasformano quello che dovrebbe essere un semplice merge di specifiche di pochi giorni in un ciclo di debugging di diverse settimane. Ottenere una progettazione resiliente delle form custom JDE APPL per evitare futuri problemi di retrofit richiede una rigorosa disciplina architettonica, non strumenti di merge più veloci.
Oltre vent'anni trascorsi a revisionare codebase JDEJD Edwards, un sistema ERP di Oracle per la gestione integrata dei processi aziendali. rivelano un pattern comune: applicazioni interattive (APPLApplicazioni interattive di JD Edwards utilizzate dagli utenti per visualizzare e inserire dati.) personalizzate con centinaia di righe di logica di validazione complessa stipate direttamente nell'evento Button Clicked di un singolo pulsante "OK" o di un pulsante personalizzato. Questo è un vicolo cieco architettonico. Quando si esegue l'aggiornamento alla Tools ReleaseL'insieme di componenti tecnologici e infrastrutturali che supportano le applicazioni JD Edwards. 9.2.8 o si tenta di esporre tale logica a OrchestratorStrumento di integrazione che consente di automatizzare processi e connettere JDE con sistemi esterni., ci si rende conto di aver intrappolato le regole di business all'interno del layer di presentazione, forzando costosi interventi di retrofitL'attività di riadattamento delle personalizzazioni software dopo un aggiornamento del sistema..
Quando un'applicazione interattiva custom (APPLApplicazione interattiva di JD Edwards utilizzata dagli utenti per gestire i dati tramite interfacce grafiche.) in JDE EnterpriseOne 9.2 impiega diversi secondi per caricare una grid, gli sviluppatori spesso incolpano l'hardware del database o la latenza di rete. Nella stragrande maggioranza dei casi, il colpevole è una join mal costruita in una Business ViewBSVW: un oggetto che seleziona tabelle e campi specifici del database per renderli disponibili all'applicazione. (BSVW) custom definita in Form Design AidFDA: l'ambiente di sviluppo grafico utilizzato per creare le schermate delle applicazioni JD Edwards. (FDA). Padroneggiare l'uso delle business view custom in JDE APPL per evitare join errate è fondamentale per impedire al database di eseguire cicli nested loopMetodo di join in cui il database confronta ogni riga di una tabella con le righe di un'altra, potenzialmente molto lento. fuori controllo su milioni di righe in tabelle come F0911 o F4211.
Promuovere applicazioni interattive (APPLApplicazione interattiva di JD Edwards utilizzata dagli utenti per inserire, modificare o visualizzare dati a sistema.) basandosi esclusivamente su test funzionali "happy path" è una via diretta verso l'instabilità della produzione. Quando un business analyst approva una APPL perché ha elaborato con successo una manciata di transazioni di test, ignora i memory leakErrore di programmazione che consuma memoria RAM senza rilasciarla, causando rallentamenti o crash del sistema nel tempo. latenti, le Data StructuresInsieme di parametri definiti per scambiare informazioni e dati tra diverse maschere o funzioni del software. non mappate e i table lockMeccanismo del database che impedisce modifiche simultanee allo stesso record per garantire l'integrità dei dati. non rilasciati che si annidano nelle Event RulesLinguaggio di programmazione visuale proprietario di JD Edwards usato per definire la logica di business delle applicazioni.. In EnterpriseOne 9.2, un singolo handle di database non rilasciato o una chiamata a una business functionUnità di codice riutilizzabile (scritta in C o NER) che esegue calcoli o operazioni logiche complesse sul server. chiusa in modo improprio in una APPL custom può degradare le prestazioni dell'HTML server per centinaia di utenti simultanei, trasformando un rilascio minore in un rollback di emergenza Sev-1.
Pagina 3 di 5