Conseil 7 : Appeler des SP ou des UDF externes pour des calculs complexes
On l'a vu, à partir de la V5R3, le code SPL est converti en code C avec SQL imbriqué. Pour presque toutes les instructions SPL, le code généré inclut un appel vers QSqRoute, le programme runtime fourni par IBM qui distribue des instructions SQL. Même une instruction d'assignation simple telle
Lire l'articleConseil 6 : Utiliser des instructions composites imbriquées avec des gestionnaires
Avec SPL, il faut toujours coder un ou plusieurs gestionnaires de conditions pour intercepter et gérer les exceptions et/ou les avertissements survenant à l'exécution. (Pour une explication plus approfondie sur la gestion des exceptions SQL, voir « A l'intérieur du traitement des erreurs de SPL V5R2 : Partie 1: Principes
Lire l'articleConseil 5 : Déclarer des variables avec Not Null dans des procédures stockées SQL
Je commence ce groupe avec un conseil qui vaut la peine,
même s'il ne procure pas d'énormes gains de performance.
Par défaut, les variables SPL peuvent
être nulles, c'est-à -dire qu'elles peuvent
contenir une valeur valide du type
de donnée approprié ou être « null ».
Pour accepter une telle variable,
Conseil 4 : Faire attention aux curseurs Asensitive avec Read-Only
Quand on déclare un curseur, on l'assortit de l'un des trois
mots-clés indiquant si le curseur est « sensible » aux changements
dans les lignes du jeu de résultats :
Sensitive - Les changements apportés aux données après
que le curseur ait été ouvert, sont visibles par le programme.
Insensitive
Conseil 3 : Code explicite pour les clauses For Read Only ou For Update Of sur les déclarations de curseur
On peut utiliser une clause For Read Only ou For Update Of pour préciser la manière dont un curseur sera utilisé dans un programme. Si l'on ne spécifie aucune clause, le processus SQL décide lui-même en se fondant sur les autres éléments de la déclaration du curseur et les autres
Lire l'articleConseil 2 : Utiliser des vues pour atteindre des lignes dans une structure hôte
SQL/400 a une fonction propriétaire qui permet de spécifier une structure hôte (une structure de données RPG, un élément de groupe Cobol, par exemple), plutôt qu'une liste de variables d'hôte individuelles, sur une instruction Fetch imbriquée dans un programme HLL. Les valeurs des colonnes extraites sont placées dans les sous-champs
Lire l'articlePrendre une décision pour lier
Vous avez donc décidé de modulariser une application et vous avez construit les procédures et les avez compilées en modules. Il vous reste à décider comment vous packagerez le module. Utiliserez-vous le modèle lier par copie (bind-by-copy) ou un programme de service et lier par référence (bind-by-reference) ? Ou bien
Lire l'articleIl faut penser petit
La création d'une application modulaire efficace se heurte à un blocage mental bien particulier : la réticence à créer une procédure pour un seul objet ou à remplacer simplement quelques lignes de code. Mais ces procédures sont précisément les plus utiles. Ce sont les procédures petites et cohérentes qui facilitent
Lire l'articleConvertir des programmes appelés en procédures
Beaucoup des applications écrites au cours des 25 dernières années possèdent déjà un minimum de modularité, grâce aux programmes appelés pour exécuter des « sousfonctions » dans l'application. Bien souvent d'ailleurs, ces programmes appelés pourraient aussi bénéficier d'une conversion en procédures. C'est particulièrement vrai si l'application est « très appelante
Lire l'articleConvertir des sous-routines en procédures
Pour certains, les procédures sont des sous-routines dopées ;
pour d'autres, les sous-routines sont des procédures
boiteuses. La vérité se situe probablement entre les deux.
Il est vrai que les procédures sont nettement supérieures
aux sous-routines à bien des égards : valeur de renvoi, transmission
de paramètres et variables locales.
Convertir des membres /COPY en procédures
Si vous avez entrepris de moderniser une application existante, vous vous demandez peut-être quel code mérite d'être converti en modules. Même si vous écrivez une nouvelle application, vous devrez savoir lesquelles de vos techniques de construction de programme habituelles seront mieux servies par des modules. Vous pouvez commencer par regarder
Lire l'articleApprendre un nouveau binder language
Il ne faut pas confondre un binding directory avec un autre
outil de nom similaire : binder language. Le binder language
vous donne la maîtrise explicite d'un attribut de programme
de service appelé signature, qui fournit aux programmes de
service un moyen de « contrôle de niveau
».
Quand on
Vers un monde à la demande
Et c'est tout ! Il est très facile de créer un habillage Java bean à partir de la logique de gestion RPG ou Cobol, puis de créer un service Web à partir de cet habillage, et même un servlet Web pour le tester. C'est le modèle de composant du futur
Lire l'articleIntégrer avec Integration Edition
IBM propose un produit intéressant appelé WebSphere Studio Application Developer Integration Edition V5.1. Il permet de créer des flux de processus avec un designer graphique facile d'emploi, où chaque étape du flux est considérée comme un « service ». Vous pouvez créer un service à partir d'un service Web, d'un
Lire l'articleCliquez sur Finish pour générer le JavaBean
En réalité, plusieurs fichiers sont générés à l'intérieur de JavaResources. Le fichier clé est le nom que vous avez donné au bean (Inquiry) suivi du mot Services, ou Inquiry- Services.java dans notre cas. C'est cela que vous allez entrer dans le wizard Web services. Un bean d'entrée et un bean
Lire l'articleQuels sont les outils associés aux services Web?
Maintenant que nous connaissons un peu la technologie, parlons des outils de WDSc permettant de créer des services Web. Le produit contient non seulement les outils hérités de WebSphere Studio pour les développeurs Java, mais aussi des extensions iSeries supplémentaires pour programmeurs RPG. Nous commençons par les premiers puis nous
Lire l'articleAvantages pour les clients i5
Les possesseurs de serveurs i5 profitent déjà de ce mode de conception holistique. Voyons trois exemples qui illustrent la manière dont POWER5 aborde les problèmes évoqués plus haut :
- Le double noyau de POWER5 fonctionnant à vitesse modérée augmente la performance tout en réduisant la consommation d'énergie. Les processeurs Lire l'article
Une approche holistique de la conception
Tout cela nous amène à la conclusion suivante : nous devons concevoir et construire nos serveurs de manière plus intelligente. Il faut innover de plus en plus vite si nous voulons continuer à fournir des chips de processeurs et des serveurs plus performants. Malheureusement, il n'est pas si simple de
Lire l'articleLa loi de Moore mise à mal
Pour compliquer la situation, on commence à exiger des améliorations de performances toujours plus grandes. Les observateurs de l'industrie informatique ont souvent utilisé la loi de Moore pour prévoir les améliorations de performances des futurs ordinateurs. En substance, la loi de Moore stipule purement et simplement que la performance des
Lire l'articleChaud devant !
Le rapetissement constant des chips soulève un autre problème: leur réchauffement. Il est vrai que ce problème existe depuis plus de 20 ans. Examinez simplement les ailettes de refroidissement au-dessus des microprocesseurs contemporains à l'intérieur de votre PC et souvenez-vous de la manière dont les microprocesseurs étaient packagés il y
Lire l'articleLes plus consultés sur iTPro.fr
- Les entreprises, victimes des coûts cachés des attaques de ransomwares
- Tendances des budgets des DSI en 2025
- Révolutionner la gestion du stockage à l’ère de l’IA et de la transformation numérique : vers une infrastructure agile et automatisée
- Multicloud Computing : Êtes-vous prêt pour la prochaine nouvelle vague informatique ?
- IA : les PME devraient adopter des outils NoCode appropriés