par Kevin Forsythe - Mis en ligne le 15/09/2004 - Publié en Janvier 2004
Rendez vos programmes plus rapides et plus dynamiques
Des équipes de développement toujours plus maigres
doivent assumer de plus en plus de responsabilités. Il faut
donc trouver le moyen de coder de manière plus productive.
Une meilleure modularité permet aux développeurs d'assembler
les applications plus rapidement. Au fur et à mesure
que les applications deviennent plus modulaires, les routines
de traitement d'écrans génériques ou de traitement de fichiers
dans les programmes de service, prennent du galon.Ces programmes de service traitent une logique courante et
souvent complexe. Quand ces routines de logique complexe
sont codées comme des modules ou des sous-procédures
dans le programmes de service, elles sont écrites une fois,
entièrement testées et documentées, puis mises à la disposition
des applications de production. Après quoi, les programmes
applicatifs qui ont besoin de ces routines complexes
appellent simplement le code générique pré-écrit
dans des sous-procédures, réduisant ainsi considérablement
le temps de développement de l'application et offrant un
point de contrôle unique pour le code applicatif. Ce point de
contrôle unique facilite et accélère la maintenance
de l'application, réduit les coûts à long
terme, raccourcit le temps de développement
et, en définitive, engendre des économies.
Je devine déjà votre question, « Quels sont
les inconvénients ? ». Si vous avez pratiqué la
programmation ILE, vous savez qu'il n'est pas
si facile d'intégrer l'ensemble de ces sous-procédures,
modules et programmes de service.
Des règles claires et concises de conception
ILE faciliteront cette partie du processus, mais
l'une des plus grosses difficultés est d'obtenir
que les routines génériques appellent d'autres
routines pour d'autres comptes. C'est là qu'interviennent
les pointeurs de procédures. Nous
allons voir comment utiliser les pointeurs de
procédures pour intégrer divers modules et sous-procédures
génériques.
Modularisez vos applications avec des pointeurs de procédures
Réfléchissez à la manière dont Windows utilise l’outil File
Open. Pratiquement chaque application qui tourne sous
Windows utilise ce même outil, qui permet de sélectionner un fichier à traiter. Mais une fois le fichier
sélectionné, il est diversement
utilisé. Ce peut être : sélectionner un fichier
à ajouter à une archive ZIP, sélectionner
un driver à installer, ou l’une
d’une centaine d’autres tâches. Mais
toutes les applications utilisent encore
le même outil pour sélectionner le fichier.
Nous pouvons faire la même chose
avec le code RPG IV dans nos applications.
Un programme Part Selector en
constitue un bon exemple. Imaginez
comme ce serait intéressant si vous
pouviez facilement amener une liste
de pièces, choisir une certaine quantité,
puis leur appliquer un certain processus
: ajouter les pièces à une livraison,
facturer un client, faire un
compte-rendu d’utilisation, ou créer
des ordres de production. Dans tous
les cas, il faut : lister les pièces, les sélectionner
et entrer une quantité.
Il nous est facile d’écrire nos applications
pour qu’elle appellent un programme/
module/procédure de liste de
pièces générique. La difficulté est d’obtenir
que ce programme appelle la procédure
appropriée pour traiter les
pièces sélectionnées. C’est là qu’interviennent
les pointeurs de procédures.
Nous pouvons les utiliser pour dire au
programme Part Selector quelle routine
il doit appeler pour chaque pièce
sélectionnée.
Ce genre de processus dynamique
est parfaitement illustré par un compte
chèque. Quand on ouvre un compte,
on ne nous demande pas de préciser
au profit de qui les chèques seront rédigés.
Chaque chèque peut être rédigé
pour la personne et pour le montant
de notre choix. Quand le chèque est
envoyé à la banque, c’est comme un
appel de programme. La ligne « Payer
à » du chèque est semblable à un pointeur
de procédure. La banque examine
la ligne « Payer à » pour déterminer le
bénéficiaire du paiement. De la même
manière, nous pouvons appeler un
programme générique et lui dire quels
sous-processus il doit appeler, sans pénaliser
les performances !
Téléchargez cette ressource

Prédictions 2025 des menaces persistantes avancées
L'analyse et l'évolution du paysage des menaces persistantes avancées (APT) et des conséquences sur vos infrastructures IT. Découvrez la synthèse des prédictions, tendances et recommandations pour 2025 avec les experts Kaspersky.