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.
Quando un job batchUn processo automatico eseguito dal server per elaborare grandi volumi di dati senza intervento umano. personalizzato viene eseguito per ore invece di minuti, gli sviluppatori solitamente incolpano gli indici del database o la memoria del server database. In realtà, la causa sottostante è spesso il modo in cui è stata progettata la Business View (BSVW)Uno strato logico in JDE che seleziona quali tabelle e campi rendere disponibili a report e applicazioni. primaria. Gli sviluppatori spesso costruiscono join multi-tabella complessi in una BSVW personalizzata per evitare di scrivere Event Rules (ER)Il linguaggio di programmazione visuale di JD Edwards usato per definire la logica di business. di Table I/OComandi che permettono alle Event Rules di interagire direttamente con le tabelle del database., ignari del fatto che questa scorciatoia comprometta direttamente l'integrità dei dati. Ciò rende la selezione della business view JDE UBEUniversal Batch Engine, il motore di JD Edwards che gestisce l'esecuzione dei processi batch e dei report. per performance e correttezza una delle decisioni architetturali più critiche, ma spesso meno comprese, nello sviluppo EnterpriseOne.
Pagina 4 di 5