Dopo quasi 40 anni di lavoro come sviluppatore o con sviluppatori, sostengo che scrivere codice sia in parte arte e in parte scienza: un ibrido di creatività e competenza tecnica. Ho anche osservato che la creatività è al meglio quando gli sviluppatori hanno la libertà di fare scelte.
Dobbiamo anche riconoscere che i responsabili dello sviluppo necessitano di processi che garantiscano controllo, osservabilità e coerenza. Nel frattempo, le aziende per cui lavorano hanno bisogno che il software venga distribuito a una velocità maggiore, ma senza introdurre rischi.
Come conciliare tutti questi requisiti nel mondo del cloud ibrido ? Questo rappresenta un ostacolo particolarmente arduo per gli sviluppatori e le organizzazioni che producono e si affidano ad applicazioni aziendali progettate per interagire con sottosistemi mainframe (MSS) come CICS®, IMS ™ e Db2® .
Rocket Software offre la soluzione ideale, mettendo a disposizione funzionalità di sviluppo all'avanguardia con un'ampia gamma di interfacce utente. Le soluzioni sono implementabili su z/OS®, on-premise e nel cloud, su sistemi Windows®, Linux® e AIX. Rocket® Enterprise Developer e Rocket® Enterprise Test Server offrono agli sviluppatori la possibilità di scegliere la propria "esperienza di cambiamento" e di integrare moderne pratiche di sviluppo. Questo include anche l'integrazione di DevOps nelle attività quotidiane di manutenzione e modernizzazione delle applicazioni MSS.
Nelle versioni più recenti, abbiamo anche introdotto il supporto per la containerizzazione delle funzionalità di sviluppo. L'implementazione delle funzionalità di sviluppo in container mantiene le caratteristiche uniche di Enterprise Developer. La fornitura di ambienti di sviluppo "individuali" che eliminano i colli di bottiglia dell'esperienza di sviluppo delle applicazioni MSS tradizionale rimane intatta. Lo stesso vale per la possibilità di gestione e controllo centralizzati in organizzazioni di sviluppo su larga scala.
La natura dinamica dei container li ha resi onnipresenti nell'erogazione di funzioni di sviluppo automatizzate in tutti i principali strumenti di pipeline CI/CD. E ora è anche possibile allinearli ai modelli di flusso di lavoro dei sistemi di controllo delle versioni basati su branch.
Per ampliare e completare ulteriormente queste scelte, nella versione 10.0 di Enterprise Developer abbiamo introdotto la possibilità di effettuare la distribuzione tramite Development Containers.
I contenitori di sviluppo (o Dev Container in breve) sono ambienti di sviluppo riproducibili. Ma in cosa si differenziano dai contenitori standard?
I Dev Container aggiungono un ulteriore livello di controllo sulla configurazione dell'ambiente di sviluppo. Questo estende il container standard con opzioni di personalizzazione specifiche per lo sviluppo. I Dev Container vengono gestiti tramite un file di configurazione basato su JSON che semplifica la gestione delle funzionalità del container e può essere sottoposto a versioning insieme all'applicazione. Ulteriori funzionalità consentono ai singoli sviluppatori di personalizzare il proprio ambiente in base alle proprie preferenze.
I Dev Container potenziano gli sviluppatori offrendo un ambiente affidabile, isolato ed efficiente per la creazione e il test del codice.
Contribuiscono a cicli di sviluppo più rapidi e a una migliore collaborazione all'interno del team di sviluppo.
Isolamento e coerenza
Velocità ed efficienza
Integrazione e test continui
Sviluppo cloud-native
Con il tipico sviluppo basato su host, tutti gli elementi come editor, SDK, server di applicazioni, strumenti e pacchetti e codice sorgente si trovano in un unico ambiente. Questo porta spesso a conflitti software tra i progetti.
Quando si verificano conflitti, gli sviluppatori devono scegliere le versioni di queste dipendenze che non sono le stesse delle versioni ideali, solo per preservare l'uso di più basi sorgente.
Nello sviluppo basato su container, gli SDK, i server delle applicazioni, gli strumenti e i pacchetti necessari vengono installati all'interno di un container, incluso Rocket® Enterprise Developer. Il codice sorgente può essere caricato o montato all'interno del container, garantendo un isolamento completo.
Considerate questo aspetto nel contesto dello sviluppo di applicazioni MSS, dove spesso è necessario lavorare su consegne con cadenze diverse. L'utilizzo di Dev Container consente allo sviluppatore di lavorare su diverse "versioni" dell'applicazione senza dover dedicare molto tempo alla riconfigurazione dell'ambiente di sviluppo.
Per aiutarti a visualizzare come funziona tutto questo, guarda il seguente video.
I Dev Container offrono agli sviluppatori un meccanismo "light touch" per accedere ai propri strumenti di sviluppo, in linea con le moderne pratiche di sviluppo. Un ovvio alleato per questo tipo di esperienza di sviluppo è l'utilizzo di test unitari per semplificare e accelerare il test del codice modificato prima di impegnare le modifiche nel processo di CI/CD. L'utilizzo di test unitari ridurrà anche i tassi di errore nelle fasi successive, più funzionali, di test dell'SLDC.
Il test unitario COBOL [OC1] è disponibile in Rocket® Enterprise Developer da diverse versioni. Nella versione 9.0 abbiamo esteso questa funzionalità per fornire mocking e stubbing di costrutti di codifica MSS come CICS e SQL, aggiungendo il supporto IMS nella versione 10.0. Ciò consente di testare il codice della logica di business modificato senza la necessità di disporre di un ambiente completo del sottosistema MSS.
La combinazione di queste due funzionalità di Enterprise Developer consentirà agli sviluppatori di sfruttare i vantaggi delle moderne pratiche di sviluppo per accelerare le modifiche di manutenzione durante il ciclo di vita del prodotto (SDLC). È particolarmente vantaggioso per le organizzazioni che esternalizzano alcune o tutte queste modifiche a terze parti.
Per maggiori dettagli sull'Enterprise Enterprise Developer Unit Test Framework, leggi il blog allegato. Per vedere come funzionano i test unitari all'interno di un Dev Container, guarda il video qui sotto.
Con la crescente diffusione delle piattaforme cloud nello sviluppo, l'adozione di strumenti di sviluppo ospitati è in aumento. Un esempio è GitHub Codespaces, che fornisce ambienti di "codice da qualsiasi luogo". Le funzionalità di sviluppo sono gestite nel cloud, basate su Dev Container, e accessibili tramite un browser che utilizza la versione web di VS Code.
Noi di Rocket Software immaginiamo che questi ambienti svolgeranno un ruolo importante nel futuro dello sviluppo di applicazioni MSS e stiamo lavorando per fornire Enterprise Developer per GitHub Codespaces. Per un'anteprima del valore di questa innovazione, guardate il video qui sotto.
Se sei già un cliente Enterprise Developer, scarica la versione 10.0 e visualizza la documentazione del prodotto qui .
Se non sei ancora un cliente, segui il link qui per ottenere una versione di prova di Enterprise Developer.
Se sei interessato al futuro dello sviluppo delle applicazioni MSS, ti invitiamo a contribuire a promuovere l'innovazione partecipando al sondaggio.
Vi presentiamo Rocket EVA 2.0
Scegliere il percorso giusto per la modernizzazione del codice potenziata dall'intelligenza artificiale
Individua il percorso di modernizzazione che protegge ciò che conta
