La maggior parte delle analisi post-mortem che eseguo sulle applicazioni batch riconduce allo stesso difetto: uno sviluppatore convalida una UBEUniversal Batch Engine: il motore di JD Edwards per l'esecuzione di report e processi batch massivi. personalizzata in DV920L'ambiente di sviluppo standard in JD Edwards EnterpriseOne 9.2. su 50 righe di dati di test isolati, contrassegna come completato il progetto in Object Management WorkbenchLo strumento di JD Edwards per gestire il ciclo di vita, lo sviluppo e la promozione degli oggetti software. e passa oltre. Nel giro di due giorni, lo stesso report tenta di elaborare 100.000 record in PY920L'ambiente di test e prototipazione in JD Edwards EnterpriseOne 9.2., mandando in deadlockUn blocco simultaneo in cui due o più processi si attendono a vicenda, impedendo il completamento delle operazioni. F41021La tabella di JD Edwards che memorizza i saldi di inventario per articolo e filiale. a causa di limiti di transazione non confermati (uncommitted) o esaurendo le risorse della coda di job a thread singolo configurata in F986110La tabella Job Control Status Master che tiene traccia dello stato di tutti i processi batch inviati..
Negli audit aziendali su larga scala, i team tecnici riscontrano costantemente che la maggior parte dei report Universal Batch Engine (UBE)Il motore di JD Edwards che gestisce l'esecuzione di report e processi batch in background. personalizzati aggira involontariamente il kernel di sicurezza JDE (F00950La tabella centrale di JD Edwards che gestisce tutte le configurazioni di sicurezza degli utenti.). I leader ERP spesso presumono che la row securityFunzionalità che limita l'accesso ai dati nel database in base a valori specifici, come filiali o società. attiva su tabelle come F060116 (Payroll) o F4105 (Item Cost) limiti intrinsecamente l'output dei batch. Non è così. Nel momento in cui uno sviluppatore utilizza il Table I/OOperazioni di lettura o scrittura diretta sul database eseguite all'interno del codice di JD Edwards. diretto nelle Event RulesIl linguaggio di programmazione visuale proprietario utilizzato per personalizzare la logica in JD Edwards. o richiama una C Business FunctionFunzioni scritte in linguaggio C per eseguire elaborazioni complesse o ad alte prestazioni in JD Edwards. personalizzata che esegue JDB_OpenTable senza passare esplicitamente il contesto di sicurezza dell'utente, la row security a livello di engine viene ignorata.
Quando una coda batch si blocca sull'Enterprise ServerIl server centrale che esegue la logica applicativa e i processi batch di JD Edwards. alle 2:00 del mattino, il riflesso immediato di molti team è quello di aumentare il numero massimo di job simultanei nella configurazione dell'ambiente JDEJD Edwards, un sistema ERP (Enterprise Resource Planning) di Oracle per la gestione aziendale.. Nove volte su dieci, si tratta di una diagnosi errata. Il vero collo di bottiglia è quasi sempre un layout Report Design Aid (RDA)Lo strumento di sviluppo integrato in JD Edwards per progettare report e processi batch. difettoso che esegue milioni di fetchL'operazione di recupero di una o più righe di dati dal database. di database non indicizzati. Unire la tabella F4111 Item Ledger alla F0911 General Ledger in una singola Business ViewUna vista logica che definisce la relazione e i campi selezionati tra una o più tabelle del database. personalizzata senza una corrispondenza rigorosa degli indici trasforma quella che dovrebbe essere un'esecuzione batch di 90 secondi in un blocco della coda di 4 ore.
L'inclinazione a bypassare il middlewareSoftware che funge da intermediario per facilitare la comunicazione e il passaggio di dati tra diverse applicazioni o sistemi. JDE ed eseguire query SQL dirette su tabelle come F0911 o F4211 deriva solitamente dalla pura velocità di esecuzione: una query SQL ottimizzata può scaricare 500.000 righe in meno di quindici secondi, mentre una UBEUniversal Batch Engine: il motore nativo di JD Edwards utilizzato per eseguire report, elaborazioni massive e processi in background. personalizzata potrebbe richiedere quasi un'ora per elaborare lo stesso set di dati. Tuttavia, valutare un'estrazione dati personalizzata JDE UBE rispetto a SQL diretto basandosi esclusivamente sulla velocità di esecuzione è un errore architetturale che compromette regolarmente la reportistica finanziaria a valle.
Un UBEUniversal Batch Engine, il motore di JD Edwards per l'esecuzione di report e processi massivi di dati. standard progettato per 5.000 record fallirà catastroficamente quando i volumi notturni superano le 100.000 transazioni. La maggior parte delle esecuzioni batchProcessi eseguiti in blocchi, solitamente in background e senza interazione diretta dell'utente. personalizzate fallisce non a causa di una logica di business errata, ma a causa di timeout del database, contesa degli indici e memory leakUn errore di programmazione che consuma memoria senza rilasciarla, portando potenzialmente al crash del sistema. nelle business function C (BSFN)Componenti logici scritti in linguaggio C che eseguono operazioni specifiche all'interno di JD Edwards. personalizzate. Quando si eseguono elaborazioni ad alto volume in EnterpriseOne 9.2, affidarsi a design di report lineari standard è un rischio operativo. Ottenere una progettazione di job batch UBE personalizzati resiliente per l'elaborazione notturna richiede di allontanarsi dai loop di base delle event rule (ER)Il linguaggio di programmazione visuale proprietario utilizzato per definire la logica in JD Edwards. e adottare architetture guidate dal database.
Pagina 2 di 3