Toda la información de producto en wiki.bizagi.com aplica para Bizagi BPM Suite 9.1.X.
Para las nuevas versiones de Bizagi BPM Suite (10.X y superior) visite la Guía de Usuario.
 

Configuracion de JBoss para trabajar con Bizagi

De

Applies to ENTERPRISE JEE EDITION

Contenido

Configuración de JBoss para trabajar con Bizagi

Introducción

Con la edición Enterprise JEE de Bizagi, los procesos pueden montarse sobre diferentes Servidores de Aplicación JEE (p.e. WebLogic, WebSphere, JBoss).

El procedimiento de configuración en cada Servidor de Aplicaciones para trabajar con Bizagi, puede variar de acuerdo a las diferencias de cada uno de estos servidores.

Este artículo se enfoca en la configuración para JBoss para los procesos de Bizagi en un ambiente de Pruebas o Producción.

Para el ambiente de Desarrollo, (a través de Bizagi Studio), no se requiere de configuración alguna dado que la edición Bizagi Enterprise JEE instala un JBoss 7.1.1 embebido de manera automática.


Información adicional y sobre requerimientos de sistema de JBoss 7 puede ser revisado en la página oficial de la comunidad JBoss 7

Prerequisitos

Para configurar JBoss Application Server para un ambiente de Pruebas o de Producción, los siguientes son requerimientos:

  • JAVA SE JDK 6, update 31 instalado.
  • Variable de ambiente JAVA_HOME configurada.
  • Variable de ambiente JBOSS_HOME configurada.
  • Tener a la mano, el archivo "BizAgi-ear-JBoss-dist.zip" de distribución de Bizagi para la configuración de JBoss.



Sobre JBoss

La instalación de JBoss requiere sencillamente extraer el archivo zip de JBoss ("jboss-as-7.1.1.Final.zip") en una ruta local del servidor.

Tenga en cuenta que el nombre de este folder y la ruta local, no deben contener espacios en blanco.

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


Para conocer más información acerca del procedimiento de instalación de JBoss, recomendamos revisar las guías publicadas de la misma página oficial de JBoss.



Opciones del servidor

Una vez que se haya instalado JBoss, las opciones para iniciar o detener su servicio se describen a continuación.


Iniciar el servidor

Para iniciar JBoss Application Server, ubique en la ruta <JBOSS_HOME>/bin el archivo ejecutable para el modo <i>standalone</i>.


En Linux, ejecute el standalone.sh en una consola con los siguiente parámetros:


standalone.sh  -b 0.0.0.0


En Windows, ejecute el standalone.bat en una consola de comandos con los siguiente parámetros:


standalone.bat  -b 0.0.0.0






Puede validar que JBoss se haya iniciado correctamente y que su servicio se encuentre iniciado al ingresar la siguiente URL en un navegador:


http://localhost:8080/ 


La siguiente pantalla deberá aparecer:




Nótese que 8080 corresponde al número del puerto sobre el cual el servicio de JBoss se ha configurado para atender las solicitudes via http.


Detener el servidor

Para detener el servicio de JBoss Application Server, existen 2 opciones:

  • Usar CTRL+C desde el teclado en la consola donde se inició JBoss.
  • Ubicar la ruta <JBOSS_HOME>/bin, y ejecutar el archivo <i>jboss-cli</i>.


Para esta segunda opción, en Linux, ejecute jboss-cli.sh en una consola con los siguientes parámetros:


jboss-cli.sh  --connect command=:shutdown

Para esta segunda opción, en Windows, ejecute jboss-cli.bat en una consola de comandos con los siguientes parámetros:


jboss-cli.bat  --connect command=:shutdown



Que debe hacerse

Para configurar JBoss 7.1.1 para trabajar con Bizagi, el procedimiento que debe hacerse es:

1. Extraer los archivos de módulos adicionales usados por Bizagi.

2. Editar los parámetros del archivo del ejecutable de JBoss.

3. Editar el archivo XML de configuration de JBoss.


Después de estos pasos, la instalación de JBoss habrá sido configurada para poder desplegar los procesos de Bizagi como aplicaciones en el contenedor JBoss Application Server 7.1.1.


Procedimiento

Los siguientes pasos describen en detalle cómo configurar y modificar ajustes de la instalación JBoss por defecto, para que soporte las aplicaciones Bizagi.



Extraer los archivos de módulos adicionales usados por Bizagi

En este paso, algunos archivos de módulos usados por Bizagi se requieren como módulos adicionales en la instalación de JBoss.

Estos archivos no vienen incluidos por defecto en JBoss 7.1.1.


Extraer BizAgi-ear-JBoss-dist.zip

Extraiga el archivo BizAgi-ear-JBoss-dist.zip en una ruta local del servidor.


Tenga en cuenta que se requiere que esta ruta y nombre de la carpeta no contengan espacios en blanco.

La ruta seleccionada para extraer este contenido, será referenciada de este punto en adelante como <BIZAGI_JEE_HOME>. Dentro de esta, se creará una carpeta llamada "BizagiBPMJEE" y la siguiente estructura:



Nótese que en este ejemplo, nuestro <BIZAGI_JEE_HOME> es la ruta E:\JBOSS7\.

Your extracted zip should have the follwing folder structure and files:



Extraer BizagiJbossModules.zip

Ubique el archivo BizagiJbossModules.zip dentro de la ruta "<BIZAGI_JEE_HOME>BizagiBPMJEE/configuration" (de los archivos extraidos previamente).




Al extraer estos archivos, seleccione como destino la ruta de módulos de JBoss: <JBOSS_HOME>/modules/.



Esto significa que en la carpeta <JBOSS_HOME>/modules/, habrán archivos adicionados a las carpetas "com" y "org" de la ruta de instalación de JBoss:




La siguiente imagen ilustra la estructura y archivos extraidos en las carpetas de JBoss. En el lado izquierdo (1), vemos el contenido por defecto antes de adicionar los archivos de Bizagi.




Editar los parámetros del archivo del ejecutable de JBoss

En una instalación por defecto, JBoss se iniciará con algunas variables definidas por defecto.

Sin embargo para iniciar el servicio para los procesos de Bizagi, se requiere tanto: incluir la variable de entorno JiNet para el inicio de JBoss, y ajustar la memoria asignada para el servicio.

Esto se realiza editando el archivo de parámetros del ejecutable.



Nótese que en Linux, este archivo es "<JBOSS_HOME>/bin/standalone.conf".

En Windows, este archivo es "<JBOSS_HOME>/bin/standalone.conf.bat".


En Linux

Para editar el archivo <JBOSS_HOME>/bin/standalone.conf en Linux para el inicio de JBoss, siga estos pasos:

1. Edite este archivo incluyendo las siguiente líneas al final del mismo:



# Bizagi Configuration
JAVA_OPTS="$JAVA_OPTS -DiNET_HOME=<BIZAGI_JEE_HOME>/BizagiBPMJEE/JiNET"
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx768m -XX:MaxPermSize=768m"


Nótese que debe reemplazar <BIZAGI_JEE_HOME> por la ruta correspondiente de la ubicación de los archivos de distribución de Bizagi para JBoss.

Tenga en cuenta que en las rutas, debe utilizar el caracter "slash" (/) y no el "backslash" (\).

Nótese que en la primera línea se especifica la memoria minima requerida para el inicio de JBoss, y que debe ser mínimo de 512M (en el primer parámetro), y 768M en los siguientes parámetros.

Tenga en cuenta que puede asignar más memoria de acuerdo a las capacidades de hardware de su servidor.


Al final, el archivo <JBOSS_HOME>/bin/standalone.conf se verá como:



En Windows

Para editar el archivo <JBOSS_HOME>/bin/standalone.conf.bat en Windows para el inicio de JBoss, siga estos pasos:

1. Edite este archivo modificando la memoria asignada, aproximadamente en la línea #49.

Nótese que la memoria mínima requerida para el inicio debe ser de 512M en el primer parámetro, y 768M para los siguientes parámetros.


set "JAVA_OPTS=-Xms512M -Xmx768M -XX:MaxPermSize=768M"


Tenga en cuenta que puede asignar más memoria de acuerdo a las capacidades de hardware de su servidor.

2. Edite este archivo al incluir lo siguiente al final de la línea existente #52:


-DiNET_HOME=<BIZAGI_JEE_HOME>/BizagiBPMJEE/JiNET


Nótese que debe reemplazar <BIZAGI_JEE_HOME> por la ruta correspondiente de la ubicación de los archivos de distribución de Bizagi para JBoss.

Tenga en cuenta que en las rutas, debe utilizar el caracter "slash" (/) y no el "backslash" (\).


Al realizar este ajuste, la completitud de la linea quedará como:



set "JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -DiNET_HOME=<BIZAGI_JEE_HOME>/ 



Al final, el archivo <JBOSS_HOME>/bin/standalone.conf.bat se verá como:



Editar el archivo XML de configuration de JBoss

Para el inicio de JBoss en modo standalone, la configuración requiere alguna información adicional de Bizagi, tales como propiedades, drivers, las fuentes de datos registradas, el uso de módulos, entre otros.

Para hacerlo, ubique el archivo standalone.xml ubicado en "<JBOSS_HOME>/standalone/configuration/" y edítelo de acuerdo a lo indicado a continuación.


Incluir el módulo de autenticación

Para incluir el módulo de autenticación en el servicio de JBoss, incluya las siguientes líneas en el archivo standalone.xml:


<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>


Estas lineas deben ir dentro del elemento "<security-domains>" de la sección "<subsystem xmlns="urn:jboss:domain:security:1.1">".

En este punto, el archivo standalone.xml deberá verse como en la imagen inferior.



Incluir los drivers para el acceso a datos

Para incluir los drivers para el acceso a datos en JBoss, incluya las siguientes líneas en el archivo standalone.xml:


<driver name="MICROSOFTSQLSERVER" module="com.microsoft.sqlserver">
	<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
</driver>
<driver name="ORACLE" module="com.oracle.ojdbc6">
	<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>


Estas lineas deben ir dentro del elemento "<drivers>".


En este punto, el archivo standalone.xml deberá verse como en la imagen inferior.




Incluir la fuente de datos de su proyecto

Los siguientes pasos varian ligeramente de acuerdo al motor de base de datos de su proyecto Bizagi (Oracle o SQL Server).


Para Oracle

Para incluir la fuente de datos a su instancia de Oracle específica del proyecto, primero incluya las siguientes lineas en el archivo standalone.xml:


<datasource jta="true" jndi-name="java:/BizAgiJava" pool-name="BizAgiJava" enabled="true" use-ccm="true">
	<connection-url>jdbc:oracle:thin:@//[databaseServer]:[servicePort]/[serviceName]</connection-url>
	<driver>ORACLE</driver>
	<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
	<security>
		<user-name>[schemaUser]</user-name>
		<password>[schemaUserPassword]</password>
	</security>
	<validation>
		<validate-on-match>false</validate-on-match>
		<background-validation>false</background-validation>
	</validation>
	<statement>
		<share-prepared-statements>false</share-prepared-statements>
	</statement>
</datasource>

Estas lineas deber ir dentro del elemento "<datasources>" de la sección "<subsystem xmlns="urn:jboss:domain:datasources:1.0">".

En este punto, el archivo standalone.xml deberá verse como se muestra en la imagen inferior.



Seguidamente, asegúrese de asignar y editar los valores correspondientes a :

  • [databaseServer]: El nombre del servidor de la base de datos Oracle.
  • [servicePort]: El número del puerto sobre el cual la instancia de Oracle se inicia.
  • [serviceName]: El Sid del servicio de la instancia Oracle.
  • [schemaUser]: El nombre del proyecto en Bizagi, el cual es visto en Oracle como el esquema de usuario.
  • [schemaUserPassword]: La contraseña para este esquema de usuario.


Para SQL Server

Para incluir la fuente de datos a su instancia de SQL Server específica del proyecto, primero incluya las siguientes lineas en el archivo standalone.xml:


<datasource jta="true" jndi-name="java:/BizAgiJava" pool-name="BizAgiJava" enabled="true" use-ccm="true">
    <connection-url>jdbc:sqlserver://[databaseServerInstance]:[instancePort];databaseName=[SQLdatabase]</connection-url>
    <driver>MICROSOFTSQLSERVER</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <security>
		<user-name>[userLogin]</user-name>
        <password>[userLoginPassword]</password>
    </security>
    <validation>
		<validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
    </validation>
    <statement>
		<share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>


Estas lineas deberán ir dentro del elemento "<datasources>" de la sección "<subsystem xmlns="urn:jboss:domain:datasources:1.0">".

En este punto, el archivo standalone.xml deberá verse como se muestra en la imagen inferior.



Seguidamente, asegúrese de asignar y editar los valores correspondientes a:

  • [databaseServerInstance]: El nombre del servidor de la base de datos SQL Server, e instancia (si es una instancia llamada).
  • [instancePort]: El número del puerto sobre el cual la instancia de SQL Server se inicia.
  • [SQLdatabase]: El nombre del proyecto de Bizagi, el cual en SQL Server es la base de datos del proyecto.
  • [userLogin]: El login de usuario de SQL Server para la instancia.
  • [userLoginPassword]: La contraseña para este login de usuario SQL Server.


Incluir el servicio de mensajería (JMS)

Para incluir el servicio de mensajeria de JMS en JBoss, varios ajustes se requieren.

1. Incluya primero las siguientes lineas en el archivo standalone.xml:


<extension module="org.jboss.as.messaging"/>


Estas lineas deben ir dentro del elemento "<extensions>".

En este punto, el archivo standalone.xml deberá verse como se muestra en la imagen inferior.




2. Seguidamente, incluya las siguientes lineas dentro del elemento "<subsystem xmlns="urn:jboss:domain:ejb3:1.2">".



<mdb>
	<resource-adapter-ref resource-adapter-name="hornetq-ra"/>
	<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>



Con esta edición, el archivo se verá como:



3. Luego, incluya las siguientes lineas (de un "subsystem") dentro del elemento "<profile>":


<subsystem xmlns="urn:jboss:domain:messaging:1.1">
	<hornetq-server>
		<persistence-enabled>false</persistence-enabled>
		<security-enabled>false</security-enabled>
		<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>
		<security-settings>
			<security-setting match="#">
				<permission type="send" roles="guest"/>
				<permission type="consume" roles="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"/>
				</entries>
			</connection-factory>
			<connection-factory name="AsyncControllerFactory">
				<connectors>
					<connector-ref connector-name="netty"/>
				</connectors>
				<entries>
					<entry name="/AsyncControllerFactory"/>
				</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-destinations>
	</hornetq-server>
</subsystem>


En este punto, el archivo se verá como:



4. Finalmente, incluya las siguientes líneas dentro del elemento "<socket-binding-group>".


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



El archivo standalone.xml quedará como:


Including JTA configuration

To include the JTA configuration in JBoss service, include the following lines in the standalone.xml:


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


Estas lineas deberán ir dentro del elemento "<extensions>".

En este punto, hemos finalizado la edición del archivo standalone.xml, y esta última parte deberá verse como:




Guarde los cambios en el archivo.

Que sigue?

Una vez terminados estos pasos, el servidor de Aplicaciones JBoss estará configurado para trabajar con sus procesos Bizagi!

Puede iniciar el servicio de JBoss 7.1.1 y hacer despliegue de sus procesos Bizagi como aplicaciones.


Vea mayor información sobre el despliegue de la aplicación a JBoss.

Tenga en cuenta que si su proyecto utiliza virtualización o replicación como método de integración en Bizagi, se requiere configurar la virtualización y replicación en un Servidor JEE.


Artículos Relacionados




<comments/>