Mesa redonda de partners sobre la modernización de Forms

Vea a Joel Kallman, director sénior de desarrollo de software, junto con varios expertos de la comunidad global de APEX, debatir sobre la modernización de Oracle Forms. Aprenda sobre los aspectos positivos, junto con los desafíos, del uso de Oracle APEX para la modernización de aplicaciones de Oracle Forms. Se hablará sobre experiencias de éxito del mundo real, desafíos y consejos.

Participantes

Joel Kallman (presentador)
director sénior de desarrollo de software de Oracle en Columbus, Ohio (EE.UU.)

Dario Bilić
miembro de la mesa y gerente de BiLog en Zagreb (Croacia)

Simon Greenwood
director de servicios de desarrollo de Explorer UK Ltd. en Leeds (Reino Unido)

Sergei Martens
partner de gestión de Smart4APEX en Tilburg (Países Bajos)

Francis Mignault
jefe directivo de tecnología y cofundador de Insum Solutions en Montreal (Canadá)

Esta grabación se ha realizado como parte de APEX Office Hours: https://apex.oracle.com/officehours

Puntos principales del debate

Pregunta 1

¿Podrían darnos un breve resumen de uno de sus proyectos finalizados (o de algo que esté en proceso)? (11:55)

Dario:

  • Un gran banco regional europeo
  • 500 Oracle Forms; 600 Oracle Reports
  • Pilot que, mediante APEX, Java con Angular, .NET, actualiza a Forms 12c
  • Oracle APEX seleccionado basado en pilot

Simon:

  • VIS del sector energético que gestiona los medidores inteligentes de los medidores de gas y electricidad
  • Utilizado por 4 de los 6 mayores proveedores de energía del Reino Unido
  • Cientos de Forms en transformación
  • Razones para la modernización:
    • Se necesita una oferta de SaaS para la entrega de software (solo para explorador)
    • Diseño moderno y ajustable para tablets, no solo para escritorios
    • Poco costo de punto de entrada
    • Se necesita una opción de nube que avance, y Oracle Forms no dispone de servicio en la nube
    • Se extiende por Europa, así que es necesario que sea multilingüe
    • Los desarrolladores de Forms tienen aptitudes previas para aprender APEX

Sergei:

  • Compañía de depósito de tanques del sector petrolero
  • Modernizar Oracle Forms como preparación para un crecimiento futuro esperado, y refactorizar para ajustarse mejor a las necesidades del negocio
  • Al principio hubo problemas con ADF, así que se pensó que APEX sería más rápido
  • Dos equipos de diez miembros cada uno están desarrollando una aplicación esencial

Francis:

  • Importante línea de cruceros estadounidense, sistema de gestión de propiedad a bordo (embarcaciones, excursiones a la costa, servicio de huéspedes, gestión interna e informes)
  • Múltiples proyectos a lo largo de muchos años
  • 300 Forms modernizados y una gran cantidad de informes
  • Razones para la modernización:
    • Problemas de rendimiento
    • Interfaz de usuario mejorada
    • Se puede aprovechar toda la inversión PL/SQL

Pregunta 2

¿Cuál dirían que es su enfoque para la modernización con APEX? ¿Reescribir? ¿Migrar parcialmente?¿Crear nuevas aplicaciones adyacentes a las aplicaciones existentes de Oracle Forms? (20:50)

Simon:

  • Hay que tener en cuenta todas las circunstancias posibles
  • Normalmente se reescribe por completo para aprovechar las ventajas de costos de licencia bajos, etc.
  • Se puede realizar de forma comparable pero no se debe, ya que Forms está basado en cliente/servidor
  • Se crea una aplicación "web" moderna con APEX
  • No existe una "fórmula milagrosa" para migrar desde Forms: hay que volver a desarrollar
  • Se reutiliza todo el código posible

Sergei:

  • Se empieza con una migración uno a uno (o a varios) para que los desarrolladores aprendan APEX
  • Se mueve la lógica de disparador a la lógica de base de datos
  • Seleccionar lo más fácil de la nueva funcionalidad para hacer feliz al negocio
  • Consultar los "grupos de usuarios" que migran para que no tengan que trabajar en Forms y APEX

Francis:

  • Es difícil justificar un proyecto en el que se hace todo a la vez
  • Utilizar reescritura parcial para ampliar las aplicaciones existentes: por módulos
  • Primero comprender APEX y empezar a utilizarlo en las tablas existentes

Pregunta 3

¿Cuáles fueron los mayores desafíos a los que se enfrentaron en este tipo de proyecto? (29:40)

Sergei:

  • Cambiar la dinámica de los desarrolladores de Forms de poner todo el contenido posible en una página a un diseño de web fácil de usar
  • En el caso de proyectos más grandes, establecer estándares de IU y ser consistente
  • Crecimiento excesivo: negocio exigiendo constantemente nuevas funcionalidades

Simon:

  • Desarrolladores de Forms acostumbrados a conexiones de bases de datos persistentes y que por eso utilizan tablas temporales. En APEX hay que utilizar recopilaciones de APEX
  • Editar páginas de varias filas
  • Validaciones mediante disparadores de elemento y bloque en lugar validar en la ejecución de página en APEX
  • Problemas al intentar reproducir procesos de Forms al 100% (por ejemplo, en varias páginas)

Pregunta 4

¿Cuál ha sido la mayor ventaja para el cliente? ¿Está satisfecho con el resultado?

Dario:

  • Ya está pagando APEX (mediante licencias de base de datos) para ahorrar dinero al dejar Forms
  • Está formando a los desarrolladores de Forms en APEX: gran ahorro en costos
  • Se ha pasado directamente a la tecnología web. Despliega a través de la web (centralizada) en lugar de sacar a miles de usuarios finales
  • Obtiene capacidades de servicios REST y móviles con APEX
  • Las aplicaciones modernizadas gustan a los usuarios profesionales

Francis:

  • Aprovechan su inversión en Oracle: licencias, modelo de datos, misma pila de tecnología
  • Es más fácil formar desarrolladores de Forms en APEX que en otras tecnologías web
  • Han saltado al siglo XXI: aplicaciones móviles, ajustables y modernas

Pregunta 5

Siempre hablamos sobre conservar la inversión de la lógica de negocio de backend, en SQL y PL/SQL. ¿Es una falacia? ¿Cuánto código de backend se tuvo que modificar para que funcionara en el mundo nuevo de APEX? (41:50)

Francis:

  • Si la lógica reside en la base de datos (y no en Forms), se puede utilizar casi todo el código
  • Si se ha creado en Forms (o se generó con el diseñador), es más difícil pasar y extraer la lógica de negocio
  • Se puede utilizar la función de migración de Forms a APEX que incorpora APEX para anotar la lógica
  • APEX lo más cerca posible al enfoque de desarrollo de Forms = reutilización más fácil

Dario:

  • Si la mayoría del código está en Forms, hay que intentar moverlo todo a la base de datos
  • Si el código ya está en la base de datos, entonces es muy fácil volver a utilizarlo.

Pregunta 6

¿Podrían describir su proceso que a seguir para evaluar si algo es apropiado para su modernización con APEX? ¿Y podrían dar un ejemplo de algo con el que no utilizarían APEX para modernizar una aplicación de Forms? (46:30)

Simon:

  • Hay cosas que no son apropiadas para un marco web, como web_util (que realiza operaciones de escritorio)
  • Determinar cuánto código existe en los disparadores de Forms para definir el esfuerzo
  • Revisar qué secciones se siguen utilizando (no modernizar las que ya no se utilizan)

Dario:

  • APEX está basado en web, no en cliente/servidor, que tiene ciertas limitaciones
  • Forms tenía más control en el cliente, que no es algo típico de "web"
  • Poder utilizar plugins y otras técnicas para alcanzar los requisitos del cliente

Pregunta 7

¿Cómo abordan la formación en APEX para alguien que tiene experiencia en Forms? Es web, por lo que es distinto. (50:55)

Sergei:

  • Desarrolladores formados en Forms en 3 etapas en la compañía
    • Principiante: aspectos básicos de APEX; a continuación se les permite participar y aprender más
    • Intermedio: etapa de presentación, de cliente, de procesamiento
    • Avanzado: mejores prácticas y estándares, consistencia
  • Cuando empiecen a desarrollar, hablar sobre JS y CSS
  • Lo mejor es tener un desarrollador web experto en JS, CSS, HTML

Dario:

  • Lo mejor es tener un experto en tecnologías web en el equipo para controlar las nuevas tecnologías web
  • Talleres específicos con Forms que hay que modernizar
  • Concienciarlos del poder de la comunidad APEX (twitter, apex.world)
  • Animarlos a hacer preguntas (incluso buscar en Google)
  • Crear plugins para las funciones comunes necesarias en varias páginas/aplicaciones
  • Consultar marcos de terceros como FOEX

Francis:

  • Lo más importante es formar a los desarrolladores de Forms sobre cómo funciona la web y hacerles un "cambio de mentalidad"
  • Hacer que interactúen y creen aplicaciones simples
  • Colaborar con ellos y enseñarles qué hacer y qué no
  • Aprender a depurar/rastrear aplicaciones
  • Es necesario formar a los usuarios finales: las pantallas y procesos serán diferentes

Pregunta 8

¿Cuánto tardan los desarrolladores de Forms en ser competentes en APEX y desarrollo web? ¿Pudieron seguir desarrollando de forma independiente? (1:01:45)

Dario:

  • 42 minutos
  • Tras su formación, y con asistencia, deberían ser productivos en semanas
  • Tras un mes o dos, deberían ser productivos sin mucha asistencia

Simon:

  • Unos días para ponerse en marcha, competentes en unas semanas
  • Otras tecnologías web, como JavaScript o jQuery, pueden llevar meses
  • Los desarrolladores deben adoptar APEX, que toma tiempo y aporta experiencia

Pregunta 9

¿Pueden realizar los clientes esta migración por su cuenta? Este foro de Office Hours ha estado formado por nuestros partners, y si yo estuviera viendo esto, pensaría "Vaya, necesito ayuda externa para hacer esto". ¿Qué responderían a esto? (1:06:55)

Francis:

  • Si ya conocen APEX, entonces pueden empezar por su cuenta con facilidad
  • Es muy útil disponer de un tutor/partner
  • Los partners tienen herramientas, pueden proporcionar formación, etc.
  • Los partners tienen gran experiencia en desafíos, seguridad, enfoque, etc.
  • Los clientes deben empezar con un pequeño prototipo

Sergei:

  • Las aplicaciones más pequeñas son fáciles
  • Para las aplicaciones más grandes, es importante utilizar mejores prácticas (control de versiones, entornos, plugins, etc.), que los partners pueden aportar
  • Es muy importante obtener ayuda durante los primeros meses

Pregunta 10

¿Algún consejo para los que nos estén viendo, y que estén pensando en modernizar algunas de sus aplicaciones de Forms con APEX? (1:08:40)

Dario:

  • A los usuarios profesionales les encanta, a los responsables en gestión les encanta, a los desarrolladores les encanta, así que simplemente hacerlo
  • Acudir a congresos de Oracle o APEX, y ver el entusiasmo y excelente contenido

Simon:

  • Descargar la versión más reciente de APEX
  • Registrarse en apex.oracle.com
  • Los desarrolladores de Forms se pasarán rápidamente a APEX
  • Revisar las aplicaciones existentes para asegurarse de que se siguen utilizando las páginas
  • No hay ninguna "fórmula mágica" para la migración, es básicamente un rediseño
  • Consultar los documentos técnicos relacionados con Forms: “Guía básica del cliente Java” para valorar el futuro
    { https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}

Sergei:

  • Empezar poco a poco: elegir un proyecto pequeño con el que conseguir resultados rápidos
  • Investigar funcionalidades de informes, como informes interactivos, cuadrículas interactivas, etc.

Francis:

  • Empezar con APEX de inmediato y probarlo
  • Planificar la IU, la seguridad (autenticación y autorización) y la navegación
  • Desarrollar por partes, no todo a la vez
  • No complicarse, minimizar las florituras
  • No reproducir a Forms
  • Gestión del cambio: tanto usuarios como desarrolladores, analistas y DBA necesitan formación
  • Formar parte de la comunidad APEX