Pause-Café Volubis

pause-café

rendez-vous technique
Pause-Café est une réunion technique
destinée aux informaticiens sur plateforme IBM i.
Elle a lieu 3 à 4 fois par an : en Bretagne et sur internet.

Pause-café #46

Février 2008

Tout d'abord, meilleurs voeux à tous pour cette nouvelle année 2008, qui verra la sortie de la Version 6 de i5/OS.

 

Quelques certitudes, aujourd'hui, affichées sur la page http://www-03.ibm.com/systems/i/os/i5os/v6r1preview/features.html

  • Cette version ne sera pas supportée sur les modèles :
    • 270, 820, 840 et antérieurs

  • Nouvelle JVM 64 bits, entièrement réécrite (la V5R40 proposait la version 32 bits pour aller plus vite, à voir....)

  • Nouveau serveur d'application intégré à l'OS pour distribuer les applications Java.Ce serveur doit supporté JSF, JSP et servlet et implique peu de ressources et d'administration

    S'agit-il du même que celui obligatoire pour DB2 WebQUERY tel qu'indiqué par l'APAR II14318 et basé sur OSGI ?

    PTFs - SI29102 and SI29567 are required for Integrated 
    Application Server 7.1 enablement which DB2 Web Query uses. 
             
          


    A ce propos, une démonstration est disponible pour ce produit à l'adresse http://www-03.ibm.com/systems/i/software/db2/webquery/

  • Est prévu aussi un environnement pour les services Web avec les langages ILE. Des utilitaires vont générer des API de haut niveau pour que les programmes ILE puissent invoquer des services Web. Un "run-time" sera aussi intégré aux programmes (ILE toujours) à la compilation. Ce run-time sera simple à utiliser par un administrateur servira à exposer vos programmes RPG et COBOL en tant que service Web.

  • Une nouvelle console, accessible par un navigateur web , regroupera les fonctionnalités d'iSeries Navigator et IBM Director (voir ci dessous)

  • la gestion des partitions et la répartition de charge va être modifiée afin d'intégrer, par exemple, les partitions i5/OS "hostées"
    (voir http://www-03.ibm.com/systems/virtualization/view/082807.html )

         Aujourd'hui, une partition I5/OS peux "préter" ces disques à une partition LINUX/AIX, mais chaque partition I5/OS doit avoir ces disques dédiés

    ET le support de I5/OS en tant que client d'une partition VIOS ("VIOS ou "virtuel IO server" permet de partager les composants les plus chers (unités de disque, cartes de
    communication et adaptateurs Fibre Channel) afin de diminuer la complexité et les dépenses système/administratives")

  • Un nouvel affichage des performances via une interface web, va être disponible.

  • Sécurité :
    • Cryptage des données sauvegardées (bandes et bandes virtuelles)
    • Cryptage des données sur disques
    • Détection d'intrusion
    • Avancées (assez floues dans l'annonce) dans le domaine du cross site miroring et de la réplication

  • Poursuite des améliorations du compilateur RPG avec particulièrement :
    • l'intégration complète du multithreading
    • le support des fichiers locaux :

      Aujourd'hui, nous pouvons écrire des procédures et des fonctions avec des variables locales, mais les déclarations de fichier (spécif F) restent globales


      Fmonfichier

      PmaFonction      B
      Dmes_variables....


      PmaFonction      E

  • Plus grande intégration des produits WDSc (version de base et Advanced), avec les produits Rationnal


  • et enfin, dernier point, mais de taille, conversion des objets

 

En effet, cette version 6.1 impose un nouveau format interne des objets programmes, donc une conversion
(comme en V3R60, mais plus simple et plus rapide), voir l'APAR II14306

Pourquoi ce nouveau format ?

  • pour une meilleure intégrité des objets
  • pour une meilleure utilisation de la mémoire , particulièrement du Téraspace
  • pour apporter de nouvelles options à ILE, particulièrement *DEFER sur un programme de service lié, permettant le chargement mémoire de celui-ci, uniquement lors de l'utilisation réelle (si elle est occasionnelle)
  • pour ACG (Adaptive Code Generation) qui génèra des programmes utilisant au mieux et dynamiquement le jeu d'instructions processeur.

 

Quand la conversion aura-t-elle lieu ?

  • Au passage d'une version V5 vers la version V6 , si c'est possible
    • lors de la restauration suivant la sysval QFRCCVNRST
    • planifiée par la commande STROBJCVN
    • à la première utilisation

  • Au passage d'une version V6 vers la version V5
    • il y aura des PTF


  • lors d'un passage V6 power6 vers une V6 power5
    • lors de la restauration ou à l'exécution

  • lors d'un passage V6 power5 vers une V6 power6
    • il n'y a rien à faire

 

Sont convertis :

  • les objets programmes, quand c'est possible
  • lors du premier IPL :
    • les pgms java (internes) associés aux *STMF
    • quelques fichiers IFS (ceux dont le nom est insensible à la "casse", pour Unicode)
    • des fichiers spools

Ne peuvent pas être convertis :

  • tous les programmes compilés avant la V5R10 et ne possédant plus les données de création
    (depuis la V5, les données de création ne peuvent plus être enlevées)

    Pour les reconnaitre :
    • ILE: DSPPGM/DSPSRVPGM (faire ROLLUP sur l'écran 1 sur 7)

      Ensemble des données de création . . . . . . . : *NO

    • OPM (non ILE, GAPIII et CL) : DSPPGM

      Informations observables . . . . . . . . . . . . : *NONE

  • peuvent perdre leur attribut, les programmes :
    • signés numériquement
    • ayant un profilage PEX
    • à l'état système

Comment anticiper ? ANZOBJCVN :

le redbook suivant vous explique comment préparer la V6R1 et utiliser la commande ANZOBJCVN

Les PTF SI29370 + SI28432 (pour la France) apportent cette nouvelle commande

  • ANZOBJCVN *COLLECT , collecte les données
    • ANZOBJCVN *collect LIB(*allusr), collecte les données sur les bibliothèques
    • ANZOBJCVN *collect OBJ('/html*) , collecte les données sur un répertoire

  • ANZOBJCVN *REPORT, produit un rapport papier suite à collecte
    • ANZOBJCVN *report RPTTYPE(*LIBSUM) , imprime des totaux par bibliothèque
    • ANZOBJCVN *report RPTTYPE(*OBJSUM) , imprime des totaux par répertoire
    • ANZOBJCVN *report RPTTYPE(*CVNPRB), imprime la liste des problèmes :


 

remarques :

  • les programmes 36 et 38 peuvent être convertis, s'il respectent les même règles
  • si les programmes sont affichés non convertibles, recompilez les (ou voyer votre fournisseur)
  • les produits programmes suivant, n'aurons pas de version spécifiquement V6, mais sont convertibles
    5722BZ100  IBM Business Solutions
    5722IA100   IBM Integration Assistant for iSeries
    5722IP100   IBM Infoprint Server for iSeries
    5722XP100  System i Access for Wireless
    5723J2500   Domino Document Manger
    5724H7200  WebSphere MQSeries for iSeriesMQ, V6
    5724J2300   Lotus Sametime Instant Messaging
    5724J2400   Lotus QuickPlace
    5724S31      Lotus Quickr
    5733FXD00 Domino Fax
    5733ID100   Infoprint Designer
    5733LD700  Lotus Domino for iSeries V7.0.3
    5733LD800  Lotus Domino for iSeries V8
    5733LEI       Lotus Enterprise Integrator
    5733QU200 IBM DB2 Web Query
    5733W6000 WebSphere Application Server for OS/400 V6
    5733W6100 WebSphere Application Server V6.1 for i5/OS
    5733XT200  Toolkit for IBM System i5
    5798FAX00  Facsimile Support
    5799PTL0     iSeries Tools for Developers

IBM Director

Installez d'abord le produit 5722DR1 à partir des CD ou bien téléchargez le à http://www-03.ibm.com/systems/management/director/downloads.html

une fois le produit sous licence installé

  1. modifiez la JOBD QCOLJOBD avec la paramètre LOG(4 0 *NOLIST) par défaut elle est à (4 0 *SECLVL) et vous génère 20 joblog toutes les 10 minutes
  2. lancez le par STRTCPSVR *DIRECTOR
    • vous pouvez voir le travail sous le nom de QCPMGTSVR (wrkactjob)
    • ou avec iSeries Navigator en tant que serveur défini par l'utilisateur, dans Réseau/Serveur
  3. dernier point, installez le client (la console) après l'avoir téléchargé sur le même site
    • pour Windows cherchez dir5.20.2_console_windows.exe
    • pour linux un rpm équivalent
  4. lancez la console et connectez vous à votre system i

 

 

si vous avez des alertes, cliquez sur l'icone concernée en bas à droite :

 

sinon, voilà ce que l'on peut faire avec un I5

1/ voir les propriétés (double clic)


les autres options sont disponibles avec un clic droit

2/ faires des inventaires (les mêmes que gestion centralisée sous iSeries navigator)

3/ analyser ensuite ces inventaires


ici, les logiciels sous licence installés


ici, les adresses IP du serveur

4/ gestion des processus permet de voir les travaux et les sous-systèmes actifs



vous pouvez ensuite contrôler un processus

c'est à dire donner les coordonnées d'un exécutable, dont il faut surveiller

    • le démarrage
    • l'arrêt
    • le "plantage"

5/ Contrôleur de ressources, affichage d' informations statistiques, comme

    • le nombre d'utilisateurs connectés
    • le nombre de travaux dans le systèmes
    • etc...

vous pouvez associer des seuils d'alerte à chaque ressource

6/ transfert de fichiers entre le client sur lequel est installée la console et le serveur

7/ enfin en installant dir5.20.2_hmcconsole_windows.exe ou le rpm équivalent, vous aurez accès à la console HMC

  7a/ propriétés



  7b/ l'option HMC et membres, montre les serveurs connectés à la console et les partitions associées


attention aux possibilités de cet outils d'administration !


    Utiliser WDSc V7 pour remplacer PDM/SEU


    Vous utiliserez principalement RSE (un "plug-in" installé automatiquement avec la version "AS/400" du produit)

 

Au premier lancement après installation, vous verrez :

.
vous pouvez fermer la page d' accueil, vous la ferez réapparaître à tout moment par :Aide/Bienvenue

  la première tâche, va consister à définir une nouvelle connexion , ici Iseries.

 

Indiquez

  • un nom de profil :
    • le votre si vous souhaitez ne pas partager cette définition
    • Team (qui existe en standard) dans le cas contraire
  • le nom de la connexion et le nom (ou adresse IP) du système AS/400 à connecter (hôte)
  • Une description pour cette connexion

 

vous remarquerez les propriétés de cette connexion dans la fenêtre basse à gauche

, cette fenêtre affiche toujours les propriétés de l'élément actif.

 

Vous pouvez définir un utilisateur par défaut :

  • à un niveau général (Fenêtre/préférences/systèmes distants)
  • pour un système (clic droit sur le système puis option "propriétés")

  • Vous pourrez aussi définir les options générales pour ce système, comme F18 de PDM
    • Bibliothèque de création
    • Options de compilation (remplacement, soumission, JOBD)
    • Options d'exécution (soumission)
  • Ainsi que les options de connexion :
    • Bibliothèque(s) à ajouter à *LIBL
    • *CURLIB
    • Commande à lancer lors de l'établissement de la connexion


Vous verrez ensuite dans la fenêtre "systèmes distants" ce que WDSc appelle des sous-systèmes (rien avoir avec nos *SBSD).
    • Objets ISeries, vous permet de créer des filtres (enregistrement de paramètres permettant de produire des listes) dans la branche QSYS
      • Il existe 2 filtres déja prêts pouvant remplacer l'option 1 de PDM :
        • Liste de bibliothèques, affichant *LIBL
        • Bibliothèques utilisateurs affichant *ALLUSR
    • Commandes iseries, permet de mémoriser et de passer des commandes.
    • Travaux iseries affiche vos travaux (très pratique pour le debug)
    • Fichiers IFS, vous affiche vos fichiers (toujours sur AS/400) hors QSYS.
    • Commandes Qshell, vous permet de passer des commandes shell sur l'AS ou sur votre poste

L'option Objets iSeries, propose de vérifier les PTF.


le produit vérifie les PTF sur le serveur, après vous être connecté.


Pour ne pas utiliser la notion de filtre et avoir une approche semblable aux options 2 et 3 de PDM utilisez la vue "TABLE Iseries" :


Choisissez Gestion puis Bibliothèques ,Objets ou Membres (clic sur le triangle tête en bas)

(ici, membres)
Tapez directement vos critères (les mêmes que PDM)

la liste vous est affichée (dans le cadre en bas à droite)

un double clic sur la barre de titre passe la fenêtre en plein écran

  (un autre double clic, la repasse en mode fenêtré)


Sur cette vue ,vous pourrez

C'est à dire filtrer (comme F17)

et vous positionner (comme "Afficher à partir de...")

Le bouton , permet de remonter d'un cran (des membres aux objets ou des objets aux bibliothèques),

un double clique sur une bibliothèque affiche son contenu (même chose pour les fichiers sources)


Ce bouton ( ) rafraîchit le fenêtre, ceux là ( ) permettent d'afficher la liste précédente ou suivante .



Les options disponibles sont les suivantes :


ainsi que VOS options personnalisées (comme F16/PDM, avec les mêmes variables de substitution)

en choisissant l'option : Interventions de l'utilisateur

 

Vous retrouverez ici toutes les variables de substitution PDM, particulièrement :

  1. &L la bibliothèque
  2. &N l'élement en cours (objet ou membre source)
  3. &F le fichier source
  4. &O la bibliothèque objets (de création)
  5. Ctrl+Espace lors d'une saisie vous affiche la liste complète


 

pour éditer un source, prenez l'option "Editer" ou bien "Ouvrir avec" qui lance l'éditeur LPEX :

il affiche une colorisation syntaxique et fonctionne (par défaut) comme SEU. [voyez Fenêtre/Préférence/LPEX editor]

les ordres admis sont I (insertion) D (suppression), C (copie), M (move) et A/B (After/Before) , etc..

, ce qui donne

 

• Pour vous déplacer, vous pouvez utiliser :

  • le déplacement curseur
  • les touches page suivante/page précédente
  • la touche Fin (fin de ligne) et Origine (début de ligne)
  • Ctrl + Fin (fin de document) / Ctrl + Origine (début de document)
  • la tabulation
    • sur un langage en format libre, cela vous décale de 10 caractères.
    • mais pour un langage colonné (SDD, RPG) la tabulation tiens compte des colonnes :





Chaque modification peut être annulée par CTRL+Z.

Le menu Edition propose (en plus des traditionnels CTRL+C / CTRL+V et CTRL+X .) :

  • Recherche et remplacement (CTRL+F)
  • Recherche multi-membres (CTRL+H)
    comme FNDSTRPDM!
  • Sélection de la totalité du source (CTRL+A)
  • Sélection avancée

recherche par CTRL+F (échap. efface cette fenêtre) :

recherche par CTRL+H (sur une bibliothèque !)

la fenêtre suivante s'affiche dans la zone de contrôle (en bas à droite)

 

 

F4 affiche l'invite,comme SEU (ici sur du RPG4)

et fonctionne aussi avec du CL, par exemple : F4 sur une commande DCL dans un CLP

si la ligne active est une spécif F, vous pouvez demander à voir la liste des zones dans une fenêtre à part


Mais vous pouvez aussi obtenir cette liste dans la fenêtre structure (complètement à droite)


Ainsi que la liste des DS, des champs, des indicateurs, des paramètres et des sous programmes

(un clic, vous transfert sur la ligne de déclaration) 

La version 6 permet l'affichage de la structure aussi pour le langage SDD

Et la version 7 , les labels et les sous programmes en CL

Ces références croisées à jour, Ctrl+Espace, permet d'obtenir l'assistant de contenu , qui vous affichera en fonction du contexte


la liste des ordres ou des fonctions (intégrées au langage ou vos propres fonctions)



ou bien la liste de vos variables

Cet assistant est vraiment très pratique pour RPG format libre, d'ailleurs le menu Source propose une conversion



Filtrer la vue n'affiche que certains types de ligne (utiliser l'option afficher tout pour annuler)

Dont contrôle (uniquement les débuts et fins de boucles)

V7 :

  • Ctrl+maj+O, dessine la structure (début et fin de boucle), dans la marge


  • Ctrl+maj+M, va à l'instruction de début ou de fin correspondante
    • sur un IF, cherche le ENDIF et positionne le curseur
    • sur un ENDDO, cherche le DO (DOU ou DOW)
    • etc...

 

Enfin, pour le debug, WDSc vous propose deux vrais PLUS

Depuis la version 6, une option très,très pratique : Entrée de service

Il s'agit de définir un nom de programme et un nom d'utilisateur. La prochaine fois que cet utilisateur lance ce programme, le debug aura lieu :

  1. Choisissez un programme (ILE uniquement) dans une liste d'objets et indiquez Déboguer (entrée de service)


  2. La vue des Entrées de service s'affiche, vous pouvez modifier les paramètres (dont l'utilisateur)



  3. Au lancement du programme par l'utilisateur indiqué, quelque soit le contexte (Interactif, JAVA/PHP, etc ...), vous êtes en debug

    ici CLI sous Zend Core(PHP) a lancé le programme.

 

Enfin, en Version 7, debug possible sur un travail en attente de message (MSGW)

  • localisez le travail en question avec l'option Travaux iSeries
  • lancez déboguer (avec invite), sans invite le debug est lancé sur le même programme que la dernière fois (??)

    Ajoutez le programme que vous voulez déboguer (celui qui est actif)

    Il faut que cela soit un ILE, compilé avec dbgview(*source)

  • le debug est lancé


    vous avez accès à :
    • la liste d'invocation, en haut à gauche
    • la liste des variables avec le contenu, en haut à droite (ici un CLLE)

 


Top


Copyright © 1995,2008 VOLUBIS