
In über zwei Jahrzehnten, in denen ich benutzerdefinierte JDEJD Edwards, eine umfassende Enterprise Resource Planning (ERP) Software von Oracle.-Codebasen gerettet habe, ist der hartnäckigste Architekturfehler, den ich sehe, die Behandlung von Versionen interaktiver Anwendungen (APPLEine interaktive Anwendung in JD Edwards, mit der Benutzer über Formulare direkt im Webbrowser interagieren.) wie Versionen von Batch-Anwendungen (UBEUniversal Batch Engine; ein Programm zur Hintergrundverarbeitung von Daten oder zur Berichterstellung ohne Benutzerinteraktion.). Während eine UBE-Version unabhängige Spezifikationen für Datenauswahl und Sequenzierung enthält, ist eine APPL-Version lediglich ein Zeiger auf Werte der Processing OptionsParameter, die das Verhalten einer Anwendung oder eines Berichts steuern, ohne den zugrunde liegenden Code zu ändern., die in der Tabelle F983051Die zentrale Datenbanktabelle in JD Edwards, in der Informationen über alle Programmversionen gespeichert sind. gespeichert sind. Ein Missverständnis dieser Unterscheidung führt dazu, dass Entwickler Versionsnamen innerhalb von Event RulesEine JDE-eigene Skriptsprache, die Logik basierend auf Benutzeraktionen oder Systemereignissen ausführt. hartcodieren, was die Codebasis forkt und Ihren Upgrade-Aufwand unnötig aufbläht.

Bei der Durchführung eines ER Compare für eine stark modifizierte P4210 oder P4310 während eines Upgrades von 9.1 auf 9.2 werden die Kosten schlechter Entwicklungsgewohnheiten sofort deutlich. Kryptische Variablen wie evt_szName_WD01 oder undokumentierte Event Rules (ER) verwandeln einen standardmäßigen mehrstündigen Retrofit in einen mehrtägigen Debugging-Zyklus. Das visuelle Merge-Tool scheitert daran, die Logik abzugleichen, wenn benutzerdefinierten Variablen der strukturelle Kontext fehlt, was zu stiller Speicherbeschädigung zur Laufzeit oder fehlerhaften Form Interconnects führt.

Wenn ein benutzerdefiniertes Grid in einer Anwendung wie P554210 mehr als zehn Sekunden benötigt, um 500 Datensätze zu laden, geben Basis-Teams sofort Datenbankindizes oder WebLogicEin Java-basierter Anwendungsserver von Oracle, der als Plattform für JD Edwards Webumgebungen dient. JVM-Heap-GrößenDer zugewiesene Arbeitsspeicher für die Java Virtual Machine, in der der JDE-Webserver läuft. die Schuld. In der überwiegenden Mehrheit der Performance-Audits, die unter EnterpriseOne 9.2 durchgeführt wurden, ist die Infrastruktur völlig in Ordnung; der Engpass sind synchrone Event Rules (ER)Die proprietäre Skriptsprache von JD Edwards, mit der Geschäftslogik in Anwendungen und Berichten definiert wird., die für jede einzelne Zeile auf dem JAS-ServerJava Application Server; die Komponente in JD Edwards, die die Weboberfläche für den Browser bereitstellt. ausgeführt werden. Um Antwortzeiten im Sub-Sekunden-Bereich zu erreichen, muss man von der Schuldzuweisung an die Infrastruktur wegkommen und sich auf das JD Edwards APPL Grid Performance Tuning für große Datensätze innerhalb der JDE-Runtime-Engine selbst konzentrieren.

In einer standardmäßigen P4210Die Standardanwendung in JD Edwards zur Erfassung und Bearbeitung von Verkaufsaufträgen.-Verkaufsauftragsanpassung mit Dutzenden von GridEin tabellenähnliches Steuerelement in der Benutzeroberfläche zur Anzeige und Bearbeitung mehrerer Datensätze.-Zeilen kann eine naive „Get Max Grid Rows“-Schleife während der Validierung leicht fast eine Sekunde UI-Latenz pro Transaktion verursachen. Entwickler gehen oft davon aus, dass die EnterpriseOneDie umfassende ERP-Softwarelösung von Oracle, bekannt als JD Edwards EnterpriseOne.-Runtime diese Schleifen im Hintergrund optimiert, aber tatsächlich wird jede Zelle sequenziell ausgewertet, was die interaktive Performance auf HTML-ServernServer, die die grafische Weboberfläche für JD Edwards-Benutzer bereitstellen. beeinträchtigt. Dieses JD Edwards APPLKürzel für eine interaktive Anwendung innerhalb der JD Edwards-Entwicklungsumgebung.-Entwicklungsbeispiel zur Grid-Zeilenvalidierung zeigt, wie man gezielt nur modifizierte Zeilen anspricht und so den Validierungs-Overhead um mehr als 80 % reduziert.
Die Erstellung einer JD Edwards (JDE)-Anwendung erfordert ein tiefes Verständnis dieses Enterprise Resource Planning (ERP)-Systems und seiner Funktionalitäten. JDE ist dafür bekannt, über die JDE-Programmiersprache, bekannt als JDE C BSFN (Business Function), oder durch die Verwendung von Tools wie Orchestrator, hochgradig anpassbar und erweiterbar zu sein. Nachfolgend finden Sie ein Beispiel dafür, wie Sie mit JDE C BSFN eine benutzerdefinierte Anwendung in JD Edwards erstellen können:

In einer typischen JDEJD Edwards ist eine umfassende Enterprise Resource Planning (ERP) Softwarelösung von Oracle für Unternehmen.-Unternehmensumgebung ist die Logik für Select, Fetch, Insert und UpdateStandard-Datenbankoperationen zum Suchen, Abrufen, Einfügen und Ändern von Datensätzen. einer einzelnen benutzerdefinierten Tabelle wie F55101 oft über 15 bis 20 verschiedene APPLsInteraktive Anwendungen in JD Edwards, mit denen Benutzer über Formulare direkt im Web-Client arbeiten. und UBEsUniversal Batch Engine; Programme zur Stapelverarbeitung, die Berichte erstellen oder Massendaten im Hintergrund verarbeiten. hinweg dupliziert. Dieser Copy-Paste-Ansatz für Event Rules (ER)Die proprietäre Programmiersprache von JD Edwards, mit der Geschäftslogik visuell erstellt wird. schafft einen massiven Wartungsaufwand; eine einfache Änderung des Datenbankschemas – wie das Hinzufügen eines 10-stelligen Kategoriecode-Feldes – zwingt Entwickler dazu, Dutzende einzelner Objekte manuell zu refactoren und zu testen. Die Einführung eines einheitlichen JDE NERNamed Event Rule; eine wiederverwendbare Geschäftsfunktion, die mit Event Rules erstellt wurde. Table IODatenbank-Ein- und Ausgabevorgänge, die direkt auf Tabellen zugreifen. Patterns zur Vermeidung wiederholter ER-Blöcke konsolidiert diese Datenbankoperationen in einer einzigen, aktionsgesteuerten Named Event Rule.

In ausgereiften JD Edwards 9.2Eine umfassende Enterprise Resource Planning (ERP) Software von Oracle für mittlere und große Unternehmen. Umgebungen finde ich routinemäßig genau dieselbe Validierungslogik vor, die über ein Dutzend oder mehr verschiedene Einstiegspunkte dupliziert wurde – von benutzerdefinierten P42101Eine spezifische interaktive Anwendung in JD Edwards zur Verwaltung von Verkaufsaufträgen. Power Forms bis hin zu automatisierten EDI-Inbound-UBEsUniversal Batch Engine; Programme in JD Edwards, die Berichte erstellen oder Daten im Hintergrund verarbeiten.. Diese Fragmentierung entsteht, weil Entwickler standardmäßig die Validierung direkt in den Event RulesEine proprietäre Skriptsprache in JD Edwards, mit der Geschäftslogik ohne C-Programmierung definiert wird. "Control Exited/Changed" einer interaktiven Anwendung (APPLAbkürzung für eine interaktive Anwendung (Application) innerhalb der JD Edwards-Umgebung.) platzieren, wodurch sie für Batch-Prozesse unzugänglich wird. Um diese technischen Schulden zu eliminieren, müssen Sie die Ausführung der Validierung sowohl von der Benutzeroberfläche als auch von den Batch-Runtimes entkoppeln, indem Sie ein wiederverwendbares JDE NERNamed Event Rule; eine wiederverwendbare Geschäftsfunktion, die mit Event Rules erstellt wird. Validierungsmuster für APPL- und UBE-Aufrufer implementieren.
Seite 5 von 13