2.2. L'installation d'un groupement déployable standard

Pour installer Red Hat JBoss BPM Suite sur Red Hat JBoss Server Web (EWS), veuillez utiliser le paquet déployable générique du produit.
Pour l'installation sur EWS, le paquet déployable générique contient le gestionnaire de transactions supplémentaires et les bibliothèques de sécurité qui ne font pas partie de Red Hat JBoss EWS.
Veuillez noter que pour installer le paquet déployable générique, vous avez besoin des fichiers ZIP suivants :
  • jboss-bpmsuite-VERSION-deployable-generic.zip : ce fichier contient les applications web business-central.war, dashbuilder.war et kie-server.war.
  • jboss-bpmsuite-VERSION-engine.zip : les bibliothèques d'exécution d'engine prises en charge pour l'intégration de engine dans votre application et autres bibliothèques nécessaires pour un déploiement générique.

2.2.1. Téléchargement du paquet déployable standard

Pour télécharger le paquet Red Hat JBoss BPM Suite dans JBoss Web Server, procéder ainsi :
  1. Connectez-vous au Portail Client Red Hat.
  2. Cliquer sur DOWNLOADS en haut de la page.
  3. À partir de la liste de produits, sélectionnez Red Hat JBoss BPM Suite.
  4. À partir du menu déroulant Version, sélectionnez la version 6.3.0 (si cela n'est pas déjà fait).
  5. Dans la section Téléchargements de logiciels qui s'affiche, allez sur la ligne Red Hat JBoss BPM Suite 6.3.0 Deployable for All Supported Containers puis cliquez sur Télécharger.
  6. Placez-vous sur la ligne des fichiers Red Hat JBoss BPM Suite 6.3.0 Core Engine, puis cliquez sur Télécharger pour télécharger les fichiers Red Hat JBoss BPM Suite Engine.

2.2.2. Installation d'un paquet déployable standard

Pour installer le paquet déployable générique, vous devez mettre en place ce qui suit après avoir installé la plateforme sous-jacente (Red Hat JBoss WS):

2.2.2.1. Installer le gestionnaire de transactions dans Red Hat JBoss Web Server 2.1 (Tomcat 7)

  1. Extraire le paquet zip déployable que vous avez téléchargé à partir du Portail Client Red Hat vers un emplacement temporaire. Ce paquet zip contient les trois archives d'application web suivantes : business-central.war, dashbuilder.war et kie-server.war dans un format éclaté. Renommez ces dossiers pour supprimer l'extension .war.
  2. Copiez ces dossiers directement dans le dossier $TOMCAT_DIR/webapps.
    Vous devriez obtenir trois dossiers dans un format éclaté : $TOMCAT_DIR/webapps/business-central, $TOMCAT_DIR/webapps/dashbuilder et $TOMCAT_DIR/webapps/kie-server.

    Note

    $TOMCAT_DIR correspond au répertoire d'accueil où se situe le serveur web. Remplacez-le par le chemin actuel qui mène au répertoire d'accueil de votre serveur web, ainsi : /home/john/jboss-ews-2.1/tomcat7/
  3. Extraire le contenu de l'archive des fichiers Red Hat JBoss BPM Suite Engine vers un emplacement temporaire à partir duquel vous pourrez copier les bibliothèques dont vous avez besoin. Ce dossier contient maintenant toutes les bibliothèques Red Hat JBoss BPM Suite principales dans le dossier extrait et le dossier lib.
  4. Installer le gestionnaire de transactions.

    Avertissement

    Veuillez noter que la section suivante décrit l'installation d'un gestionnaire de transaction, Bitronix, qui n'est pas officiellement pris en charge par Red Hat.
    Copiez les bibliothèques jar du gestionnaire de transactions suivantes à partir du dossier lib vers le répertoire $TOMCAT_DIR/lib/ :
    • btm-VERSION.jar
    • btm-tomcat55-lifecycle-VERSION.jar
    • jta-VERSION.jar
    • slf4j-api-VERSION.jar
    • slf4j-jdk14-VERSION.jar
    De plus, téléchargez la bibliothèque suivante et copiez-la dans le dossier $TOMCAT_DIR/lib/ également :
  5. Installez le pilote sur votre base de données
    Copiez le fichier jar et le pilote de base de donnée qui convient dans $TOMCAT_DIR/lib/.

    Note

    Si vous utilisez la base de données H2 intégrée, le pilote sera disponible dans business-central/WEB-INF/lib/.
  6. Créer les fichiers de configuration du gestionnaire de transactions dans $TOMCAT_DIR/conf/ :
    • btm-config.properties
      bitronix.tm.serverId=tomcat-btm-node0
      bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog
      bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog
      bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties
      
    • resources.properties (le resource.ds1.uniqueName définit le nom de la source de données utilisée dans la définition de ressource tomcat par la suite - et notez cette valeur).
      Veillez à bien changer les valeurs dans les définitions suivantes pour qu'elles correspondent bien à votre environnement.

      Exemple 2.1. Définition de source de données H2

      resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=10
      resource.ds1.maxPoolSize=20
      resource.ds1.driverProperties.driverClassName=org.h2.Driver
      resource.ds1.driverProperties.url=jdbc:h2:file:~/jbpm
      resource.ds1.driverProperties.user=sa
      resource.ds1.driverProperties.password=
      resource.ds1.allowLocalTransactions=true

      Exemple 2.2. Définition de source de données MySQL 5.5

      resource.ds1.className=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:mysql://localhost:3306/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemple 2.3. Définition de source de données DB2 de Type 4

      resource.ds1.className=com.ibm.db2.jcc.DB2Driver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:db2://localhost:50000/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemple 2.4. Définition de source de données Oracle

      resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:oracle:thin:@//localhost:1521/bpms
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemple 2.5. Définition de source de données Microsoft SQL Server

      resource.ds1.className=com.microsoft.sqlserver.jdbc.SQLServerDriver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:sqlserver://localhost:1433;databaseName=bpms;
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true
  7. Installez le listener du gestionnaire de transaction dans $TOMCAT_DIR /conf/server.xml pour démarrer et arrêter le Bitronix sur arrêt et démarrage du conteneur :
    Ajouter l'élément suivant comme dernier élément <Listener> dans l'élément <Server> :
    <Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
  8. Définissez la propriété système btm.root et l'emplacement où le fichier de config bitronix se trouve :
    Dans $TOMCAT_DIR/bin/, créez un fichier setenv.sh accessible en lecture avec le contenu suivant :
    CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Djava.security.auth.login.config=$CATALINA_HOME/webapps/business-central/WEB-INF/classes/login.config -Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"
    La propriété java.security.auth.login.config doit être définie pour que le clone ssh du référentiel git fonctionne.

    Important

    Dans les systèmes Microsoft Windows, remplacez la valeur $CATALINA_HOME du contenu du fichier par le nom de la variable d'environnement équivalente ou utilisez le chemin complet et ajoutez les valeurs dans le fichier setenv.bat comme dans l'exemple suivant :
    set "CATALINA_OPTS=-Xmx512m -XX:MaxPermSize=512m -Djava.security.auth.login.config=C:\apache-tomcat\webapps\business-central\WEB-INF\classes\login.config -Dbtm.root=C:\apache-tomcat -Dbitronix.tm.configuration=C:\apache-tomcat\conf\btm-config.properties -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"

2.2.2.2. Installation de Business Central dans Red Hat JBoss Web Server 2.0 (Tomcat 7)

Pour installer Business Central, procédez ainsi :
  1. Installez une Valve pour que l'application web de Web Central puisse télécharger les utilisateurs créés dans Tomcat :
    1. Définissez les utilisateurs et les rôles dans $TOMCAT_DIR/conf/tomcat-users.xml. Notez que Business Central nécessite que les utilisateurs aient les rôles admin et/ou analyst (pour obtenir plus d'informations sur les définitions de rôle ou d'utilisateur, veuillez consulter la documentation Tomcat 7).
      La liste de programme ci-dessous est un exemple qui montre comment ces deux rôles peuvent être ajoutés et comment affecter ces rôles à un utilisateur nommé bpmsadmin.

      Note

      Assurez-vous que les utilisateurs et les rôles ne portent pas le même nom. Par exemple, ne donnez pas le nom admin à un utilisateur.
        <role rolename="admin"/>
        <role rolename="analyst" />
        <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>
      
    2. Déplacez (ne copiez pas) kie-tomcat-integration-VERSION.jar de $TOMCAT_DIR/webapps/business-central/WEB-INF/lib/ dans $TOMCAT_DIR/lib/.
    3. Copiez jboss-jaxb-api-VERSION.jar de $TOMCAT_DIR/webapps/business-central/WEB-INF/lib/ dans $TOMCAT_DIR/lib/.
    4. Dans $TOMCAT_DIR/conf/server.xml, ajoutez la déclaration de Valve Tomcat dans l'élément <hôte> qui convient :
      <Valve className="org.kie.integration.tomcat.JACCValve" />
  2. Si vous utilisez une source de données autre que la valeur par défaut fournie par la base de données sous-jacente de H2, vous aurez besoin d'installer une persistance. Si vous utilisez la base de données de H2 par défaut, vous pouvez alors ignorer le reste des étapes de cette procédure.
    Dans cette procédure, vous configurez une source de données avec le nom JNDI jdbc/myDatasource défini dans uniqueName=jdbc/jbpm du fichier bitronix resources.properties précédent (pour l'option MySQL).
    1. Dans business-central/META-INF/context.xml, remplacez le nom JNDI de la source de données de l'élément <Resource>. L'attribut uniqueName se rapporte à la propriété resource.ds1.uniqueName définie dans resources.properties :
      <Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
    2. Dans business-central/WEB-INF/web.xml, remplacez le nom JNDI de la source de données de l'élément >res-ref-name< par le nom de votre source de données :
      <resource-ref>
              <description>Console DS</description>
              <res-ref-name>jdbc/myDatasource</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
      </resource-ref>
    3. Modifiez business-central/WEB-INF/classes/META-INF/persistence.xml.
      Dans ce fichier, modifiez le nom du dialecte hibernate utilisé dans votre base de données, si vous utilisez une autre base de données que H2. Le code ci-dessous montre les informations de la base de données d'origine de persistence.xml :
      <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
      Cette information peut être mise à jour de la manière suivante (comme démontré dans la base de données MySQL ci-dessous) :
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>

      Note

      Le dialecte de DB2 est org.hibernate.dialect.DB2Dialect, de DB2 dans AS/400 est org.hibernate.dialect.DB2400Dialect, d'Oracle est org.hibernate.dialect.Oracle10gDialect et de Microsoft SQL Server est org.hibernate.dialect.SQLServerDialect.
    4. Modifiez le fichier business-central/WEB-INF/classes/META-INF/persistence.xml de façon à ce que le moteur de processus Red Hat JBoss BPM Suite puisse utiliser la nouvelle base de données.
      Le code ci-dessous démontre les informations de la source de données d'origine pour persistence.xml :
      <jta-data-source>java:comp/env/jdbc/jbpm</jta-data-source>
      Modifiez cette valeur pour qu'elle corresponde à la valeur de la source de données définie plus tôt :
      <jta-data-source>java:comp/env/jdbc/myDatasource</jta-data-source>
  3. Vous pouvez démarrer dès maintenant le JBoss Web Server pour vous connecter à Business Central.
    1. Exécutez startup.sh dans le répertoire $TOMCAT_HOME/bin.
      ./startup.sh
    2. Naviguer vers http://localhost:8080/business-central dans un navigateur web.
    3. Connectez-vous avec le nom d'utilisateur et le mot de passe définis précédemment dans le fichier tomcat-users.xml.

2.2.2.3. Installation de Dashbuilder dans Red Hat JBoss Web Server 2.0 (Tomcat 7)

Note

Avant d'installer Dashbuilder sur Red Hat JBoss Web Server, vous devez vous assurer que vous avez installé et démarré correctement Business Central comme expliqué dans Section 2.2.2.2, « Installation de Business Central dans Red Hat JBoss Web Server 2.0 (Tomcat 7) ». Dashbuilder requiert la présence des tableaux de base de données de journalisation, qui sont uniquement fournis par Business Central. Si ces tableaux ne sont pas présents dans la base de données avant de reproduire les étapes ci-dessous, vous pourriez avoir des erreurs d'initialisation.
Pour installer Dashbuilder dans Red Hat JBoss Web Server, procédez ainsi :
  1. Définissez les utilisateurs et les rôles dans $TOMCAT_DIR/conf/tomcat-users.xml. Notez que Dashbuilder exige que les utilisateurs aient les rôles admin et/ou analyst. Si vous avez déjà défini ces utilisateurs plus tôt dans Business-Central, vous n'avez pas besoin de les définir à nouveau.
  2. Activez un seul sign-on entre Dashbuilder et Business Central en annulant le commentaire des lignes suivantes dans le fichier $TOMCAT_DIR/conf/server.xml :
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  3. Comme dans l'installation Business Central, si vous utilisez une base de données autre que la base de données par défaut et la base de données H2 intégrée, vous devrez installer une persistance.
    Dans cette procédure, vous configurez une source de données avec le nom JNDI jdbc/dashbuilderDS défini dans uniqueName=jdbc/jbpm dans le fichier bitronix resources.properties :
    1. Dans dashbuilder/META-INF/context.xml, remplacer le nom JNDI de la source de données de l'élément <Resource>. L'attribut uniqueName se rapporte à la propriété resource.ds1.uniqueName définie dans resources.properties :
      <Resource name="jdbc/dashbuilderDS" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>

      Note

      Suivant votre base de données, vous souhaiterez peut-être définir d'autres propriétés. Par exemple, dans un environnement Oracle, cette entrée peut ressembler au listing suivant.
      <Resource name="jdbc/jbpm" uniqueName="jdbc/jbpm" auth="Container"  removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource" username="username" password="password"  driverClassName="oracle.jdbc.xa.client.OracleXADataSource" url="jdbc:oracle:thin:YOUR-URL:1521:YOUR-DB" maxActive="8" />
      
    2. Dans dashbuilder/WEB-INF/web.xml, ajoutez le nom JNDI de la source de données de l'élément >res-ref-name< par le nom de votre source de données :
      <resource-ref>
          <description>Dashboard Builder Datasource</description>
          <res-ref-name>jdbc/dashbuilderDS</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
    3. Dans dashbuilder/META-INF/context.xml, définissez la fabrique de transactions :
       <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
    4. Mettez à jour le nom JNDI de la base de données dans dashbuilder/WEB-INF/etc/hibernate.cfg.xml de l'élément <session-factory> :
      <property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>
  4. Redémarrez le serveur web pour appliquer les changements. Une fois redémarré, vous pourrez vous rendre dans Dashbuilder à partir de Business Central ou directement via : http://localhost:8080/dashbuilder.