Em mais de duas décadas de desenvolvimento JDESistema de gestão empresarial (ERP) da Oracle., vi centenas de aplicações interativas customizadas (APPLsAplicações interativas dentro do ecossistema JD Edwards.) derrubarem o servidor HTML com erros silenciosos de corrupção de memória. Muitos desses problemas remontam a um exemplo de Form InterconnectMecanismo que permite a chamada de um formulário a partir de outro, passando dados entre eles. de JDE APPL mal configurado, onde os desenvolvedores falharam ao passar os parâmetros corretamente. Quando os desenvolvedores confiam em mapeamentos implícitos ou deixam membros da estrutura de dados pendentes, o motor JASJava Application Server, o componente que processa a interface web do JD Edwards. tem dificuldade em reconciliar a pilha de memória. Uma única variável MATH_NUMERICTipo de dado numérico proprietário do JD Edwards usado para cálculos financeiros e precisão decimal. ou char incompatível passada incorretamente pode desestabilizar toda a sessão do usuário, transformando um simples passo de navegação em uma falha grave da JVMJava Virtual Machine, o ambiente de execução que processa o código Java no servidor..
Toda vez que um desenvolvedor faz o checkout de uma aplicação padrão como P4210 ou P4312 no Object Management Workbench (OMW)Ferramenta central do JD Edwards para gerenciar o ciclo de vida de objetos e controle de alterações. para adicionar um único campo, ele adiciona cerca de quatro a oito horas de débito de retrofitProcesso de reaplicar customizações manuais após a instalação de uma atualização de software da Oracle. ao seu próximo Application Update. As Form ExtensionsRecurso que permite personalizar telas do JDE sem codificação, adicionando campos, botões ou lógica simples. ignoram as modificações tradicionais do Form Design Aid (FDA)Ferramenta de desenvolvimento tradicional usada para criar e modificar as telas das aplicações JDE. ao armazenar as alterações de UI como metadados XML em tabelas de User Defined Object (UDO)Objetos criados por usuários ou analistas que não exigem o processo tradicional de build e deploy de pacotes. como a F9860W, mantendo o software base intacto.
A maior parte do atraso de performance em aplicações interativas customizadas (APPLAplicação interativa no JD Edwards que permite aos usuários visualizar e manipular dados.) não provém da latência do banco de dados, mas de Event Rules (ER)Linguagem de programação visual usada no JD Edwards para criar lógica de negócios em aplicações e relatórios. mal posicionadas que buscam dados durante a inicialização do formulário. Quando os desenvolvedores precisam buscar dados padrão do Address BookSistema central de cadastro de pessoas, empresas e entidades no JD Edwards. junto com configurações customizadas, eles frequentemente disparam buscas redundantes no banco de dados que podem mais do que dobrar ou triplicar o tempo de carregamento da tela. Implementar um exemplo limpo de JDE APPL com valores padrão da F0101A tabela principal do banco de dados que armazena as informações do Address Book no JD Edwards. e tabelas customizadas exige adesão estrita ao fluxo de eventos do Form Design Aid (FDA)Ferramenta de desenvolvimento do JD Edwards usada para criar e modificar interfaces de usuário. para evitar buscas duplicadas.
No Form Design Aid (FDA)Ferramenta visual do JD Edwards para criação e design de telas e interfaces de usuário., inserir uma business functionCódigo modular que executa regras de negócio específicas, podendo ser escrito em C ou Event Rules. como F4211FSEditLine (B4200310) em um event ruleLinguagem de script usada no JD Edwards para definir a lógica que ocorre em resposta a ações do usuário. e assumir que o motor HTML capturará graciosamente uma falha de processamento é um erro de alto risco. Uma parte significativa das aplicações interativas customizadas (P55/P56) que auditamos — em nossa experiência, cerca de um terço a metade — sofre de falhas silenciosas porque os desenvolvedores confiam que o runtimeMotor de execução que processa a lógica e a interface da aplicação em tempo real. do JDE propagará os erros automaticamente. Este artigo fornece um exemplo concreto de JDE APPLTermo técnico para as aplicações interativas que rodam no ambiente JD Edwards EnterpriseOne. para chamar business function via event rules, demonstrando como prevenir essas corrupções ocultas no banco de dados.
Uma parte significativa dos defeitos em aplicações interativas (APPL) customizadas auditados durante upgrades para a versão 9.2 — em nossa experiência, cerca de um terço a metade — decorre de erros clássicos na sequência de eventos JDE APPL que os desenvolvedores cometem ao assumir uma execução síncrona. A causa raiz raramente é uma business function (BSFN) corrompida; é a falha em considerar como o mecanismo JAS (Java Application Server) serializa os eventos. Quando os desenvolvedores colocam Event Rules (ER) incorretamente dentro do Form Design Aid (FDA), eles expõem as aplicações a race conditions que só se manifestam quando a latência da rede e o garbage collection da JVM distorcem o tempo de execução.
Página 1 de 5