Painel de Debate com Parceiros sobre a Modernização do Oracle Forms
Assista ao vídeo em que Joel Kallman, Vice Presidente de Desenvolvimento de Software, e vários experts da Comunidade Global do APEX discutem a Modernização do Oracle Forms. Conheça os aspectos positivos, e também os desafios, da utilização do Oracle APEX para modernizar os seus aplicativos do Oracle Forms. São mostradas dicas, e também há debates sobre desafios e histórias de sucesso do mundo real.
Participantes
Joel Kallman (Mediador)
Vice Presidente de Desenvolvimento de Software, Oracle, em Columbus, Ohio, EUA
Dario Bilić
Membro do conselho e gerente, BiLog, Zagreb, Croácia
Simon Greenwood
Diretor de Serviços de Desenvolvimento, Explorer UK Ltd., Leeds, Reino Unido
Sergei Martens
Sócio-diretor, Smart4APEX,Tilburg, Holanda
Francis Mignault
CTO e cofundador, Insum Solutions, Montreal, Canadá
Essa gravação faz parte da iniciativa APEX Office Hours: https://apex.oracle.com/officehours
Principais Pontos do Debate
Pergunta 1
Poderia apresentar uma breve visão geral de um dos seus projetos concluídos (ou que ainda esteja em andamento)? (11:55)
Dario:
- Um grande banco regional europeu
- 500 Oracle Forms; 600 Oracle Reports
- Projeto-piloto usando APEX, Java com Angular, .NET e upgrade para Forms 12c
- Com base no projeto-piloto, selecionamos o Oracle APEX
Simon:
- Fornecedor de Software Independente (ISV) do setor de energia que gerencia medidores inteligentes para gás e eletricidade
- Utilizado por 4 dos 6 dos maiores fornecedores de energia elétrica do Reino Unido
- 100 Forms sendo transformados
-
Motivos para a modernização =
- Era necessária uma oferta de SaaS para a entrega de software (apenas browser)
- Design moderno e responsivo para tablets, não só para computadores desktop
- Custo de entrada mais baixo
- Para avançar, precisávamos de uma opção para nuvem – não existe um Oracle Forms Cloud Service
- Expansão para a Europa; precisávamos estar prontos para vários idiomas
- Os desenvolvedores do Forms tinham os pré-requisitos necessários para aprender APEX
Sergei:
- Empresa de terminais para tanques no setor de óleo e gás
- Modernização do Oracle Forms em preparação para o futuro crescimento esperado e refatoração para se ajustar melhor às necessidades dos negócios
- Dificuldade inicial com o ADF e percepção de que o APEX seria mais rápido
- Aplicativo de missão crítica sendo desenvolvido por duas equipes de dez membros cada
Francis:
- Maior empresa de cruzeiros dos Estados Unidos, sistema de gestão de propriedade a bordo de navio (embarque, excursões em terra, atendimento aos passageiros, back-office e relatórios)
- Muitos projetos durante muitos anos
- 300 Forms modernizados e inúmeros relatórios
-
Motivos para a modernização =
- Problemas de desempenho
- Interface do usuário aprimorada
- Capaz de aproveitar todo o investimento em PL/SQL
Pergunta 2
Qual você diria que é a sua estratégia de modernização com o APEX? Reescrever o código? Migração parcial? Criar novos aplicativos justapostos aos aplicativos do Oracle Forms que já existiam? (20:50)
Simon:
- Dependendo das circunstâncias, considere todas as possiblidades
- Em geral, reescreva todo o código para se beneficiar dos custos de licenciamento mais baixos etc.
- É possível fazer algo parecido, mas não recomendo – basicamente, o Oracle Forms utiliza soluções cliente / servidor
- Crie aplicativos "web" modernos usando o APEX
- Não existe “varinha de condão” para migrar do Forms para outra coisa – é preciso redesenvolver
- Reutilize o máximo possível do código
Sergei:
- Comece com uma migração um a um (ou mais) para que os desenvolvedores aprendam o APEX
- Mude da lógica de trigger para a lógica de banco de dados
- Escolha a opção mais fácil para as novas funcionalidades. Isso deixará a empresa feliz.
- Considere a migração de "grupos de usuários" para que eles não precisem trabalhar no Forms e no APEX
Francis:
- É difícil justificar uma estratégia "big bang", quando tudo é feito ao mesmo tempo em um só projeto
- Reescreva o código parcialmente, estendendo os aplicativos existentes – Por módulo
- Primeiro compreenda o APEX e comece a usá-lo nas tabelas existentes
Pergunta 3
Quais foram alguns dos maiores desafios que você enfrentou nesse tipo de projeto? (29:40)
Sergei:
- Mudar a forma de pensar dos desenvolvedores do Forms, deixando de lado a tendência de colocar o máximo possível de informações em uma página e focando em um design voltado para a web
- Para projetos maiores, definir padrões para a interface do usuário e ser consistente
- Scope creep (alterações incontroláveis) – A empresa solicitando novas funcionalidades continuamente
Simon:
- O fato de os desenvolvedores do Oracle Forms estarem acostumados com conexões de banco de dados persistentes e tabelas temporárias – No APEX, você precisa usar as coleções do APEX
- Páginas com edição de várias linhas
- Validações usando triggers de bloqueio e triggers de item em vez da validação quando uma página é processada no APEX
- Problemas tentando replicar 100% do processamento dos Forms (por exemplo, entre várias páginas)
Pergunta 4
Qual foi o maior benefício para o cliente? O cliente ficou satisfeito com o resultado?
Dario:
- Já estar pagando pelo APEX (por meio das licenças de banco de dados) e poder economizar deixando o Forms para trás
- Poder retreinar os desenvolvedores do Forms a usar APEX – significativa economia de custos
- Mudar instantaneamente para a tecnologia web – Implantar pela web (de forma centralizada), em vez envolver centenas de usuários finais
- Obter funcionalidades para dispositivos móveis e serviços REST usando o APEX
- O impacto dos aplicativos modernizados nos usuários de negócios
Francis:
- Aproveitar o investimento existente em Oracle – Licenciamento, modelo de dados, mesma pilha de tecnologia
- É mais fácil treinar um desenvolvedor do Forms em APEX do que em outras tecnologias web
- Saltar para o século
21 - aplicativos móveis, responsivos, modernos
Pergunta 5
Sempre falamos sobre preservar o investimento na lógica de negócios para back-end em SQL e PL/SQL. Isso é uma falácia? Quanto do código de back-end teve de ser modificado para funcionar no mundo atual com o APEX? (41:50)
Francis:
- Se a lógica residir no banco de dados (e não dentro do Forms), é possível utilizar quase todo o código
- Se a lógica estiver dentro do Forms (ou tiver sido gerada pelo Designer), será mais difícil avançar e extrair a lógica de negócios
- É possível usar a funcionalidade interna de Migração de Forms do APEX para comentar a lógica
- O APEX está muito próximo da estratégia de desenvolvimento do Forms = reutilização mais fácil
Dario:
- Maior parte do código dentro do Forms – É necessário tentar deslocar tudo para o banco de dados
- Se o código já estiver no banco de dados, será muito fácil reutilizar
Pergunta 6
Pode descrever o processo que você segue ao avaliar se algo é apropriado para ser modernizado com o APEX? Pode dar um exemplo de uma situação em que você não usaria o APEX para modernizar um aplicativo do Forms? (46:30)
Simon:
- Algumas coisas não são adequadas para um web framework, como web_util (que executa operações de desktop)
- Determine quanto código existe nos triggers do Forms para calcular o esforço
- Reveja quais seções estão sendo utilizadas (algumas não estão sendo mais utilizadas = não modernizar)
Dario:
- O APEX é baseado na web, não é uma solução de cliente / servidor que tem algumas limitações
- O Oracle Forms tinha mais controle no cliente, o que não é um conceito “web” a ser seguido
- É possível usar plug-ins e outras técnicas para atingir os requisitos do cliente
Pergunta 7
O que você fez para preparar alguém com background em Forms a usar o APEX? O APEX é web, e web é diferente. (50:55)
Sergei:
-
Treinamos os desenvolvedores de Forms da empresa em três estágios
- Iniciante – Conceitos básicos do APEX; depois, permitimos que os desenvolvedores praticassem e aprendessem mais
- Intermediário – Estágio de aprimoramento, estágio do cliente, estágio de processamento
- Avançado – Melhores práticas e padrões; Consistência
- Assim que eles começarem a desenvolver código, fale sobre JS e CSS
- É melhor ter desenvolvedores experts em web para JS, CSS, HTML
Dario:
- É melhor ter experts em tecnologia web na equipe para absorver as novas tecnologias web
- Workshops direcionados usando os Forms que precisam ser modernizados
- Conscientize-os sobre o predomínio da comunidade APEX (twitter, apex.world)
- Incentive-os a fazer perguntas (e a pesquisar no Google)
- Crie plug-ins para funcionalidades comuns necessárias para várias páginas / aplicativos
- Considere frameworks
de terceiros como a FOEX
Francis:
- Preparar os desenvolvedores do Forms a respeito de como a web funciona e da necessidade de uma “mudança de mentalidade” é muito importante
- Deixe-os praticar com o APEX criando aplicativos simples
- Crie uma parceria com eles e ensine o que se deve e o que não se deve fazer
- Aprenda a depurar / rastrear aplicativos
- Também é necessário treinar os usuários finais – telas e processos serão diferentes
Pergunta 8
Quanto tempo foi necessário para que os atuais desenvolvedores do Forms se tornassem competentes em APEX e desenvolvimento na web? Eles continuaram avançando por conta própria? (1:01:45)
Dario:
- 42 minutos
- Após o treinamento, deverão estar produtivos em semanas, com orientação
- Após um mês ou dois, deverão estar produtivos, sem muita orientação
Simon:
- Operacionais em alguns dias, competentes em algumas semanas
- Outras tecnologias Web como JavaScript ou jQuery demoram mais e podem levar vários meses
- Os desenvolvedores precisam aderir ao APEX, o que requer tempo e experiência
Pergunta 9
Os clientes podem fazer essa migração por conta própria? Esse fórum do Office Hours é composto por muitos dos nossos parceiros. Se eu estivesse assistindo ao debate, poderia pensar "Bem, preciso de ajuda externa para fazer isso". O que vocês diriam?
Francis:
- Se já souberem APEX, eles poderão começar prontamente por conta própria
- É de grande ajuda ter um parceiro / coach experiente
- Os parceiros têm as ferramentas necessárias e podem fornecer treinamento e muito mais.
- Os parceiros têm vasta experiência com desafios, segurança, estratégia etc.
- Os clientes devem começar com um protótipo pequeno
Sergei:
- Não há dificuldades com os aplicativos menores
- Nos aplicativos maiores, é importante usar as melhores práticas (controle de versão, ambientes, plug-ins etc.), algo que os parceiros podem fornecer
- É especialmente importante obter ajuda nos primeiros meses
Pergunta 10
Para quem está assistindo a esse vídeo e está considerando modernizar alguns aplicativos do Forms com o APEX, você tem algum conselho especial? (1:08:40)
Dario:
- As empresas adoram o APEX, os diretores também e os desenvolvedores idem; portanto, vá em frente
- Participe de conferências da Oracle ou sobre o APEX, perceba o entusiasmo e conheça o excelente conteúdo
Simon:
- Faça download da versão mais recente do APEX
- Cadastre-se em apex.oracle.com
- Os desenvolvedores do Forms aprenderão APEX rapidamente
- Revise os aplicativos existentes para se certificar de que as páginas ainda estão sendo usadas
- Não existe “varinha de condão” para a migração – trata-se principalmente de reprojetar
- Para avaliar o futuro, consulte o white paper relacionado ao Oracle Forms “Java Client Roadmap”
{ https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}
Sergei:
- Comece pequeno – Pegue um projeto pequeno que dê resultados rapidamente
- Investigue as funcionalidades de geração de relatórios, como Relatórios Interativos, Grades Interativas etc.
Francis:
- Comece usando o APEX imediatamente – pratique
- Planeje a interface do usuário, planeje a segurança (autenticação e autorização) e planeje a navegação
- Desenvolva em fases, nada de estratégia “big bang”
- Mantenha a simplicidade – minimize os excessos
- Não tente reproduzir Forms
- Gerenciamento de Alterações – É necessário treinar desenvolvedores, analistas e DBAs
- Envolva-se na comunidade APEX