04 - System Administration04g - Varie sistemistica

IBM i Technology Refresh 7.4 TR1 e 7.3 TR7

Siamo ormai in pieno autunno ma una bella rinfrescata è sempre piacevole visto le giornate quasi estive che continuano a farci compagnia in questi giorni… diamo quindi un benvenuto agli ultimi Technology Refresh per IBM i!

L’annuncio è di soli due giorni fa, 8 Ottobre 2019, Technology Refresh per IBM i, TR1 per la 7.4 e TR7 per la 7.3, sono arrivati puntuali gli aggiornamenti alle ultime versione del sistema operativo con nuove funzionalità per gli sviluppatori e sistemisti e nuove cose interessanti lato Open Source. Ennesima prova dello sforzo che i laboratori di Rochester stanno facendo per rendere sempre più attuale e moderna questa fantastica piattaforma IBM i che, purtroppo, oggi vediamo spesso, anche in grandi aziende, ferma a vecchie versioni e a vecchi modi di lavorare e sviluppare… quando invece potrebbe dare grandi soddisfazioni se utilizzata come un IBM i e non ancora come un AS400…. ma è un discorso vecchio!

Le novità riguardano sia il lato development che quello administration per IBM i: vi porto qui sotto i link diretti agli annunci IBM e mi limito ad approfondire o evidenziare quelli che, secondo me, sono gli aspetti più importanti:

Novità per l’Integrated Web Server IWS

Interessanti novità lato IWS, l’Integrated Web Server. Ormai tutti noi dobbiamo avere a che fare con i Web Service e sempre più spesso ci troviamo a dover pubblicare o consumare servizi in modalità Web API. IWS ci semplifica non poco tutto il processo di pubblicazione dei Web Service da IBM i, non solo partendo dai nostri normali programmi o service program RPG o Cobol ma anche da semplici statement SQL che possono essere pubblicati come dei veri web service senza preoccuparsi di tutta la conversione Json o XML.

Le novità di questa TR sono:

  • Possibilità di pubblicare (deploy) web service in sottosistemi utente e non solo nel sottosistema QHTTPSVR … permettendoci di gestire meglio le risorse da assegnare ai job richiamati dai web service stessi. Quando i Web Service cominciano a diventare tanti e l’integrazione con altri sistemi e applicazioni passa da lì è importante poter tenere sotto controllo le risorse coinvolte.
  • Una apposita interfaccia di scripting ci permette di ripubblicare web service in altre partizioni in modo automatico e guidato: funzione molto utile negli classici ambienti test e produzione e il deploy del servizio in produzione diventa un gioco da ragazzi (in verità la cosa era possibile anche prima richiamando direttamente degli shell-script … ma visto il numero di parametri e i riferimenti non era una cosa semplice!)

DB2 for i

Anche in questo TR Scott Forstie e il suo laboratorio sono riusciti a “sfornare” diverse nuovi “dolcetti”: non solo nel campo degli IBM i DB2 services, che semplificano l’accesso ad oggetti, configurazioni e analisi del sistema senza dover ricorrere a complesse system API o al richiamo di comandi di sistema con output su file, ma anche diversi enhancements al motore DB2 stesso.

Vediamone qualcuno:

  • QSYS2.PROGRAM_INFO una view SQL per vedere le informazioni di un oggetto programma (DSPPGM)
  • QSYS2.PROGRAM_EXPORT_IMPORT_INFO per ottenere informazioni sulle funzioni – procedure esportate ed importate dai serice-program ( (DSPSRVPGM)
  • La UDTF IFS_OBJECT_STATISTICS per leggere le directory IFS da SQL come se facessimo un RTVDIRINF
  • Sempre per IFS tre nuove UDTF per ottenere informazioni sull’uso degli oggetti IFS: IFS_JOB_INFO, IFS_OBJECT_USAGE_INFO e IFS_OBJECT_USAGE_JOBS
  • Anche per i normali oggetti di sistemi tre nuovi services: QSYS2.OBJECT_OWNERSHIP per la proprietà dell’oggetto,
  • QSYS2.ACTIVE_DB_CONNECTIONS per info sulle connessioni DRDA, DDM e DB2 Mirror
  • Per le Data Queue *DTAQ tre nuovi servizi : QSYS2.DATA_QUEUE_INFO per info, QSYS2.RECEIVE_DATA_QUEUE per ricevere singoli messaggi e QSYS2.CLEAR_DATA_QUEUE per la cancellazione/pulizia di una *DTAQ o dei suoi messaggi.
  • ALLOW_DDL_WHILE_OPEN, una chiave del QAQQINI che se attivata permette di effettuare modifiche sulle autorizzazioni (GRANT and REVOKE Authorities sia sql che da riga comando) anche con gli oggetti in uso.
  • Anche il setup QAQQINI SUPPRESS_INQUIRY_MESSAGES è interessante… evita il messaggio CPA32B2 (Are you sure?) quando effettiamo degli ALTER TABLE, CREATE OR REPLACE TABLE e CHGPF con possibile perdita di dati… che da SQL Script non vediamo e impedisce l’azione.
  • Diversi “functional enhancements”, come la possibilità di richiamare service program con più di 32 routine, o la gestione del PROGRAM NAME per le function e procedure SQL, la compatibilità con il resto della famiglia DB2 e altre cose carine.

Rational Development Studio for i (5770-WDS) … Compilatore RPG

Novità interessanti per il nostro caro RPG … che, utilizzato in modalità free con le funzioni ILE, non ha niente da invidiare ad altri più blasonati linguaggi e ci permette direttamente o via SQL Embedded di trattare con XML, JSON e Web Service in modo abbastanza semplice.

Approfondimenti specifici in questo post su RPG Cafè : Fall 2019 enhancements for RPG – DATA-GEN, OVERLOAD, OPTIONS(EXACT)

  • Introdotto anche in RPG il concetto degli Overload con apposita keyword da indicare nel prototipo per eseguire procedure differenti in funzione al numero e tipo (impronta) dei parametri passati: in pratica si tratta di definire n-procedure che gestiscono un numero di parametri/tipo differenti e poi “raggrupparle” tutte sotto un unico prototipo con OVERLOAD sulle singole procedure in funzione al tipo/numero di parametri.
  • Un fantastico DATA-GEN per generare Json e XML partendo da una DS di dati: la funziona contraria al DATA-INTO che invece parte da un documento JSON o XML e lo “mappa” dentro una Data Structure DS: forse non è chiaro … creare XML e JSON con una istruzione da una Data Structure con RPG… “roba” non da poco!
  • Una nuova option per i parametri delle procedure: OPTIONS(*EXACT) che aggiunge dei controlli di congruenza tra chiamato e chiamante anche sui parametri CONST e VALUE per essere sicuri di non perdere dei contenuti nella chiamata (effettivamente CONST e VALUE nei parametri sono comodissime per e permettono il passaggio di parametri senza doversi preoccupare di lunghezze… questa option ci permette comunque di distinguere i parametri di input di una procedure ma di avere delle certezze sulla lunghezza dei parametri passati dal chiamante!)

Rational Developer for i (5733-RDW)

Rational Rdi si diffonde sempre di più tra gli sviluppatori IBM i, anche i fedelissimi al SEU/PDM stanno ricredendosi sui vantaggi offerti da un IDE integrato che permette una migliore gestione dei sorgenti e di tutto il processo di sviluppo, compilazione, test e debug dei programmi. Con l’ultima versione 9.6 abbiamo già un ottimo IDE e questa TR porta ancora alcune cose interessanti:

  • Migliorata la formattazione e il controllo degli statement SQL
  • Una gestione dei preferiti per le ricerche … non mi è molto chiaro … aspetto di installare la nuova versione e approfondisco!
  • Nuove funzioni per la *LIBL di una connection
  • Migliorie alla funzione di refactoring dentro RDi, funzioni avanzate di trova-e-sostituisci molto utili quando stiamo facendo appunto del refactoring delle applicazioni

Novità interessanti anche per ACS Access Client Solution

ACS ha ormai sostituito ovunque il vecchio Client Access o Iseries Access grazie alla sua portabilità e compatibilità con diversi sistemi operativi, ma anche grazie a tutte le nuove funzioni che si porta con sé, come “Run SQL Script”, impagabile!

Proprio nel “Run SQL Script” ci sono interessanti novità, come SQL Content Assist, le funzioni di prompting (F4 di STRSQL) … e qui ci vuole una “ola” da stadio… ne avevamo proprio bisogno! Restando in questa funzione di ACS interessanti anche le novità su “Insert from example” e “Save as Example” per metterci via i nostri “template” SQL.

Anche nell’emulazione 5250 alcune interessanti novità per chi lo utilizza lato sviluppo o amministrazione, come le funzioni F8 e F9 di ripresa comandi precedenti nettamente migliorate (ad esempio se fai DSP* e F9 vengono presentanti gli ultimi comandi immessi che iniziano con DSP!).

Anche il nuovo ODBC Application package per l’accesso al DB2 dalle applicazioni Open Source Node.js e Python è interessante.

Altre novità del Technology Refresh

Ci sono altre novità introdotte dal TR su BRMS, Open Source e supporto all’Hardware … che vi invito a leggere direttamente dagli annunci IBM.

Conclusione

Questi sono solo gli annunci … dobbiamo attendere il 15 Novembre per poterli scaricare e testare sulle nostre partizioni IBM i. Tempi differenti invece per le novità di ACS e di Rational Rdi, disponibili prima del 15 Novembre!

--- Roberto De Pedrini Faq400.com
About author

Founder di Faq400 Srl, IBM Champion, ideatore del sito Faq400.com e del Blog blog.faq400.com. Sviluppatore RPG da quando avevo i pantaloni corti, forte sostenitore della piattaforma IBM i (ex AS400), ho sempre cercato di convididere le mie conoscenze con gli altri tramite forum, eventi e corsi. Oggi, tramite Faq400 Srl, cerchiamo di aiutare le aziende a sfruttare al meglio questa fantastica piattaforma IBM i.

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo: