Scénario : Activation de l'exécution pureQuery avec WebSphere Application Server

Après avoir installé l'exécution pureQuery, vous devez configurer WebSphere Application Server avec l'emplacement des fichiers pureQuery JAR, afin de pouvoir utiliser l'optimisation client pureQuery avec une application WebSphere.

Avant de commencer

Ce scénario suppose la configuration suivante :
  • Un serveur WebSphere Application Server est installé et un fournisseur JDBC est défini pour IBM® Data Server Driver for JDBC and SQLJ.

    Une application Web simple appelée TestStaticProfileEAR s'exécute dans WebSphere Application Server.

  • L'exécution pureQuery est installée à un emplacement accessible pour WebSphere Application Server.

    Les fichiers d'exécution pureQuery sont installés dans le répertoire C:\PureQueryRuntime et le processus d'installation a créé la variable d'environnement PDQ_JAR_PATH.

    Pour plus d'informations sur l'installation de l'exécution pureQuery, voir Installing Optim pureQuery Runtime for Linux, UNIX et Windows.

Pourquoi et quand exécuter cette tâche

Afin de rendre disponibles les fichiers JAR d'exécution pureQuery pour les chargeurs de classe WebSphere Application Server, vous installez l'exécution pureQuery sur le système WebSphere. Dans l'environnement WebSphere, vous placez les fichiers pureQuery JAR pdq.jar et pdqmgmt.jar dans la variable CLASSPATH de DB2 Universal Driver Provider. Les étapes suivantes sont effectuées à partir de la console d'administration pour WebSphere Application Server version 6.1.

Cette tâche est destinée à une application Web simple comportant un module WEB qui s'exécute dans un serveur WebSphere Application Server. Vous utilisez une suite d'étapes similaire pour des applications constituées de plusieurs modules, notamment de modules EJB.

Procédure

Pour activer l'exécution pureQuery avec WebSphere Application Server :

  1. Ajoutez les fichiers JAR pureQuery pdq.jar et pdqmgmt.jar dans la variable CLASSPATH de DB2 Universal Driver Provider.

    Effectuez les étapes suivantes à partir de la console d'administration :

    1. Créez une variable d'environnement WebSphere afin de pointer vers le chemin du système de fichiers JAR d'exécution pureQuery.
      Sélectionnez Resources > Resource Environment.
      Tableau 1. Variable d'environnement WebSphere pour l'exécution pureQuery
      Variable d'environnement WebSphere Valeur
      PDQ_JAR_PATH C:\PureQueryRuntime
    2. Ajoutez l'emplacement des fichiers JAR d'exécution pureQuery à la variable CLASSPATH de DB2 Universal Driver JDBC provider.

      Sélectionnez Resources > JDBC providers > DB2 Universal Driver Provider. Dans la fenêtre General Properties, ajoutez des chemins aux fichiers JAR de l'exécution pureQuery après les fichiers JAR du pilote dans la sous-fenêtre Class path.

      Le chemin d'accès aux classes contient à la fois les fichiers JAR JDBC DB2 et les fichiers JAR de l'exécution pureQuery :
      ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar
      ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar
      ${PDQ_JAR_PATH}/pdq.jar
      ${PDQ_JAR_PATH}/pdqmgmt.jar
      Important : Les fichiers JAR d'exécution pureQuery doivent se trouver dans le même chemin d'accès aux classes que le pilote JDBC. L'exécution pureQuery fonctionne avec le pilote JDBC. Le chargeur de classe qui charge les fichiers JAR du pilote JDBC doit également charger les fichiers JAR de l'exécution pureQuery. L'exécution pureQuery ne fonctionnera pas correctement si le chemin des fichiers JAR d'exécution pureQuery se trouve dans une autre variable CLASSPATH.
    3. Enregistrez les paramètres WebSphere après avoir effectué les modifications.
  2. Vérifiez que les fichiers JAR sont placés correctement.

    Sélectionnez Troubleshooting > ClassLoader Viewer dans la console d'administration. Les fichiers JAR d'exécution pureQuery apparaissent dans la liste des fichiers qui est similaire à la liste suivante :

    . . .
    
    file:/C:/SQLLIB/java/db2jcc.jar
    file:C:/SQLLIB/java/db2jcc_license_cisuz.jar
    file:/C:/PureQueryRuntime/pdq.jar
    file:/C:/PureQueryRuntime/pdqmgmt.jar
    . . .
  3. Vérifiez que l'exécution pureQuery est installée correctement dans l'environnement WebSphere en exécutant l'utilitaire pureQuery DataVersion.

    A partir d'une fenêtre de commande, exécutez une commande du type suivant :

    java -cp "C:/PureQueryRuntime/pdq.jar; C:/PureQueryRuntime/pdqmgmt.jar; 
     C:/SQLLIB/java/db2jcc.jar; C:/SQLLIB/java/db2jcc_license_cisuz.jar"
     com.ibm.pdq.tools.DataVersion -configuration -url url -username <user> -password pass 

    Dans l'option -cp de la commande, remplacez le chemin C:/PureQueryRuntime par le chemin que vous avez défini pour la variable d'environnement WebSphere ${PDQ_JAR_PATH} et remplacez le chemin C:/SQLLIB/java par la variable d'environnement WebSphere {UNIVERSAL_JDBC_DRIVER_PATH}. Vous pouvez également créer des variables d'environnement d'interpréteur de commandes qui sont définies aux valeurs appropriées. Ces variables pointent vers l'emplacement des fichiers JAR d'exécution pureQuery et des fichiers JAR d'IBM Data Server Driver for JDBC and SQLJ.

    Le texte suivant est un exemple de résultat de l'utilitaire pureQuery DataVersion :

    pureQuery Features: 
     pureQuery Base Function: Activated
     pureQuery runtime: Activated
     Extended Insight Monitor Server: Activated
    Global pureQuery properties in effect
    Note: These  be overridden by connection-specific settings:
    pdq.allowDynamicSQL=true
    pdq.captureMode=OFF
    pdq.captureStatementBatchSQL=ON
    pdq.capturedOnly=false
    pdq.cmx.controllerDiscoveryInterval=-1
    pdq.cmx.controllerDiscoveryPort=50000
    pdq.cmx.controllerURL=
    pdq.cmx.dataSourceLookupInterval=20
    pdq.cmx.multicastTimeToLive=10
    pdq.enableDynamicSQLReplacement=false
    pdq.executionMode=DYNAMIC
    pdq.maxNonParmSQL=-1
    pdq.maxResultRows=
    pdq.maxStackTracesCaptured=5
    pdq.outputPureQueryXml=
    pdq.packagePrefixExclusions=
    pdq.pureQueryXml=
    pdq.queryTimeoutInSeconds=
    pdq.sqlLiteralSubstitution=NOT_SET
    pdq.stackTraceDepth=10
    pdq.traceFile=pdq.log
    pdq.traceLevel=OFF 
    ...
  4. Redémarrez le serveur d'application.

Résultats

Une modification ayant été apportée au paramètre CLASSPATH de WebSphere, l'optimisation client pureQuery est activée pour les applications Web qui utilisent DB2 Universal Driver Provider.


Commentaires