White paper ChangeMan ZMF WebSphere Sviluppo moderno di applicazioni mainframe Come accelerare il cambiamento aziendale minimizzando costi e rischi Sommario pagina Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Applicazioni mainframe moderne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Come superare le sfide poste da processi, personale e tecnologie. . . . . . . . . . . . . 3 Un alleato nella modernizzazione dello sviluppo delle applicazioni mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Un’opportunità straordinaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Oggi, modernizzare le applicazioni mainframe riporta diversi workload e funzioni delle applicazioni al mainframe. Panoramica Soffia vento di cambiamento per ciò che concerne le applicazioni nei vostri data center e ambienti mainframe. Sempre più persone oggi desiderano poter accedere in modo istantaneo ai propri dati sul Web tramite i loro dispositivi preferiti. L’architettura delle applicazioni mainframe in continua evoluzione è pronta a soddisfare queste esigenze. I mainframe odierni sono in grado di eseguire workload Java, di ospitare servizi Web, di utilizzare la virtualizzazione per eseguire più istanze di una stessa applicazione e di operare nel cloud. I cicli di mainframe, o MIPS (Million Instructions Per Second), hanno costi sempre più ridotti. Innovazioni come i processori specializzati zIIP e zAAP riducono ulteriormente i costi di elaborazione, consentendo agli sviluppatori di spostare il carico dei processi relativi alle applicazioni dalla CPU generale. Innovazioni come queste creano un ricco ventaglio di possibilità per gli sviluppatori di applicazioni di tutti i tipi, che operano su mainframe tradizionali o che lavorano con linguaggi più moderni. Le aziende hanno l’opportunità di creare nuove applicazioni in grado di combinare la stabilità, l’affidabilità, la velocità e la potenza di elaborazione del mainframe con la flessibilità delle interfacce tipiche dell’era del Web. La gestione SCCM (Software Configuration and Change Management) per mainframe può garantire la creazione di applicazioni di alta qualità e che rispondono alle esigenze, nonché agevolare il percorso verso la produzione. Applicazioni mainframe moderne Modernizzare le applicazioni mainframe una volta significava spostare le applicazioni dal mainframe. Oggi, modernizzare le applicazioni mainframe riporta diversi workload e funzioni delle applicazioni al mainframe. IBM si è occupata della parte più gravosa del lavoro grazie all’evoluzione continua dell’architettura delle applicazioni mainframe per soddisfare i requisiti aziendali, come il commercio elettronico. Le architetture monolitiche tradizionali delle applicazioni mainframe stanno diventando più flessibili, più veloci e più reattive ai cambiamenti aziendali. www.microfocus.com 1 White paper Sviluppo moderno di applicazioni mainframe Se, da un lato, il mainframe moderno continua ad eseguire workload esistenti (online e batch, COBOL e PL/I), dall’altro esegue anche workload moderni come il commercio elettronico, Java e servizi Web, il che lo rende incredibilmente versatile. Infine, il mainframe funge anche da enorme server per le applicazioni aziendali. Queste sono tutte buone notizie, poiché consentono alle aziende di creare nuove applicazioni per migliorare i servizi offerti ai clienti o per rendere l’azienda più efficiente di quanto non lo sia già. Ad esempio, un cliente importante di Serena (ora Micro Focus) fonda la sua intera azienda su applicazioni in grado di combinare front-end Java basati su browser con back end DB2 basati su mainframe. Il mainframe consente di gestire il commercio elettronico e l’elaborazione degli ordini del cliente, nonché il flusso delle applicazioni interne. Scritte in Java, le applicazioni utilizzano un modello di distribuzione continuo anziché il rigido modello di rilascio utilizzato in molte aziende di grandi dimensioni. Naturalmente, i mainframe continuano a eseguire applicazioni esistenti scritte negli anni settanta e ottanta, nonché a elaborare workload di batch critici per l’azienda, come le transazioni con carte di credito. COBOL è tuttora il linguaggio di programmazione prevalente. Gli sviluppatori continuano a scrivere programmi in COBOL, a creare sistemi online in CICS (Customer Information Control System) e a utilizzare database DB2, ma oggi tali database di mainframe e sottosistemi (IMS, CICS e DB2) sono in grado di eseguire con semplicità codice XML e servizi Web. Pertanto, il confine tra ambienti mainframe e ambienti di sviluppo distribuiti continua ad assottigliarsi, grazie alla disponibilità di file system HFS (HTTP File Server), di Linux e di altri moderni protocolli e tecnologie sul mainframe. Da questa situazione derivano grandi vantaggi. Ad esempio, ora è possibile spostare il carico dallo sviluppo di codice mainframe ad ambienti di sviluppo integrati (IDE) o ad ambienti basati su Windows, eliminando i costi derivanti da uno spazio di indirizzamento TSO (Time Sharing Option) dedicato e offrendo agli sviluppatori mainframe l’accesso a programmi di debug, plug-in e ad altri strumenti non disponibili nell’ambiente di programmazione 3270. 2 Un cliente importante di Serena (ora Micro Focus) fonda la sua intera azienda su applicazioni in grado di combinare front-end Java basati su browser con back end DB2 basati su mainframe. Gli sviluppatori Java desiderano sviluppare applicazioni da eseguire sul mainframe, ma preferiscono lavorare nei loro ambienti di sviluppo preferiti, come Eclipse, e concentrarsi su comuni dispositivi come telefoni cellulari e iPad. Ma ci sono anche grandi rischi, in particolare l’ambiente di sviluppo molto più complesso e la necessità di sviluppare applicazioni complesse in costante evoluzione per rispondere alle esigenze dell’attività. Secondo Gartner, le richieste di modifica documentate (RFC) possono arrivare a quota 300 in un mese per le piccole aziende e a più di 5.000 a settimana per le aziende Global Fortune 500. Durante la fase importante (la produzione), tutto il codice, dal mainframe agli endpoint, deve integrarsi perfettamente e garantire un funzionamento coerente in ogni fase del processo. Come superare le sfide poste da processi, personale e tecnologie Per i manager responsabili dello sviluppo di applicazioni mainframe, la sfida è gestire le applicazioni miste di nuova generazione in modo da favorire il cambiamento senza ulteriori rischi o costi. Le sfide si evidenziano in tre aree principali: processi, personale e tecnologie. Processi: la gestione del ciclo di vita delle applicazioni è diventata molto più difficile. Lo sviluppo di applicazioni ora prevede molte più componenti dinamiche, tecnologie diverse, persone con varie competenze e culture di programmazione, nonché dipendenze critiche che comprendono ambienti mainframe e distribuiti. Coordinare le modifiche da apportare alle applicazioni su diversi team isolati è più difficile. La distribuzione di codice in produzione è intrinsecamente più rischiosa e tenere sotto controllo le modifiche impreviste all’interno dell’azienda richiede moltissime competenze, nonché una vigilanza costante. Personale: le preziose conoscenze pratiche sul mainframe si disperdono man mano che gli sviluppatori di mainframe vanno in pensione. Gli sviluppatori Java sono disposti a lavorare in ambiente mainframe, ma non hanno né il tempo né l’inclinazione di impararne il funzionamento. Preferiscono lavorare nei loro ambienti di sviluppo preferiti, come Eclipse, e concentrarsi su comuni dispositivi come telefoni cellulari e iPad. Entrambe le forze in campo (gli adepti dell’ambiente mainframe e degli ambienti distribuiti) hanno le proprie pratiche e sono poco inclini ai cambiamenti. Migrazioni del mainframe o eventi aziendali come le espansioni e le acquisizioni possono (anche da un giorno all’altro) lasciare i team IT all’oscuro in merito alle applicazioni o persino su dove individuare il codice sorgente. Tecnologie: i tradizionali strumenti SCCM (Software Configuration and Change Management) per mainframe sono generalmente integrati direttamente nel vecchio mainframe e non si adattano facilmente allo sviluppo di applicazioni mainframe moderne (incluse metodologie di sviluppo concorrenti come Agile o Scrum, che iniziano ad essere utilizzate per lo sviluppo di applicazioni mainframe) o alle nuove applicazioni miste e ai relativi protocolli. Adattare tali strumenti tradizionali richiede troppo lavoro manuale, originando vulnerabilità pericolose, e può portare i team di sviluppo a impiegare troppe risorse in termini di tempo e budget per lo sviluppo di applicazioni miste. Tutto ciò potrebbe determinare più errori nelle applicazioni e interruzioni di servizio, richiedendo rollback e controlli ancora più dispendiosi in termini di tempo e di lavoro. www.microfocus.com 3 White paper Sviluppo moderno di applicazioni mainframe Per fortuna, i processi SCCM per mainframe, se correttamente automatizzati, sono in grado di rispondere con successo alla maggior parte di queste sfide. Un’altra fortuna è che alcune tecnologie di automazione SCCM per mainframe abbiano continuato a evolversi insieme al mainframe. Questa tecnologia moderna, i processi da essa automatizzati e le best practice applicate possono aiutarvi nelle operazioni di modernizzazione delle applicazioni. Un alleato nella modernizzazione dello sviluppo delle applicazioni mainframe La gestione SCCM moderna per mainframe può essere un valido alleato nello sviluppo di applicazioni mainframe moderne. Se automatizzata in modo intelligente e completo, la gestione SCCM per mainframe è in grado di controllare automaticamente ogni modifica al codice delle applicazioni nel nuovo ambiente di sviluppo mainframe, riducendo i rischi e garantendo l’integrità dei sistemi di produzione. È in grado di estendere la precisione e la stabilità del mainframe allo sviluppo di applicazioni miste, aiutando le organizzazioni che si occupano di sviluppo a sfruttare tale opportunità. Una moderna gestione SCCM per mainframe è in grado di unificare i due campi di sviluppatori, quelli mainframe e in ambienti distribuiti, aiutandoli a collaborare senza cambiare il modo in cui lavorano di solito e garantendo loro risultati più produttivi e prevedibili. Intanto, il sistema si occupa di monitorare e garantire l’integrità delle applicazioni, la possibilità di revisione e la qualità e può replicare le consegne impeccabili degli ambienti di programmazione mainframe tradizionali. Tutto questo si ottiene automatizzando in maniera intelligente la gestione della configurazione software e le modifiche del software durante l’intero ciclo di vita delle applicazioni: dallo sviluppo alla gestione dei rilasci. Un moderno sistema SCCM per mainframe: Individua e codifica le conoscenze pratiche sui mainframe, in modo da far rispettare in modo discreto le regole a tutti gli sviluppatori che lavorano con codice o applicazioni mainframe. A pplica automaticamente le best practice della gestione SCCM per mainframe in tutta l’organizzazione di sviluppo. Ad esempio, è possibile sviluppare una policy che impedisca di apportare un certo tipo di modifica al codice o una policy che invii la notifica automatica al project leader in presenza di un determinato tipo di modifica. 4 La moderna gestione SCCM (Software Configuration and Change Management) per mainframe è in grado di estendere la precisione e la stabilità del mainframe allo sviluppo di applicazioni miste, aiutando le organizzazioni che si occupano di sviluppo a sfruttare tale opportunità. Una moderna gestione SCCM per mainframe offre il meglio di entrambi gli approcci allo sviluppo di applicazioni mainframe: la precisione e la stabilità leggendarie del mainframe e la flessibilità di Java e degli altri linguaggi di programmazione moderni. D isciplina gli sviluppatori esterni alla piattaforma che sviluppano per il mainframe, inclusi gli sviluppatori Java e C++, riducendo le possibilità di errori a monte nel ciclo di sviluppo. C rea e centralizza le informazioni di gestione, in modo da poterle utilizzare per migliorare la possibilità di revisione delle applicazioni, la qualità dei processi e la produttività degli sviluppatori per l’intero ciclo di vita delle applicazioni. Ad esempio, un moderno sistema SCCM per mainframe registra automaticamente tutte le operazioni eseguite in un log, onde evitare sorprese. I rollback e le revisioni diventano più semplici, anche al crescere della complessità delle applicazioni. Una moderna gestione SCCM per mainframe utilizza standard IBM nativi, standard più recenti come i servizi Web Java e XML, framework e API aperte per creare ambienti di sviluppo aperti e flessibili. Una moderna gestione SCCM per mainframe include il supporto nativo completo di Java, HFS, XML e le altre tecnologie dell’architettura di applicazioni per mainframe IBM. Questo vuol dire che ciò che era possibile con COBOL e PL/1 negli ambienti di programmazione 3270 è ora possibile anche con Java su Eclipse, e ciò che era possibile eseguire con Java su Eclipse è ora possibile sul mainframe. Gli sviluppatori esterni che lavorano in Java possono scrivere per il mainframe senza conoscerne i dettagli sapendo che il codice risultante funzionerà semplicemente perché il sistema verifica continuamente le connessioni in maniera automatica (senza intervento umano), tiene traccia delle modifiche e convalida l’integrità del codice. Un moderno sistema SCCM include la gestione integrata dei rilasci ed estende la disciplina e la scalabilità ai processi di gestione dei rilasci, sia che gli sviluppatori distribuiscano direttamente il codice in produzione o che lo facciano tramite un team di gestione dei rilasci delle applicazioni. Tramite processi come quelli appena descritti, una moderna gestione SCCM per mainframe offre il meglio di entrambi gli approcci allo sviluppo di applicazioni mainframe: la precisione e la stabilità leggendarie del mainframe e la flessibilità di Java e degli altri linguaggi di programmazione moderni. Ad esempio, il cliente menzionato in precedenza in questo white paper utilizza la gestione SCCM moderna per mainframe per poter utilizzare i modelli di distribuzione continua per le sue applicazioni miste (front-end Java e back end DB2). Il cliente utilizza Micro Focus® ChangeMan ZMF e WebSphere per gestire la distribuzione continua di file JAR (Java Archive) e WAR (Web Application Archive) in grado di supportare le sue applicazioni. www.microfocus.com 5 White paper Sviluppo moderno di applicazioni mainframe È possibile semplificare e rafforzare ulteriormente lo sviluppo di applicazioni moderne per mainframe traendo vantaggio da concetti avanzati come il packaging del software. Il concetto di pacchetto, lanciato da Serena Software (ora Micro Focus), effettua automaticamente la manutenzione concomitante delle modifiche software per tutto il ciclo di vita delle applicazioni, gestendo tutto come un unico pacchetto anziché in singoli pezzi. Quando vengono apportate modifiche, la tecnologia dei pacchetti aggiorna automaticamente le relazioni tra i componenti. I processi di sviluppo sono più facilmente scalabili, anche in caso di applicazioni più complesse e distribuite su varie piattaforme e dispositivi. L’automazione intelligente (che fa uso di best practice integrate) è in grado di automatizzare i meccanismi alla base delle attività di comunicazione, gestione della configurazione, gestione dei rilasci, controllo e di altro tipo. Automatizzando i meccanismi alla base di tali attività, gli sviluppatori potranno concentrarsi su ciò che sanno fare meglio: scrivere codice di qualità. È possibile individuare automaticamente gli errori e spesso correggerli senza alcun intervento umano. In questo modo, sarà possibile portare più rapidamente in produzione nuove applicazioni o miglioramenti alle applicazioni (anche quelle complesse e miste), a costi inferiori e con meno rischi. Le API aperte consentono di adottare un approccio alla gestione dello sviluppo di applicazioni che sia maggiormente incentrato sull’azienda. Ad esempio, un’azienda ha integrato il proprio sistema SCCM per mainframe con il sistema di gestione del tempo esistente. Il sistema consente di automatizzare gli addebiti alle business unit per lavori eseguiti su varie risorse di sviluppo, senza che gli sviluppatori debbano compilare i moduli orari. Un’altra azienda, un’importante banca internazionale, ha sviluppato una suite per la generazione di rapporti che consente ai senior manager di controllare l’avanzamento delle approvazioni di ogni singolo sviluppatore. Anche un’altra grande azienda che fornisce servizi di gestione degli stipendi a migliaia di clienti utilizza una moderna gestione SCCM per mainframe per mantenere sincronizzate le modifiche tra più istanze della sua applicazione, che vengono poi utilizzate per assistere diversi clienti. Quando i componenti fondamentali subiscono importanti modifiche, il sistema invia automaticamente una notifica ai clienti e agli stakeholder principali tramite e-mail. Cosa più importante, la moderna gestione SCCM contribuisce a creare una disciplina e dei processi scalabili che si adattano alle esigenze dell’azienda, man mano che questa cresce e si evolve e rende lo sviluppo di applicazioni mainframe moderne molto più prevedibile, scalabile, tracciabile e controllabile. 6 La moderna gestione SCCM contribuisce a creare una disciplina e dei processi scalabili che si adattano alle esigenze dell’azienda, man mano che questa cresce e si evolve e rende lo sviluppo di applicazioni mainframe moderne molto più prevedibile, scalabile, tracciabile e controllabile. È possibile trarre vantaggio da tempistiche e nuove tecnologie uniche per esaminare i processi attuali, eseguire upgrade o eliminare quelli obsoleti e distribuirne di nuovi e più efficaci. Un’opportunità straordinaria Chi si occupa dello sviluppo di applicazioni mainframe ha la straordinaria opportunità di portare più applicazioni sotto il controllo del mainframe e della sua celebre precisione. È possibile utilizzare la moderna gestione SCCM per mainframe per migliorare le metodologie di gestione, modifica e distribuzione delle applicazioni aziendali per tutto il loro ciclo di vita. È possibile trarre vantaggio da tempistiche e nuove tecnologie uniche per esaminare i processi attuali, eseguire upgrade o eliminare quelli obsoleti e distribuirne di nuovi e più efficaci. Non c’è momento migliore di questo per farlo. www.microfocus.com 7 Micro Focus Italia +39 02 366 349 00 Micro Focus Sede centrale Regno Unito +44 (0) 1635 565200 www.microfocus.com www.microfocus.com 162-IT0080-001 | S | 04/17 | © 2017 Micro Focus. Tutti i diritti riservati. Micro Focus e il logo Micro Focus, tra gli altri, sono marchi di fabbrica o marchi registrati di Micro Focus o delle sue controllate o consociate nel Regno Unito, negli Stati Uniti e in altri Paesi. Tutti gli altri marchi appartengono ai rispettivi proprietari.