> Tech
Développer des API RPG réutilisables

Développer des API RPG réutilisables

J’ai passé les premières années de ce siècle à développer des frontaux Web basés sur Java, destinés à d’anciennes applications iSeries. En interfaçant Java et RPG, mes clients voulaient bénéficier de la richesse du code en place et de la puissance des codeurs existants. Mais, pour bien coder le côté Java de cette interface, les développeurs Web ont besoin d’une API intuitive et simple à utiliser, ayant fait ses preuves. Malheureusement, nous n’obtenons souvent qu’un code non testé et sauvage.Le problème est double :

1. L’ancien code n’a pas été écrit à l’aide de composantes de logiciel réutilisables.
2. Les codeurs à l’ancienne ne savent peut-être pas comment réaménager le code existant ou comment écrire le nouveau sous forme de composantes logicielles réutilisables.

Je fournis ici une liste de standards que les développeurs RPG pourront utiliser pour créer une API à base de composantes (CBD, component-based developed).

Lire l'article
La perfection par la pratique

La perfection par la pratique

La réussite dans les affaires, dépend directement de la disponibilité des systèmes informatiques. Et l’objectif commun des entreprises d’aujourd’hui est de ne subir aucun temps d’immobilisation. Les sinistres peuvent frapper à tout moment, n’importe où. On ne parle pas forcément d’une catastrophe majeure, du genre inondation ou tremblement de terre. N’importe quel incident ou sinistre peut faire perdre beaucoup d’argent à toute entreprise. Pour réduire le risque, il faut en premier lieu disposer d’un solide plan de reprise après sinistre (DRP, disaster recovery plan). Un DRP est un ensemble de processus développé pour votre société, qui décrit les actions que l’équipe informatique doit mener pour reprendre rapidement l’exploitation après une importante interruption du service. En dressant la liste des activités à suivre, votre entreprise peut réduire les pertes causées par l’immobilisation. Mais une fois que l’on a développé et mis en oeuvre un DRP, le travail ne fait que commencer : il faut le tester – pas juste une fois, mais régulièrement – pour refléter la dynamique de vos environnements informatiques.

Lire l'article
News iSeries – Semaine 23 – 2006

News iSeries – Semaine 23 – 2006

Toutes les actualités de la semaine du 5 au 11 Juin 2006

Lire l'article
Les VPN SSL simplifient la sécurité des utilisateurs distants

Les VPN SSL simplifient la sécurité des utilisateurs distants

par Mel Beckman, Mis en ligne le 24/05/2006 - Publié en Janvier 2006

S’il est une application qui mérite le trophée « killer app » sur Internet, c’est bien le travail en réseau privé virtuel. Les réseaux privés virtuels (VPN, virtual private networks) ont commencé comme une solution compliquée apportée à un problème de sécurité épineux : relier deux réseaux distants par Internet, sans exposer le trafic à l’indiscrétion ou à l’intrusion des pirates. Le but du VPN était alors simplement de remplacer des circuits privés coûteux entre des emplacements. Et donc, les utilisateurs de VPN ont assumé la complexité pour obtenir en échange d’importantes économies mensuelles. Mais les VPN ont connu une forte croissance pour assurer une connectivité sécurisée là où il n’y en avait pas auparavant : télétravailleurs, partenaires professionnels, fournisseurs, clients, employés branchés depuis le Starbucks du coin. La technologie VPN est devenue très bon marché mais, malheureusement, pas beaucoup moins complexe.Cette complexité persistante est due partiellement au protocole qui a remporté la guerre des standards VPN, IPSec (IP Security). Conçu pour fonctionner dans des environnements réseau très divers, du mode commuté au sans fil en passant par la large bande passante, IPSec présente des dizaines d’options configurables. Les fournisseurs de VPN IPSec vendent un logiciel client spécial pour alléger le fardeau de la configuration, mais peu d’entreprises sont prêtes à ajouter encore un autre logiciel propriétaire à leur panoplie. Pourtant, l’autre solution – support IPSec intégré dans les systèmes d’exploitation pour postes de travail – constitue une entreprise de configuration et de dépannage fastidieuse. Fastidieuse pour des spécialistes réseau expérimentés, mais carrément hors de portée de l’utilisateur lambda.

En butte à la résistance des clients face à leur solution utilisateur final IPSec, les fournisseurs de VPN ont imaginé un contournement astucieux : le VPN SSL.
A son niveau le plus élémentaire, une connexion VPN SSL ne demande à l’utilisateur qu’un navigateur Web. Bien sûr, des produits VPN SSL plus élaborés peuvent procurer pratiquement toutes les fonctionnalités d’un VPN IPSec et même un contrôle de stratégie de granularité plus fine. Et tous les produits VPN SSL ont un avantage déterminant : facilité d’installation et d’assistance. Exactement ce que le help desk de n’importe quel administrateur de réseau aime entendre.
Pour comprendre comment vous pouvez utiliser les VPN SSL en lieu et place de leurs frères IPSec, vous devez connaître le spectre des produits et les diverses fonctions qu’ils permettent. Certains produits VPN SSL sont véritablement sans client, tandis que d’autres utilisent des applets Java ou ActiveX légères transférées automatiquement du Web. Certains emploient une simple authentification par ID/mot de passe utilisateur. D’autres ont recours à des certificats numériques de haute sécurité. Certains donnent aux utilisateurs l’accès complet à votre réseau lorsqu’ils sont connectés ; d’autres vous permettent de limiter l’accès aux seules ressources permises par des contrôles appropriés.

Aucun produit VPN SSL ne fonctionne directement sur l’iSeries, donc vous ajouterez encore un autre produit hétérogène à votre attirail. Mais c’est pour la bonne cause.

Lire l'article
Utilisation pratique de XML dans l’environnement iSeries

Utilisation pratique de XML dans l’environnement iSeries

par Charles Caplan, Mis en ligne le 03/05/2006 - Publié en Décembre 2005

Depuis 1998, le W3C (World Wide Web Consortium) recommande XML. Depuis lors, celui-ci a connu un tel succès que tout développeur doit connaître au moins un aspect de l’univers XML pour accomplir sa mission.
On a souvent dit que le grand mérite des standards est la richesse du choix qu’ils proposent. Et c’est bien le cas de XML. Heureusement, l’iSeries est capable de traiter de nombreuses technologies liées à XML dans plusieurs langages de programmation.Je montre ici quelques utilisations de XML sur l’iSeries. Ces techniques visent à vous simplifier la vie et à faciliter le partage des données sur différents systèmes. Cet article n’est absolument pas exhaustif en la matière et je vous invite à chercher par vous-même d’autres usages de XML sur l’iSeries. Je suis sûr que vous trouverez quelque chose de nouveau, pour votre profit.

Lire l'article
Trucs & Astuces : IPv6 sous XP SP2

Trucs & Astuces : IPv6 sous XP SP2

Les trucs & astuces de la semaine du 10 au 16 Avril 2006

Lire l'article
Les nouveautés de la semaine 39 – Windows IT Pro – 2006

Les nouveautés de la semaine 39 – Windows IT Pro – 2006

Tous les nouveaux produits de la semaine du 25 Septembre au 1 Octobre 2006

Lire l'article
Trucs & Astuces : boucles implicites

Trucs & Astuces : boucles implicites

Les trucs & astuces de la semaine du 28 Août au 3 Septembre 2006

Lire l'article
Sauvegarde : quelques scénarios catastrophe

Sauvegarde : quelques scénarios catastrophe

Les récits que vous allez lire sont véridiques. Pour ne froisser personne, les noms ont été changés.
Voila plusieurs années, une société appelée Keypro Computer a connu une défaillance catastrophique du disque dur, la veille d’une déclaration fiscale importante. La seule copie des données nécessaires à la déclaration se trouvait sur ce disque dur et celui-ci n’était pas sauvegardé. L’excuse de Keypro ? « Nous avons oublié ». Le coût de récupération des données à partir des copies papier ? 400 000 dollars.Sur Internet, les récits de catastrophes liées à la sauvegarde (ou plutôt à son absence) abondent. Certains sont sûrement de pures inventions. Mais beaucoup sont authentiques, particulièrement lorsque le narrateur donne des informations négatives pour lui ou pour ses propres intérêts. En tant que professionnels IT, nous ne pouvons pas nous permettre « d’oublier ». A la clé il y a des amendes, voire la prison.
Pour vous éviter d’être la proie de ces lacunes de sauvegardes courantes, j’ai classé les délits de sauvegarde les plus courants et j’ai créé une étude « de cas » composite pour chacun d’eux. Aujourd’hui, ce ne sont pas des actes délictueux, mais ils pourraient bien le devenir bientôt. Lisez-les et veillez à ce qu’aucun d’entre eux ne devienne votre propre mésaventure !

Lire l'article
Les actualités de la semaine 23 – Windows IT Pro – 2006

Les actualités de la semaine 23 – Windows IT Pro – 2006

Toutes les actualités du 5 au 11 Juin 2006

Lire l'article
Les nouveautés de la semaine 20 – Windows IT Pro – 2006

Les nouveautés de la semaine 20 – Windows IT Pro – 2006

Tous les nouveaux produits de la semaine du 15 au 21 Mai 2006

Lire l'article
Les tables temporaires globales : une alternative aux jeux de résultats?

Les tables temporaires globales : une alternative aux jeux de résultats?

par Kent Milligan, Mis en ligne le 3/05/2006 - Publié en Décembre 2005

Le langage procédural SQL permet de créer facilement des procédures stockées. Les structures de ce langage permettent aux développeurs SQL de coder des vérifications conditionnelles, d’effectuer un traitement itératif avec diverses structures de boucles, d’appeler d’autres procédures stockées, et de retourner efficacement des jeux de données via des jeux (ou ensembles) de résultats, le tout très simplement. (Si vous n’avez pas encore utilisé des jeux de résultats, considérez que c’est un paramètre de sortie contenant un ensemble de valeurs de données.) Les jeux (ou ensembles) de résultats sont utilisés couramment parce que (1) ils peuvent contenir des données provenant de tables multiples et (2) ils peuvent améliorer la performance en renvoyant un jeu de données sous forme de blocs au lieu d’une ligne à la fois.La figure 1 montre un exemple de procédure stockée nommée Get_ Free_Employees qui renvoie un jeu de résultats contenant les employés non encore affectés à un projet. Un paramètre d’entrée vient cantonner la recherche aux employés libres d’un département donné. L’en-tête de procédure inclut le comptage des jeux de résultats renvoyés par la procédure.
Dans la procédure elle-même, les jeux de résultats sont renvoyés parce que la clause With Return est incluse sur la définition du curseur et que le curseur est laissé ouvert après sortie de la procédure. (Voir l’encadré « PTF pour With Return to Client et With Return to Caller »). Le tableau de la figure 2 présente les données contenues dans le jeu de résultats renvoyé par cette procédure stockée.

Sur DB2 UDB for iSeries, seuls les clients utilisant les interfaces de programmation ODBC, JDBC ou CLI peuvent consommer les (ou accéder aux) jeux de résultats de procédures stockées. (Vous trouverez des exemples de coding montrant ces interfaces consommant des jeux de résultats dans l’IBM Redbook Stored Procedures, Triggers and User Defined Functions on DB2 Universal Database for iSeries.) Dans cette liste, l’absence du langage procédural SQL ne passe pas inaperçue. Si une procédure SQL appelle une autre procédure stockée qui renvoie un jeu de résultats, cette procédure SQL n’a aucun moyen d’accéder au contenu du jeu de résultats renvoyé par la procédure stockée. (Remarque : Embedded SQL est une autre interface classique présentant la même limitation. Les techniques mentionnées dans cet article s’appliquent aussi à cette interface. De plus, cette limitation n’existe que dans DB2 UDB for iSeries. Les autres produits DB2 UDB supportent des instructions SQL supplémentaires pour éliminer cette restriction.)

Les tables temporaires globales (introduites dans la V5R2) sont une fonction SQL qui permet de contourner cette limitation dans le langage procédural SQL. Vous pouvez utiliser une table globale pour contenir des données temporaires pour une connexion ou application base de données. Au lieu d’utiliser une procédure SQL pour renvoyer des données via un jeu de résultats, vous pourriez placer les mêmes données dans une table temporaire globale.
Ensuite, il suffirait que la procédure SQL invoquante connaisse le nom de la table temporaire pour pouvoir accéder aux données du jeu de résultats.
Certains programmeurs (particulièrement les anciens qui ont utilisé par le passé la bibliothèque QTEMP) se demanderont peut-être quelle est la différence entre l’utilisation des tables temporaires globales et la création de leurs propres tables temporaires dans un schéma (ou bibliothèque) spécial. Les tables temporaires globales SQL sont en fait créées dans la bibliothèque QTEMP par DB2 UDB.

Malgré l’utilisation de la bibliothèque QTEMP, SQL demande toujours que le qualificateur, explicite ou implicite, pour le nom de table temporaire soit SESSION. DB2 UDB ne crée pas une bibliothèque ou un schéma appelé SESSION : il utilise simplement le qualificateur SESSION comme une sorte d’alias pour la bibliothèque QTEMP. A l’instar des objets dans QTEMP, DB2 UDB supprime automatiquement la table temporaire à la fin de la connexion.

Lire l'article
La V5R4 donne un coup de fouet à  SQL

La V5R4 donne un coup de fouet à  SQL

La plupart des nouvelles releases de DB2 UDB for iSeries incluent des améliorations progressives de SQL, comme de nouveaux types de données et de nouvelles fonctions intégrées. La V5R4 n’est pas différente à cet égard et présente de nouvelles fonctions intégrées pour le cryptage Triple DES, le traitement des dates et les fonctions d’échantillonnage. Par Kent Milligan - Dossier publié en Mai 2006

 

 

 

 

 

 

Les fonctions de SQL V5R4 dont il est question ici exigent le SQE (SQL Query Engine). Par conséquent, si votre environnement ou votre requête SQL contient un attribut non reconnu par SQE et si vous essayez d’utiliser l’une de ces nouvelles fonctions SQL, DB2 UDB signalera une erreur.

Voici quelques-uns des facteurs qui empêchent SQE d’honorer une requête SQL :

 

 

 

 

Utilisation de la fonction UPPER , LOWER ou TRANSLATE

Séquence de tri en langue nationale

UDTF (user-defined table function)

Références de fichier logique sur la clause FROM

Fichiers logiques select/omit définis sur la table sousjacente

Pour plus de détails sur le support SQE, visitez www.ibm.com/iseries/db2/sqe.html.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lire l'article
Groupes d’activation : premier aperçu

Groupes d’activation : premier aperçu

Le terme « groupes d’activation » est peu évocateur, a une résonance technique, et est un peu intimidant ! IBM aurait peut-être dû parler de « troupeaux de programmes ». On aurait alors imaginé des programmes informatiques parcourant les plaines herbeuses, se regroupant pour survivre, vivant ensemble et mourant ensemble. Mais peut-être suis-je un peu trop amateur de westerns. Plus prosaïquement, dans cet article, j’explique ce que sont les groupes d’activation et leur mérite pour un programmeur RPG.

Lire l'article
Les nouveautés de la semaine 25 – Windows IT Pro – 2006

Les nouveautés de la semaine 25 – Windows IT Pro – 2006

Tous les nouveaux produits de la semaine du 19 au 25 Juin 2006

Lire l'article
Les nouveautés de la semaine 23 – Windows IT Pro – 2006

Les nouveautés de la semaine 23 – Windows IT Pro – 2006

Tous les nouveaux produits de la semaine du 5 au 11 Juin 2006

Lire l'article
Les actualités de la semaine 20 – Windows IT Pro – 2006

Les actualités de la semaine 20 – Windows IT Pro – 2006

Toutes les actualités du 15 au 21 Mai 2006

Lire l'article
Trucs & Astuces : PathPing va plus loin que Tracert

Trucs & Astuces : PathPing va plus loin que Tracert

Les trucs & astuces de la semaine du 24 au 29 Avril 2006

Lire l'article
Quelques conseils pour sécuriser IIS

Quelques conseils pour sécuriser IIS

Pour renforcer un site web IIS, l'important est d'utiliser les contrôles d'accès disponibles.  
Les changements que Microsoft a apportés à la sécurité avec Windows Server 2003 permettent aux administrateurs d’installer et de mettre en route un serveur IIS 6.0 avec peu d’efforts. Même IIS 5.0, après un rapide durcissement à l’aide de l’IIS Lockdown Tool, offre une sécurité relativement bonne.
 
Mais il ne faudrait pas que cette absence de problèmes de sécurité vous rende complaisants. Même si Microsoft a tout fait pour réduire considérablement la surface d’attaque des serveurs IIS, des intrusions ont encore lieu. Mais, en raison du manque de vulnérabilités publiées, les attaques ont changé de cible : au lieu d’exploiter la plate-forme, elles exploitent les applications et la configuration du serveur. Cela m’a conduit à recenser quelques conseils et meilleures pratiques susceptibles de rendre votre serveur IIS encore plus résistant aux attaques.

Lire l'article
Donner du sens aux matrices d’éxécution en RPG

Donner du sens aux matrices d’éxécution en RPG

Au cours de ces dernières années, le traitement des matrices RPG a beaucoup changé. Les nouveautés affectent surtout la manière de les définir et de les traiter. Il existe beaucoup de variantes de l’ancienne matrice d’exécution. Outre les simples matrices de champs, on peut définir des matrices de structures de données, des matrices qualifiées, des matrices superposées, des matrices multidimensionnelles, des matrices allouées dynamiquement, et des structures de données à occurrences multiples. Chaque genre de matrice a ses forces et ses faiblesses : quelque-unes peuvent être grandes, d’autres ne peuvent être que petites. Certaines ont besoin d’une initialisation explicite, d’autres pas. Telles peuvent être triées, telles autres ne le peuvent pas.Cet article donne du sens aux matrices d’exécution. J’explique comment définir et initialiser chaque type de matrice, accéder aux éléments, trier des matrices et consulter les éléments. Pour approfondir certaines techniques de coding spécifiques, voir l’encadré « 7 conseils principaux sur les matrices »). Mais, commençons par revoir quelques principes de base sur les matrices.

Lire l'article