Architecture IBM i

Introduction à IBM i (notion de Gamme)




                     
Conception et historique des Minis IBM

A la base de la conception de l'AS/400 et de son système, il y avait la conception du System/38 devant remplacer le System/36. Le besoin de garder les clients du System/36 à conduit à concevoir un système pouvant faire tourner les applications System/36 sur la nouvelle machine. Le projet OS/400 mené par Franck Soltis est né. Son nom de code de l'époque : Silverlake.




75  |   3X
    |
    |   32/34
81  |              38
    |              /                        ................................
83  |   36        /                         : Minis  : Gros syst.: OS/400 :
    |      \     /      ....................:...............................
88  |        AS/400     :  modèles   B      | B10/B20 | B30-B70   : V1     :
    |                   :...................|.........|...........:........:
    |                   :          : D      | D06-D20 | D35-D80   : V2     :
    |                   :          :........|.........|...........:        :
    |                   :          : E      | E02-E25 | E35-E90   :        :
    |                   :          :........|.........|...........:        :
    |                   :          : F      | F02-F25 | F35-F97   :        :
    |                   :..........:........|.........|...........:........:
95  |                   :    Advanced       |   200   |   400     : V3R10  :
    |                   :        Series     |         |           :        :
    |                   ....................................................
96  |             :  Advanced Series  |  400    |   500     : V3R60  :
    |                   :...................|.........|...........:........:
97  |                   :  eSeries          |  600    |   620     :        :
    |                   :                   |         |   630     : V4R10  :
    |                   :.........................................:........:
99  |                   :  iSeries          |  170    |   720     :        :
    |                   :                   |  700    |   730     : V4R40  :
    |                   :.........................................:........:
2001|                   :  System i         |  270    |   8xx     : V5R10  :
    |                   :.........................................:........:
2004|  :   i5 (i5/OS)      |  520 | 550 à 595 : V5R3/R4:
    |                   :.........................................:........:

2007|  :   i5 (i5/OS)      |  515/525|  : V5R4 :
! : | (OS facturé à l'utilisateur):

    !                   :.........................................:........:
2008!                   
:   Power System    | 520/550 | 570 et + : V6R1 :
! : (IBM i ) |soft facturés à l'utilisateur :

    !                   :.........................................:........:
2010!                   
:   Power System    | 720/740 | 750 et + : IBM i :
! : (IBM i ) | | : 7.1 :

    !                   :.........................................:........: 2014!                   :   Power System    | S814/824| E870/E880 : IBM i :
! : (IBM i ) | | : 7.2 :

    !                   :.........................................:........: 2018!                   :   Power System    | S914/924| E980 : IBM i :
! : (IBM i ) | | : 7.3/7.4:

    V                   :.........................................:........:

A partir des modèles 400/500 la famille de processeur change
  (POWER-PC [technologie RISC], à 64 bits), actuellement le POWER 9
le plus puissant : 192 cœurs, 64 To de mémoire, plusieurs dizaines de Po disque.

Depuis 2001, chaque processeur accepte plusieurs partitions

Espace Adressable Unique de IBM i (OS/400)

Dès les débuts de la conception de l'AS/400 une technologie importante
avait fait son apparition: l'espace d'adressable unique (Single Level
Store). Il s'agit d'accéder aux emplacements mémoire d'un système en
confondant notamment la mémoire centrale et les disques durs. L'OS s'occupe de la répartition sur les disques considérés comme un espace de stockage indivisible .



        Espace adressable unique 
                                              .
        Chaque octet de mémoire (principale ou sur disque) possède une
        adresse. Le système AS/400 considère l'ensemble de la mémoire de
        l'ordinateur comme un seul grand espace adressable. Il ne fait pas
        la différence entre la mémoire principale et la mémoire sur disque
        lors du stockage et du traitement.



        A l'exécution si, bien sur.Mais la mémoire virtuelle règle le problème.



        Un AS/400 ne dit jamais mémoire pleine (sauf disques saturés),
         mais si vos besoins de mémoire sont trop volumineux les temps
         de réponse peuvent se dégrader.
 






   Ce graphique montre comment le système perçoit une configuration de mémoire principale et de mémoire sur disque
 comme un espace adressable
 unique et sans limites (pointeurs à 128 bits)







         _______________________________
         |         |         |         |
         | DISQUE 1| DISQUE 2| DISQUE 3|
         |         |         |         |
         |FICHIER A|FICHIER A|FICHIER A|
         |         | (suite) | (fin)   |
         |_________|_________|_________|





  Étant donné la façon dont le système gère la mémoire, il n'est pas
  nécessaire de stocker un gros fichier dans un seul espace.
  Le système le divise en plusieurs parties, qu'il stocke aux endroits
  disponibles, sur les unités de disques. Ce schéma montre comment un
  FICHIER A est stocké sur trois unités de disques différentes.

  Cette technique améliore les performances puisqu'elle permet de solliciter
   plus de disques en parallèle pour charger une information en mémoire.

 



     Le système stocke tous les fichiers d'après leur nom et utilise
      les informations contenues dans un "répertoire" pour les localiser
      physiquement. Vous ferez toujours référence à un fichier par son 
      nom. Vous n'avez pas besoin de vous préoccuper de son emplacement,
      ni de l'endroit où certaines de ses parties ont été stockées. Peu
      importe où réside un fichier, en mémoire principale ou sur disque.







     Même si le système AS/400 considère l'ensemble de la mémoire comme
      un seul espace, le programme et les données utilisées doivent
      résider en mémoire principale pour pouvoir être exécutés. La
      suite vous explique comment le système AS/400 veille à ce qu'il
      y ait toujours suffisamment d'espace pour tous les programmes.







        Mémoire virtuelle 


        La mémoire virtuelle donne l'impression de disposer d'une
        mémoire principale quasi-infinie.

        Elle supprime les contraintes imposées par une quantité fixe
        de mémoire principale.



        Dans la mémoire virtuelle de l'AS/400, un programme ou
        une zone mémoire sont automatiquement scindés en blocs
        appelés pages. 
        
(4096 octets sur les machines Power-PC).


        Une application traite de la même manière une page mémoire ou une page disque.

»Si une page a besoin d'être traitée et qu'elle est en mémoire centrale, son traitement est immédiat

»Si elle est sur disque, il y a alors émission d'un défaut de page demandant à l'OS de charger la page


 

Notion d'objet et de bibliothèque



                      ORGANISATION DES AS400.

  ORGANISATION DE L'INFORMATION                                                                        
  rappel :
  L'ENSEMBLE DES DISQUES MAGNÉTIQUE ET DE LA MÉMOIRE CENTRALE   EST CONSIDÉRÉ COMME UN TOUT APPELÉ L'ESPACE ADRESSABLE UNIQUE.

  LES INFORMATIONS SERONT PLACÉES DANS L'E.A.U C'EST LE SYSTÈME QUI   SE CHARGE DE LES REPARTIR DANS LES UNITÉS.


  CETTE ORGANISATION ENTRAÎNE POUR LE SYSTÈME DE POUVOIR RETROUVER   LES INFORMATIONS DANS L'E.A.U. DE MANIÈRE LOGIQUE ET ACCESSIBLE.
 1.1 OBJET
      


  DÉFINITION : EST APPELÉ OBJET TOUT ÉLÉMENT IDENTIFIE, CONTENANT                SA PROPRE DESCRIPTION, ET MANIPULABLE PAR LES COMMANDES                DU SYSTÈME, qui le protègent (encapsulation)
               EX: LES PROGRAMMES (type *PGM), LES FICHIERS (type *FILE)


               IL N'EST PAS POSSIBLE DE CRÉER UN NOUVEAU TYPE. 
                  La cohérence et la stabilité de l'OS/400 sont dues à cette notion d'objet.




  IDENTIFICATION : UN OBJET EST IDENTIFIE PAR 3 ÉLÉMENTS
                  - SON NOM DONNÉ PAR LE CRÉATEUR DE L'OBJET (10 C. maxi, doit commencer par une lettre)
Insensible à la casse

                  - SON TYPE EX : *FILE (POUR LES FICHIERS base de données et unités)                                   *PGM  (POUR LES PROGRAMMES)                                   *CMD  (POUR LES COMMANDES)
                                  *MSGQ (File d'attente [boite aux lettres] messages)
                                  *MSGF (Fichier messages, contient les messages prédéfinis)                                   ETC...
                    le type induit un comportement (d'où le mot "objet")
                       on ne peut pas mettre à jour un programme                         ni exécuter un fichier.
                       on ne peut pas changer le type d'un objet.

                  - SA BIBLIOTHÈQUE  DE RATTACHEMENT
Associations possibles: Même bibliothèque, même nom et types différents Bibliothèques différentes, même nom et même type Même bibliothèque, noms différents et même type


  COMPOSANTS D'1 OBJET:
       UN OBJET EST COMPOSÉ    1)- PARTIE ATTRIBUTS QUI CONTIENT LES           DE 2 PARTIES :           RENSEIGNEMENTS SUR L'OBJET c'est la partie "publique"
                                      + - SON NOM                                         - SON TYPE                                         - SA BIBLIOTHÈQUE                                          - SON TEXTE DESCRIPTIF (50 c.)                                         - DATES DE CRÉATION/ DE MODIF / DE SAUVEGARDE...                                         - CRÉATEUR et PROPRIÉTAIRE                                            etc...
                                      + - SES AUTORISATIONS La gestion des droits est toujours la même quelque soit l'objet puisque tout est objet

                               2)- LA PARTIE OBJET EN LUI-MÊME C'est la partie "privée", il faut un assesseur pour y accéder
                                    PAR EXEMPLE  POUR UN PROGRAMME,
                                     LE PROGRAMME EN LANGAGE MACHINE                                        (LE PROGRAMME compilé))

                 -------------------
                 ! Description     !  OBJET DE L'AS/400      partie
   ATTRIBUTS     !-----------------!                          visible
                 ! Autorisations   !                          (publique)
 -------------   !-----------------! --------------------------------------
                 !                 !
                 ! enregistrements !                        partie cachée
   OBJET EN      !   si *FILE      !                         spécifique à
                 !                 !                         chaque type.
   LUI-MÊME      !  instructions   !
                 !   machine,      !
                 !   si *PGM       !
                 !                 !
                 !------------------



  CRÉATION : TOUS LES OBJETS UTILISATEURS SERONT CRÉES PAR UNE              COMMANDE DE CRÉATION (CRTxxx).              C'est lors de la création que seront donnés le nom et la               bibliothèque. le type lui est indiqué par la commande.

 

La définition d'un utilisateur est un objet *USRPRF
(on enregistre les caractéristique et les droits de cet utilisateur)

la définition d'un périphérique (écran ou imprimante) aussi : Unité ou *DEVD


BIBLIOTHÈQUE ------------
    UNE BIBLIOTHÈQUE EST UNE LISTE D'OBJETS, ON POURRAIT COMPARER      UNE BIBLIOTHÈQUE AU RÉPERTOIRE DES LIVRES D'UNE BIBLIOTHÈQUE RÉELLE.
    IL RÉPERTORIE TOUS LES LIVRES DE LA BIBLIOTHÈQUE ET INDIQUE      L'ENDROIT PHYSIQUE OU SE TROUVE LES LIVRES.

    TOUT OBJET EST RATTACHÉ A UNE BIBLIOTHÈQUE ET UNE SEULE.                               ---                 ---------

les objets systèmes (utilisateurs et périphériques sont rattachés à QSYS)
pour garantir l'unicité des objets, par exemple un utilisateur sera unique.



LISTE DE BIBLIOTHÈQUES ----------------------
   CHAQUE OBJET EST RATTACHE A UNE BIBLIOTHÈQUE
   LORSQUE VOUS VOUDREZ UTILISER UN OBJET VOUS DEVREZ INDIQUER SON NOM     ET SA BIBLIOTHÈQUE.(QUALIFIER)

   LE SYSTÈME NOUS PERMET DE GÉRER SIMPLEMENT LES OBJETS, POUR     CELA NOUS ASSOCIERONS A CHAQUE TRAVAIL UNE LISTE DE BIBLIOTHÈQUES.
   CETTE LISTE DE BIBLIOTHÈQUES CONTIENDRA TOUTES LES BIBLIOTHÈQUES
    NÉCESSAIRES POUR LE TRAVAIL. LORSQUE VOUS DEMANDEREZ L'UTILISATION     D'UN OBJET VOUS N'INDIQUEREZ QUE SON NOM ET LE SYSTÈME IRA     CHERCHER DANS CHACUNE DES BIBLIOTHÈQUES L'OBJET QUE VOUS RECHERCHEZ.
   IL ARRÊTERA SA RECHERCHE DES QU'IL AURA TROUVE L'OBJET RECHERCHE.
   CETTE LISTE DE BIBLIOTHÈQUES PEUT ÊTRE MODIFIÉE A N'IMPORTE QUEL     MOMENT GRÂCE A DES COMMANDES. CHGLIBL (Change Library List) par ex.


   UN EXEMPLE: AU DÉBUT DE VOTRE TRAVAIL VOUS AVEZ LA LISTE DE BIBLIOTHÈQUES                SUIVANTE:  "BIB1 BIB2 BIB4" (le séparateur est l'espace)
               CETTE LISTE NE VOUS CONVIENT PAS IL VOUS FAUDRAIT                           "BIB3 BIB1 BIB5"
               POUR LA MODIFIER VOUS UTILISEREZ LA COMMANDE CHGLIBL
                CHGLIBL LIBL(BIB3 BIB1 BIB5)
               L'ORDRE DE DÉCLARATION  DES BIBLIOTHÈQUES DANS LA                 LISTE EST TRÈS IMPORTANTE, ELLE CONDITIONNERA                 L'ORDRE DE RECHERCHE DANS LES BIBLIOTHÈQUES.
               PRENONS L'EXEMPLE SUIVANT:
               CALL PROGA                call est une commande qui permet l'exécution d'un                     programme, PROGA étant le nom du programme.



               DANS CET EXEMPLE NOUS N'AVONS PAS INDIQUÉ LE NOM                 DE LA BIBLIOTHÈQUE. LE SYSTÈME RECHERCHERA DONC                 LE PROGRAMME DANS LES BIBLIOTHÈQUES DE *LIBL                 (en commençant par la première de la liste, ici BIB3)

           BIB3                      BIB1                      BIB5   ......................   .......................   ......................   :         !          :   :          !          :   :          !         : --->PROGA   ! FICHF    :   : PROGZ    ! PROGD    :   : PROGG    ! FICHL   : ! :         !          :   :          !          :   :          !         : ! :--------------------:   :---------------------:   :------------------ -: ! :         !          :   :          !          :   :          !         : ! : PROGF   ! FICHK    :   : PROGA    ! FICHI    :   : FICHA    ! FICHO   : ! :         !          :   :          !          :   :          !         : ! :....................:   :.....................:   :....................: ! !-------------------> Programme sélectionné




         MAINTENANT SI J'EXÉCUTE LES COMMANDES SUIVANTES
               CHGLIBL LIBL(BIB1 BIB3 BIB5)                CALL PROGA
               PROGA de BIB1 sera sélectionné
   D'AUTRES COMMANDES NOUS PERMETTENT DE MODIFIER LA LISTE DE BIBLIOTHÈQUES
          - ADDLIBLE (permet d'ajouter une bibliothèque à la liste)
              PRENONS LA LISTE SUIVANTE: BIB3 BIB1 BIB5                SI J'EXÉCUTE LA COMMANDE  ADDLIBLE BIB2               NOTRE LISTE DEVIENDRA :    BIB2 BIB3 BIB1 BIB5
          - RMVLIBLE (permet d'enlever une bibliothèque de la liste)
              SI J'EXECUTE LA COMMANDE  RMVLIBLE BIB1               NOTRE LISTE DEVIENDRA :    BIB2 BIB3 BIB5
          - EDTLIBL (modification de la liste à l'écran)

Quelques exemples

Bibliothèque manquante

 

on l'ajoute

 

EDTLIBL

 

le progamme est trouvé !


RÈGLES
------

  - TOUT TRAVAIL DOIT DISPOSER D'UNE LISTE DE BIBLIOTHÈQUES
  - ELLE EST REMPLAÇABLE A TOUT MOMENT
                 CHGLIBL, ADDLIBLE, RMVLIBLE
  - 25 BIBLIOTHÈQUES AU MAXIMUM DANS LA LISTE (250 en V5)

  - ELLE EST SYMBOLISÉE PAR LE MOT RÉSERVÉ *LIBL 
  - IL NE PEUT EXISTER DEUX OBJETS DE MÊME NOM ET DE MÊME TYPE,
    RATTACHES A UNE MÊME BIBLIOTHÈQUE.
   - TOUT OBJET DOIT ÊTRE SUPPRIMÉ DE LA BIBLIOTHÈQUE. AVANT DE POUVOIR      ÊTRE RÉCRÉÉ
   - IL SERA SUPPRIMÉ PAR UNE COMMANDE DLTxxx            (xxx étant le type de l'objet et DLT étant définitif)


  Structure d'origine de l'Espace Adressable Unique    - QSYS est le point d'entrée (c'est aussi la bibliothèque système)    - Certains objets ne peuvent être attachés qu'à QSYS (profil,unité)    - Seul QDOC (qui est une "extension" à l'EAU) supporte les arborescences.  ................................QSYS.....................................  :                              /   \ \ _ ______________                 :  :                            /      \   \             |-QSECOFR (root)  :  :                          /          \    \          |-DSP01 (console) :  :                        /              \    \                          :  :                   QDOC(DLS)         COMPTA   \- PAIE                  :  :                   /   \                |           |                  :  :                 /       \              |-fic1      |-fic11            :  :            dossier1    QIWSFLR         |           |                  :  :             /  \            \          |-fic2      |-fic12            :  :           /      \           \         |                              :  :         /          \        PCSADM.EXE |-pgm1                         :  :    sous-dossiera   document1                                          :  :    /   \                                                              :  :   /      \                                                            :  : doca1.doc doca2.doc                                                   :  :.......................................................................:

 V3R10 : Structure IFS.         "root"
 ................................ / ......................................
 :          -------------------/ /| \------------------\                 :
 :        /      /           /  / |   \home             \                :
 :      /      /            /  |  |                      \QNT & QNTC     :
 :     /    QOpensys       /   | QSYS.lib _____________                  :
 :    /    (UNIX "like")  /    |    \    \             |                 :
 : madir      /          /     |     \     \           |-QSECOFR.USRPRF  :
 :   |       /  \       /    QOPT      \     \         |-DSP01.DEVD      :
 :   |      /   user   /      /\         \     \___                      :
 :   /     bin       QDLS       \      COMPTA.lib  PAIE.lib              :
 :  / \              /   \    (Cd-Rom)    |           |                  :
 : /   \           /       \              |-fic1.FILE |fic11.FILE        :
 :dir1  \     dossier1    QIWSFLR         |           |                  :
 :     dir2    /  \            \          |-fic2.FILE |fic12.FILE        :
 :           /      \           \         |      ######################  :
 :         /          \        PCSADM.EXE |-pgm1 #                    #  :
 :    sous-dossiera   document1                  # la branche QSYS    #  :
 :    /   \                                      #  est inchangée     #  :
 :   /      \                                    # (non arborescente) #  :
 : doca1.doc doca2.doc                           ######################  :
 :.......................................................................:



 Chaque répertoire principal définit un système de fichier
  - structure simple (/home, /madir) plutôt destinée aux clients Windows et au WEB

  - structure OS/400 (/QSYS.LIB)
  - structure dossiers partagés (/QDLS) compatible DOS
  - structure compatible POSIX, "Unix". (QOpensys)
  - fichiers distribués (NFS possible et NETBIOS avec /QNTC.)
+ Chaque système de fichier à ses particularités (attributs), ses limites (par exemple 10c. pour QSYS)
+ il est possible de créer un lien (un raccourci),    pour un fichier ou un répertoire existant dans un autre répertoire.
  le fichier n'est pas dupliqué, il est référencé deux fois.
 Il existe deux types de lien :
    1/ lien fixe (adresse) (QOpenSys uniquement)     2/ lien symbolique (fichier contenant le chemin en clair)


  Chaque profil se voit attribuer un répertoire initial (HOMEDIR)
    (Normalement /home/nom-du-profil)
  Chaque travail possède un répertoire en cours (CURDIR)
    par défaut le répertoire "home/profil"
    modifiable par CHGCURDIR ou CD comme sous DOS !!!
     le chemin peut être indiqué relativement au répertoire en cours.
     -> dir1/fichier.doc  (on utilise le "/")
     ou sous forme de chemin absolu à partir de la racine      ->  /dir1/fichier.doc
  la commande WRKLNK donne accès à l'arborescence complète ainsi que le       produit "Operation navigator" livré sur le Cd de Client Access.


un Editeur de fichier stream (ou fichier à plat) est livré depuis la V4R40 : EDTF

ici, la commande WRKLNK montre la racine (/)

 

le nouvel émulateur (IBMi Access Client Solution) propose un accès à l'IFS (menu ACTION)




ainsi que Navigator for I (un accès graphique via un navigateur sur le port 2001)

 


Il nous faut enfin regarder un outils orienté développeurs : PDM (cde STRPDM / STRAMT)



                                                                                                      P.D.M / A M T                                                                                                                                                                                                                                                                                                                      AIDE AU DÉVELOPPEMENT                                  

                       Permet d'avoir une liste de bibliothèques                                                              d'objets d'une bibliothèque                                                   de membres d'un fichier                                                                                                                   de définir des options utilisateur                                                                                           
                                                                                                                                                              


 si nous représentons le système de stockage OS/400 sous forme arborescente:
            --------------------------- 1ère option de PDM    +        !    !        !                              - Liste des bibliothèques     !-+QSYS  V         !         ----------------------2 ème option de PDM         !         !         +--BIB1   v                        - Liste des objets          !   !                                      [d'une bibliothèque]         !   !--objet11         !   !         !   !--objet12         !   !          ---------------  3 ème option de PDM         !   !--QCLSRC  !         !       !      v                   - Liste des membres          !       !--membre1                         [d'un fichier source]         !       !--membre2         !         +--BIB2              !-----objet21

                 Gestionnaire de développement - PDM AS/400                     

 Choisissez l'une des options suivantes :                                       
      1. Gestion des bibliothèques                                                     2. Gestion des objets       3. Gestion des membres                                                    
      9. Gestion des options définies par l'utilisateur  




 Option ou commande                                                               ===> 1                                                                                  F3=Exit       F4=Invite       F9=Rappel          F10=Entrée de commandes         F12=Annuler   F18=Modifier valeurs par défaut                                  

                        PDM - Gestion des bibliothèques                         

 Type de liste  . . . . .   *LIBL        (La liste affichée est la liste des                                           bibliothèques composant *LIBL)   Indiquez vos options, puis appuyez sur ENTRÉE.    2=Modifier               3=Copier         5=Afficher       7=Rebaptiser    8=Afficher description   9=Sauvegarder   10=Restaurer     12=Gérer ...                                                                                   Opt  Biblio      Type       Texte                                                    QSYS        *PROD-SYS  Bibliothèque système                                      QHLPSYS     *PROD-SYS  Bibliothèque d'aide                                       QUSRSYS     *PROD-SYS  Objets utilisateurs                                       QPDA        *PROD-PRD  Aide au développement                                     STAG99      *PROD-CUR  Bibliothèque stagiaire 99                                 SOURCE      *PROD-USR  Sources                                                   OUTIL       *PROD-USR  Bibliothèque outils stagiaires                            AF400       *PROD-USR  AF400                                                                                                                  A suivre...   Paramètres ou commande                                                           ===>                                                                             F3=Exit     F4=Invite                  F5=Réafficher        F6=Ajouter à liste   F9=Rappel   F10=Entrée de commandes    F23=Autres options   F24=Autres touches 

                 Gestionnaire de développement - PDM AS/400                     

 Choisissez l'une des options suivantes :                                       
      1. Gestion des bibliothèques                                                     2. Gestion des objets       3. Gestion des membres                                                    
      9. Gestion des options définies par l'utilisateur  





 Option ou commande                                                               ===> 2                                                                                  F3=Exit       F4=Invite       F9=Rappel          F10=Entrée de commandes         F12=Annuler   F18=Modifier valeurs par défaut                                  

                               Sélection d'objets
 
 Indiquez vos choix, puis appuyez sur ENTREE.                                   

   Bibliothèque . . . . . . . .   STAG99       *CURLIB, nom                   
   Objet :                   Nom  . . . . . . . . . . .   *all         *ALL, nom, *générique*               Type . . . . . . . . . . .   *FILE        *ALL, *type                          Attribut . . . . . . . . .   *ALL         *ALL, attribut, *générique*,                                                 *BLANK                       







 F3=Exit     F5=Réafficher     F12=Annuler                                   

                             PDM - Gestion des objets
  
 Bibliothèque  . .   STAG99           Afficher à partir de  . . .              
                                      Afficher à partir du type                

 Indiquez vos options, puis appuyez sur ENTREE.    2=Modifier      3=Copier    4=Supprimer      5=Afficher     7=Rebaptiser    8=Afficher description      9=Sauvegarder   10=Restaurer   11=Déplacer ...    Opt  Objet       Type        Attribut    Texte                                        CMLIEN      *FILE       PF-DTA      Liens de nomenclature                        CMLIENL     *FILE       LF          Liens (logique joint)                        CMLIENLS    *FILE       LF          Liens (logique joint avec select)            DFUPAI      *FILE       DFU         maj des paramètres de paie                   DFUPARAM    *FILE       DFU         maj du fichier entreprise                    DFUPERSO    *FILE       DFU         MAJ DU FICHIER PERSONNEL                     DGCLIENT    *FILE       PF-DTA      fichier client                                                                                             A suivre...   Paramètres ou commande                                                          ===>                                                                             F3=Exit     F4=Invite                 F5=Réafficher        F6=Créer  F9=Rappel   F10=Entrée de commandes   F23=Autres options   F24=Autres touches

                 Gestionnaire de développement - PDM AS/400                     

 Choisissez l'une des options suivantes :                                       
      1. Gestion des bibliothèques                                                     2. Gestion des objets       3. Gestion des membres                                                    
      9. Gestion des options définies par l'utilisateur  




 Option ou commande                                                               ===> 3                                                                                  F3=Exit       F4=Invite       F9=Rappel          F10=Entrée de commandes         F12=Annuler   F18=Modifier valeurs par défaut                                  

                            Sélection des membres                              

 Indiquez vos choix, puis appuyez sur ENTREE.      Fichier . . . . . . . . .   QRPGSRC      Nom                                
     Bibliothèque  . . . . .   STAG99       *LIBL, *CURLIB, nom                
   Membre :                 Nom . . . . . . . . . .   *ALL         *ALL, nom, *générique*                    Type  . . . . . . . . .   *ALL         *ALL, type, *générique*, *BLANK  




 F3=Exit     F5=Réafficher     F12=Annuler

                            PDM - Gestion des membres                           

 Fichier . . . . .   QRPGSRC        Bibliothèque  .   STAG99                 Afficher à partir de .              
 Indiquez vos options, puis appuyez sur ENTREE.                                    2=Réviser      3=Copier     4=Supprimer  5=Afficher      6=Imprimer              7=Rebaptiser   8=Afficher description    9=Sauvegarder  13=Modifier texte ...                                                (et aussi 14=Compiler)                                   Opt  Membre      Type        Texte                                                    CALEN       RPG         Calendrier       CMPAIEGAP   RPG38       Tp gap édition d'un bulletin de paie       CMRPG01     RPG         Liste des stagiaires (interne)       CMSQL01     SQLRPG      Interro produits       CMSQL02     SQLRPG      Aff produit par fam/sfam       CMSQL03     SQLRPG      Essai préparé       CMSQL04     SQLRPG      exemple requête sql / rpg interro paramètrée.                                                                     A suivre...   Paramètres ou commande                                                          ===>                                                                             F3=Exit     F4=Invite                  F5=Réafficher         F6=Créer           F9=Rappel   F10=Entrée de commandes    F23=Autres options    F24=Autres touches

Un autre produit est proposé en remplacement de PDM : RDi:



A gauche la navigation dans les membres sources A droite l'éditeur de source : LPEX

Les commandes (syntaxe)




                          LES COMMANDES
  LES COMMANDES SONT DES ORDRES DONNES AU SYSTEME POUR L'EXECUTION   DE CERTAINES TACHES.
  IL EXISTE ENVIRON 1500 COMMANDES SUR L'AS, ELLES SONT TOUTES CONCUES    DE LA MEME FACON.
 1 SYNTAXE
  UNE COMMANDE EST COMPOSEE DE 2 PARTIES PRINCIPALES.
  L'action à exécuter  +  les paramètres de la commande
        VERBE          +          MOTS-CLES
  Les commandes permettent en particulier de manipuler les objets Si les paramètres sont nommés alors l'ordre n'a pas d'importance Indiquer entre '' les caractères spéciaux ou les espaces
  ===> à l'aide de la commande on indiquera l'action à effectuer        et grâce aux paramètres le nom de l'objet que l'on veut manipuler.

 1 SYNTAXE (suite)

  Pour séparer la commande du 1er mot clé et chacun des mots-clés   on utilise le caractère blanc.
  Si l'on veut qualifier un objet par le nom de sa bibliothèque   de rattachement on indiquera  BIBLIOTHEQUE/OBJET
  Le nom de la commande est composé généralement d'un verbe (l'action)   sur 3 lettres et du type de l'objet que l'on veut manipuler.
        Exemple de verbes commençant les commandes
            CRT     create (créer un objet)
            DLT     delete (supprimer un objet)
            CHG     change (changer un objet)
            ADD     add    (ajouter une partie à un objet)
            RMV     remove (enlever une partie à un objet)  etc...

 1 SYNTAXE (suite)

     Si je veux créer un utilisateur j'utiliserai la commande
            CRTUSRPRF        USRPRF(nom de l'utilisateur)               !                      !               !          ------------------------------------               !           Paramètre de la commande indiquant               !           le nom de l'utilisateur à créer         -------------         CReaTe         USeR PRoFile
     Si je veux supprimer un programme j'utiliserai la commande
            DLTPGM         PGM(bibliothèque/nom du programme)               !                      !               !          ------------------------------------               !           Paramètre de la commande indiquant               !           le nom du fichier à supprimer         -------------         DeLeTe ProGraM

 L'écran de commandes nous permet de demander l'exécution des commandes :

 cet écran est appelé par  CALL QCMD  (c'est un peu command.com sur AS)

Sur cet écran nous allons pouvoir demander l'exécution d'une commande ,

par exemple la création d'un nouvel utilisateur

En dessous de la commande que vous avez frappé apparaissent des  
 
   messages indiquant le résultat de la demande d'exécution de la commande.
                                                            

   Il est très important de lire ces messages pour savoir si la commande a été exécutée 
avec succès ou non, et si non, connaître 
les raisons de cet insuccès. 

 

Il est possible que le message ainsi affiché ne soit pas très clair
  ou alors qu'il soit incomplet. Vous pouvez demander un complément
  d'information sur le message en positionnant le curseur sur le
  message désiré et en appuyant sur la touche AIDE (F1).

  C'est ce que nous allons faire en nous positionnant sur le message   
"Le profil utilisateur existe déja".



Le message apparaît dans la langue de l'utilisateur (sauf les messages d'erreur réseau)

C'est le code d'erreur ( ici CPF2214) qui permettra une recherche sur internet

 

Si vous n'avez plus en mémoire les différents paramètres ou si vous souhaitez de l'aide quant aux valeurs pour un paramètre, demandez l'invite (ou Guide opérateur) en appuyant sur F4.



Sur cet écran d'invite, remarquons :
 les champs obligatoires en Haute intensité 
 les champs facultatifs en intensité simple (avec une valeur par défaut).

 les touches de fonction :
     F1     qui vous affiche l'aide en fonction de la position curseur.
     F3/F12 pour annuler la commande
     F10    affiche des paramètres de moindre importance             (par défaut on vous affiche les principaux paramètres)
     F11   affiche en alternance :  - un extrait des val. possibles à droite                                     - le nom de chaque paramètre à gauche
     F13   vous explique en détail tout cela et plus encore.

Principaux verbes des commandes CL



      ADD    ajouter                RMV    enlever
      APY    appliquer
      CFG    configurer
      CHG    modifier
      CHK    vérifier
      CLR    mettre à blanc
      CPY    copier
      CRT    créer                  DLT    supprimer
      CVT    convertir
      DCL    déclarer
      DSP    afficher
      DUP    dupliquer
      EDT    réviser
      GRT    accorder               RVK    révoquer
      HLD    suspendre              RLS    libérer
      INZ    initialiser
      MOV    déplacer
      OPN    ouvrir                 CLO    fermer
      OVR    substituer
      RNM    rebaptiser
      SAV    sauvegarder            RST    restaurer
      SBM    soumettre       SND    envoyer                RCV    recevoir       STR    démarrer               END    arrêter       WRK    gérer

Sujets :
      CFG    configuration          SQL    commandes SQL
      CMD    commande               SRV    maintenance
      CTL    contrôleur             SYS    système
      DBF    fichier B de D.        USR    utilisateur
      DEV    unité                  WS     Poste de travail
      DKT    disquette              WTR    éditeur
      JOB    travail(JOBD, JOBQ)
      LIB    bibliothèque           ... etc ...
      LIN    ligne(LIND)
      LOG    historique
      OUT    sortie(OUTQ)
      SAV    sauvegarde(SAVF)
      SBS    sous-système(SBSD)
      SPL    Spool(SPLF)




Commandes importantes

    Commande   !  libellé                                 ! cde inverse    
      ADDLIBLE ! ajouter bibliothèque à *LIBL             !  RMVLIBLE
      EDTLIBL  ! réviser *LIBL                            !
               !                                          !
      CRTLIB   ! créer une bibliothèque                   !  DLTLIB
      SAVLIB   ! sauvegarder                              !  RSTLIB
               !                                          !
      WRKOBJ   ! obtenir une liste d'objet à gérer        !

WRKOBJ *LIBL/DRH*          ==> tous les objets commençant par DRH dans la liste de bibliothèques

WRKOBJ *ALL/DRH*           ==> tous les objets commençant par DRH dans toutes les bibliothèques

WRKOBJ PAIE/DRH* *PGM ==> tous les programmes commençant par DRH dans la bibliothèque PAIE

WRKOBJ PAIE/*ALL             ==> tous les objets de la bibliothèque PAIE

      WRKLIB   !   "      "    "   de bibliotheques       !
      WRKF     !   "      "    "   de fichiers            !
      WRKLNK   ! gérer les liens des fichiers IFS (stream)!
               !                                          !
      CALL     ! lancer un programme                      !
               !                                          !
      GO       ! lancer un menu (GO ASSIST par ex.)       !
               !                                          !
      SNDMSG   ! envoyer un message                       !
               ! (non défini dans un fichier message)     !
      WRKMSG   ! gérer ses messages (dans une MSGQ)       !
  CHGMSGQ  ! modifier la réception des messages !
    ! DLVRY(*BREAK ou *HOLD) !



Commandes opérateur (nous en verrons le sens plus loin)
    Commande   !  libellé                                 !                 !                                          !     Travaux    !                                          !                !                                          !      WRKUSRJOB ! gérer les travaux d'un utilisateur       !      WRKJOBQ   ! gérer les travaux en attente             !      WRKSBS    ! gérer les sous systèmes actifs           !      WRKACTJOB ! gérer les travaux actifs                 !                !                                          !     Spools     !                                          !                !                                          !       WRKSPLF  ! gérer les états d'un utilisateur         !       WRKOUTQ  ! gérer les files d'attentes imprimantes   !                !                                          !     Editeurs   !         !                !                                          !       WRKWTR   ! gérer les éditeurs d'imprimantes         !                !                                          !

Les différents systèmes d'aide IBM i




Il existe différents moyens de se faire aider sur AS/400.
1/ utiliser la touche aide (souvent fonction de la position curseur)
2/ utiliser les menus (GO xxxxxx)
   il existe des menus CMDxxx où xxx représente le verbe d'une commande                        CMDADD,CMDCRT,CMDDLT,...
      tous ces menus sont répertoriés dans le menu VERB
   puis des menus CMDzzz où zzz représente un sujet                        CMDOBJ,CMDLIB,CMDPGM,...
      tous ces menus sont répertoriés dans le menu SUBJECT
   Les menus VERB,SUBJECT, et des menus thématiques sont répertoriés     dans MAJOR (c'est le menu qui vous sera affiché si vous faites F4     sur une ligne de commande vierge)



A NOTER : la commande GO accepte les noms génériques           la commande SLTCMD accepte les noms génériques
          Depuis la V2R30 vous pouvez saisir directement un nom générique

Deux menus sont très pratiques pour obtenir des renseignements
     1/ GO INFO
     1. Recherche d'informations      2. Commentaires
    10. Nouveautés
    20. Démarrage d'InfoSeeker (BookManager)     21. Formation en ligne

Malheureusement ce menu a été vidé de son sens depuis la V4 qui livre     la documentation sur CD PC ou directement en ligne aux sites suivants:


 Sites Web IBM   
 Annonces et nouveautés     : http://www-03.ibm.com/systems/power/software/i/
  Knowledge center          : https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzahg/welcome.htm                                                               
 Redbooks                   : http://www.redbooks.ibm.com
 Correctifs (fixCentral) : https://www-945.ibm.com/support/fixcentral/

ET peut être aussi : http://www.volubis.fr



     2/ GO ASSIST
Orienté utilisateurs         et les menus d'ASSISTANT/400
    Depuis la V2R10 intégré dans l'OS/400, utilisé par beaucoup de commandes     WRK...,l'écran est fonction du niveau de l'utilisateur.


       Pour chaque utilisateur (profil),         le paramètre ASTLVL définit le niveau d'assistance souhaité         (modifiable par F21, option par option) :
                               *BASIC      (débutant => écrans assistant)                                *INTERMED   (initié   => écrans système,                                             touches de cdes affichées)                                *ADVANCED   (expérimenté => idem initié                                             mais "plein écran")



           ASSISTANT/400 :
           Les commandes utilisant le niveau d'assistance sont:
               + WRKCFGSTS Gestion état de la configuration                + WRKMSG    Gestion des messages                + WRKUSRJOB Gestion des travaux                + WRKUSRPRF Gestion des profils                + WRKSPLF   Gestion des spoules                + WRKWTR    Gestion des éditeurs
           Les principaux menus sont
               + SETUP     Définition du système                + ASSIST    Taches courantes d'un utilisateur ou d'un op
               + DEVICESTS Gestion des unités                + BACKUP    Tâches de sauvegarde                + POWER     Mise hors/sous tension du système                + CLEANUP   Tâches de ménage



Si vous souhaitez des informations 
(y compris lorsque vous êtes
 "entrée verrouillée") utilisez l'appel système
(touche MAJ + "Syst" [la même que ATTN mais en majuscule].)
  1: session alternée = TFRSECJOB   2: annulation de la dernière demande = ENDRQS   3: infos sur le travail en cours = DSPJOB(10 = historique du travail)   4: affichage de vos messages = DSPMSG   5: envoi de messages = SNDMSG   6: messages de l'opérateur = DSPMSG QSYSOPR   7: affichage de l'utilisateur = DSPWSUSR

 80: pause = DSCJOB
 90: arrêt du travail = SIGNOFF

 

TRAVAUX


gestion des travaux




                          GESTION DES TRAVAUX                           -------------------

INTRODUCTION ------------
   L'AS/400 distingue 4 types principaux de jobs
   - Job interactif, commence quand un utilisateur se signe sur un écran,      se termine lorsque l'utilisateur se désigne (SIGNOFF).
   - Job batch, commence quand le travail est sélectionné d'une job queue
   - Fonction spools (Editeur)
   - Jobs à démarrage automatique (services) utilisé pour exécuter des travaux      répétitifs ou des travaux d'initialisation. Ils sont associés à des      sous-systèmes, à chaque démarrage du sous-système le job s'exécutera.



   Tous les jobs s'exécutent dans un environnement appelé sous-système.
   Un groupe de jobs avec des caractéristiques communes peut être    contrôlé indépendamment des autres jobs, si ces jobs sont placés    dans un même sous-système. Ces sous-systèmes peuvent être aisément    démarrés ou arrêtés, pour des besoins d'exploitation.
   Un sous-système appelé le sous-système de contrôle est automatiquement    démarré quand l'OS est démarré.    (normalement les jobs de la console sont initialisés dedans)
   Un travail ne peut s'exécuter dans un sous-système que si celui-ci est    démarré.
   les travaux interactifs s'exécutent souvent dans QINTER,les batchs dans QBATCH,
 les travaux de télécommunication dans QCMN, les serveurs WEB dans QHTTPSVR
   les travaux pour dialoguer avec les PCs dans QSERVER et les démons IP dans QSYSWRK.
   Les fonctions spool (éditeur) sont initialisées dans un sous-système particulier (QSPL)



 D'où viennent les paramètres d'un JOB
 1/ certains viennent des valeurs système
    paramètre unique sur une machine comme la date, l'heure, le N° de série
 2/ le profil utilisateur (DSPUSRPRF) référence une JOBD à utiliser indiquant :
       - les priorités en file d'attente OUTQ et JOBQ        - les files d'attentes et imprimantes par défaut        - la liste de bibliothèque (*LIBL)        - et autres paramètres ...(DSPJOBD pour les voir)
 3/ le sous système lui, indique une classe (objet *CLS) qui précise
       - priorité machine        - temps maximum de prétention à la CPU
    dans le cadre du multi-tâche préemptif.
pour voir les paramètres d'un travail, DSPJOB :

1 : affiche l'état du travail (utilisateur, sous système, date d'entrée)
2 : affiche les attributs de définition, donnés par la JOBD, dont son nom
3 : affiche les attributs d'exécution donnés par la classe

10 : affiche l'historique des commandes passées et les messages associés (DSPJOBLOG)


      Les jobs sont placés dans une job queue par           la commande suivante:

          - SBMJOB
            pour changer certains paramètres ou changer de JOBQ: CHGJOB
      paramètres importants :
           SBMJOB
                  CMD(la commande à soumettre)
                  JOB(le nom du job, mettez un nom qui VOUS parle)
                  JOBD(avec quelle JOBD)
                  JOBQ(dans quelle JOBQ)


Initialisation d'un Travail
---------------------------


JOBD UTILISEE POUR UN TRAVAIL -----------------------------
   La JOBD pour un travail interactif est spécifiée dans le profil     utilisateur (le plus souvent). Pour un travail batch la jobd est     la même que le travail interactif qui soumet.
   Les attributs du travail spécifiés dans la JOBD peuvent être    substitués quand le job est placé dans la JOBQ par la commande SBMJOB.
   Des attributs peuvent être aussi changés lors de l'exécution du travail    grâce à la commande CHGJOB.


   Commande de création de la JOBD.    -------------------------------
   CRTJOBD    (aussi CHGJOBD et CHGJOB pour un job actif)




 Une JOBD permet d'initialiser mes paramètres suivants :
- Liste de bibiothèques (*LIBL)

 - priorités (en entrée[JOBQ], et en sortie[OUTQ].)
 - JOBQ à utiliser par défaut (si ce JOB soumet d'autres jobs)
 - niveau d'historique (plus ou moins complet)
 - texte de pied de page sur les états
 - imprimante et file d'attente à utiliser pour les impressions

   par défaut la file d'attente est celle associée à l'imprimante, et     l'imprimante peut être associée au profil (fonction de la personne)     ou (par défaut) à l'écran.(fonction de l'endroit où ce trouve                                 cette personne)



 La planification des travaux :
  Elle peut s'effectuer de deux manières
       1/ occasionnelle > paramètres SCDDATE et SCDTIME de la cde SBMJOB.
          le travail est soumis "holdé" et sera libéré à la date et            heure indiquée.

       2/ régulière     >  commande WRKJOBSCDE.
          les références sont enregistrées dans un fichier et le            système soumettra à la date(ou fréquence) et heure indiquées
          Les références seront conservées dans le fichier pour la            prochaine soumission.
         Une fois le job terminé le poste du fichier de planification           est mis à jour (date de dernière exécution,..)

Quelques commandes utiles.
--------------------------

 retrouver les jobs d'un utilisateur :
  WRKUSRJOB  USER    *                      un-nom                      *ALL
             STATUS  *ALL                      *JOBQ                      *ACTIVE                      *OUTQ
             JOBTYPE *ALL                      *INTERACT                      *BATCH


 retrouver les jobs d'un sous système
  WRKSBSJOB
(WRKSBS donne la liste des sous systèmes actifs)

 retrouver TOUS les jobs actifs
  WRKACTJOB
(F16 pour trier suivant une colonne précise)

 Voir les JOBQs (et leur attachement sous-système)
  WRKJOBQ

 voir les jobs en attente dans une JOBQ
  WRKJOBQ un-nom


ARRET ET DEMARRAGE DES SOUS SYSTEMES ------------------------------------

   STRSBS start sub-system
   ENDSBS end sub-system

   ou
   ENDSYS (= ENDSBS *ALL )

ARRET DU SYSTEME ----------------

   PWRDWNSYS   power down system


Navigator for I

 

Il s'agit de la nouvelle interface graphique orientée WEB (sur le port 2001, vous serez redirigé)

On peut raisonnablement penser que la plupart (sinon toutes) les commandes de paramétrage de l'OS pourrons se faire par le biais de ce produit.
Déja, certaines actions ne sont disponible QUE sous Navigator.

 

Les actions proposées sont les suivantes :

vous pourrez

  1. voir vos messages, les détruire
  2. répondre aux questions
  3. envoyer des messages

Pour envoyer, Menu Action

Choisissez vos utilisateurs par survol

Les boutons survol proposent toujours une liste, suivant le contexte.

ICI, liste des utilisateurs ou liste des terminaux (écrans).

 

Nous pouvons modifier les critères de sélection, par Action/inclusion :

 



les actions possibles sont (entre autre) :

  1. Voir les spools produits par ce travail
  2. voir l'historique de ce travail
  3. Détails, voir les pgms actifs, les fichiers ouverts , ....
  4. Répondre aux messages
  5. Suspendre et libérer le JOB
  6. Déplacer (s'il est en JOBQ)
  7. et voir/gérer les paramètres de ce travail (Propriétés)

 


Vous avez aussi

  • La gestion des travaux actifs:


    affiche l'équivalent de la commande WRKACTJOB
  • La liste des sous-systèmes actifs
  • La liste des JOBQ
  • La liste des OUTQ

gestion des spools



                       TRAVAUX SPOOLS EN SORTIE

 LA FONCTION SPOOL PERMET :
         - Le dialogue avec les unités lentes
         - Le partage des unités non partageables

                  (ex: imprimante )
         - La dissociation du traitement des sorties et les sorties réelles
         - Elle s'exécute dans le sous-système spool (QSPL en standard)
         - Les travaux seront soumis par la commande STRxxxWTR. (PRT ou RMT)




 DISSOCIATION DU TRAITEMENT DES SORTIES ET LES SORTIES REELLES
                                                                                
 Cette dissociation se fera grâce:

                 - à l'interception des ordres d'écriture vers l'imprimante
                 - à l'écriture réelle vers les supports externes
 LES OUTILS DE CETTE DISSOCIATION
 Le fichier spool
  Lors de la demande de l'impression par un JOB les lignes d'édition   seront non pas envoyées à l'imprimante mais interceptées par la fonction   spool qui les enverra dans un membre d'un fichier spool.
  Chaque membre d'un fichier spool est identifié par le nom du fichier   d'impression qui a permis la création de ce membre spool et par   des informations sur le travail qui a permis la création de ce   membre spool.


 La file d'attente de sortie (OUTQ)
    Chaque membre d'un fichier spool est référencé ("placé") dans     une file d'attente de sortie (Output queue).
    Cette file d'attente de sortie peut être considérée comme     une "imprimante logique".
    Elle contiendra les membres spools qui lui ont été rattachés.     Il peut exister plusieurs OUTQ dans notre E.A.U..
 Le fichier d'impression(PRTF).
    Interface externe entre le programme (ou la commande) produisant     un état à imprimer et l'unité d'impression.
    Devra être créé avant son utilisation
    Contient les informations caractérisant l'état à imprimer           Nombre de lignes - nombre de caractères par ligne           file d'attente de sortie -  densité etc....


    Les paramètres importants d'un PRTF (modèle de spool)

        FORMSIZE  66       nombre de lignes par page                   132      nombre de caractères par ligne
        LPI       6        nombre de lignes au pouce (Line Per Inch)         CPI       10       nombre de caractères au pouce (Character Per Inch)
        OUTQ      *JOB     File d'attente où sera placé le fichier spool                    ou      *JOB celle associée au travail.                nom d'outq
        HOLD      *NO      état du fichier spool dans la file d'attente                    ou      
*YES *YES le fichier spool sera retenu
                        *NO  le fichier est dans l'état prêt
        SAVE      *NO      Conserver ou non le fichier spool dans                    ou      l'OUTQ une fois édité                   *YES


 Le fonctionnement se déroule en 2 étapes :

   1 INTERCEPTION DES ORDRES D'ECRITURE.        __________________________________          ____________        !                                !          !paramètres! FICHIER        !                                !     !--> ! CPI=     ! IMPRIMANTE        !     _________________          !     !  ! ! LPI=     !        !     !               !          !     !  ! !  .....   !        !     ! OPEN FICIMP --!----------------!  ! !__________!        !     ! ___________   !          !        !        !     ! ___________   !          !        ! ____________        !     ! ___________   !          !        ! ! ref  adr ! OUTQ        !     ! WRITE --------!----------------!  !>!SP01  xxxx!------------        !     !_______________!          !     !    !          !           !        !                                !     !    !          !           !        !                                !     !    !__________!           !        !________________________________!     v                           !                                              _________                    !                                             <_________>  FICHIER <--------!                                             ! ligne1  !  SPOOL                                             ! ligne2  !                                             !_________!



    a) A l'ouverture du fichier le système récupère dans le fichier        d'impression les caractéristiques du fichier.
                 - caractéristiques de l'état                  - nom de la file d'attente de sortie                  - paramètres du spool
    b) Il crée un membre dans un fichier spool avec ces caractéristiques        (l'OUTQ étant celle indiquée par le fichier d'impression).
    c) Les écritures viennent se placer dans le membre du fichier spool

 2 EDITION REELLE (1er cas, imprimante connectée à l'AS/400) 

  
  - A un instant donné on relie une file d'attente de sortie       à une unité physique (imprimante).

   Tous les fichiers prêts à être édités de cette file d'attente      seront édités sur l'unité physique considérée.

  • Une file d'attente ne peut à un instant donné        alimenter qu'une seule unité physique.

  • La liaison (OUTQ - IMPRIMANTE) se fait grâce

       à une commande STRPRTWTR 

  • Il est possible de sélectionner le TYPE de papier
        (listing, 80 colonnes, doubles exemplaires,...)        seuls les états du type indiqué seront imprimés.

Sans paramètre, l'éditeur imprime tous les Types, avec gestion par message quand celui-ci change.


 


   2 EDITION REELLE (2éme possibilité, serveur d'impression)
     - A un instant donné on relie une file d'attente de sortie        à un serveur d'impression éloigné

       Ce serveur peut être un autre AS/400, un serveur d'impression NT/Unix
Ou un boitier / attachement réseau imprimante implémentant LPD


       si le serveur n'est PAS un autre AS/400, l'AS/400 local convertira le spool en ascii
ET TRANSFORMERA LE FLOT EN FLOT COMPRÉHENSIBLE PAR L'IMPRIMANTE ÉLOIGNÉE
(fonction Host Print Transform)
               - l'AS/400 gère de nombreux format dont le PCL5 (plus JET direct) et le postscript

               - La liaison (OUTQ -serveur) se fait grâce                  à une commande STRRMTWTR

               - L'AS/400 local ne se considère pas responsable des erreurs imprimante


 LA PRATIQUE

   - Les différents travaux que vous allez effectuer vont générer      des listes ===> des fichiers spools.
   - Vos fichiers spools ne sortent pas sur l'imprimante
       - Plusieurs raisons sont à considérer
            1 L'imprimante n'est pas active
            2 L'imprimante est en cours d'impression avec une autre OUTQ               que celle où sont placés vos fichiers spools
            3 L'imprimante est active avec l'OUTQ de vos fichiers spools               mais elle sort d'autres fichiers spools.
            4 Vos fichiers spools ne sont pas prêts.
            5 Vos fichiers spools ne sont pas du type de papier indiqué.


   Quelle que soit la raison de la non sortie de vos fichiers spools.
   Une des premières actions à effectuer est de visualiser l'OUTQ
   contenant vos fichiers spools. Dans la plupart des cas ils se
   retrouveront dans l'OUTQ PRT01 (nous verrons plus loin comment
   retrouver l'OUTQ de vos fichiers spools).

   La commande pour visualiser les fichiers spools est WRKOUTQ.
          Gerer une File Attente Sortie (WRKOUTQ)
       File d'attente en sortie:        OUTQ           *ALL                Bibliothèque:
       Sortie (* ou *PRINT):            OUTPUT         *         
       Etudions le paramètre OUTQ de cette commande
          OUTQ           *ALL           vous indiquerez ici le nom                                         de l'outq que vous voulez                                         visualiser. Par défaut la                                         valeur *ALL sera prise       Regardons le résultat de cette visualisation.


                Gestion de toutes les files d'attente de sortie 
 Indiquez vos options, puis appuyez sur ENTREE.     2=Modifier   3=Suspendre   5=Gérer   6=Libérer   8=Description 
 Opt     File           Biblio          Fich     Editeur        Etat           QDKT           QGPL               0                    RLS            QPFROUTQ       QGPL               0                    RLS            QPRINT         QGPL               0                    RLS            QPRINTS        QGPL              10                    RLS            QPRINT2        QGPL               2                    RLS     5      PRT01          QUSRSYS            2     PRT01          RLS            PRT02          QUSRSYS            0                    RLS            QSUPPRT        QUSRSYS            0                    RLS            TAAOUTQ        TAATOOL            0                    RLS  

 Commande   ===>                                                                             F3=Exit   F4=Invite   F5=Réafficher   F12=Annuler   F24=Autres touches 

        Chaque ligne correspond aux informations sur une OUTQ

        Détaillons une ligne
         File           Biblio          Fich     Editeur        Etat           PRT01          QUSRSYS            2     PRT01          RLS             !                 !              !      !             !           !                 !        ------!      !             !           !     ------------------   !   ------------------     !           !      bibliothèque de     !   si l'outq est en       !           !      rattachement de     !   cours d'impression     !           !      l'outq              !   nom de l'éditeur       !           !                          !                          !    -----------------        ------------------        --------------------     Nom de l'outq           nombre de fichiers         Etat de l'outq                             spools contenus                             dans cette outq            HLD retenu                                                        RLS libérée




      Regardons le résultat de l'option 5 :

                      Gestion de file d'attente de sortie 
 File:   PRT01          Biblio:   QUSRSYS        Etat:   RLS/WTR 
 Indiquez vos options, puis appuyez sur ENTREE.     2=Modifier   3=Suspendre   4=Supprimer   5=Afficher   6=Libérer     8=Attributs 
 Opt  Fichier     Utilisat    Référence   Etat  Pages   Ex  Imprimé     Pté        LISTE       QPGMR       POINTAGE    WTR       1    1  *STD         5        PRESENCE    QPGMR       LSTSTG      RDY       2    1  *STD         5        QSYSPRT     QSECOFR                 HLD       2    1  *STD         5        COMPTA      QUSER                   HLD       2    1  *STD         5 


                                                                            Fin   Paramètres pour l'option 2 ou commande   ===>                                                                             F3=Exit   F11=Vue 2   F12=Annuler   F22=Imprimantes   F24=Autres touches 

        Chaque ligne correspond aux informations sur un fichier spool

    Détaillons une ligne.
    Fichier     Utilisat    Référence   Etat  Pages   Ex  Imprimé        QSYSPRT     QSECOFR        !        HLD       2    1  *STD      !                !          !         !        !    !    !      !                !          !         !   --------- !    !      !                !          !         !   nombre de !    !      !                !          !         !   pages     !  ------      !                !          !         !             !   type d'      !                !      -----------   !             !   imprimé      !                !      références    !           --------      !                !      utilisateur   !           nombre de      !                !                    !----------! copies      !                !                               !      !                !                               !      !                !                               !      !                !                               !
     !                !                               !
---------------     ---------------------------   ------------------------ nom du fichier      identification du profil      état du fichier spool d'impression        ayant créé ce fichier spool   WTR en cours d'édition ayant permis                                      RDY prét à l'édition la création du                                    HLD retenu fichier spool                                     OPN en cours de remplissage.                                                   SND en cours d'envoi (serveur)
PND en cours de transformation
(Host Print Transform)


        De plus deux lignes en haut de l'écran vous indiquent les
        différentes actions que vous pouvez effectuer.

   2=Modifier   3=Suspendre   4=Supprimer   5=Afficher   6=Libérer       8=Attributs 
        2-CHGSPLFA (modifier un spool , changer d'OUTQ par exemple)
        3-HLDSPLF (retenir)
        4-DLTSPLF (détruire)
        5-DSPSPLF (voir le contenu, faites F1 pour plus de détails))
        6-RLSSPLF (libérer)
        8-DSPSPLFA (voir les caractéristiques)
et enfin
9-Hé, Mr. OS/400, aidez moi ! (l'OS vous aide à imprimer votre spool)


    Pour retrouver un fichier spool les possibilités sont :
         WRKOUTQ :                   Tous les fichiers spool contenus dans une OUTQ          WRKSPLF :                   Tous les fichiers spool générés par un utilisateur                   (par défaut l'utilisateur qui passe la commande)
         WRKJOB  :                   Directement, si les fichiers spool ont étés générés par                   votre travail interactif
                  Sinon il faut avant retrouver le travail.
                        WRKUSRJOB Gérer les travaux d'un utilisateur.                         WRKACTJOB Gérer tous les travaux actifs


                 et passer l'option 8 sur la ligne du travail


    Pour gérer un éditeur d'imprimante les commandes sont :
         WRKWTR  : gère les éditeurs
          WRKWTR *PRT: toutes les imprimantes (actives ou non)           WRKWTR *ALL: tous les éditeurs actifs (même remote)

         STRPRTWTR :                   démarre un nouvel éditeur pour un couple outq/imprimante
                  paramètres importants :
                  DEV  = nom de l'imprimante                   OUTQ = nom de la file d'attente                   FORMTYPE = type de papier à traiter                   AUTOEND  = arrêt automatique ou non.
         ENDWTR :                   arrêt d'un éditeur.

Pour toutes ces listes vous pouvez indiquer des critères personnalisés avec Action/Inclusion



<-- Ici, vous retrouvez les paramètres de la commande WRKSPLF

Les actions possibles sont :

Action Navigator
Equivalent WRKSPLF
Ouverture : lance AFPviewer qui affiche le spool
Affichage PDF : Lance Acrobat Reader qui affiche le spool
5
Réponse : répondre au message (si message il y a)
7
Suspension (holder)
3
libération
6
Envoi (SNDNETSPLF ou SNDTCPSPLF)
1
Déplacement
2 + OUTQ
Suppression
4
Propriété
8 (voir) et 2 (modifier)

 


 


Utilisateurs et droits

La gestion de la sécurité s'appuie sur la notion de profil utilisateur (objet *USRPRF dans QSYS)

Cette gestion est locale, on ne peut faire appel à LDAP

pour gérer la liste des utilisateurs : WRKUSRPRF *ALL

l'option 1 permet de créer un nouvel utilisateur :

remarquons les paramètres :


Ici, remarquons

nous pouvons attribuer à l'utilisateur un profil de groupe afin de gérer les droits sur quelques groupes cohérents d'utilisateurs et non individu par individu.



La gestion des utilisateurs pouvant être réalisée depuis NAVIGATOR for i :



La gestion des droits est la base de la sécurité sur un AS/400, tout objet possède des droits publics
(indiquant les droits par défaut pour un utilisateur "lambda" indiqué par *PUBLIC) et des droits nominatifs ou privés.



les droits sont révisables par EDTOBJAUT (WRKOBJ puis option 2) ou WRKAUT pour les fichiers IFS.

F11 permet de voir le détail.

Navigator for I vous permet aussi de modifier les droits d'un objet



-->

 


Quelques conseils :
  Utilisez au maximum la notion de groupe
  1/ groupe d'utilisateur d'une part (profil de groupe)
  2/ groupe d'objets d'autre part.
     et c'est la partie la plus délicate, en effet la notion de groupe       d'objets est représentée sur AS/400 par les bibliothèques, or les       droits que vous indiquez sur la bibliothèque ne permettent pas de       préciser ce qu'il est possible de faire AVEC LES OBJETS de celle-ci.
    ==> une bibliothèque est un bon moyen d'INTERDIR.
     mais pour les utilisateurs ayant le droit d'utiliser la bibliothèque       il faudra être plus précis.
     La meilleure solution semble être les listes d'autorisations

 
le principe est de pouvoir définir un "modèle" de droits (une règle)         et d'appliquer ensuite cette règle à x objets.
Le système identifie la liste d'autorisation comme un type d'objet        spécifique, dont l'identificateur est *AUTL. 

l'association d'un objet et d'une liste d'autorisation de fait par GRTOBJAUT
(cette dernière sait travailler avec une bibliothèque entière)

Le paramètre CRTAUT d'une bibliothèque (CHGLIB pour modifier) permet de référencer
une liste d'autorisation à appliquer automatiquement lors de la création d'un objet

 

     Ordre de recherche des autorisations sur un objet 
    ---------------------------------------------------
     1/ avec le profil de référence 
         + le profil est il de type QSECOFR    ? --OUI ----------->! 
                                              NON                  ! 
                                               !                   ! 
         + le profil a-t-il des droits sur l'objet OUI ----------->! 
                                              NON                  ! 
                                               !                   ! 
         + le profil est-il indiqué dans la liste  OUI ----------->! 
              d'autorisation (s'il y a une liste)                  ! 
                                              NON                  ! 
                                               !                   ! 
     2/ avec le profil de groupe               !                   ! 
                (s'il n'y a pas de profil de groupe -->  3/ )      ! 
                                               !                   ! 
         + le groupe est il SPCAUT(*ALLOBJ) ?  !   OUI ----------->!
                                              NON                  ! 
                                               !                   ! 
         + le groupe a-t-il des droits sur l'objet OUI ----------->! 
                                               !                   !                                                NON                  !                                                 !                   !                                                 !                   !           + le groupe est-il indiqué dans la liste  OUI ----------->!                d'autorisation (s'il y a une liste)                  !                                                NON                  !                                                 !                   !       3/ avec *PUBLIC                           !                   !                                                 !                   !           + *PUBLIC est-il indiqué sur l'objet  !   OUI ----------->!                                                NON                  !                                                 !                   !           + *PUBLIC EST indiqué dans la liste --------------------->!                                                                         !               #######################                               !               # les droits trouvés  # <-----------------------------!                 # sont pris en compte #               ####################### 

Sauvegardes


 La notion de sauvegarde / restauration est INCONTOURNABLE sur AS/400
 Quelques remarques préliminaires:
    Les commandes de sauvegardes orientées objet/bibliothèque      sauvegardent aussi bien l'objet (définition - attributs) que son      contenu.(mais uniquement les autorisations pour *PUBLIC.)
    Ce qui signifie:            - les supports doivents être initialisés                                    en format *SAVRST (disquettes)
                                - ils ne peuvent être traités que par un AS.
    Pour une transmission de fichier sur d'autres systèmes:
                                - initialiser au format *DATA (val /dft)
                                - utiliser les commandes  CPYTODKT  -->                                                           CPYTOTAP  -->                                                           CPYFRMDKT <--                                                           CPYFRMTAP <--    Après avoir passé la commande OVRTAPF ou OVRDKTF, s'il le faut.


    Il y a quatre grands types de supports:                       préparation 
                                - diskette (historique)          cde INZDKT 
                                - bande  (std, cartouches, 8mm)  cde INZTAP 

- Optique (DVD-RAM/ROM, USB)   cde INZOPT                                  - fichier de sauvegarde          cde CRTSAVF

  une sorte de "fichier bande" sur disque, ne pouvant contenir qu'UNE    SEQUENCE DE SAUVEGARDE, qu'UNE BIBLIOTHEQUE.
   Pour sauvegarder le CONTENU d'un fichier de sauvegarde sur support     magnétique: SAVSAVFDTA. 
   Pour le mettre à blanc : CLRSAVF , pour visualiser le contenu DSPSAVF .

 Les informations à sauvegarder sont multiples:

     1°/ MULIC : Model Unique Licensed Internal Code  (jusqu'à V3R60)
     2°/ LIC   : Licensed Internal Code                  microcode sous licence
     3°/ Les objets de configuration                  définition de tous les périphériques (DKTxx, TAPxx, DSPxx)                   et de toutes les lignes.
     4°/ Les informations liées à la sécurité (profils et autorisations)
     5°/ L'OS/400 de base (non compris les options)
     6°/ Les pgms sous licences (QRPG, QPDA, y compris les options de l'OS)
     7°/ Les objets utilisateurs (pgms, fichiers, ...)
     8°/ Les dossiers, documents, et TOUTE la Structure IFS.

  A chaque type d'objet correspond une commande

  SAVSTG: Copie secteur par secteur des informations permanentes des disques
          ATTENTION : Vous devez être "système restreint", c'est à dire                        tous les sous-systèmes arrétés, seule la console                        est reconnue.
          Pour ce faire: -CHGMSGQ QSYSOPR DLVRY(*BREAK) SEV(50)
                         -ENDSYS (attendez le message                                   "le système est en mode restreint ...")
                         -Passer votre commande : SAVSTG                                                   (c'est vrai aussi pour                                                     SAVSYS et RCLSTG)                          -Pour redémarrer                                                   DSPSYSVAL QCTLSBSD                                                   STRSBS de ce sous-système
         La date de sauvegarde de la data area QSAVSTG vous indique la           dernière utilisation de cette commande.

  A chaque type d'objet correspond une commande

  SAVSYS: Sauvegarde microcode, OS, données de sécurité et objets de config.
          ATTENTION : Vous devez être "système restreint".
  Commande à exécuter à chaque nouvelle version ou après chaque cumulative    de PTF (la data area QSAVSYS vous indique la date de dernière sauvegarde)
  SAVCFG: Sauvegarde des objets de configuration uniquement            (sous ensemble de SAVSYS, fonctionne système en activité)
  A exécuter périodiquement (data area QSAVCFG )
  SAVSECDTA: Sauvegarde des éléments de sécurité (profils et autorisations)            (sous ensemble de SAVSYS, fonctionne système en activité)
  A exécuter périodiquement (data area QSAVUSRPRF )

 Ces quatres commandes ne fonctionnent que vers une unité externe  (SAVCFG et SAVSECDTA acceptent *SAVF)

 SAUVEDARDE DE BIBLIOTHEQUES:

 Cde SAVLIB   admet trois valeurs particulières
              *NONSYS (tout ce qui n'est pas sauvegardé par SAVSYS,                                                             sauf documents)              = toutes les bibliothèques du système en ordre alpha                (sauf: QSYS, QDOC, QSPL, QRPLOBJ, QTEMP, QSRV, QRECOVERY)                le système doit être en mode restreint.
             La date de sauvegarde de la data area QSAVLIBALL vous indique               quand cette commande a été utilisée pour la dernière fois.
              *ALLUSR (toutes les bibliothèques utilisateurs ou                         les bibliothèques contenant des objets utilisateurs)
                        y compris, donc, QGPL, QUSRSYS, QS36F, £LIBRARY                         Data area associée QSAVALLUSR 
              *IBM    (tous les produits sous licence + leurs PTFs)
                        Data area associée QSAVIBM 


  la commande SAVLIB possède deux paramètres importants:
     LIB() les valeurs que nous venons de voir,             admet aussi de UN a TROIS CENT noms.
     OMITLIB() bibliothèques à omettre (pour *ALLUSR, *IBM, ...)
            *NONE ou de UN à TROIS CENT noms.
  Autres paramètres 

  DEV() unité DKTxx TAPxx ou *SAVF
 

  SEQNBR() N° de la sequence sur bande

1 : la sauvegarde commence en début de bande
==> effacement demandé par message sauf CLEAR(*ALL)

(dft) *END : sauvegarde effectuée en fin de bande (en ajout, donc)

 PVTAUT() sauvegarde ou non(dft) des droits en même temps
  SAVF()   nom qualifié du savf si DEV(*SAVF)
  UPDHST() mise à jour date de dernière sauvegarde si DEV(*SAVF)            (automatique pour une sauvegarde sur unité)
  TGTRLS() version du système de restauration *CURRENT, *PRV ou VxRyMz.

  Vous pouvez sauvegarder des objets individuellement avec

 SAVOBJ   OBJ() *ALL (tous, sauf l'objet *LIB)
                 nom ou nom-gen*   (jusqu'à 300)
           LIB() jusqu'à 300
           OBJTYPE() *ALL ou un à plusieurs types d'objet.
 ET ENFIN vous pouvez ne sauvegarder que les objets modifiés depuis le   dernier SAVLIB (par défaut) avec:
 SAVCHGOBJ (mêmes paramètres que SAVOBJ, sauvegarde incrémentielle)
     +     REFDATE() date de référence / par défaut *SAVLIB
           REFTIME() heure de référence
 En ce qui concerne les fichiers : sauvegarde membre à membre     (seuls les membres modifiés sont sauvegardés: c'est une très bonne       commande pour les fichiers source)

 Pour les documents et les dossiers:

      SAVDLO DLO(*ALL) FLR(*ANY)
       sauvegarde tout (data area QSAVDLOALL )
      SAVDLO DLO(*CHG) = SAVCHGOBJ
      SAVDLO DLO(un-nom) FLR(un-nom) = SAVOBJ
      SAV        pour sauvegarder tout ou partie de la structure IFS.
  Pour sauvegarder "/microsrv/microopt" :        SAV DEV('QSYS.LIB/TAP01.DEVD')            OBJ('/MICROSRV/MICROOPT/*') SUBTREE(*ALL)
Pour sauvegarder tous les branches "spécifiques" à IFS        SAV DEV('QSYS.LIB/TAP01.DEVD)            OBJ(('/*') ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT) SUBTREE(*ALL)
  Pour sauvegarder/restaurer OBJ('/*') [tout votre système]    vous devez être en mode restreint.




Le menu SAVE propose un accès à toutes ces commandes de sauvegarde


 Il peut être intéressant à ce stade de voir un tableau récapitulatif
 Vous verrez à gauche les commandes de sauvegarde disponibles
             à droite les commandes de restauration associées.
 Sachant qu'une commande de restauration plus restrictive est toujours   valide (RSTOBJ pour SAVLIB par exemple)

  sauvegarde     | élement du système à sauvegarder   | restauration
^                ...................................... panneau de contrôle
! _______________:1       MULIC (propre à un modèle)  :  01 D / M
!  ^             :2         LIC (5738999)             :   puis IPL
!  !             :....................................:---------------------
   S             :3            OS/400 (QSYS)          :IPL ou install opt/2
 A   ----------:....................................:---------------------
   V             :          Autorisations privées     :  RSTAUT 
 S   SAVSECDTA :4...................................:-----------
   Y             :          Profils utilisateurs      :  RSTUSRPRF 
 S   ----------:....................................:---------------
   !   SAVCFG    :5         objets de configuration   :  RSTCFG 
S  v             :                                    :                     
   * SAVLIB *IBM :6 options OS/400 + produits/licence : RSTLIB *IBM      * 
 N  -----------:....................................:---------------   N 
   O   ^ *ALLUSR :7  QGPL, QUSRSYS, QS36F, £LIBRARY   :     *ALLUSR ^    O 
 N   !   ------:....................................:-----------  !    N 
   S   !   ^SAV- :8  BIB01                            :         ^   !    S 
 Y   !   !  LIB:   BIB02     bibliothèques          : RSTLIB  !   !    Y 
!  S   v   v  OBJ:   BIB03       entreprise           :  RSTOBJ v   v    S  
 SAVDLO *ALL   :9 document/QDOC,distribution/QUSRSYS:  RSTDLO *ALL
!                :                                    :
 SAV    (IFS)  :10 (QSYS.LIB *OMIT) (QDLS *OMIT)    :  RST ... 


Organisation et stratégies des sauvegardes

  •     Commit/Rollback , Gestion des transactions
        Un des risques en cas d'arrêt du système est la désynchronisation      des fichiers B de D dépendants.
        La gestion des transactions par pgm (en s'appuyant sur la fonction      journal) minimise les risques d'incohérences dans vos fichiers. La fonction journal, archive dans un fichier système particulier (récepteur)
    toute l'activité base de données


    les enregistrements ajoutés, modifiés( en version avant et après) et les suppressions,
    il y a donc , ainsi, possibilité de reconstruire mais aussi de retour arrière.
    il n'y a pas de solution satisfaisante aujourd'hui en ce qui concerne
    la sauvegarde des spools, avant la V5R40.

    Depuis cette version, si on sauvegarde une OUTQ avec SPLFDTA(*YES), les spools sont sauvegardés




 I/ Solution simple, vous avez des sauvegardes complètes                                               (les plus récentes possibles)
  1°/ de votre système           SAVSYS
  2°/ de vos données/systèmes    SAVSECDTA et SAVCFG
  3°/ des données entreprises.                                  objets:    SAVLIB *ALLUSR
                                 documents: SAVDLO *ALL
  Moins importants sont : les produits sous licence
                          - il est toujours possible de recharger et                              d'appliquer la dernière cumulative.
                          Les bibliothèques de développeur
                          - souvent traitées par SAVCHGOBJ sur les fichiers                             source (perte de travail sur une journée ?)


 II/ Vous souhaitez réduire le temps d'indisponibilité des objets       afin de pouvoir faire vos sauvegardes de jour.
     Utilisez le paramètre SAVACT(Save while active)
     a/ Le système établit un point de contrôle           (Les objets sont indisponibles)
     b/ le point de contrôle établi, la disponibilité des objets est rendue
     c/ les pages de fichier modifiées pendant la sauvegarde sont dupliquées
     d/ en fin de sauvegarde, les modifications (enregistrées dans les pages          dupliquées) sont répercutées.
     Gain:        Temps d'indisponibilité réduit.      Désavantages:        Les modifications ne sont pas sauvegardées (fichiers désynchronisés ?)       Le temps de traitement global est plus long.       DANGER en cas d'arrêt du système, pendant la sauvegarde.


 III/ Vous mettez en place la fonction journal avec détachement et        sauvegarde du récepteur toutes les demi-journées.
     Gains: 
     un SAVLIB par semaine
     détachement du récepteur en activité           (inutile d'arrêter les utilisateurs)
     sauvegarde rapide (volume faible)
     vous ne perdez plus qu'une demi-journée. (quand même !)
     la fonction journal peut être utilisée à des fins d'analyse. (DSPJRN)
     Désavantages: 
     Légère dégradation des performances (E/S disques supplémentaires)
     Gestion des récepteurs (ménage)


 IV/ Vous associez à la fonction journal, la notion d'ASP
     Un ASP est un disque (ou un bras d'accès) "sorti" de la notion d'espace        adressable unique.
     Historiquement il ne pouvait contenir que journal, récepteur et SAVF
     Cela reste (c'est une opinion arbitraire) son intérêt premier !!!
     Si vous perdez ce disque.
        ==> aucune perte de données, l'E.A.U est intacte.(mais le système                                                            est indisponible)      Si vous perdez un autre disque  (ASP système)
        ==> vous récupérez les éléments de l'ASP par RCLSTG.         ==> Vous restaurez .votre journal et tous vos récepteurs                            .vos bibliothèques (SAVLIB hebdomadaire)         ==> vous appliquez les modifs du journal (APYJRNCHG)
        Normalement vous ne devez perdre aucune transaction.


     Gains: 
            - aucune perte de données (sur les fichiers)
            - Vos sauvegardes via SAVF sont plus sûres (SAVF dans l'ASP)
            - la manipulation d'ASP est devenue souple               (principalement en cas de débordement)
            - vous avez toujours la possibilité d'utiliser Commit/Rollback
     Désavantages: 
     Légère dégradation des performances (E/S disques supplémentaires, et       sur un disque imposé !)
     Le temps de reprise est très long.
     (nous pouvons toujours atteindre, comme avec les solutions précédentes,       12 à 24 Heures, suivant votre config.)


  V / Toutes les solutions à venir impliquent des investissements        supplémentaires conséquents :
      A: RAID-5 la fonction XOR est assurée par l'unité disque.               (qui posséde son propre processeur et plusieurs disques 3,5')
         Un cas de problème sur un disque physique, l'unité est capable de           fonctionner en mode dégradé.               (reconstitution des infos manquantes à chaque lecture)
     B:  MIRRORING  les disques sont doublés (les écritures aussi)
         Aucun arrêt en cas de problème, ni pendant l'intervention.            (MIRRORING possible au niveau Bus et Contrôleur)


   C:  le BACKUP complet.
      DEUX AS/400. 
      - L'AS de backup peut être utilisé pour le développement.
      - les configurations doivent être dupliquées. (basculement rapide)
      - Vous pouvez dupliquer régulièrement vos modifs B de D.
         Avec la fonction journal (transfert du récepteur et APYJRNCHG)
      - OU temps réel (part RCVJRNE et traitement par le LAN, ou produits du marché).
      



   D:  Clusters (dispositif facturable : Option 41 de l'OS)

      DEUX AS/400 (ou plus) sont vus comme un seul à l'intérieur d'un Cluster Ressource Group.

Pour faire de la réplication [Backup] , il faut un produit tiers.


Pour pouvoir "switcher" un pool disque (iASP) d'un serveur à l'autre.


Ce dernier cas de figure permettant d'envisager une réplication croisée,
offrant un taux de disponibilité proche de 100 %.

    


Introduction aux réseaux sur AS/400

 

la notion d'unité représente sur l'AS/400 la vision historique de la
   mini-informatique c'est à dire une relation maitre (le mini)
   esclave (le terminal)


 typiquement
    +--CTL01           (une carte dans l'AS/400, dite contrôleur TWinax)          !          !          +----Unite     un écran passif ou une imprimante)

• WRKCFGSTS *CTL, pour voir l'état du contrôleur

• WRKCFGSTS *DEV, pour voir l'état des unités

 


 Et vint le réseau.(SNA)protocole propiétaire IBM


  dans un premier temps, il ne s'agissait que de déporter les terminaux.
    +---Ligne          (définition sur l'AS/400 de la carte réseau, du          !                type d'attachement, et du protocole [SDLC, X25].)          !          !          !------ [ france télécom ] ---------CTLxx une boite noire                                                !   dite contrôleur                                                 !    à distance (5x94)                                                !                                                !                                                !--Unité écran/imprimante

 


 Et enfin,  les relations d'égal à égal (deux minis se parlent)
     +---Ligne          (définition sur l'AS/400 de la carte réseau, du           !                type d'attachement, et du protocole [SDLC, X25].)           !           !           !------ [ france télécom ] ---------CTLxx représentation logique                                                 !    du mini distant.                                                 !                                                 !--Unité, indiquant le type                                                           de dialogue(APPC)
 Quand les PC apparaissent dans l'entreprise ce schéma est reproduit :
      +---Ligne          (définition sur l'AS/400 de la carte réseau, du            !                protocole (Ethernet ou Token Ring).            !            !         (           )            !------ ( réseau local  ) ---------CTLxx représentation logique                      (           )              !    du PC.                                                 !-- unité APPC



  Mise en oeuvre de SNA sur AS/400
       Création d'une ligne (objet *LIND -cde CRTLIN...)
           Définition de la liaison en local                           + Type de ligne                           + Sortie physique et carte utilisée                           + Type de jonction et de modem                           + Protocole utilisé
       Création d'un contrôleur(objet *CTLD -cde CRTCTL...)
           Définition de l'interlocuteur à distance                           + Contrôleur ou ordinateur(si oui quel type) etc..
       Création d'une unité   (objet *DEVD -cde CRTDEV...)
           Définition logique + des unités à distance                               + des modalités du dialogue.                               + du NOM de lieu du système éloigné.                       (c'est ce nom qui sera utilisé la plupart du temps)



        Les possibilités SNA de l'AS/400.

        Passe-système.                Sur l'AS cible définition d'un contrôleur virtuel                                         d'une (au moins) unité virtuelle
              Sur l'AS source STRPASTHR en indiquant un nom de lieu.

        DRDA                Gestion de bases de données éloignées (SQL)
                             on défini une seule fois chaque système                               par la commande ADDRDBDIRE.    DDM   Distributed Data Management (fichiers distribués)
              Permet de traiter sur un AS/400 X un fichier BD se trouvant                sur un AS/400 Y, comme s'il se trouvait sur X.
              le fichier doit exister physiquement sur Y.
              X doit définir ce fichier comme un fichier DDM (CRTDDMF)
                en indiquant: le nom du système sur lequel il se trouve (Y)                               son nom qualifié (sur Y)
              on doit définir CHAQUE fichier utilisé. 


        SNADS SNA  Distribution Services                    (SNA = System Network Architecture                           architecture de réseau standard IBM)
              Distribution de messages SNDNETMSG                            de fichiers SNDNETF et d'objets (Sauvegarde dans SAVF puis SNDNETF)                            de spoules  SNDNETSPLF                            Soumissions SBMNETJOB
              Ces distributions sont asynchrones (type Batch)
              Elles nécessitent 1/ Une file d'attente de distribution                                    DSTQ "rattachée" à une unité APPC.
                                2/ La définition d'un nom de lieu                                     dans la table de routage SNADS                                     (-> lien avec DSTQ)
3/ L'enregistrement des utilisateurs
                                    dans le répertoire SNADS (WRKDIRE). (un utilisateur étant rattaché à un lieu)


        Réseaux TCP/IP  (depuis la V3R10 en 1995)
               - la couche TCP/IP et les APIs sockets
               - TELNET       : émulation écran
               - LPD/LPR      : transfert de spools
               - SMTP         : gestion de messages
               - FTP          : transfert de fichier
              depuis les versions V3R10 , V3R70 
               - POP3         : boites aux lettres de messages
               - HTTP         : Serveur WEB de pages HTML                                 (texte, multimédia et liens hypertexte)


              depuis la version V4R20 
               - Fonction de serveur et de passerelle
                   ° BOOTP(serveur d'adresse statique)
                   ° DHCP (serveur d'adresse dynamique)
                   ° DNS  (serveur de noms)
                   ° RIP2 (routage dynamique)
               - TFTP     (trivial FTP, un FTP simplifié)
               - NFS      (partage de fichiers avec UNIX)
               - DDM et DRDA sur IP
               - Rexec    (Exécution de commandes à distance)                 


              depuis les versions V4R30/40 
               - Filtrage IP
               - VPN
               - PPP (accès RTC en plus de SLIP)

               - Netserver (l'AS/400 dans le voisinage réseau, comme SAMBA/Unix)

               - LDAP (annuaire)

               - DLFM (lien entre zones DB2 et fichiers IFS, par URL)

               - la version Express de Client Access ne fonctionne qu'en IP.




La configuration de TCP/IP est la suivante :

 1/ il faut créer une ligne LAN comme vu plus haut (Ethernet par ex.)
 2/ il faut associer à cette carte une adresse IP
    (une telle association est appellée interface)
    Commande CFGTCP , option 1 
 3/ indiquer les services qui doivent démarrer en même temps que TCP/IP
    Commande CFGTCP option 20, donne la liste des services.

     puis pour chaque service mettre AUTOSTART à *YES
 4/ démarrer TCP/IP par STRTCP (l'arrêt se fait par ENDTCP)

Tout cela pouvant être réalisé dans l'option Réseau  de Navigator for i.


Les interfaces


Les connexions actives (Netstat *CNN)



Les serveurs


les outils IP "traditionnels" sont aussi proposés (Ping , Traceroute et Nslookup)

Vous pouvez continuer en suivant le cours Introduction à DB2 for i ou Présentation des fonctions plus complet.


© AF400 - Volubis