Annonces V4R30

BoTTom |    Changer de couleur
 
Version 4.30 de l'OS/400
 
 GRANDES ORIENTATIONS
 
 1/ support de WARP server et de novell sur IPCS jusqu'en 2001 !
 
    (sous entendu, après on ne sait pas)
 
    les deux produits sités vont restés figés
 
 ==> HORS de NT, point de salut !
 
 2/ IBM annonce que NT TSE (Terminal Server Edition, la suite de WInFrame)
 
     est compatible avec NT sur IPCS
 
 3/ Rochester propose sur son site WEB une pré-version de la prochaine
     édition de Client Access : "Client Access Express"
 
    Il s'agit d'une version FULL IP (plus d'APPC, plus de routeur)
 


|    Changer de couleur
 
 Détail de la 4.30
 
 
 WEB :
 
       + support de la certification X.509 (auparavent par API uniquement)
          et de SSL (sessions cryptées)
 
       + fonction cache amméliorée et fonctionnement en multi-thread.
 
            (c'est le deuxième produit après DOMINO)
 
       + Servlets JAVA (Applets s'exécutant sur le serveur)
 
 
 
       + NetQuestion : produit d'indexation et de recherche de vos pages WEB
 
 
 
 


|    Changer de couleur
 TCP/IP  Filtrage IP
 
             Limitation et/ou journalisation des accès
 
         NAT Network Adresse Translation
 
             on construit une table des correspondances
 
                adresse-ip-locale/adresse-ip-externe
 
             et on masque complètement le réseau aux yeux extérieurs
              en fournissant des adresses Ip fictives (externes).
 
        LOAD BALANCING
 
             attribution d'une même adresse IP à deux cartes LAN.
 
             le système répartie la charge sur les deux cartes
 
        Dial ON Demand
 
             la connexion ne se fait qu'en cas de besoin (NUMERIS)


|    Changer de couleur
 
 Programmation :
 
 pas grand chose,
 
                  - le compilateur C accepte les entiers sur 64 bits
 
                  - le compilateur C admet comme source un fichier IFS
 
                  - le compilateur C++ admet le SQL intégéré
 
 
                  - java Toolbox for JAVA revue et intégrée à Visual Age
                                                              for JAVA v2.0
 
  Euro :
 
 support de l'Euro pour la version 4.30 ainsi que pour les versions :
 
            - V3R20           --
                                > via PTF
            - V4R10 & V4R20   --


|    Changer de couleur
 Client Access :
 
             - nouvelle version 3.20
 
                   >support de WIndows 98
 
                   >ODBC version 3.0
 
                   >AFP Workbench version 32 bits et complète
 
                        visualisation de spools AFP et d'images (TIFF, GIF)
 
                        génération en mode WYSIWYG de *PAGSEG et *OVL
 
                  >installation plus granulaire
 
                  >support de TCP/IP sur Twinax
 
             - Pour Windows 3.1
 
                  >IP : support des noms d'écran et des sessions imprimantes
 


|    Changer de couleur
 
 IBM AS/400 SDK for ActiveX and OLE DB
 
     norme Microsoft (successeur d'ODBC ?) pour accèder à des inforamtions
      diverses.
 
     le problème d'ODBC est qu'il ne permettait d'accèder qu'à des bases
      de données relationnelles.
 
      or il existe d'autres types d'informations
         > annuaires par exemple ...
 
     ADO propose l'accès à des informations distribuées en retournant
      les données sous forme de fichiers à plats séparés par des tabulations
      et en technologie objet (ADO = ActiveX Data Object).
 
   le produit IBM (intégré à Client Access) permet donc l'accès
        - à la base de données en SQL
        - à la base en mode ligne à ligne (comme read, chain, ...)
        - aux données comme les data area, les dtaq, etc...
        - aux des commandes ou aux procédures cataloguées
        - ....


|    Changer de couleur
 
 
 L'accès peut se faire à partir de tout produit (sur palteforme Windows)
   supportant ActiveX.
 
   + Visual Basic (pour celui-ci il existe un assistant)
 
   + Delphi, Powerbuilder, Visual C++, ...
 
   + IIS (serveur Web de Microsoft sur NT)
 
   + Lotus 123, Excel, Access et autres produits bureautique
 
 
 
 Le produit AS/400 OLE DB Data Provider est la partie Run-time
 
 
 Ces deux produits sont livrés sur le CD-ROM de Client Access
 
 
 


|    Changer de couleur
 
Operation navigator
 
 Ce produit a été complètement revu :
 
    l'installation est modulaire.
 
    les options suivantes sont nouvelles :
 
    > Envoi de messages (avant seule la visu était possible)
 
    > paramétrage des nouveautés TCP/IP (NAT, filtrage, ...)
 
    > Gestion des annuaires LDAP
 
    > gestion des actions admises
              des répertoires admis par utilisateur ! (V4r30 impératif)
 
    > Assistant de configuration de la sécurité (analyse ET propose)
 
    > Visualisation des performances de vos AS en mode graphique
 


|    Changer de couleur
 
Operation navigator
 
    > gestion des journaux remote.
 
    > gestion des alias (voir ci-après)
 
    > Mise à jour des tables possible
 
    > copie/déplacement possible entre systèmes
 
Netserver
 
   implémenté en V4R20, c'est la fonction voisinnage réseau de l'AS/400
 
   > utilisation complète de LM 0.12(en V4r20 on utilisait seulement SMB)
         ==> performances accrues
 
   > l'AS/400 CLIENT des serveurs NT (nouvelle racine IFS : /QNTC)
 
      l'OS voit tous les serveurs NT du sous réseau IP, pour les autres,
       lancer la commande MD '/QNTC/192.168.1.5 (si telle est son adresse)


|    Changer de couleur
 
 DB2/400 
 
  C'est la partie la plus spectaculaire :
 
   - gestion des ALIAS
 
     un ALIAS permet de renommer un fichier (lui donner un nom long)
 
     ou préciser un membre pour un fichier multi-membres.
 
 
  CREATE ALIAS MABIB.MBR2_ALIAS FOR MABIB.FIC1P1 (MBR2)
 
 mettre à jour MBR2_ALIAS revient à mettre à jour MBR2 dans FIC1P1
 
ATTENTION : DROP TABLE nom-alias détruit le fichier PHYSIQUE
 
               il faut écrire DROP ALIAS pour supprimer l'ALIAS
 
            Un alias portant sur un fichier inconnu, peut exister.
 


|    Changer de couleur
 
  Sous sélection admise dans l'ordre UPDATE
 
  la notion de sous-sélection permettait de mettre un ordre SELECT dans la
     clause WHERE d'un ordre SQL.
 
  SUPPRIMER les clients sans commande :
 
            Delete from client C where not exists
               ( select * from commande where nocli = C.nocli )
 
  Cette synatxe est maintenant acceptée dans la clause SET du UPDATE
 
  UPDATE command C set priha = (select pritarif from article
                                       WHERE codart = C.codart )
         WHERE  priha = 0
 
 
  UPDATE recap R set SALAIRAN = (select sum(salair + primes)
                                  from personp1
                                  where matricule = R.matricule)
 


|    Changer de couleur
 
 Les nouveaux Index EVI (Encoded Vector Index)
 
 à l'origine était l'index b-tree :
 
                           +-------+
                  de A à N |AN - OZ| de O à Z 
                           +-------+
                          /         \
                         /           \
                   +-------+
          de A à M |AM - N.| (tout ce qui est Nxxx)
                   +-------+
                  /         \
                            +------+ (tout ce qui est NAxxx)
                            |  A.  |       ____________
                            +------+       |TES=878787|      <-- NANTES
                           /        \    /
                                 +------+
                                 |  N.  |
                                 +-------  ____________
                                         \ |CY =124578|      <-- NANCY


|    Changer de couleur
 
 Ces index fonctionnent très bien quand il s'agit de retrouver un petit
  nombre de clés dans un grand nombre d'enregistrements (type CHAIN)
 
 mais ils sont assez lents si vous réalisez une requête retournant 80 %
  des enregistrements, particulièrement lors des tris.
 
 
  En effet les enregistrements doivent être retournés dans l'ordre des clés
   et ils sont stockés dans physiquement sur le n° de RANG(dans le physique)
 
 Vous multipliez alors les E/S disque
 
      sauf si vous réorganisez souvent vos fichier par RGZPFM KEYFILE(xxx)
                                                                       ^
      en indiquant le nom de l'index le plus fréquement utilisé ici ---!
 
 
 Certains SGBD utilisent la technique des index bitmap
 
 
 


|    Changer de couleur
 
  soit la table suivante :
                                 l'index bitmap associé sera
     ##################### 
rang #  client   ville   #           valeur    bitmap
     #####################         ......................
 1   #  1        NANTES  #         : NANTES : 10000100  :
 2   #  6        ANGERS  #         : ANGERS : 01000000  :
 3   #  3        RENNES  #         : RENNES : 00100010  :
 4   #  7        CHOLET  #         : CHOLET : 00010000  :
 5   #  8        BREST   #         : BREST  : 00001000  :
 6   #  5        NANTES  #         : VANNES : 00000001  :
 7   #  4        RENNES  #         :........:...........:
 8   #  2        VANNES  #                    12345678
     #                   # 
     #####################      On place un "1" pour chaque enregistrement
                                 ayant cette clé à la position du n° de rang
 
                                pour NANTES les enregistrements 1 et 6.
 
 
 


|    Changer de couleur
 
 Cette technique pose plusieurs problèmes :
 
   1/ la place utilisée peut-être importante pour des clés composées.
 
   2/ la maintenance d'une clé génère DEUX E/S
 
       (sur l'ancienne clé et sur la nouvelle)
 
  L'AS/400 n'utilise pas les index bitmap, par contre la technologie bitmap
     est utilisée pour gérer vos requêtes avec des tests depuis la V4R20.
 
  Il utilise un index B-tree pour chaque critère et construit un nuage de
      point (bitmap) sur chaque résultat, et applique une fonction booleènne
      AND/OR sur les deux.
 
  le résultat indique par un "1" la liste des enregistrements ayant vos
      un (OR) ou deux (AND) critères vrais.
 
  NANTES ou ANGERS fournit 10000100
                   puis    01000000 
                           11000100 ==> les lignes 1,2 et 6.


|    Changer de couleur
 
 EVI pour finir, qui est un concept Rochester (il y a un brevet), l'AS/400
  étant le premier à l'utiliser.
 
 EVI est une utilisation avancèe des index Bitmap
 
                                                               Vecteur
     #####################                                  +-------------+
rang #  client   ville   #  ...........................     | code | rang |
     #####################  : Table des symboles      :     +------+------+
 1   #  1        NANTES  #  :.........................:     |   1  |  1   |
 2   #  6        ANGERS  #  :Valeur:code:Deb:Fin: nbre:     |   2  |  2   |
 3   #  3        RENNES  #  :      :    :   :   :     :     |   3  |  3   |
 4   #  7        CHOLET  #  :NANTES: 1  : 1 : 6 :  2  :     |   4  |  4   |
 5   #  8        BREST   #  :ANGERS: 2  : 2 : 2 :  1  :     |   5  |  5   |
 6   #  5        NANTES  #  :RENNES: 3  : 3 : 7 :  2  :     |   1  |  6   |
 7   #  4        RENNES  #  :CHOLET: 4  : 4 : 4 :  1  :     |   3  |  7   |
 8   #  2        VANNES  #  :BREST : 5  : 5 : 5 :  1  :     |   6  |  8   |
     #                   #  :VANNES: 6  : 8 : 8 :  1  :     +-------------+
     #####################  :......:....:...:...:.....:
 
 


|    Changer de couleur
 
 Le vecteur contient un poste par enregistrement, la position donnant le
   n° de rang, MAIS on indique un code et non une valeur de clé.
 
    tout cela lève les deux désavantages des index bitmap.
 
 On indique en plus une table des symboles qui contient
 
    - la correspondance entre chaque valeur de clé et son code associé
 
    - des statistiques destinées au "Query Governor" l'optimiseur de
                                                                  requêtes
 
 Il faut simplement indiquer le nombre de valeurs différentes lors de la
  création afin de savoir s'il faut créér un vecteur sur 1,2 ou 4 octets
 
 si vous ne connaissez pas ce nombre de valeurs différentes SQL va les
    rechercher pour vous et la création de l'index sera un peu plus longue
 
    CREATE ENCODED VECTOR INDEX on fichier(clé1, clé2, ...)
 
                   FOR x DICTINCT VALUES


|    Changer de couleur
 On parle de place occupée divisée par 16
 
          de temps de réponse divisés par 10
 
 --> tout cela reste à vérifier sur VOTRE BASE !
 
Mais quand même, les tests du lab sont les suivants :
 
 sur un 53S (4 voies) avec une table de 255 GO
 
     sans index : 30 minutes
     b-tree     : 18 minutes
     EVI        : 0,58 minutes (il n'y a pas d'erreur de frappe !)
 
 
ATTENTION :
 
     les index EVI sont destinés à SQL (et QUERY, QM, ...)
 
     ILS NE SONT PAS UTILISABLES PAR PROGRAMME (CHAIN, READ, etc)
 
il nous faudra donc probablement faire cohabiter les deux !


|    Changer de couleur
 
 DIVERS DB2/400
 --------------
 
 deux nouvelles commandes
 
      CPYTOIMPF (copy to imported file)
 
 et
 
       CPYFRMIMPF (from imported file)
 
 
  permettent l'importation/exportation de fichiers physiques de/vers des
   fichiers à plat avec séparateurs (type CSV).
 




©AF400