DB2 Web Query, installation

Il vous faut obtenir le produit 5733WQX

Nous parlons, ici, de la version 2.1 ou 2.2 du produit

Vérifiez que vous avez les produits suivants (5761xxx en V6R10, 5770xxx en V7):

Installez les PTF suivantes (voyez l'APAR II14682 pour actualiser les N°)


Migration

Vous pouvez installer 5733WQX parallèlement à 5733QU2

Tant que vous n'avez pas installé de clé à WQX (vous pouvez l'utiliser 70 jours), les clés de licences sont encore "accrochées" à QU2

Lors du démarrage (QWEBQRY/STRWEBQRY), vous verrez


Démarrage et paramétrage

Attribuez un mot de passe à QWQADMIN (CHGUSRPRF) et si vous êtes avec QCCSID à 65535 un CCSID.

lancez le serveur par STRWEBQRY (bibliothèque QWEBQRY)

Cela doit lancer un certain nombre de JOB :

Tout ce petit monde doit utiliser les ports IP suivants : 12331+12336/12338 (wqlwi80), 12332 et 12333 (edapgwy) , 11335 (jscom3c)

le premier (12331) étant le port d'écoute du serveur WEB associé à DB2 Web Query.

vérifiez le par NETSTAT *CNN

                        Work with IPv4 Connection Status                       
Système: AS400
Type options, press Enter.
3=Enable debug 4=End 5=Display details 6=Disable debug
8=Display jobs

Remote Remote Local
Opt Address Port Port Idle Time State
* * hprip-ctl 129:14:00 *UDP
* * hprip-n > 129:14:00 *UDP
* * hprip-h > 129:14:00 *UDP
* * hprip-med 129:14:00 *UDP
* * hprip-low 129:14:00 *UDP
* * 12331 000:33:56 Listen
* * 12332 000:45:46 Listen
* * 12333 123:29:25 Listen
* * 12335 024:40:25 Listen
* * 12336 000:36:20 Listen
* * 12338 030:13:25 Listen


Voyez aussi la commande WRKWEBQRY

Autres commandes (toujours dans QWEBQRY)

les dernières versions nous proposent bien mieux (version standard, pas express) !

En Batch : la nouvelle commande RUNWQFEX, qui sait lancer n'importe quel rapport (y compris générant un graphe par exemple)

Il faudra renseigner


Enfin depuis la version 2.1 (toujours version standard) vous pourrez accéder aux rapports en mode web services

Tapez comme URL http://as400:12331/wqsoa pour un accès SOAP, http://as400:12331/wqrax pour un accès REST

Une authentification HTTP vous sera demandée (ici sous Chrome)

Puis on vous affiche la liste des "Top Level Folder"

Naviguez et cliquez sur un rapport, cela le lance :

L'URL affichée ici, peut être lancée directement (http://AS400:12331/wqrax/report?qwqPath=Top_Level_Folder/chemin/MonRapport.fex)

Pour ignorer la phase d'authentification, modifiez le fichier de paramétrage :

/qibm/userdata/qwebqry/extensions/wqrax.properties ou /qibm/userdata/qwebqry/extensions/wqsoa.properties

et mettez wqraxBasicAuthEnabled=false, vous pourrez alors,

  1. mettre profil et mot de passe dans l'URL : MonRapport.fex&wqraxUser=QUSER&wqraxPassword=ABC123
  2. mettre profil et mot de passe dans le fichier de paramétrage

 Pour plus de détails voyez :

 

Paramétrage suite -> Code Page et paramétrage de la langue

 

Avec votre navigateur allez à l'URL suivante : <votre-as400>:12331/webquery

Signez vous QWQADMIN, puis dans administration demandez la console

NB : En dernières version (niveau 7 ou 8 des PTFs), il faudra plutôt utiliser la console de serveur
pour paramétrer le code page

(voir ci-dessous)

Avant,

Indiquez la page de code cliente : 137 pour l'EBCDIC ou UNICODE

 

puis indiquez les autres langues possibles (suivant vos utilisateurs) afin de prévoir un changement de langue dynamique (au moins Anglais/Français)

et enfin paramétrez la présentation des données numériques en ajoutant dans les paramètres personnalisés

L'affichage de 3 millions et 25 centimes s'affiche :

CDN = OFF(dft) : 3,000,000.25
CDN = ON         : 3.000.000,25
CDN = SPACE  : 3 000 000,25

Nouveau en 2013, autorisation du choix du format de sortie, par l'utilisateur



->


Pour terminer vous pouvez éditer /qibm/userdata/qwebqry/ibi/srv77/wfs/etc/nlscfg.err
(/QIBM/USERDATA/qwebqry est le répertoire contenant NOTRE paramétrage)

en ajoutant :

CURRENCY = EUR

SI vous devez afficher des données en UNICODE

  1. Sur la console (paramètres NLS) indiquez 65001

  2. Arrêter le serveur par ENDWEBQRY

  3. Vérifiez et éditez si besoin, la configuration du serveur d'application

    /edtf /  qibm/userdata/qwebqry/ibi/webfocus77/WQLWI77/lwi/conf/overrides/i5javaopts.javaopt

    le fichier doit inclure la ligne suivante :
    -Dfile.encoding=UTF8

  4. Ouvrez une session 5250 avec le profil d'administration et lancez la commande

    WQSETNLS 65002

  5. Redémarrez DB2 Web Query (STRWEBQRY)



Console du serveur (PTF niveau 7 ou 8) permet de réaliser ces opérations simplement



Choisissez Espace de travail/NLS



vous verrez tous les paramètres liés au langage

C'est ici que vous pourrez indiquer la code page pour UNICODE


L'enregistrement intègre la commande WQSETNLS


 

Enregistrement des utilisateurs

Signez vous QWQADMIN puis prenez l'option Centre de sécurité





Vous avez à gauche la liste des utilisateurs autorisés, a droite les droits qui leur sont accordés

Pour ajouter un nouvel utilisateur

Pour chaque répertoire racine (domaine) créé, DB2 Web Query propose 6 groupes

Pour activer un accès par Groupe (option 6 , Runtime Enablement)

Cliquez sur le Groupe d'exécution du Toplevel Folder (-run)


Choisissez parcourir, pour choisir un ou des groupes


Seuls les profils de groupe apparaissent

Et voilà


Tout cela doit apparaitre sous la commande WRKWEBQRY



Ensuite vérifiez que vous pouvez vous connecter en saisissant l'URL suivante : http://<votre-as400>:12331/webquery/:



EN V2.2

 

Pour une configuration d'un SSO avec EIM voyez la commande CFGWQSSO (SF99647 level 7)


Gestion des méta données.

Pour que des fichiers base de données soient accessibles, il faut que les métadonnées aient été générées.

 les métadonnées sont la représentation interne au produit de la structure et des caractéristiques des tables utilisables.

Elles peuvent être crées pour une application (dans un répertoire ou Top Level Folder) et ne seront visibles qu'à l'intérieur de celui-ci
ou bien dans baseapp qui est un répertoire commun et permet de déclarer les fichiers de bases, utilisables dans toutes les applications (client, sociétés, ...)

vous voyez cela dans serveurs de rapports

Ensuite, cliquez droit sur un répertoire

Il y a trois adaptateurs d'installés (il est possible d'en acheter d'autre comme celui permettant d'accéder à MySql ou Oracle)


Cliquez sur un élément et demandez la création de synonyme

Pour DB2/Cli

Choisissez entre :

•Commençons par les objets SQL :

Indiquez une bibliothèque et un masque (LIKE SQL) pour constituer la liste des objets à sélectionner


Notez l'application (le domaine) pour lequel ce synonyme est créé (dans notre exemple common)

rappel : si vous avez un doute pour le domaine (le titre pouvant être modifié), demandez la liste dans serveurs de rapport




Cochez "Avec clés étrangères" si vous avez mis en place l'intégrité référentielle, voir ci dessous

Sélectionnez les objets concernés et indiquez un préfixe (ou un suffixe) à attribuer.

Le préfixe semble être la meilleur solution, en effet,
la liste des objets pouvant être manipulés par un rapport est globale et classée par ordre alphabétique

la notion de préfixe (ici avec un _ ) permet de mieux classer cette liste

Et voilà

Quelques remarques sur cette partie :

1/ N'hésitez pas à créer des vues de façon à préparer la donnée , à la simplifier pour l'utilisateur/concepteur de rapports

2/ Si vous travaillez sur des tables sur lesquelles vous avez appliqué l'intégrité référentielle

Les autres sources possibles (scripts SQL, procédures) ainsi que le connecteur Query, représentent le résultat d'une requête.

Vous pouvez alors :

•Scripts SQL (fichier stream dans l'IFS utilisant la convention d'appellation système [ le / ] )


indiquez le répertoire et l'extension du fichier (.SQL par défaut)

 

• Procédure cataloguée (appel à un programme avec SET RESULT SETS)

Soit cette table et cette procédure

CREATE PROCEDURE FORMATIONX.LSTCLIENTS (
IN SOCIETE CHAR(1) )
DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
 DECLARE C1 CURSOR FOR SELECT NOCLI , RAISOC
   FROM FORLATIONX . MESCLIENTS WHERE SOC = SOCIETE ;
OPEN C1 ;
SET RESULT SETS CURSOR C1 ;
END ;




indiquez la bibliothèque où est enregistrée la procédure par CREATE PROCEDURE et la procédure


Confirmez

Renseignez les paramètres en entrée, s'il le faut.

La procédure doit retourner un jeu de résultat (RESULT SETS) au client.

Le CALL est exécuté, afin de retrouver la structure retournée



Quand vous utiliserez la procédure dans un rapport, vous devez voir deux parties


Autres connecteurs livrés de base :


Depuis SF99647 level 4 , nous pouvons demander à DB2 Web Query de travailler avec *LIBL

Pour ne pas mémoriser de bibliothèque dans les Métadonnées, cochez nom à partie unique

il existe un paramètre équivalent sous CRTWQSYN -> QUALLIB(*NO)


Vous travaillez alors avec la liste de bibliothèque de la JOBD de l'utilisateur connecté.

 

Si vous souhaitez une liste de bibliothèque dynamique, vous devez :


 

Dans tous les cas de figure, un synonyme est représenté par deux fichiers (au moins) dans /QIBM/UserData/qwebqry/apps

   Par exemple :
   FIELDNAME=ADRESSE, ALIAS=ADRESSE, USAGE=A60, ACTUAL=A60,
    MISSING=ON, $ pour une zone ADRESSE
 

FIELDNAME est le nom utilisé par DB2 Web Query, vous pouvez le modifier (ou utiliser le produit optionnel WorkBench)

ALIAS est le nom de zone dans la base, n'y touchez pas !

 

Il va sans dire qu'il s'agit de copie d'information à un instant T, si la structure change vous devez régénérer le synonyme (Query particulièrement)

Pour faire cela la version 2 propose une option (MétaDonnée/Modifier), permettant de voir les métadonées existantes.

Toujours dans console du serveur



Applications


Remarquez l'option "Modifer en mode texte" qui propose la modification du fichier .mas
    

L'option "Ouvrir", quant à elle propose une maintenance aisée des métadonnées (ce qui n'était possible avant qu'avec le WorkBench)


Les possibilités d'action étant nombreuses


Cette version 2.1 apporte aussi une nouvelle commande pour les synonymes, en mode 5250 :

CRTWQSYN

 

Paramètres

 


Enfin, voici la manière d'installer le plug-in Client pour Excel

Copiez les deux fichiers wsclient.xla et wsclient.cfg situés dans /QIBM/ProdData/qwebqry/base80/utilities/quickdata

placez les dans C:\Users\<votre-nom>\AppData\Roaming\Microsoft\AddIns

lancez Excel , cliquez sur Fichier / Options

choisissez Compléments / Web Query Spreadsheet Client et le bouton Atteindre

activez le plug-in

 

Ensuite, dans une feuille de calcul, utilisez

 

Indiquez un serveur

identifiez vous

Un Top Level Folder (pour les méta données)

Choisissez une source de données

Concevez votre rapport

à la sortie

 

les données sont insérées dans la feuille de calcul

la requête peut être modifiée, les données réactualisées :


Sauvegarde

 

Localisation des informations :

  1. les synonymes ou méta-données sont stockées dans /QIBM/UserData/qwebqry/apps

  2. Votre paramétrage dans dans /QIBM/UserData/qwebqry/base80
  3. Si vous avez personnalisé la serveur d'application /QIBM/UserData/qwebqry/WQLWI80 | WQLIB85
  4. WQRAX (accès en mode Web service) dans /QIBM/UserData/qwebqry/extension


  5. Le reste (rapport, planning, RTE) est dans la bibliothèque QWQREPOS


  6. Enfin les droits sont attribués par des listes d'autorisation QWQxxxxx
     le document suivant donne un exemple de CL pour les dupliquer : Backup Guide



Vous pouvez aussi Exporter/Importer des éléments (vous devez être administrateur pour accéder à cette fonction)



Une nouvelle fenêtre s'affiche, glissez alors les répertoires ou les rapports à sauvegarder


Puis sauvegardez


Tout se trouve dans /QIBM/UserData/qwebqry/base80/cm/export

Vous pouvez alors placer le contenu de ce répertoire dans /QIBM/UserData/qwebqry/base80/cm/import d'une autre machine et Importer




Les dernières versions (juillet 2015) proposent une nouvelle commande :

sur la machine source : QWEBQRY/MIGWEBQRY TYPE(*DIFSYS) PHASE(*SAVE)

sur la machine cible    : QWEBQRY/MIGWEBQRY TYPE(*DIFSYS) PHASE(*RESTORE)

puis
QWEBQRY/MIGWEBQRY TYPE(*DIFSYS) PHASE(*CLEANUP) sur mes deux systèmes, pour nettoyer les fichiers temporaires



(C) Volubis 2015