par Sharon L. Hoffman, Mis en ligne le 29/O3/2006 - Publié en Octobre 2005
La modularisation, ou programmation modulaire, organise le code en composantes fonctionnelles assorties d’interfaces clairement définies. C’est ainsi qu’avec ILE RPG, on peut organiser le code en membres /Copy, sous-routines et procédures appelables, ainsi qu’en modules, programmes de service et objets programme, pour s’en tenir aux principaux. Si l’on pratique la programmation modulaire, les changements d’une composante ont peu ou pas d’effet sur les autres parties d’une application. Un bon code modulaire facilite donc la modification des applications quand les exigences de l’entreprise changent. Mais la modularisation permet également de mélanger et de combiner des langages, en choisissant le meilleur outil pour chaque tâche. Enfin, elle est le premier pas important dans des projets comportant des interfaces de type navigateur et pratiquant l’extraction de données sur plates-formes hétérogènes.D’une manière générale, plus le code est modulaire et plus il est facile à maintenir. Mais il arrive parfois que les avantages engendrés par la segmentation du code soient contrebalancés par la complexité de la communication entre les composantes. On admet généralement qu’un code à couplage étroit est plus performant que des modèles plus modulaires. Or, une application modulaire bien conçue peut s’avérer plus performante, particulièrement dans un contexte réseau. Par conséquent, pour trouver la meilleure solution pour une situation donnée, il faut mettre dans la balance ces facteurs ainsi que les compétences des développeurs et la structure des applications existantes.
Pour vous aider à prendre ces décisions, la section suivante explore les techniques de modularisation en RPG et SQL applicables à un environnement applicatif iSeries classique. (Bien qu’il ne soit question ici que de RPG, les concepts valent aussi pour Cobol, CL et autres langages ILE.)
Application iSeries : modularisation
La segmentation du code en divisions fonctionnelles constitue le premier niveau de la modularisation. Les sous-routines sont l’une des techniques de segmentation de code les plus simples et les plus anciennes. S’il est vrai que les sousroutines conviennent encore pour du code lié exclusivement à un programme particulier et étroitement intégré au reste de la logique de programmation, on améliorera souvent la modularité en remplaçant une sous-routine par une procédure ILE RPG.
Parce qu’une procédure peut accepter des paramètres d’entrée et renvoyer une valeur en sortie, l’interface entre une procédure et le reste du code est définie plus clairement qu’une sous-routine. On peut aussi définir des variables locales dans une procédure, afin de dissocier davantage la procédure du code appelant. Si l’interface (paramètres d’entrée, valeur de renvoi et effets de la procédure) reste constante, on peut modifier le fonctionnement interne d’une procédure sans affecter le code qui l’appelle.
Enfin, on peut écrire une procédure une seule fois et l’utiliser dans de multiples applications, sans recourir au copier/ coller. On l’aura compris, cette réutilisation du code élimine sa duplication et réduit l’impact des futures modifications de code.
Le niveau fonctionnel suivant de segmentation de code en RPG concerne la communication entre programmes. Il importe ici de faire la distinction entre les appels liés (c’està- dire, appels statiques), les appels dynamiques, et les appels inter langages (par exemple, de RPG à Java ou inversement). Quand on choisit une solution d’appel de programme, il faut trouver le bon équilibre entre la performance et la maintenabilité. Ainsi, les appels liés sont plus performants que les appels dynamiques, mais les appels liés demandent une recompilation dès lors que le programme appelé est modifié.
A l’inverse, les appels dynamiques sacrifient quelque peu la performance, mais ils ne demandent aucune recompilation sauf si l’interface entre les applications vient à changer.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
- Shadow AI en France : les RSSI alertent, mais la gouvernance des agents IA reste à la traîne
- Attaques edge : les fournisseurs, nouvelle cible prioritaire des cybercriminels
- Analyse Patch Tuesday Août 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
