Démystification de la modernisation IBMi
Accès aux données avec SQL :
Cette étape est un peu particulière car il ne s’agit pas juste de dire : il faut faire du SQL EMBEDDED. C’est-à-dire qu’accéder aux données, dans les programmes RPG, par SQL c’est une chose, mais il faut le faire bien.
En effet, cela ne consiste pas simplement à remplacer un CHAIN classique par un SELECT SQL. Cela va bien au-delà de ça.
Par exemple :
Utiliser un CURSEUR SQL, faire une boucle de lecture du curseur, pour ensuite faire différents SELECT à partir des données de chaque enregistrement lu dans le curseur est un non-sens.
Le programme va effectivement accéder aux données par SQL mais sans profiter de la puissance offerte par SQL et les temps de réponses seront donc quasiment similaires à ceux obtenus par un accès « classique » à la base de données.
Alors que si le curseur est fait à partir d’une requête unique comportant des jointures sur les tables lues par les différents SELECT évoqués précédemment ; alors il est plus que probable qu’il y aura un gain de performance significatif.
Outre les gains de performance, SQL apporte également de nombreuses fonctions qui faciliteront les développements.
SQL est un langage qui évolue constamment, et c’est également le cas sur l’IBMi.
De nouvelles fonctions font leur apparition régulièrement.
Et ces fonctions permettent par exemple :
- De générer un fichier XML en quelques lignes
- De lire et intégrer un fichier JSON en une seule requête
- D’envoyer un mail avec le résultat de la requête sous forme de fichier Excel très simplement
Ce ne sont que quelques exemples parmi tant d’autres…
Il est aujourd’hui inconcevable de se passer de SQL même et surtout en tant que développeur IBMi.
Vos équipes auront peut-être, selon leur niveau, besoin de formations avancées sur SQL mais il est indispensable qu’elles sachent utiliser à bon escient les jointures, les tables temporaires, les fonctions SQL afin qu’elles puissent mettre en place des requêtes optimisées, performantes et maintenables facilement dans leurs programmes.
Sans quoi les gains en performance seront restreints alors qu’ils peuvent être tellement importants lorsque les requêtes tirent pleinement profit des possibilités offertes par SQL.
C’est pourquoi, il faudra également présenter aux équipes de développement les outils d’optimisation SQL mis à disposition sous ACS tels que :
- Visual Explain
- SQL Performance Center
- Le Conseil à la création d’index