PHP su IBM i: esempi concreti e potenzialità dei pacchetti nativi e open source

Articolo GiWi IBM i

Negli ultimi anni, PHP su IBM i si è trasformato da linguaggio per semplice sviluppo web ad uno strumento potente capace di interagire in modo profondo con le risorse di sistema, il database Db2 for i, e la logica RPG/COBOL preesistente. 

Le tecnologie Open Source e vari pacchetti nativi o di terze parti hanno ampliato le possibilità d’integrare PHP nei processi aziendali in modo sicuro ed efficiente.

In questo articolo, analizzeremo un esempio di codice PHP per dimostrare come con poche righe di codice e l'uso di librerie native si possa:

  • Connettersi a Db2 for i
  • Interrogare il sistema in tempo reale (in questo caso, i job attivi)
  • Presentare i dati in modo interattivo su web
  • Consentire l’invocazione di programmi e routine IBM i per mezzo di cURL.

Il tutto in modalità “copia e incolla”: in questo caso, la sola modifica necessaria sarà la password dell’utente IBM i per eseguire lo script.

Connessione a Db2 con PDO ODBC

Il codice seguente sfrutta l’estensione PDO di PHP per aprire una connessione ODBC al database Db2 locale su IBM i:

Spiegazione:

  • DSN=*LOCAL: connessione al database locale del sistema IBM i.
  • NAM=1: naming convention IBM i (schema/oggetto).
  • UID/PWD: credenziali utente.
  • Gestione eccezioni: in caso di errore di connessione, il codice mostra il problema e termina.

Lettura dei job attivi con una funzione nativa 

Db2 for i mette a disposizione funzioni tabellari come QSYS2.ACTIVE_JOB_INFO, che restituisce informazioni sui job in esecuzione:

Spiegazione:

  • La query interroga direttamente una funzione di sistema.
  • L’opzione DETAILED_INFO='NONE' velocizza l’esecuzione limitando le informazioni restituite.
  • fetchAll() carica in memoria tutti i risultati per una gestione più semplice in output. 

Output grafico

Eseguire programmi e routine IBM i con PHP

Il passo successivo è usare PHP per richiamare programmi RPG o CL esposti tramite API REST o SOAP. Con curl è possibile inviare richieste HTTP a servizi ospitati su IBM i, ricevere risposte strutturate (JSON/XML) ed elaborarle in applicazioni web.

In questo modo, PHP diventa un ponte tra le interfacce moderne e la logica consolidata del sistema.

Codice completo

Conclusione

Questo esempio mostra come PHP, senza alcun framework o pacchetto aggiuntivo, possa integrarsi nativamente con Db2 for i, leggere dati di sistema e presentarli in interfacce web moderne.

Basta incollare il codice, cambiare la password e il gioco è fatto: i job attivi dell’IBM i appariranno sullo schermo, pronti per essere analizzati.

Da qui, il passaggio verso chiamate a routine e programmi di sistema tramite cURL è naturale, aprendo scenari di integrazione completa tra web e logica IBM i.

Vuoi scoprire come portare questi esempi ad applicazioni web complete su IBM i?

Rivedi il webinar dedicato a GiWi e scopri il framework che semplifica lo sviluppo e l’integrazione.