Configuración de JBoss en clúster para trabajar con Bizagi

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Administración del Sistema Bizagi > Configuración del servidor Bizagi > Configuración de Bizagi Engine JEE > Configuración del Servidor de Aplicación JEE para trabajar con Bizagi > Configuración de JBoss > Configuración de JBoss para soporte a clúster >

Configuración de JBoss en clúster para trabajar con Bizagi

Con la edición Bizagi JEE, sus Procesos se pueden montar sobre diferentes Servidores de Aplicación JEE (p.e. WebSphere, WebLogic, o JBoss).

El procedimiento de configuración de cada Servidor de Aplicaciones para trabajar con Bizagi, varía ligeramente de acuerdo a las diferencias en sí de cada uno de los servidores.

 

Nótese que para el ambiente de desarrollo (con Bizagi Studio), no se requieren pasos de configuración dado que la edición de Bizagi JEE incluye una instancia de Servidor JBoss, el cual es embebido y configurado de manera automática.

 

 

Para mayor información sobre JBoss EAP 6.2 y sus requerimientos de sistema, consultar la documentación oficial de JBoss.

Para mayor información sobre el procedimiento e información general de esta sección, consulte Configuración de JBoss para soporte a clúster.

 

Prerrequisitos

Para configurar su instancia de JBoss en un ambiente de pruebas o producción, se requiere:

Tener instalado el JDK de JAVA en cada nodo del clúster. Se recomienda enfáticamente utilizar el JDK 7.

La variable de entorno JAVA_HOME configurada previamente (se recomienda que sea en una ruta sin espacios).

Tener a la mano los archivos de configuración (y de despliegue) requeridos por Bizagi (BizAgi-ear-JBoss-dist.zip).

El archivo BizAgi-ear-JBoss-dist.zip (incluido en la descarga de Bizagi Engine JEE JBoss) debe corresponder a la versión de Bizagi que ha usado en su ambiente de desarrollo (es decir, la versión de Bizagi Studio y el Plug-in JEE).

Tener instalado el Servidor JBoss.

La versión soportada es JBoss EAP 6.2.

Mayor información en la página oficial de JBoss (p.e de requerimientos de sistema y de su descarga). Usted podrá también utilizar la instalación de JBoss que se incluye en el Plug-in para JEE en su ambiente de desarrollo.

La variable de entorno JBOSS_HOME configurada previamente.

 

 

Sobre JBoss

Una vez revisados los prerrequisitos, la instalación de JBoss solamente requiere de extraer el contenido del zip (jboss-eap-6.2.0.zip) a una ruta local del servidor.

Se requiere que esta ruta no contenga espacios en blanco.

La ruta donde se extrae JBoss será referenciada como <JBOSS_HOME> a partir de este momento.

 

Para conocer más acerca de la instalació o troubleshooting de JBoss, le recomendamos consultar las guías del producto, disponibles en su sitio oficial.

 

Lo que debe hacerse

Para configurar una instancia de JBoss, siga estos pasos:

 

1. Extraer los archivos usados por Bizagi hacia JBoss.

Este paso se debe realizar para cada nodo de su clúster.

 

2. Configuración de un dominio para el clúster JBoss.

En este paso se considera la configuración de los Experto y conexiones.

Este paso se debe realizar para cada nodo de su clúster.

 

3. Creación de usuarios de administración y de aplicación.

Los pasos en este punto difieren para cada tipo de nodo, como se indica a detalle en esa sección.

 

4. Configuración de host (para el nodo maestro y nodos esclavos).

Los pasos en este punto difieren para cada tipo de nodo, como se indica a detalle en esa sección.

 

 

Procedimiento

Los siguientes pasos describen a detalle cómo configurar una instalación de JBoss por defecto.

 

 

note_pin

Realice la configuración como se indica a continuación, teniendo en cuenta que los nombres usados son sensibles a mayúsculas.

 

1. Extraer los archivos usados por Bizagi hacia JBoss

En este paso, se incluyen archivos usados por Bizagi en la instancia de JBoss (son archivos que no vienen por defecto en la instalación limpia).

Para ello, debe contar con el archivo de distribución que entrega Bizagi (BizAgi-ear-JBoss-dist.zip).

 

1.1 Extraer el contenido de este .zip hacia una ruta local sin espacios. Esta ruta será referenciada como <INSUMOS_DE_CONFIGURACIÓN> a partir de este momento.

 

Esto creará una carpeta llamada BizagiBPMJEE, que provee la siguientes estructura y archivos:

 

Window_2

 

Nótese que en nuestro caso <INSUMOS_DE_CONFIGURACIÓN> referencia la ruta  C:\BizagiJEE\.

 

 

Una vez que los archivos de configuración estén en su ruta local, ubíquelos en la ruta respectiva de JBoss, como se indica a continuación.

 

1.2 Copie las librerías de los Experto tomando toda la carpeta com (y sus carpetas y archivos internos), que se proveen en los archivos de configuración de Bizagi.

Copielos desde esta ruta:

<INSUMOS_DE_CONFIGURACIÓN>\configuration\modules\com

Y ubíquelos en esta ruta de JBoss:

<JBOSS_HOME>\modules\

 

Por medio de esta acción se copian las librerías de autenticación (bizagi-jaas-[version].jar, bizagi-remote-[version].jar, bizagi-security-common-[version].jar), los JDBC y drivers de bases de datos (ojdbc6-[version].jar, ojdbc6-[version].jar, sqljdbc-[version].jar), al igual que utilitarios adicionales (p.e, tools-[version].jar).

Al finalizar este paso, en los Experto de JBoss, se debe tener toda la estructura de la carpeta com, sus sub-directorios y librerías:
 

JBoss_cluster_modules

 

Nótese que esta acción también copiará los archivos module.xml para cada set de librerías.

Es importante revisar que en este archivo de definición se referencien las librerías correspondientes con su número de versión exacto (incluído en su nombre):

 

JBoss_cluster_xmls

 

1.3 Copie la librería del framework de persistencia que se llama eclipselink-[version].jar y también su archivo de definición xml (module.xml). Ambos se proveen desde los archivos de configuración de Bizagi.

Copielos desde esta ruta:

<INSUMOS_DE_CONFIGURACIÓN>\configuration\modules\org\eclipse\persistence\main\

Y ubíquelos en esta ruta de JBoss:

<JBOSS_HOME>\modules\org\eclipse\persistence\main\

 

El archivo module.xml que queda ubicado en <JBOSS_HOME>\modules\org\eclipse\persistence\main\ deberá tener el siguiente contenido:

 

JBoss_cluster_eclipselink

 

 

2. Configuración de un dominio para el clúster JBoss.

Al apoyarse en un dominio de clúster, se logra una administración centralizada de los nodos. Dentro de esta administración centralizada, se consideran las siguientes capacidades:

Cada nodo estará disponible para ser asignado con requests, e igualmente procesarlos.

Cada nodo reportará cambios para que estos sean propagados a los demás nodos.

Si por algún motivo, el nodo no tiene disponibilidad de servicio, los requests serán manejados y distribuídos apropiadamente entre los demás nodos.

 

 

Para configurar un dominio, lleve a cabo los siguientes pasos (para cada nodo de JBoss en su clúster):

 

2.1 Ubique el archivo domain.xml ubicado como <JBOSS_HOME>\domain\configuration y edite el archivo de acuerdo a las instrucciones específicas a continuación.

 

2.2 Incluya ajustes globales.

Ingrese 2 propiedades de sistema ubicando el elemento <system-properties> y asegurándose de incluir las siguientes líneas:

<property name="com.arjuna.ats.arjuna.allowMultipleLastResources" value="true"/>

<property name="org.jboss.as.logging.per-deployment" value="false"/>

 

El archivo domain.xml en este punto se verá como:

JBoss_cluster_domain_sysprops

 

 

Especifique las propiedades de autenticación y single sign-on, ubicando el elemento <virtual-server> dentro del subsistema web (correspondiente a <subsystem xmlns="urn:jboss:domain:web).

Realice este paso para cada elemento al incluir la siguiente línea:
<sso cache-container="web" cache-name="sso" reauthenticate="false"/>

 

El archivo en este punto se verá como:

JBoss_cluster_virtualserver

Nótese que deberá hacer esta modificación para cada perfil (aproximadamente 4 veces).

 

2.3 Edite el perfil de alta disponibilidad para incluir los drivers de bases de datos.

Realice esto ubicando el perfil llamado HA profile dentro del elemento <profiles>, y con las siguientes modificaciones:

Ubique el subsistema de datasources dentro de este perfil HA profile (correspondiente a <subsystem xmlns="urn:jboss:domain:datasources:1.1">").

 

Si usted utiliza SQL Server, reemplace la definición del elemento <datasources> por la siguiente:

 <datasources>

   <xa-datasource jndi-name="java:/BizAgiJava" pool-name="BizAgiJava"

     enabled="true" use-java-context="false" use-ccm="true">

     <xa-datasource-property name="ServerName">[Database_Server]</xa-datasource-property>

     <xa-datasource-property name="DatabaseName">[Database_Name]</xa-datasource-property>

     <xa-datasource-property name="User">[Database_User]</xa-datasource-property>

     <xa-datasource-property name="Password">[Database_Password]</xa-datasource-property>

     <driver>MICROSOFTSQLSERVERXA</driver>

   </xa-datasource>

   <drivers>

     <driver name="MICROSOFTSQLSERVER" module="com.microsoft.sqlserver">

       <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>

     </driver>

     <driver name="MICROSOFTSQLSERVERXA" module="com.microsoft.sqlserver">

       <xa-datasource-class>

         com.microsoft.sqlserver.jdbc.SQLServerXADataSource

       </xa-datasource-class>

     </driver>

     <driver name="ORACLE" module="com.oracle.ojdbc6">

       <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

     </driver>

     <driver name="BIZAGI" module="com.bizagi.jdbc">

       <driver-class>bizagi.jdbc.BizAgiDriver</driver-class>

     </driver>

   </drivers>

 </datasources>

 

Considere:

[Database_Server]: El nombre o IP del servidor de Base de datos SQL Server, con el nombre de la instancia si aplica.

[Database_Name]: El nombre de la Base de datos que corresponde al proyecto de Bizagi.

[Database_User]: La cuenta login para acceder a la instancia de SQL Server.

[Database_Password]: La contraseña para la cuenta login.

 

 

El archivo en este punto al utilizar SQL Server se verá como:

JBoss_cluster_domain_datasources

 

Si usted utiliza Oracle, reemplace la definición del elemento <datasources> por la siguiente:

 <datasources>

   <xa-datasource jndi-name="java:/BizAgiJava" pool-name="BizAgiJava"

     enabled="true" use-java-context="false" use-ccm="true">

 <xa-datasource-property name="URL">jdbc:oracle:thin:@[Database_Server]:[Port_Number]:[Database_Identification]</xa-datasource-property>

 <xa-datasource-property name="User">[Database_User]</xa-datasource-property>

 <xa-datasource-property name="Password">[Database_Password]</xa-datasource-property>    

     <driver>ORACLE</driver>

   </xa-datasource>

   <drivers>

     <driver name="MICROSOFTSQLSERVER" module="com.microsoft.sqlserver">

       <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>

     </driver>

     <driver name="MICROSOFTSQLSERVERXA" module="com.microsoft.sqlserver">

       <xa-datasource-class>

         com.microsoft.sqlserver.jdbc.SQLServerXADataSource

       </xa-datasource-class>

     </driver>

     <driver name="ORACLE" module="com.oracle.ojdbc6">

       <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

     </driver>

     <driver name="BIZAGI" module="com.bizagi.jdbc">

       <driver-class>bizagi.jdbc.BizAgiDriver</driver-class>

     </driver>

   </drivers>

 </datasources>

 

Considere:

[Database_Server]: El nombre o IP del servidor de Base de datos de la instancia Oracle.

[Port_Number]: El número del puerto bajo el cual el servicio atiende (por defecto es el 1521).

[Database_Identification]: El ID de la instancia de Oracle.

[Database_User]: El nombre del esquema de usuario en Oracle, que representa el proyecto de Bizagi.

[Database_Password]: La contraseña para ese esquema de usuario.

 

 

El archivo en este punto al utilizar Oracle se verá como:

JBoss_cluster_domain_oracle

 

 

2.4 Edite el perfil de alta disponibilidad (el mismo HA profile) para definir configuración adicional.

Para ello:

Incluya una definición de <mdb> dentro del subsistema de EJB (correspondiente a xmlns="urn:jboss:domain:ejb3).

Podrá hacer esto entre los elementos <session-bean> y <pools>.

                         <mdb>

                                 <resource-adapter-ref resource-adapter-name="hornetq-ra"/>

                                 <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>

                         </mdb>

 

El archivo en este punto se verá como:

JBoss_cluster_mdb

 

 

Edite las últimas líneas de este mismo subsistema (xmlns="urn:jboss:domain:ejb3.), para configurar BizAgiRealm como el dominio de seguridad por defecto, y para contemplar un manejo por defecto.

Al editar estas líneas, ubique los elementos default-security-domain y default-missing-method-permissions-deny-access para editar sus valores. Configúrelas como:

 <default-security-domain value="BizAgiRealm"/>

 <default-missing-method-permissions-deny-access value="false"/>

 

El archivo en este punto se verá como:

 

 

JBoss_cluster_BizagiRealm

 

Incluya la siguiente definición de mensajería, como el elemento <subsystem> de mensajería seguido del elemento de definición de mail (correspondiente a xmlns="urn:jboss:domain:mail).

<subsystem xmlns="urn:jboss:domain:messaging:1.2">

 <hornetq-server>

   <clustered>true</clustered>

   <persistence-enabled>false</persistence-enabled>

   <security-enabled>false</security-enabled>

   <cluster-password>newClusterPassword</cluster-password>

   <allow-failback>true</allow-failback>

   <shared-store>true</shared-store>

   <journal-type>NIO</journal-type>

   <journal-file-size>102400</journal-file-size>

   <journal-min-files>2</journal-min-files>

   <connectors>

     <netty-connector name="netty" socket-binding="messaging"/>

     <netty-connector name="netty-throughput" socket-binding="messaging-throughput">

       <param key="batch-delay" value="50"/>

     </netty-connector>

     <in-vm-connector name="in-vm" server-id="0"/>

   </connectors>

   <acceptors>

     <acceptor name="stomp-acceptor">

       <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>

       <param key="protocol" value="stomp"/>

       <param key="port" value="61613"/>

     </acceptor>

     <netty-acceptor name="netty" socket-binding="messaging"/>

     <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">

       <param key="batch-delay" value="50"/>

       <param key="direct-deliver" value="false"/>

     </netty-acceptor>

     <in-vm-acceptor name="in-vm" server-id="0"/>

   </acceptors>

   <broadcast-groups>

     <broadcast-group name="bg-group1">

       <group-address>231.7.7.7</group-address>

       <group-port>9876</group-port>

       <broadcast-period>1000</broadcast-period>

       <connector-ref>netty</connector-ref>

     </broadcast-group>

     </broadcast-groups>

   <discovery-groups>

     <discovery-group name="dg-group1">

       <group-address>231.7.7.7</group-address>

       <group-port>9876</group-port>

       <refresh-timeout>1000</refresh-timeout>

     </discovery-group>

   </discovery-groups>

   <cluster-connections>

     <cluster-connection name="my-cluster">

       <address>jms</address>

       <connector-ref>netty</connector-ref>

       <discovery-group-ref discovery-group-name="dg-group1"/>

     </cluster-connection>

   </cluster-connections>

   <security-settings>

     <security-setting match="#">

       <permission type="send" roles="rmirole guest"/>

       <permission type="consume" roles="rmirole guest"/>

       <permission type="createNonDurableQueue" roles="guest"/>

       <permission type="deleteNonDurableQueue" roles="guest"/>

     </security-setting>

   </security-settings>

   <address-settings>

     <address-setting match="#">

       <dead-letter-address>jms.queue.DLQ</dead-letter-address>

       <expiry-address>jms.queue.ExpiryQueue</expiry-address>

       <redelivery-delay>0</redelivery-delay>

       <max-size-bytes>10485760</max-size-bytes>

       <address-full-policy>BLOCK</address-full-policy>

       <message-counter-history-day-limit>10</message-counter-history-day-limit>

     </address-setting>

   </address-settings>

   <jms-connection-factories>

     <connection-factory name="InVmConnectionFactory">

       <connectors>

               <connector-ref connector-name="in-vm"/>

       </connectors>

       <entries>

         <entry name="java:/ConnectionFactory"/>

       </entries>

     </connection-factory>

     <connection-factory name="RemoteConnectionFactory">

       <connectors>

                 <connector-ref connector-name="netty"/>

       </connectors>

       <entries>

         <entry name="RemoteConnectionFactory"/>

         <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>

       </entries>

     </connection-factory>

     <connection-factory name="AsyncControllerFactory">

       <connectors>

         <connector-ref connector-name="netty"/>

       </connectors>

       <entries>

         <entry name="/AsyncControllerFactory"/>

       </entries>

     </connection-factory>

     <connection-factory name="EclipseLinkTopicConnectionFactory">

       <factory-type>TOPIC</factory-type>

       <connectors>

         <connector-ref connector-name="netty"/>

       </connectors>

       <entries>

         <entry name="java:jboss/exported/jms/EclipseLinkTopicConnectionFactory"/>

       </entries>

     </connection-factory>

     <pooled-connection-factory name="hornetq-ra">

       <transaction mode="xa"/>

       <connectors>

         <connector-ref connector-name="in-vm"/>

       </connectors>

       <entries>

         <entry name="java:/JmsXA"/>

       </entries>

     </pooled-connection-factory>

   </jms-connection-factories>

   <jms-destinations>

     <jms-queue name="testQueue">

       <entry name="queue/test"/>

     </jms-queue>

     <jms-queue name="AsyncController">

       <entry name="jms/AsyncController"/>

     </jms-queue>

     <jms-topic name="testTopic">

       <entry name="topic/test"/>

     </jms-topic>

     <jms-topic name="EclipseLinkTopic">

       <entry name="java:jboss/exported/jms/EclipseLinkTopic"/>

     </jms-topic>

   </jms-destinations>

 </hornetq-server>

</subsystem>

 

El archivo con esta definición, tendrá el fragmento inicial como se muestra a continuación:
 

JBoss_cluster_subsystem

 

Asegúrese de que el subsistema modcluster se defina explícitamente como:

           <subsystem xmlns="urn:jboss:domain:modcluster:1.1">

               <mod-cluster-config advertise-socket="modcluster" connector="ajp">

                   <dynamic-load-provider>

                       <load-metric type="busyness"/>

                   </dynamic-load-provider>

               </mod-cluster-config>

           </subsystem>

 

Incluya la definición del dominio de seguridad dentro del subsistema de seguridad (correspondiente a <subsystem xmlns="urn:jboss:domain:security:1.2">).

Para ello, ingrese este elemento security-domain dentro de la lista de <security-domains>:

   <security-domain name="BizAgiRealm" cache-type="default">

     <authentication>

       <login-module code="com.bizagi.security.jaas.BizAgiLoginModule" flag="required"

         module="com.bizagi.security"/>

     </authentication>

   </security-domain>

 

El archivo en este punto se verá como:

JBoss_cluster_security

 

Especifique uso de sockets y sus bindings, para el servicio de mensajería, primero ubicando el elemento <socket-binding-groups>.

Para el grupo a su interior que se ubica como <socket-binding-group name="ha-sockets" default-interface="public">, adicione lo siguiente:

     <socket-binding name="messaging" port="5445"/>

     <socket-binding name="messaging-group" port="0"

       multicast-address="${jboss.messaging.group.address:231.7.7.7}"

       multicast-port="${jboss.messaging.group.port:9876}"/>

     <socket-binding name="messaging-throughput" port="5455"/>

 

El archivo en este punto se verá como:

 

JBoss_cluster_socket

 

Ajuste los parámetros de la JVM ubicando el elemento <server-groups> al final del archivo, y reemplace la definición existente por la que proveemos a continuación:

 <server-groups>

   <server-group name="main-server-group" profile="ha">

     <jvm name="default">

       <heap size="64m" max-size="512m"/>

       <permgen size="256m" max-size="768m"/>

     </jvm>

     <socket-binding-group ref="ha-sockets"/>

   </server-group>

 </server-groups>

 

El archivo en este punto se verá como:

 

JBoss_cluster_JVM

 

Una vez realizado estos cambios, reinicie su servicio de JBoss.

 

3. Creación de usuarios de administración y de aplicación.

Para la configuración de Bizagi en JBoss, es estrictamente necesario crear mínimo un usuario administrador para la instancia en JBoss (usuario de JBoss).

Al configurar un clúster en JBoss, necesitará de usuarios adicionales para la comunicación entre los nodos.

 

Antes de continuar, nótese que en los siguientes pasos se ilustrará la creación de estos usuarios y su referenciación desde archivos.

Para el clúster, necesitamos definir previamente cuál de los nodos será el nodo maestro (master) que es controlador del dominio.

Los demás nodos serán nodos esclavos (slave).

 

3.1 Cree un usuario administrador para cada uno de los nodos.

Este usuario administrador será encargado de la administración del nodo, y se requiere por JBoss para el manejo de las instancias EAP.

 

Podrá hacer esto desde el nodo, a través una consola con las opciones de JBoss.

Utilice:

<JBOSS_HOME>\bin\add-user [usuario] [contraseña]

 

Para ello, asegúrese de especificar el nombre del usuario, seguido por una contraseña que contenga mínimo un número y un caracter especial.

Para la configuración de Bizagi es requerido que por lo menos cree el usuario administrador conla siguiente información:

Username: bizagi

Password: password1!

 

JBoss_cluster_mgmuser

 

 

3.2 Cree un usuario de aplicación para cada nodo de su clúster.

En este punto asegúrese de saber qué nodo de su clúster será el nodo maestro.

Para ello utilice desde el nodo maestro:

<JBOSS_HOME>\bin\add-user

 

Asegúrese de:

Seleccionar la opción b) que determina que sea un usuario de aplicación.

Apruebe la escogencia de ApplicationRealm.

Darle un nombre en común, tal como en los demás nodos (p.e, ejbcaller).

Proveer una contraseña que contenga mínimo un número y un caracter especial (p.e, password1!).

Ignore la configuración de grupos de usuario (solamente dar enter en este item).

Confirmar la acción (ingresando yes).

Especificar que si (yes) a la pregunta Is this user going to be used for one AS process to connect to another AS process?.

 

De esta manera usted obtendrá una llave encriptada que debe reemplazar en cada nodo esclavo.

Esto se realiza en el elemento <secret> ubicado dentro del archivo <JBOSS_HOME>\domain\configuration\host-slave.xml.

 

JBoss_cluster_mgmuser

 

JBoss_cluster_hostslave

 

 

 

4. Configuración de host (para el nodo maestro y nodos esclavos).

Una vez que haya creado sus usuarios, edite el archivo host.xml ubicado en la ruta <JBOSS_HOME>\domain\configuration.

 

Para cada uno de sus nodos, asegúrese de realizar estos ajustes:

Ubique el elemento<interfaces>, y configure alli la dirección IP de su nodo maestro, en el valor de <inet-address>:

 

JBoss_cluster_hostinterfaces

 

Ubique el elemento <jvms>, y ajuste la configuración de parámetros de la JVM para que se utilice lo siguiente:

<heap size="256m" max-size="512m"/>

<permgen size="256m" max-size="768m"/>

 

JBoss_cluster_hostJVM

 

Ubique el elemento <servers>, y ajuste la configuración de parámetros de la JVM para que sus nodos referencien las variables de entorno necesarias:

 



NET_HOME

Deberá tener la ruta del home JiNET (por ejemplo <BIZAGI_JEE_HOME>/BizagiBPMJEE/JiNET).

DAPP_SERV

Deberá tener como valor: JBOSS.

Djava.net.preferIPv4Stack

Deberá estar asignada como true

Duser.language

Deberá especificar el lenguaje por defecto (p.e, en)

Duser.country

Deberá especifica la cultura por defecto para ese lenguaje (p.e, us).

Dfile.encoding

Deberá configurarse como UTF-8

Dbizagi-config

Deberá tener la ruta de la carpeta bizagi-config , donde se encuentra ubicado el archivo bizagi.extended.properties de propiedades.

 

 

JBoss_cluster_servers

 

Si usted utiliza una configuración de clúster vertical, nótese que deberá incluir sus nodos adicionales en el mismo grupo de servidor (server group).

Realice esto registrando sus nodos como elementos <server> con la misma definición de grupo, y revisando que se usen un port-offset en los posteriores nodos para evitar conflictos por número de puerto en el mismo equipo.

 

 

note_pin

Si sus procesos se integran con SAP por medio de la conexión ofrecida por la funcionalidad de Bizagi, deberá configurar las librerías involucradas para la conectividad con SAP del conector para plataformas JEE.

 

El conector de SAP para las plataformas JEE (conocido como JCo) se compone de un archivo .jar y de una librería nativa para el sistema operativo (un archivo .so para sistemas operativos tipo *nix como Linux o un archivo .dll para sistemas operativos Windows).

Estos archivos de JCo son solicitados y descargados desde el mismo link oficial de SAP http://service.sap.com/connectors (acceso autorizado usando sus credenciales válidas de SAP).

Asegúrese de obtener la librería que corresponda a los bits soportados por su arquitectura de sistema (p.e, de 64 bits o de 32 bits).

 

Una vez que haya obtenido la librería JCo, asegúrese de:

1. Ubicar la librería sapjco-3.x.jar en el repositorio de librerías en <JBOSS_HOME>\modules\system\layers\base\com\sap\jco\main\.

 

2. Ubicar el archivo sapjco3.so (para sistemas operativos tipo *nix como Linux) o el archivo sapjco3.dll (para sistemas operativos Windows) en <INSUMOS_DE_CONFIGURACIÓN>/connectors/SAP/.

 

3. Incluya una modificación adicional al archivo host.xml, para incluir una ocurrencia más de <jvm-option> que considere la variable de entorno Djava.library.path.

Para hacerlo, incluya la siguiente linea, (reemplazando el valor correspondiente de <INSUMOS_DE_CONFIGURACIÓN>):

<option value="-Djava.library.path=<BIZAGI_JEE_HOME>\connectors\SAP\jco3"/>

 

JBoss_cluster_SAP

 

4. Edite el archivo module.xml ubicado en <JBOSS_HOME>\modules\system\layers\base\com\sap\jco\main\ para que dentro del elemento <resources> se tenga lo siguiente: <resource-root path="sapjco3.x.jar"/>:

 

SAP_modules

 

 

 

Finalmente, asigne un nombre a sus nodos esclaves (slave), para que utilicen uno propio y no el nombre de master. Realice esto en el elemento <host>:

 

JBoss_host_slaves

 

Solamente se debe conservar el nombre master para el nodo maestro:

 

JBoss_host_master

 

Iniciar el servicio en clúster de JBoss

Al completar estos pasos, usted podrá iniciar el servicio de su clúster de JBoss iniciando cada nodo.

Para el nodo maestro (master), utilice el siguiente comando.

 

 

En sistemas operativos tipo *nix (p.e Linux):

<JBOSS_HOME>/bin/domain.sh -b [IP_Nodo_Maestro] -Djboss.bind.address.management=[IP_Nodo_Maestro]

 

En sistemas operativos Windows:

<JBOSS_HOME>\bin\domain.bat -b [IP_Nodo_Maestro] -Djboss.bind.address.management=[IP_Nodo_Maestro]

 

En cada uno de los nodos esclavos (slave), utilice el siguiente comando.

 

 

En sistemas operativos tipo *nix (p.e Linux):

<JBOSS_HOME>/bin/domain.sh -b [IP_Nodo_Actual] -Djboss.domain.master.address==[IP_Nodo_Maestro] --host-config=host-slave.xml

 

En sistemas operativos Windows:

<JBOSS_HOME>\bin\domain.bat -b [IP_Nodo_Actual] -Djboss.domain.master.address==[IP_Nodo_Maestro] --host-config=host-slave.xml

 

 

¿Qué sigue?

Después de estos pasos, ¡su instalación de JBoss está configurada para albergar Procesos Bizagi!

Puede ahora iniciar su servidor y hacer generar el Portal de Trabajo (un despliegue de aplicación).

 

Para más información sobre esta opción, consulte el despliegue de la aplicación hacia JBoss.

 

Tenga en cuenta que si su proyecto utiliza Replicación o Virtualización (como métodos de integración en la solución Bizagi), entonces para su ambiente de producción deberá configurar la Replicación o Virtualización directamente en el Servidor de Aplicaciones JEE.

Para más información sobre esta opción, consulte Cómo configurar Replicación o Virtualización en un Servidor de Aplicaciones JEE.