Dibattito tra partner sulla modernizzazione di Forms

Joel Kallman, Vice President di Software Development, e numerosi esperti della community APEX globale discutono della modernizzazione di Oracle Forms. La discussione consente di scoprire gli aspetti positivi e le sfide che l'uso di Oracle APEX per modernizzare le applicazioni Oracle Forms propone agli utenti. Con storie di successo, sfide e suggerimenti del mondo reale.

Partecipanti

Joel Kallman (ospite)
Vice President di Software Development, Oracle, a Columbus, Ohio, Stati Uniti

Dario Bilić
Membro del comitato e manager, BiLog a Zagabria, Croazia

Simon Greenwood
Development Services Director, Explorer UK Ltd. a Leeds, Regno Unito

Sergei Martens
Managing Partner, Smart4APEX a Tilburg, Paesi Bassi

Francis Mignault
CTO e cofondatore, Insum Solutions a Montreal, Canada

Questa registrazione è stata effettuata nell'ambito di APEX Office Hours: https://apex.oracle.com/officehours

Punti di discussione principali

Domanda 1

Può fornire una breve panoramica di uno dei progetti completati (o ancora in corso)? (11:55)

Dario:

  • Banca europea regionale di grandi dimensioni
  • 500 Oracle Forms; 600 Oracle Reports
  • Pilota che utilizza APEX, Java con Angular, .NET, upgrade a Forms 12c
  • Basato su pilota selezionato Oracle APEX

Simon:

  • ISV del settore energetico per la gestione di misuratori intelligenti per gas ed elettricità
  • Utilizzato dai 4/6 fornitori di energia più importanti del Regno Unito
  • 100 istanze di Forms interessate dalla trasformazione
  • Motivi per la modernizzazione:
    • Necessità di un'offerta SaaS per la distribuzione del software (solo browser)
    • Progettazione reattiva e moderna per tablet, non solo per desktop
    • Costi punto di accesso inferiori
    • Necessità di un'opzione cloud volta al futuro, non di un servizio cloud Oracle Forms
    • L'espansione in Europa richiede capacità multilingue
    • Gli sviluppatori Forms hanno le competenze necessarie per imparare l'uso di APEX

Sergei:

  • Società di gestione di terminali con serbatoi nel settore del petrolio e del gas
  • Modernizzazione di Oracle Forms per prepararsi alla crescita futura e prevista e nuova fattorizzazione per adattarsi meglio alle esigenze aziendali
  • Dopo una disputa iniziale con ADF, si è ritenuto che APEX sarebbe stato più veloce
  • Applicazione di importanza critica sviluppata da 2 team di dieci membri ciascuno

Francis:

  • Linea di crociera più importante degli Stati Uniti, Shipboard Property Management System (imbarco, escursioni a terra, servizi per ospiti, back office e report)
  • Numerosi progetti in molti anni
  • 300 istanze di Forms modernizzate e numerosi report
  • Motivi per la modernizzazione:
    • Problemi inerenti alle prestazioni
    • Interfaccia utente migliorata
    • Possibilità di sfruttare tutti gli investimenti sostenuti per il linguaggio PL/SQL

Domanda 2

Come definirebbe il suo approccio per la modernizzazione con APEX? Riscrittura? Migrazione parziale? Creazione di nuove applicazioni accanto alle applicazioni Oracle Forms esistenti? (20:50)

Simon:

  • Necessario prendere in considerazione tutto a seconda delle circostanze
  • In genere, la riscrittura completa, per sfruttare costi di licenza inferiore e così via
  • Può essere effettuata elemento per elemento ma non è consigliabile: Forms ha una struttura client/server
  • Creazione di applicazioni "Web" moderne utilizzando APEX
  • Nessuna "soluzione miracolosa" per eseguire la migrazione da Forms a qualcos'altro: è necessario sviluppare di nuovo
  • Riutilizzo della maggior quantità di codice possibile

Sergei:

  • Iniziare con una migrazione uno-a-uno (o più) in modo che gli sviluppatori possano imparare a usare APEX
  • Spostare la logica trigger nella logica del database
  • Scegliere obiettivi di facile attuazione per le nuove funzionalità per incentivare l'attività
  • Prendere in considerazione la migrazione di "gruppi di utenti" in modo che non debbano lavorare sia in Forms che in APEX

Francis:

  • Difficile giustificare un "big bang" in cui fare tutto in un solo progetto
  • Uso della riscrittura parziale per estendere le applicazioni esistenti, per modulo
  • In primo luogo comprendere APEX, quindi iniziare a usarlo sulle tabelle esistenti

Domanda 3

Quali sono state le sfide più importanti da affrontare per questo tipo di progetto? (29:40)

Sergei:

  • Il cambiamento della mentalità degli sviluppatori Forms, con il passaggio da una strategia che prevedeva il massimo delle informazioni in una pagina a una strategia di progettazione orientata al Web
  • Per i progetti di più ampie dimensioni, l'impostazione degli standard interfaccia utente mantenendo al contempo la coerenza
  • Allontanamento degli obiettivi per le continue richieste di nuove funzionalità

Simon:

  • Gli sviluppatori Forms sono abituati a connessioni al database persistenti pertanto utilizzano tabelle temporanee; in APEX si devono usare collection APEX
  • Pagine di modifica multiriga
  • Convalide che utilizzano trigger elemento e blocco anziché alla sottomissione della pagina in APEX
  • Problemi nel tentativo di replicare la totalità dell'elaborazione Forms (ad esempio, in più pagine)

Domanda 4

Qual è il vantaggio più importante per il cliente? Il cliente è soddisfatto del risultato?

Dario:

  • Poiché paga già per APEX, tramite le licenze del database, può risparmiare lasciando Forms
  • Possibilità di formare gli sviluppatori Forms all'uso di APEX con risparmi significativi sui costi
  • Passaggio istantaneo alla tecnologia Web: distribuzione tramite Web (centralizzata) anziché a migliaia di utenti finali
  • Possibilità di usufruire delle capacità Mobile e dei servizi REST utilizzando APEX
  • Applicazioni modernizzate attraenti per gli utenti business

Francis:

  • Sfruttamento dell'investimento esistente in Oracle: licenze, modello dati, stesso stack tecnologico
  • Formazione più facile degli sviluppatori Forms in APEX rispetto ad altre tecnologie Web
  • Balzo nel 21mo secolo: applicazioni Mobile, reattive e moderne

Domanda 5

Si parla sempre della protezione dell'investimento per SQL e PL/SQL nella business logic backend. È un errore? In che misura è stato necessario modificare il codice backend affinché funzionasse nel nuovo ambiente con APEX? (41:50)

Francis:

  • Se la logica risiede nel database, e non in Forms, è possibile utilizzare quasi tutto il codice
  • Se è incorporata in Forms (o generata da Designer) è più difficile raggiungere ed estrarre la business logic
  • È possibile utilizzare la funzione di migrazione Forms incorporata in APEX per annotare la logica
  • APEX più vicino possibile all'approccio di sviluppo Forms vuol dire riutilizzo più agevole

Dario:

  • La maggior parte del codice è all'interno di Forms: è necessario provare e spostarlo tutto nel database
  • Se il codice è già nel database, è possibile riutilizzarlo molto facilmente.

Domanda 6

Può descrivere la procedura seguita per valutare se la modernizzazione di un dato elemento con APEX è appropriata? Può fornire un esempio di qualcosa per cui non utilizzerebbe APEX per modernizzare un'applicazione Forms? (46:30)

Simon:

  • Alcuni elementi, quale ad esempio web_util, che esegue operazioni desktop, non sono adatti per un framework Web
  • Determinare la quantità di codice presente nei trigger Forms per determinare l'impegno necessario
  • Rivedere quali sezioni vengono ancora utilizzate (non modernizzare quelle non utilizzate più)

Dario:

  • APEX è basato sul Web, non ha un struttura client/server, che presenta alcuni limiti
  • Forms consentiva un maggiore controllo lato client, una procedura non proprio "Web"
  • Possibilità di utilizzare plugin e altre tecniche per soddisfare i requisiti lato client

Domanda 7

Come vede la formazione all'uso di APEX per gli sviluppatori con esperienze pregresse in Forms? L'ambiente è il Web e il Web è diverso. (50:55)

Sergei:

  • Formazione per gli sviluppatori organizzata su 3 fasi nella società
    • Principianti: nozioni di base di APEX, quindi sviluppatori autorizzati a provare per imparare di più
    • Intermedi: fase di rendering, fase client, fase di elaborazione
    • Avanzati: procedure ottimali e standard, coerenza
  • Dopo che avranno iniziato a sviluppare, introdurre JS e CSS
  • Meglio disporre di uno sviluppatore Web esperto per JS, CSS, HTML

Dario:

  • Meglio disporre di un esperto di tecnologie Web nel team per comprendere le nuove tecnologie Web
  • Workshop mirati con le istanze di Forms da modernizzare
  • Informarli sull'efficacia della community APEX (Twitter, apex.world)
  • Incoraggiarli a porre domande (anche effettuando ricerche con Google)
  • Creare plugin per le funzioni comuni necessarie in più pagine o applicazioni
  • Esaminare framework di 3ze parti quale FOEX

Francis:

  • La formazione degli sviluppatori Forms al funzionamento del Web e un "cambiamento di mentalità" sono importantissimi
  • Incoraggiarli a utilizzare il programma e a creare semplici applicazioni
  • Collaborare insegnando loro cosa fare e cosa non fare
  • Imparare le modalità di debug e trace delle applicazioni
  • È inoltre necessario formare gli utenti finali: le schermate e i processi sono diversi

Domanda 8

Quanto tempo occorre agli sviluppatori Forms esistenti per diventare esperti dello sviluppo in APEX e nel Web? Sono stati in grado di continuare da soli? (1:01:45)

Dario:

  • 42 minuti
  • Dopo la formazione, si deve essere produttivi in alcune settimane, con supporto
  • Si deve essere produttivi in un mese o due, senza troppo supporto

Simon:

  • Pronti in alcuni giorni, competenti in alcune settimane
  • Altre tecnologie Web, quali JavaScript o jQuery, richiedono più tempo, anche vari mesi
  • Gli sviluppatori devono adottare APEX e ciò richiede tempo ed esperienza

Domanda 9

I clienti possono eseguire questa migrazione da soli? A questo forum Office Hours partecipano molti nostri partner e, se lo guardassi, potrei pensare "Ho realmente bisogno di un aiuto esterno per farlo". Cosa direbbe lei?

Francis:

  • Se hanno già una certa conoscenza di APEX possono iniziare da soli
  • È di grande aiuto disporre di un istruttore/partner esperto
  • I partner dispongono dell'insieme di strumenti necessari e possono fornire formazione e altro
  • I partner hanno una profonda esperienza in termini di sfide, sicurezza, approccio e così via
  • I clienti dovrebbero iniziare con un piccolo prototipo

Sergei:

  • Le applicazioni più piccole non creano problemi
  • Per le applicazioni più grandi è importante utilizzare le procedure ottimali (controllo delle versioni, ambienti, plugin, …) che i partner possono fornire
  • È importante poter disporre di assistenza, soprattutto per i primi mesi

Domanda 10

Ha un suggerimento specifico per chi, guardando questo forum, riflette sulla modernizzazione delle proprie applicazioni Forms con APEX? (1:08:40)

Dario:

  • Piace agli utenti business, ai responsabili e ancor di più agli sviluppatori: una ragione valida per farlo
  • Partecipare a una conferenza Oracle o APEX per rendersi conto dell'entusiasmo che suscita e del contenuto di qualità offerto

Simon:

  • Scaricare la versione più recente di APEX
  • Iscriversi su apex.oracle.com
  • Gli sviluppatori Forms adotteranno APEX rapidamente
  • Rivedere le applicazioni esistenti per assicurarsi che le pagine vengano ancora utilizzate
  • Non esiste alcuna "soluzione miracolosa" per la migrazione, si tratta principalmente di una riprogettazione
  • Vedere la documentazione tecnica relativa a Forms: "Java Client Roadmap" per valutare il futuro
    {https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}

Sergei:

  • Iniziare con poco: scegliere un piccolo progetto che garantisca risultati rapidi
  • Esaminare le funzionalità di report, quali Report interattivi, Griglie interattive e così via

Francis:

  • Iniziare a usare APEX immediatamente eseguendone le funzioni
  • Pianificare l'interfaccia utente, la sicurezza (autenticazione e autorizzazione) e la navigazione
  • Preferire uno sviluppo in fasi successive e non "big bang"
  • Semplicità: ridurre al minimo le funzioni speciali accattivanti
  • Non tentare di riprodurre l'ambiente Forms
  • Gestire il cambiamento: gli utenti, gli sviluppatori, gli analisti e gli amministratori di database devono essere formati
  • Diventare membri attivi della community APEX