
Anatomie d’une attaque par injection
Lors d'une attaque par injection de code SQL, un utilisateur « non autorisé » injecte des commandes SQL dans des champs pour lesquels l'application attend des données et il se sert de la connexion de base de données intégrée à l'application pour accéder à vos données. Ce type d'attaque peut
Lire l'article
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'article
Conseil 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'article
Conseil 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'article
Conseil 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'article
Prendre 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'article
Il 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'article
Convertir 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'article
Convertir 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'article
Apprendre 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

Inté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'article
Cliquez 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'article
Quels 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'article
Avantages 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'article
La 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'article
Chaud 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
- La cybersécurité, c’est le rôle de tous !
- DORA : quels impacts après les six premiers mois de mise en conformité sur le terrain ?
- Cybersécurité : le secteur de la santé toujours au défi de la sécurité des e-mails
- Attaque Microsoft SharePoint, analyse et recommandations
- Devenir RSSI : quels parcours et de quelles qualités faire preuve ?
