> Windows
CVTSPLSTMF : pour que les spoules soient encore plus simples

CVTSPLSTMF : pour que les spoules soient encore plus simples

par Peter Clifford
De nouveaux paramètres rendent cet utilitaire de publication de rapports AS/400 encore plus polyvalent Dans un précédent article, " CVTSPLSTMF facilite les spoules ", NEWSMAGAZINE, octobre 2000, j'expliquais comment ma commande CVTSPLSTMF (Convert Spooled File to Stream File) pouvait aider à  publier des rapports AS/400 classiques dans les formats suivants : texte ASCII, HTML ou PDF (Portable Document Format) Adobe. Cet article a suscité des messages électroniques aussi nombreux qu'agréables, mais certains lecteurs ont relevé quelques soucis et limitations de CVTSPLSTMF.

Nombreux sont notamment ceux qui ont subi une corruption des sources de programmes pendant le téléchargement ou l'installation. Ceux qui ont eu du mal à  lire les fichiers PDF ou HTML créés par la commande CVTSPLSTMF, les indications figurant dans l'encadré " Corriger la corruption de la source de CVTSPLSTMF " pourront aider à  détecter et à  corriger ce problème.

Même si ma description originale de l'utilitaire évoquait clairement ses limitations, ces lacunes ont agacé certains lecteurs, suscitant cette nouvelle version de CVTSPLSTMF.
Ainsi, l'option permettant de convertir des rapports en PDF traite désormais correctement de larges rapports et des formats de page autres que A4 à  l'italienne.
La commande est aussi accompagnée d'un texte d'aide, grâce à  Jeff Kinzer.

On peut télécharger la nouvelle version de CVTSPLSTMF depuis le site Web de Systems Journal, à  l'adresse http://www.mysystemsjournal.com. Cet article résume certaines modifications, sans montrer le nouveau code. Important : pour le téléchargement du source en format PC ZIP, il faut lire ma mise en garde concernant la corruption du code source dans l'encadré " Corriger la corruption du source de CVTSPLSTMF ".

Corriger la corruption du source de CVTSPLSTMF

Si l'on a du mal à  ouvrir les fichiers PDF et HTML créés à  l'aide de CVTSPLSTMF, il est probable que le source à  partir duquel les programmes RPG ont été compilés, ait été corrompu pendant le téléchargement. PDF et HTML utilisent tous deux des caractères de contrôle spéciaux : des quotes dans PDF, et des parenthèses angulaires en HTML. Malheureusement, il y a un risque de traduction incorrecte de ces caractères quand on déplace le source entre PC et AS/400 (conversion ASCII-EBCDIC) ou entre AS/400 (conversion CCSID).
Pour vérifier la présence de ce problème, il faut ouvrir le source du programme ILE RPG dans SEU et regarder la ligne contenant la phrase :

/PDF /Text

Cette ligne doit apparaître ainsi :

CALLP WritePDF('[/PDF /Text]')

Autrement dit, la phrase /PDF /Text doit se trouver entre quotes. S'il y a autre chose qu'une paire de quote (un signe pourcent et un point d'exclamation, par exemple), le source a été corrompu.
On peut corriger ce problème de deux manières. On peut remplacer les caractères incriminés par les bons, en effectuant un scan/replace de tout le source du programme puis en recompilant. On peut également télécharger à  nouveau les programmes depuis http://www.mysystemsjournal.com. Je conseille de télécharger les programmes déjà  compilés dans un fichier de sauvegarde, on évitera ainsi très probablement le problème de mauvaise traduction du source.
PC

Les fonctions de CVTSPLSTMF ont été améliorées par l'ajout de paramètres

Lire l'article
Les Bugbusters de Rochester

Les Bugbusters de Rochester

par Joanna Moore
A Rochester, une armée de clients en bêta-test traque les imperfections dans le nouveau matériel et logiciel avant que l'utilisateur final ne les découvre.

Lire l'article
Protocoles de sécurité : un état des lieux

Protocoles de sécurité : un état des lieux

par Mel Beckman
Sécurisez vos transactions électroniques en suivant de près l'évolution des protocoles de sécurité du commerce électronique Lorsque le protocole SSL (Secure Sockets Layer) est arrivé sur le marché il y a 6 ans, les experts y ont vu la solution au problème de sécurité du commerce électronique. Et il est vrai que SSL a beaucoup contribué à  rassurer les internautes utilisant leurs numéros de cartes de crédit pour les achats en ligne, faisant ainsi exploser les ventes grand public sur le Web. SSL remplit bien sa fonction de cryptage des données circulant entre l'acheteur et le vendeur, pour déjouer l'interception par les voleurs des informations contenues sur les cartes de crédit.

Si la sécurité du commerce électronique se limitait à  cela, SSL aurait donc résolu la totalité des problèmes. Mais si la protection des numéros de cartes de crédit et d'autres informations sensibles dans les transactions HTTP est le problème le plus visible, ce n'est que le sommet de l'iceberg. Toutes les composantes d'une transaction de paiement électronique ne passent pas par HTTP. Le vendeur peut utiliser d'autres protocoles (courrier électronique, FTP (File Transfer Protocol), LDAP (Lightweight Directory Access Protocol) par exemple) comme moyen de règlement et pour s'assurer que l'argent aboutit bien dans son compte en banque. Une fois le numéro de carte de crédit reçu par le vendeur, il faut valider le numéro, faire approuver l'achat par l'organisme émetteur de la carte, et débiter l'organisme financier de l'acheteur (figure 1).
L'ensemble du processus de transaction n'a pas de protection standard. Pis encore, une faille du dispositif de sécurité peut intervenir dans l'une des étapes suivant la commande HTTP sans que l'acheteur n'en ait connaissance. Les acheteurs en ligne se croient donc plus en sécurité qu'ils ne le sont réellement.

Heureusement, les standards des protocoles Internet sont en train de changer pour combler ces lacunes en matière de sécurité. Malheureusement, ils ne changent pas assez vite et aucun standard de sécurité à  lui seul ne répond aujourd'hui à  tous les besoins. SSL est en train de devenir un transport multiprotocoles et a été rebaptisé TLS (Transport Layer Security) mais son adaptation au cryptage autre que HTTP pose des problèmes. L'autre principal protocole de sécurité, SET (Secure Electronic Transactions), est très efficace mais tellement lourd à  mettre en oeuvre que peu d'entreprises l'utilisent.

Pour arriver à  une bonne sécurité des transactions, il est important de bien comprendre les avantages et les limites de chaque protocole. De plus, une petite connaissance de l'historique de chaque protocole donne un peu plus d'éclairage et peut aider à  choisir le cryptage le mieux adapté au commerce électronique. Enfin, il est bon de savoir ce que l'AS/400 propose dans ce domaine.

Lire l'article
Objectif: 100% Linux en 2005

Objectif: 100% Linux en 2005

par Isabelle Nougier
Linux constitue aujourd'hui une priorité au sein du département Informatique du Ministère de la Culture, le DOSI (Département de l'Organisation et des Systèmes d'Information). En effet, l'objectif fixé à  l'horizon 2005 vise l'intégration de Linux à  l'ensemble de tous les serveurs de ses 200 sites.

Lire l'article
Les 4 facteurs clés des performances d’Exchange Server

Les 4 facteurs clés des performances d’Exchange Server

par Paul Robichaux
Dans les chaînes de restauration rapide, il est généralement possible de commander un menu « plus ». Le principe est simple : vous obtenez plus de nourriture pour une somme supplémentaire symbolique. Pourquoi ne pas appliquer cette logique à  notre marché ? Imaginez la conversation suivante entre vous et votre fournisseur de systèmes :

Vous : " J'aimerais acquérir un serveur bi-processeur Pentium III Xeon avec 512 Mo de RAM et un disque de 9 Go s'il vous plait. "

Le constructeur : " Désirez-vous essayer notre serveur super spécial de la semaine ? Pour seulement 100 Francs de plus, vous obtenez une grappe RAID 5 de 3 disques de 18 Go et une copie gratuite de Quake III ? "

Si seulement il était possible d'acquérir des systèmes Exchange Server de cette façon… Une des raisons pour lesquelles il est si difficile de maximiser les performances d'Exchange Server, est qu'il est très difficile d'isoler un unique facteur qui, à  lui seul, est en mesure de modifier sensiblement les performances. De nombreuses personnes pensent que les performances d'un ordinateur dépendent exclusivement de la vitesse d'horloge de son processeur ? à  l'ancienne époque, lorsqu'un processeur 8086 cadencé à  4 MHz était considéré comme puissant, cette conviction était peut-être vraie. Mais avec les ordinateurs et les systèmes d'exploitation actuels, les performances dépendent généralement de 4 ressources - la CPU, la mémoire, le sous-système de disques et le réseau - et de la façon dont les applications d'un ordinateur cible utilisent ces ressources. En comprenant ces ressources et processus, on peut apprendre comment booster chacune des ressources (et donc les performances qu'on peut en obtenir) pour en tirer l'efficacité maximum.

Lire l'article
ISA Server : le proxy pare-feu de Windows 2000

ISA Server : le proxy pare-feu de Windows 2000

par Sean Daily
Avec Proxy Server 1.0, Microsoft faisait sa première incursion dans deux nouveaux marchés alors balbutiants : la sécurité Internet et l'accès rapide au Web. Bien que n'assurant que des fonctions de sécurité de base et ne supportant pas plusieurs protocoles Internet répandus, la version initiale de Proxy Server connut un rapide succès parmi les organisations basées sur NT qui avaient besoin d'un contrôle d'accès des utilisateurs aux services Internet, d'une fonctionnalité de pare-feu Internet et de l'accès rapide au Web.Dans Proxy Server 2.0, Microsoft a remédié à  plusieurs défauts de la première version en incluant la possibilité de contrôler le trafic entrant et sortant et en ajoutant le support d'un plus grand éventail de protocoles Internet et d'applications pour les clients supportant les proxy. Microsoft a également amélioré les fonctionnalités de sécurité du produit pour inclure une fonction sophistiquée de filtrage de paquets qui permet aux administrateurs de définir et de contrôler le flux de types de trafic spécifiques à  travers le système Proxy Server. Pour beaucoup de grandes organisations, les principaux avantages de Proxy Server sont la capacité de s'appuyer sur la base de données des comptes d'utilisateurs NT pour contrôler l'accès des utilisateurs aux services Internet et la possibilité d'utiliser les fonctions de mise en mémoire cache pour optimiser les performances des connexions Internet. Mais malgré ses améliorations en matière de sécurité, il manque à  Proxy Server 2.0 beaucoup de fonctions assurées par les autres pare-feux. Les grandes organisations sont donc nombreuses à  douter de pouvoir en faire leur pare-feu primaire. Etre accepté comme produit de sécurité Internet autonome, tel était donc le défi à  relever pour Proxy Server. Microsoft a ainsi ciblé la prochaine version sur l'intégration des fonctions de sécurité qui font défaut à  Proxy Server 2.0 et s'est fixé comme objectif de remédier également à  un certain nombre d'autres inconvénients de Proxy Server 2.0, tels que l'absence de support de protocoles très répandus et l'obligation d'installer un logiciel sur le client pour l'accès à  Proxy Server. La phase Beta 1 et béta 2 de la lignée de Proxy Server 2.0 ont été baptisées Comet par Microsoft, mais la beta 3 porte le nom de Microsoft Internet Security and Acceleration (ISA) Server, qui exprime mieux les capacités du produit et sa cible : le marché des pare-feux Internet.

Lire l'article
Comment optimiser Net.Data avec JavaScript

Comment optimiser Net.Data avec JavaScript

par Jef Sutherland
Apprenez à  faire une validation de formulaires côté client et à  créer des formulaires de courrier électronique avec Net.Data et JavaScript Dans les articles “ Utilisation de formulaires HTML avec Net.Data ”, NEWSMAGAZINE, juin 1999 et “ Using RPG with Net.Data”, NEWS/400, mars 1999, nous avons vu comment utiliser Net.Data avec des programmes AS/400 et des formulaires HTML (Hypertext Markup Language) pour créer des pages Web interactives. Cet article s'intéresse à  l'utilisation du langage JavaScript avec les macros Net.Data et les formulaires HTML pour faire une validation de formulaires côté client et créer une formulaire de courrier électronique. Si Net.Data est une nouveauté pour vous, visitez la home page Net.Data d'IBM (http://www.as400.ibm.com/netdata) pour plus d'informations.

Au préalable, il est bon de définir quelques termes Java pour mieux comprendre où JavaScript s'inscrit dans la structure Java.

  • Java, comme vous ne l'ignorez certainement pas, est un langage de programmation évolué répandu, de Sun Microsystems, présent sur de nombreuses plates-formes dont l'AS/400.
  • Les applets Java sont des objets source Java compilés. On peut les exécuter comme programmes natifs ou intégrés dans un document HTML et exécutés dans un navigateur Java.
  • JavaScript est un langage de scripting orienté objet, développé par Netscape, qui s'exécute sur un navigateur pour offrir des fonctions améliorées n'existant pas en HTML standard. Ainsi, JavaScript peut accéder à  un navigateur, et le contrôler pour créer de nouvelles fenêtres, cadres et messages pop-up (comme le message d'erreur de l'exemple de macro Net.Data de cet article). JavaScript est fréquemment utilisé pour l'animation et le contrôle d'images sur des sites Web, ainsi qu'avec les “ cookies ”, de petits fragments d'informations sur l'utilisateur du Web, stockés sur l'ordinateur d'un client.

Le code JavaScript fait partie du document HTML et s'exécute côté client

Contrairement à  un programme CGI (Common Gateway Interface) ou une passerelle (Net.Data par exemple), qui s'exécute et est traité sur le serveur, le code JavaScript fait partie du document HTML et s'exécute côté client. JavaScript est une fonction avancée que certains navigateurs ne reconnaissent pas. Donc, assurez-vous que votre navigateur peut interpréter et exécuter ce langage de scripting. J'ai utilisé JavaScript avec les dernières versions de Netscape Navigator et de Microsoft Internet Explorer et ai constaté que les deux supportent certaines fonctions JavaScript de manière différente. D'où l'intérêt de tester vos documents HTML JavaScript avec différents navigateurs.

Comme JavaScript effectue le traitement côté client, les zones des formulaires HTML peuvent sauter la validation côté serveur, pour alléger l'application. Pour illustrer l'utilisation de JavaScript, nous verrons une macro Net.Data avec des formulaires HTML imbriqués et JavaScript (pour plus d'informations sur les formulaires HTML imbriqués, voir “ Utilisation de formulaires HTML avec Net.Data ”). La figure 1 montre la totalité du fichier de macros Net.Data de notre exemple. Le projet
  • utilise une macro Net.Data pour afficher un formulaire HTML comportant une zone de saisie de numéro de pièce (figure 2) ;
  • utilise une fonction JavaScript pour s'assurer de la saisie du numéro de pièce ;
  • utilise un programme AS/400 pour extraire des informations supplémentaires sur la pièce de l'AS/400 au moment de la saisie de son numéro (remarque : il n'est fait référence à  cette partie de l'application que dans le code source. Le code de cet article est purement illustratif et ne représente pas une application complète.) ;
  • affiche un second formulaire

    Lire l'article
Attention! Méthode de Bugbuster

Attention! Méthode de Bugbuster

par Jeremy Likness
Les vrais professionnels analysent les problèmes de manière exhaustive avant de recourir au débogueur ILE. Les informaticiens professionnels chargés de repérer et d'éradiquer les bogues ont une priorité : éliminer les problèmes techniques aussi rapidement que possible. Par conséquent, ils ont tendance à  s'en remettre énormément au débogueur ILE RPG. Mais, éradiquer des bogues sur un AS/400 représente bien plus qu'une simple question de commodité. Une bonne stratégie de déboguage implique au moins une part d'analyse manuelle des données et/ou du code source afin de déterminer exactement comment un bogue a pu se glisser entre les mailles du filet. Il est également recommandé de conduire des opérations de suivi afin d'identifier et d'éliminer tout problème potentiel révélé par le processus de déboguage.

En adoptant une stratégie de déboguage exhaustive plutôt qu'une approche de type "le plus rapidement possible", on améliore sa maîtrise de l'AS/400 et de son environnement applicatif. Fort de cette expertise, lorsque vous utiliserez effectivement le débogueur, vous gagnerez énormément de temps. Pour une introduction au "code de conduite de l'exterminateur de bogues averti", consultez l'encadré "Critters 101".

Dans le présent article, je fournis une méthode de base pour le déboguage des systèmes, et présente plusieurs ressources importantes. Pour de plus amples renseignements sur le déboguage sur AS/400, consultez les articles "ILE à  l'oeuvre : le débogueur", NEWSMAGAZINE, octobre 1997 et "Le déboguage des batchs sans peine", NEWSMAGAZINE, mai 1997.

Les informaticiens professionnels ont tendance à  s'en remettre énormément au débogueur ILE RPG

Lire l'article
Pour un management informatique efficace

Pour un management informatique efficace

par Jeremy Likness
Apprenez à  constituer une équipe et à  maintenir sa productivité Dans l'univers sportif, les entraîneurs de football mettent à  la disposition de leurs joueurs d'une part des séances d'entraînement et une équipe d'encadrement, et d'autre part, ils leurs communiquent des stratégies ciblant l'objectif ultime, à  savoir : remporter la victoire.

Pour atteindre cet objectif, les joueurs assument leurs rôles respectifs, marquant des points ou bloquant les avancées de l'équipe adverse.

En raison des changements rapides dans les technologies de l'information, une équipe compétente et motivée est essentielle au succès et à  la croissance d'une entreprise. Aussi, les directeurs informatiques (entraîneurs dans l'univers informatique) doivent encourager leurs équipes afin de travailler à  un niveau optimal. Mais comment motiver une équipe pour qu'elle donne le meilleur d'elle-même ?

Voici quelques stratégies clés pouvant contribuer à  vous aider à  devenir un meilleur chef d'équipe informatique.

Lire l'article
CRYPTage et secrets de l’AS/400

CRYPTage et secrets de l’AS/400

par Gene Gaunt
L'utilitaire CRYPT simplifie le cryptage DES (Data Encryption Standard) bidirectionnel dans les programmes ILE et OPM. Il y a deux façons économiques de mettre en oeuvre le standard de cryptage DES
(Data Encryption Standard) dans les logiciels AS/400 :

  • La fonction intégrée ILE (Integrated Language Environment) _CIPHER permet le cryptage unidirectionnel dans les programmes ILE.
  • Le programme CRYPT, présenté dans cet article, permet le cryptage bidirectionnel, à  la fois dans les programmes OPM (Original Program Model) et ILE.
Voici 25 ans naissait le DES, d'un algorithme de cryptage créé par IBM, baptisé Lucifer, sur le site Yorktown Heights Research. La NSA (National Security Agency) aux USA a persuadé IBM de soumettre l'algorithme au bureau des normes du Département du Commerce (équivalent de notre AFNOR ndlr), qui sollicitait des idées pour un standard cryptographique national. Sous couvert de ce projet, et dans le secret, la NSA a légèrement modifié l'algorithme. Le 23 novembre 1976, le Département du Commerce a approuvé l'algorithme commun IBM-NSA comme le standard fédéral pour les applications non militaires, et l'a rebaptisé Data Encryption Standard.Les spécifications officielles du DES se trouvent dans le document Federal Information Processing Standards Publication 46-2 (FIPS Pub 46). Ces spécifications sont également disponibles sur le site Web du NIST (National Institut of Standards and Technology) à  l'adresse http://www.nist.gov/itl/div897/pubs/fip46-2.htm.
Une copie de cette publication a servi à  rédiger le programme CRYPT.

Un processeur DES permet un cryptage unidirectionnel ou bidirectionnel

Lire l'article
Une rentrée rayée jaune et bleu

Une rentrée rayée jaune et bleu

Une manifestation dédiée à  Domino AS/400 pour les partenaires Lotus et Domino, et de nombreuses autres initiatives ont marqué la rentrée. La manifestation appelée “ Victory 99 EMEA ”, qui s'est tenue à  Cannes au tout début septembre, a remporté un franc succès puisque environ 2600 IBMers et partenaires s'y étaient donné rendez-vous.

L'AS/400 figurait en bonne place dans cette manifestation consacrée à  l'ensemble de la gamme serveurs d'IBM Des ténors de la plate-forme comme Tom Jarosh, Tony Madden ou encore Malcolm Haynes figuraient en tête de l'affiche. C'est aussi à  l'occasion de cette manifestation que s'est faite l'annonce de la cession à  Cisco Systems de l'offre “ réseaux ” d'IBM.

Mais après une conclusion en grande pompe de Victory 99 EMEA, avec notamment une immense soirée sur la plage du Carlton le mercredi, c'est par un événement beaucoup plus confidentiel mais néanmoins important que s'est poursuivie la semaine : IBM et Lotus avaient en effet convié leurs BP (Business Partners) et LBP (Lotus Business Partners) à  un séminaire marketing baptisé Victory AS/400, sur le thème : “ Les clés du succès pour vendre Domino AS/400 ”. Vaste programme !

Une soixantaine de représentants des ces deux “ espèces ” se sont alors réunis au long des deux jours restants de la semaine, pour mieux comprendre et connaître l'AS/400 pour les LBP, Lotus Domino pour les BP, ceci dans le but avoué de se donner les moyens de “ booster ” les installations Domino sur AS/400. L'objectif de la réunion était double : fournir à  tous les arguments de vente sur Domino pour AS/400, et réunir les partenaires AS/400 et Lotus pour développer du Business commun sur Domino pour AS/400.

Et sur ce dernier point, force est de constater qu'il y avait fort à  faire. L'initiative a non seulement montré qu'un rapprochement entre partenaires Lotus et IBM et une meilleure connaissance du domaine de compétences de l'autre étaient indispensables, mais a largement oeuvré dans le sens de rapprochements effectifs. Les tendances de la rentrée étaient donc sans conteste à  l'alternance des couleurs, aux rayures jaune Lotus et bleu IBM.

L'AS/400 est devenu la seconde plate-forme d'installation de Domino en termes de nombre de serveurs

Lire l'article
Contraintes d’intégrité et Triggers: vers une chronologie parfaite

Contraintes d’intégrité et Triggers: vers une chronologie parfaite

par Paul Conte
Maîtrisez la chronologie d'exécution des contraintes et des triggers des bases de données DB2 Universal Database for AS/400 (DB2 UDB) comporte plusieurs fonctions importantes qui d'une part assurent l'intégrité des données et d'autre part, étendent les fonctions des bases de données. Deux de ces fonctions, les contraintes d'intégrité référentielle et les triggers (ou programmes déclencheurs) peuvent être définis par un administrateur de bases de données (ou un utilisateur autorisé) pour se protéger des mises à  jour susceptibles de générer des données invalides ou incohérentes. On peut également utiliser des triggers pour exécuter des tâches qui ne sont pas intégrées dans DB2 UDB (comme afficher des informations sélectionnées sur des mises à  jour de bases de données dans une table de journalisation définie par un utilisateur par exemple).

Du fait qu'une opération sur une base de données peut entraîner DB2 UDB à  évaluer une ou plusieurs contraintes et appeler un ou plusieurs triggers, il est essentiel de maîtriser la chronologie des différentes opérations d'insertion, de modification et de suppression dans les bases de données. Le présent article apporte quelques informations sur la chronologie des contraintes et des triggers afin de vous permettre de concevoir des applications fonctionnant de manière efficace.

Pour commencer, examinons rapidement les concepts de base des contraintes d'intégrité référentielles et des triggers (pour plus de plus amples informations, veuillez consulter l'encadré "Bibliographie").

Les contraintes d'intégrité référentielle et les triggers peuvent protéger des données invalides ou incohérentes

Lire l'article
Quoi de neuf ? Un digest des dernières nouveautés

Quoi de neuf ? Un digest des dernières nouveautés

L'architecte des sécurités de l'AS/400 recense les nouveautés et améliorations des V4R2 et V4R3

Deux releases de l'OS/400 (V4R2 et V4R3) ont été annoncées depuis ma dernière revue en matière de sécurités. Toutes deux renforcent les sécurités dans deux domaines principaux.

Les améliorations

  • permettent de mieux maîtriser la configuration de l'environnement TCP

  • facilitent la protection et la gestion du e-business

  • permettent de mettre en place un plan de sécurité initial tout en découvrant des possibilités plus détaillées

  • Lire l'article
Le blues du hardware

Le blues du hardware

Windows 2000 a la réputation de supporter plus de périphériques grâce au support de Plug and Play et à  l'ajout d'une grande quantité de drivers. Pourtant, partir du principe que vos périphériques matériels seront supportés par Windows 2000 est peut-être une erreur. Mon expérience de la connexion de périphériques à  un système Windows 2000 ne m'a pas franchement rassuré sur le support hardware de Windows 2000. D'autant que ces matériels exploitent des drivers Windows NT 4.0. Les matériels que j'ai essayé de faire fonctionner avec un système Windows 2000 sont une imprimante/scanner/fax HP OfficeJet 710 et un contrôleur SCSI Future Domain TMC-850 MER.

Lire l'article
Offrez la

Offrez la

Le module RPG IV CallerID permet d'identifier le programme ayant provoqué une modification d'une base de données. Vous êtes-vous jamais demandé ce qui se cachait à  l'autre bout de l'appel d'un programme trigger ? Eh bien, il est maintenant possible d'installer "CallerID" (gratuitement) pour permettre aux programmes trigger de déceler l'origine des modifications survenues dans la base de données.

Techniquement, des opérations internes sur les fichiers OS/400 telles que QDBPUT (Database add a record) et QDBUDR (Database update, delete, or release a record) entraînent l'appel d'un programme trigger. Toutefois, avec l'aide de quelques API de gestion des messages, il est possible d'identifier le programme qui se cache derrière ces opérations.

La connaissance de l'origine des modifications de la base de données peut se révéler fort utile. Envisageons les scénari suivants :

Attention: inondation. Etant donné que les triggers interceptent toutes les modifications effectuées dans un fichier base de données, ils peuvent se révéler efficaces pour assurer la cohérence des données dans une ou plusieurs applications. Mais, un fichier qui change fréquemment peut imposer une charge très importante à  un programme trigger. Aussi, afin de limiter le surcroît de travail de ce type de programme, on peut choisir de filtrer certaines des modifications pour que le programme trigger n'exécute pas l'intégralité de sa routine à  chaque fois qu'une modification est effectuée.

Supposons que vous utilisiez un programme trigger pour introduire des modifications démographiques effectuées par une application sur une autre, et que l'application effectuant les modifications stocke des informations démographiques et financières dans le même fichier. Supposons également que vous ayez un traitement de nuit sur ce fichier, qui ne met à  jour que les informations financières mais agit sur un grand nombre d'enregistrements. Plutôt que de comparer systématiquement les images de chaque champ "démographie" avant et après que le programme trigger ait été appelé, vous pouvez simplement filtrer les modifications effectuées par le traitement de nuit.

Surveiller toutes les issues. Peut-être essayez-vous de faire un contrôle qualité en surveillant la fréquence à  laquelle il est nécessaire de "glisser" des modifications dans une base de données du fait de limitations des applications existantes. Il est possible de calculer le nombre de fois que DFU (Data File Utility ), SQL ou un utilitaire base de données quelconque a été utilisé pour modifier certains fichiers de la base. Même si vos applications standards sont excellentes, vous pouvez souhaiter garder une trace des interventions réalisées sur les fichiers sans utiliser d'application, pour identifier des violations de sécurités potentielles, ou d'éventuels besoins en formation.

Eviter les boucles sans fin. Imaginons que vous utilisiez des programmes triggers pour transmettre des modifications démographiques entre une application A et une application B. Quand un fichier est mis à  jour dans l'application A, le programme trigger met à  jour le fichier associé de l'application B, et vice versa. Ce processus paraît clair et simple. Cependant, il se pose un problème lorsque le programme trigger de l'application A met à  jour un fichier de l'application B, obligeant le trigger de cette dernière à  mettre à  jour l'enregistrement original qui a été modifié dans l'application A. Ce cas de figure peut provoquer l'appel récursif du programme trigger de l'application A, d'où risque de bouclage.

Des boucles inutiles peuvent également poser problème lorsqu'une interface EDI (Echange de Données Informatisées) est utilisée entre deux systèmes. Une modification de la base de données d'un système se répercuter de système en système jusqu'à  ce que le système récepteur sache que la modification provient du système émetteur, et que par conséquent il n'est pas nécessaire de lui renvoyer la modification.

Lire l'article
Par où commencer avec les jointures SQL/400

Par où commencer avec les jointures SQL/400

Le coding de base des jointures SQL est simple ; voici comment procéder Une opération de jointure sur la base de données combine des lignes (c'est-à -dire des enregistrements) provenant de deux ou plus tables (c'est-à -dire des fichiers) pour produire une table résultat utilisable ensuite pour d'autres opérations. DB2 Universal Database for AS/400 (UDB/400) permet les opérations jointes par l'intermédiaire de plusieurs mécanismes :

  • fichiers logiques joints définis en DDS
  • les paramètres FILE et FLD de la commande OPNQRYF (Open Query File)
  • les clauses FROM et WHERE d'une sous-selection SQL
Parmi toutes ces possibilités, c'est SQL qui offre le plus de souplesse et la syntaxe la plus simple. Et, comme SQL est aussi une interface base de données stratégique d'IBM pour UDB/400, il est d'autant plus intéressant de savoir coder une jointure SQL. Comme cet article le démontre, il est facile de démarrer avec des jointures.

Lire l'article
Tirez la quintessence de votre base de données grâce à  RPG & SQL !

Tirez la quintessence de votre base de données grâce à  RPG & SQL !

Aidez-vous des résultats de nos tests pour accroître la vitesse et de l'efficacité de vos applications.Qu'il s'agisse de développer de nouvelles "e-applications" ou d'améliorer d'anciennes "t-applications " (applications traditionnelles), les performances de la base de données est souvent le facteur prépondérant dans la rapidité du logiciel. La satisfaction de la direction et des clients est proportionnelle à la rapidité d'obtention des données. Avec DB2 Universal Database for AS/400 (DB2 UDB), on peut améliorer considérablement les performances applicatives (éventuellement en multipliant plusieurs fois le débit de l'application non optimisée) en choisissant judicieusement la méthode de mise en œuvre et de configuration.

La satisfaction de la direction et des clients est proportionnelle à la rapidité d'obtention des données

Pour obtenir des données concrètes à l'appui de ces types de décisions, j'ai effectué de nombreux benchmarks en utilisant les versions V4R4 de RPG IV et SQL. Certaines constatations sont étonnantes et mettent à nu la manière dont ces langages et DB2 UDB pratiquent l'accès aux bases de données.
Après avoir étudié ces résultats et en avoir discuté avec les IBMers de Rochester, j'ai conclu que les seuls manuels AS/400 ne sont pas suffisants pour optimiser les performances des bases de données. Tandis qu'avec les données et les analyses comparatives de cet article, vous pourrez pousser vos applications dans leurs derniers retranchements. Et aussi comparer les performances des I/O intégrées et du SQL imbriqué dans le RPG IV. (Si vous découvrez le coding SQL, voyez l'encadré " Quelques canevas SQL pour programmeurs RPG", qui fournit des information sur un article en ligne démontrant les techniques de coding SQL/400 pour programmeurs RPG.)

Lire l'article
Sécuriser les transactions électroniques par cartes de crédit

Sécuriser les transactions électroniques par cartes de crédit

Votre entreprise a très probablement décidé de tirer profit du potentiel d'Internet en prenant un nom de domaine et en développant un site Web pour faire la promotion de ses produits et services. Les consommateurs qui cherchent des informations sur les produits en se connectant sont bien informés pour acheter ; le meilleur moment pour encourager un achat en ligne est celui où les internautes visitent un site. Pourtant, si ces visiteurs ne peuvent réaliser toute la transaction, notamment le paiement, vous risquez de perdre des ventes. Le commerce électronique permet d'assurer le paiement en temps réel des commandes des clients sur votre site Web, en leur évitant l'obligation d'entreprendre une démarche supplémentaire, comme, par exemple, faire une commande séparée par fax ou par téléphone. Vos clients reçoivent immédiatement la confirmation de leur commande et vous n'avez plus besoin de vérifier manuellement des informations de contact et de paiement.

Dans cet article je donne un aperçu du processus de paiement du commerce électronique et je décris un puissant freeware - CyberCash, qui peut s'utiliser avec Internet Information Server - permettant d'accepter des paiements par carte sur Internet. (Bien que CyberCash fonctionne avec les précédentes versions d'IIS, je me réfère dans cet article à  IIS 4.0). Une fois que vous avez démarré une activité de commerce électronique, le logiciel d'administration CashRegister de CyberCash vous aide à  maintenir les transactions de votre site.

Lire l'article
Dopez les performances de Domino R5 !

Dopez les performances de Domino R5 !

par Kim Greene
Grâce à  ces quelques conseils, rendez la R5 de Domino encore plus performante Domino R5 vise surtout à  l'amélioration des performances. Parmi les améliorations les plus notables de cette version, on trouve une nouvelle structure de base de documents, une meilleure évolutivité dans une partition unique, le pooling des " threads " (unités d'exécution), de meilleures performances de la pile TCP/IP, et des réglages sur la taille mémoire allouée par utilisateur. Ces améliorations donnent aux utilisateurs AS/400 encore plus d'évolutivité qu'avec Domino R4.6.x pour AS/400. Examinons les principales améliorations de performances et quelques techniques permettant de les utiliser pour obtenir le maximum de performances de R5 sur l'AS/400.

Lire l'article
Un projet tout Java

Un projet tout Java

Par Isabelle Nougier C'est en misant sur le futur et en optant pour un changement radical de technologie que la Cavamac refond intégralement son système d'information La Cavamac est une caisse de retraite et de prévoyance pour les agents généraux d'assurance sous tutelle de la Sécurité Sociale. Elle gère de l'ordre de 20000 cotisants et 30000 retraités, pour un effectif d'environ 80 personnes. Au moment du passage à  l'an 2000, cette caisse de retraite s'est vue confrontée à  un dilemme : fallait-il refondre complètement le système d'information ou fallait-il simplement modifier l'existant ? A ce moment précis, le problème ne s'est pas posé très longtemps, les délais imposés par une refonte du système étant trop importants pour l'échéance "An 2000".
Le passage à  l'An 2000 s'est donc fait en modifiant l'existant, mais l'idée de la refonte n'était pas écartée puisque le système d'information commençait à  vieillir ; sa fiabilité diminuait, il avait de nombreuses carences, il datait de la fin des années 70 et avait vu passer toutes les générations de midrange IBM, en passant par le 38 jusqu'à  l'AS/400, des morceaux de programmes avaient été rajoutés au fur et à  mesure des différents besoins, et il n'avait de ce fait jamais constitué une entité et pour ne pas se trouver confronter au même dilemme pour le passage à  l'Euro, la décision de la refonte du système a été prise courant du premier trimestre 1999.

Une vingtaine de propositions ont été reçues, parmi lesquelles deux intégralement en Java

Du fait de son statut, la Cavamac a pour obligation d'émettre un appel d'offres public. Cet appel d'offres a été lancé au milieu de l'année 1999; il imposait principalement deux contraintes, à  savoir celle de délais qui devaient être compatibles avec le passage à  l'Euro, et l'utilisation de l'AS/400 comme serveur central, cette plate-forme ayant largement fait ses preuves jusqu'alors. Le projet, baptisé NSI pour "Nouveau Système d'Information " (lire "Nessie", comme le fameux monstre qui se cache -paraît-il- dans les tréfonds du Loch Ness. Cherchez l'erreur !) dont le logo représente un éléphant (une référence à  la mémoire, paraît-il…) avait trois objectifs principaux : qualité, sécurité et productivité. Une vingtaine de propositions ont été reçues, parmi lesquelles deux intégralement en Java, dont une proposée par IBM.

UTI s'est tout de suite dirigée vers une solution entièrement Java, malgré le peu de recul que comptait cette technologie

La Cavamac n'a alors que peu hésité, malgré le risque que cela pouvait engendrer d'utiliser des technologies nouvelles, et en septembre 1999, c'est la proposition d'UTI (Union Technologies Informatique) en Java qui a été retenue. Cette société de services de 600 personnes aujourd'hui, à  forte connotation AS/400, n'était pas inconnue de la Cavamac puisque c'est elle qui, en son temps, avait assuré le passage à  l'An 2000. A la lecture du cahier des charges imposé par la Cavamac, UTI s'est tout de suite dirigée vers une solution entièrement Java malgré le peu de recul que comptait cette technologie, puisque à  l'époque il n'y avait qu'une trentaine de projets entièrement conçus en Java. Plusieurs raisons ont influencé ce choix, entre autres l'objectif de constituer un système pérenne (plus de 10 ans), d'avoir un système très souple en ce qui concerne les différentes compatibilités, avoir une maintenance aisée, et de plus UTI avait déjà  une expérience en interne, ce qui lui permettait de cerner parfaitement les avantages et les inconvénients de cette technologie.

Lire l'article