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 21
mo 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 3
ze 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