Quando si applica un importante Electronic Software Update (ESU)Aggiornamento software mirato rilasciato da Oracle per correggere bug o aggiungere funzionalità specifiche in JD Edwards. di base—come lo JN19112 per l'area Financials—le organizzazioni scoprono spesso che circa il 10-15% delle loro business function C (BSFN)Componenti software scritti in C o NER che eseguono la logica di business all'interno del sistema JD Edwards. standard modificate sono state ripristinate silenziosamente allo standard Oracle. L'utility di merge nativa dell'Object Management Workbench (OMW)L'ambiente di sviluppo integrato in JD Edwards utilizzato per gestire oggetti, progetti e il ciclo di vita del software. fallisce regolarmente nel riconciliare complesse manipolazioni di puntatori C o alterazioni personalizzate delle strutture dati, introducendo memory leakUn errore di programmazione che si verifica quando un'applicazione non rilascia correttamente la memoria non più necessaria, esaurendo le risorse. o processi zombieProcessi di sistema che hanno completato l'esecuzione ma rimangono nella tabella dei processi, occupando risorse senza essere attivi. immediati sull'Enterprise ServerIl server centrale che gestisce la logica applicativa, le transazioni e le comunicazioni con il database in un'architettura JDE. in fase di runtime.
Una BSFNBusiness Function: un'unità di logica di business riutilizzabile in JD Edwards, scritta in linguaggio C o NER. personalizzata per l'allocazione dell'inventario che elabora da 10.000 a 15.000 righe di ordini di vendita dovrebbe essere eseguita in meno di un minuto. Tuttavia, in molti ambienti JDE 9.2, questa stessa esecuzione richiede più di mezz'ora a causa di un classico anti-pattern: l'esecuzione di istruzioni Select e Fetch Next ripetitive su F4101 o F4102 all'interno di un loop. Quando una Named Event Rule (NER)Un linguaggio di programmazione visuale proprietario di JD Edwards utilizzato per creare logica di business senza scrivere codice C. o una business function C attiva un roundtripIl ciclo completo di una richiesta inviata dal server applicativo al database e la relativa risposta ricevuta. al database per ogni singola iterazione, la latenza di rete tra l'Enterprise Server e il database tierIl livello dell'infrastruttura informatica dedicato esclusivamente alla gestione e conservazione dei dati. degrada gravemente le prestazioni.
Considerare la nomenclatura delle business functionUnità di logica di programmazione riutilizzabili all'interno di JD Edwards per eseguire compiti specifici. come una mera scelta estetica introduce un sovraccarico operativo diretto che, nella nostra esperienza, gonfia i tempi di retrofittingL'attività di riadattamento del codice personalizzato quando si aggiorna il sistema a una nuova versione. degli upgrade di un terzo o più. Quando gli sviluppatori nominano arbitrariamente le C BSFN o le NERNamed Event Rules, un linguaggio di programmazione visuale proprietario di JD Edwards. custom, creano un debito tecnico che dilata silenziosamente la tipica fase di sviluppo di un upgrade di 6-9 settimane. L'implementazione di rigorose convenzioni di nomenclatura JDE BSFN per oggetti custom manutenibili garantisce che gli oggetti B55, B56 e B57 segnalino istantaneamente il loro sistema padre, l'area funzionale e la posizione di esecuzione (client rispetto al server) all'interno dell'Object Management Workbench (OMW)Lo strumento centrale di JD Edwards per la gestione del ciclo di vita e del trasferimento degli oggetti..
Un singolo jdeAllocAPI di JD Edwards utilizzata per riservare dinamicamente una porzione di memoria RAM durante l'esecuzione di un programma. gestito male o un handle di cache non rilasciato all'interno di una BSFNBusiness Function: un modulo di codice C o Java che esegue logica di business all'interno di JD Edwards. custom chiamata in un UBEUniversal Batch Engine: un processo che esegue report o elaborazioni massive di dati in background. ad alto volume come R42565 può mandare in crash un kernel CallObjectProcesso del server EnterpriseOne responsabile dell'esecuzione delle Business Function richieste dagli utenti. in pochi minuti, terminando istantaneamente decine di sessioni utente attive su quel JVMJava Virtual Machine: l'ambiente software che esegue le applicazioni Java e gestisce le risorse di sistema. specifico. Durante il troubleshooting di ambienti EnterpriseOne 9.2 instabili, spesso tracciamo processi zombie persistenti e leak di memoriaCondizione in cui un programma occupa RAM senza rilasciarla, esaurendo progressivamente le risorse del server. riconducibili a errori comuni di gestione della memoria JDE BSFN nel codice custom, piuttosto che a problemi sottostanti del database o del middleware OCIOracle Cloud Infrastructure: la piattaforma di servizi cloud fornita da Oracle per ospitare applicazioni e database..
Nelle nostre revisioni del codice in decine di ambienti JDE 9.2, riscontriamo regolarmente che una parte significativa delle business function C personalizzate (BSFN)BSFN: moduli di codice scritti in C o Event Rules che eseguono logica di business specifica all'interno di JD Edwards. — spesso da un terzo alla metà — duplica inutilmente la logica Oracle standard. Gli sviluppatori spesso clonano interi moduli come B4200310 o B1200010 solo per eseguire una singola validazione, invece di implementare un pulito esempio di chiamata JDE BSFN jdeCallObjectAPI fondamentale di JD Edwards utilizzata per invocare una business function da un programma C o da un'altra funzione. per eseguire una business function riutilizzabile. Questo codice ridondante si rompe durante gli aggiornamenti perché bypassa gli aggiornamenti di continuous deliveryModello di rilascio software che prevede il rilascio frequente e automatizzato di piccoli aggiornamenti e correzioni. di Oracle. L'approccio più corretto è chiamare la business function standard dinamicamente dal proprio codice C personalizzato.
Pagina 3 di 6