J’ai choisi ibm.db2 pour servir de modèle au projet Acme, parce qu’il est toujours plus performant que les autres extensions PHP. Avant de continuer avec l’application Acme, intéressons- nous à la liste de bibliothèques utilisées par les applications écran vert i5/OS traditionnelles et voyons comment procéder en présence d’Apache/PHP/ibm_db2.
Apache/PHP/ibm_db2 et la liste de bibliothèques
/>
Il n’existe pas d’API ibm_db2 directe pour définir la liste de bibliothèques. D’ailleurs, le fait de changer cette liste dans un processus Apache/ PHP déjà actif est illogique au mieux (comme le fait de changer des chemins de répertoires sur d’autres plates-formes), et nous ne pouvons jamais vraiment prévoir l’impact d’un possible reliquat du changement de la liste de bibliothèques sur la prochaine application PHP étrangère à celle-ci, qui réutilise le processus Apache.
Beaucoup d’applications i5/OS existantes sont tributaires de la liste de bibliothèques. Par conséquent, si nous ne pouvons pas changer le code existant (RPG), nous devons assouplir les règles stateless Apache pour autoriser d’anciens codes i5/OS. Heureusement, IBM offre de nombreux moyens de travailler avec les listes de bibliothèques, que nous pouvons utiliser pour notre frontal Apache/PHP/ibm_db2 avec l’application Acme.
J’ai testé toutes les options de listes de bibliothèques avec succès sur Acme, mais j’ai opté pour l’option 3 : changer la liste de bibliothèques avec une procédure stockée. Le module help.php de l’application Acme PHP a la variable globale $INSTALL="yes" pour créer l’interface « cmdcall » de procédure stockée avec QSYS/QCM SEXC dans la bibliothèque héritée Acme (spécifiée dans config.php) quand vous cliquez sur le bouton Help du premier écran de commandes.
L’application Acme PHP appelle la procédure stockée « cmdcall » avec « addlible acmelib » avant d’utiliser le modèle de procédure stockée db2 pour éviter les erreurs dans l’application Acme existante. Inversement, l’application Acme PHP appelle la procédure stockée « cmdcall » avec « rmvlible acmelib » pour défaire le changement d’état dans le job Apache sur le trajet de sortie du serveur.
Pour activer la liste de bibliothèques, l’application Acme PHP utilise l’option system naming sur la connexion db2 (array("i5_ naming"=>DB2_I5_ NAMING_ON)) pour éviter le nommage SQL par défaut ibm_db2, qui ne fonctionnera pas bien avec notre code Acme actuel sensible à la liste de bibliothèques.
Remarque : Si le bouton Help ne peut pas créer la procédure stockée « cmdcall », il vous faudra changer manuellement GRTOBJAUT *RWX en *PUBLIC et/ou *NOBODY vis-à-vis de la bibliothèque héritée Acme, puis réessayer le bouton Help.
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- FOCUS : optimisation du Cloud grâce à l’intelligence Artificielle
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- Top 5 du Baromètre de la cybersécurité 2025 : entre confiance et vulnérabilités persistantes
- Analyse Patch Tuesday Février 2026
Articles les + lus
Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Alliée ou menace ? Comment l’IA redessine le paysage cyber
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
À la une de la chaîne Tech
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
