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