Quando um APPLObjeto de aplicação interativa no JD Edwards usado para criar telas e interfaces de usuário. customizado do tipo Find/BrowseTipo de formulário padrão do JD Edwards projetado para pesquisar, filtrar e visualizar registros em uma lista. que consulta a F4211Tabela principal que armazena os detalhes das linhas de pedidos de venda no JD Edwards. ou F0911Tabela de detalhes do livro razão, onde são registradas todas as transações contábeis. leva mais do que alguns segundos para retornar as linhas no gridComponente de interface que exibe dados organizados em linhas e colunas, semelhante a uma planilha., os desenvolvedores imediatamente culpam a indexação do banco de dados ou a latência da rede. Na grande maioria das auditorias de performance que realizo, o gargalo é autoinfligido dentro do JDE. A correlação entre a performance de formulários de busca customizados JDE APPL e o design de business viewsCamada lógica que seleciona quais campos e tabelas serão disponibilizados para uma aplicação específica. é direta: unir dezenas de colunas desnecessárias em uma BSVW customizada força o banco de dados a realizar table scansOperação lenta onde o banco de dados lê todas as linhas de uma tabela para encontrar um resultado. dispendiosos em vez de index seeksOperação rápida onde o banco de dados usa um índice para localizar diretamente os registros desejados. limpos.
Cada projeto de upgrade do 9.1 para o 9.2 revela a mesma ferida autoinfligida: aplicações interativas customizadas (APPLs)Objetos do JD Edwards que definem a interface visual e a lógica interativa para os usuários finais. com milhares de linhas de Event Rules (ER)Linguagem de script proprietária da Oracle usada para adicionar lógica de negócios aos objetos do JD Edwards. amontoadas diretamente nos eventos de controle do Form Design Aid (FDA)Ferramenta de desenvolvimento do JD Edwards usada para criar e modificar formulários e interfaces de usuário.. Ao atualizar, esses formulários inchados transformam o que deveria ser um merge de especificações simples de poucos dias em um ciclo de depuração de várias semanas. Alcançar um design de formulário customizado JDE APPL resiliente para evitar dores de cabeça futuras com retrofitProcesso de reaplicar customizações manuais em objetos que foram atualizados ou substituídos durante um upgrade. exige disciplina arquitetural rigorosa, não ferramentas de merge mais rápidas.
Mais de duas décadas auditando bases de código JDE revelam um padrão comum: aplicações interativas (APPL) customizadas com centenas de linhas de lógica de validação complexa amontoadas diretamente no evento Button Clicked de um botão "OK" ou de um botão customizado. Isso é um beco sem saída arquitetural. Quando você atualiza para o Tools Release 9.2.8 ou tenta expor essa lógica ao Orchestrator, percebe que aprisionou suas regras de negócio dentro da camada de apresentação, forçando retrofits caros.
Quando uma aplicação interativa (APPL) customizada no JDE EnterpriseOne 9.2Sistema de gestão empresarial (ERP) da Oracle utilizado para gerenciar processos de negócios complexos. leva vários segundos para carregar um grid, os desenvolvedores costumam culpar o hardware do banco de dados ou a latência da rede. Na grande maioria dos casos, o culpado é um join mal construído em uma Business View (BSVW)Objeto que define quais tabelas e campos do banco de dados serão acessados por uma aplicação JDE. customizada definida no Form Design Aid (FDA)Ferramenta de desenvolvimento visual usada para criar as telas e a lógica das aplicações no JD Edwards.. Dominar o uso de business views customizadas no JDE APPL para evitar joins ruins é fundamental para impedir que o banco de dados execute loops aninhados desenfreados sobre milhões de linhas em tabelas como F0911 ou F4211.
Promover aplicações interativas (APPLAplicações interativas no JD Edwards que compõem a interface visual para o usuário final.) baseando-se apenas em testes funcionais de "happy pathCenário de teste ideal onde o sistema é testado apenas com entradas corretas, sem erros." é uma rota direta para a instabilidade em produção. Quando um analista de negócios aprova uma APPL porque processou com sucesso algumas transações de teste, ele ignora vazamentos de memória latentes, Data StructuresEstruturas que definem como as informações são organizadas e transferidas entre diferentes programas. não mapeadas e bloqueios de tabela não liberados que espreitam nas Event RulesLinguagem de programação visual do JD Edwards usada para criar a lógica das aplicações.. No EnterpriseOne 9.2, um único handle de banco de dados não liberado ou uma chamada de business functionRotina de lógica reutilizável, geralmente escrita em C, que executa tarefas específicas no servidor. fechada incorretamente em uma APPL customizada pode degradar o desempenho do servidor HTML para centenas de usuários simultâneos, transformando uma implantação menor em um rollback de emergência Sev-1Nível de severidade máxima para incidentes técnicos que causam a interrupção total de sistemas críticos..
Página 3 de 5