Configuración de WebSphere 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 WebSphere > Configuración de WebSphere en clúster >

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

Para la configuración de WebSphere para trabajar con Bizagi en un esquema de clúster (más de un nodo de Bizagi), se debe contar con ciertas configuraciones previas del lado de WebSphere.

Por lo tanto, antes de continuar, asegúrese de haber seguido las instrucciones descritas en Preconfigurar WebSphere para soporte a clúster.

Para más información sobre el procedimiento completo, consulte Configurar WebSphere en clúster.

Esta sección indica qué configuraciones debe realizar para que su cluster en WebSphere trabaje con el proyecto de Bizagi.

 

Una vez que haya cumplido con lo descrito anteriormente, se realiza lo siguiente:

 

1. Instalar las librerías usados por Bizagi hacia WebSphere.

2. Configurar los archivos usados por Bizagi.

3. Configurar las variables de entorno.

4. Configurar los siguientes Experto en WebSphere:

Acceso a datos

Servicio de mensajería (JMS)

Autenticación y usuario del sistema Bizagi

 

 

Estos Experto se configuran en WebSphere utilizando su Consola de administración, y utilizan a su vez los archivos de Bizagi que se extraen en el primer paso.

Después de estos pasos, su instancia de WebSphere estará configurado para que los Procesos de Bizagi se desplieguen en una aplicación JEE (el Portal de Trabajo).

 

 

Procedimiento

Los siguientes pasos describen a detalle cómo configurar y editar las preferencias de una instalación de WebSphere 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. Instalar las librerías usados por Bizagi en WebSphere.

En este paso, se incluyen librerías y drivers usados por Bizagi en la instancia de WebSphere (son archivos que no vienen por defecto en una instalación limpia de WebSphere).

 

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

Una vez que tenga el archivo .zip, extraiga su contenido en una ruta local de su elección.

Esta ruta, incluyendo la subcarpeta llamada BizagiBPMJEE, será referenciada como <INSUMOS_DE_CONFIGURACIÓN> a partir de este momento.

En la siguiente imagen, nuestro <INSUMOS_DE_CONFIGURACIÓN> será correspondiente a la ruta C:\ROOT\BizAgi-ear-WebSphere-dist\BizagiBPMJEE\:

 

WebSphere85_copyfiles00

 

1.1 Instalar las librerías para la autenticación.

La instalación de dichas librerías se realiza simplemente copiando esas librerías del módulo de Autenticación (bizagi-websphere-security-[version].jar, bizagi-remote-[version].jar, bizagi-security-common-[version].jar) que se entregan en los insumos de configuración, desde esta ruta:

<INSUMOS_DE_CONFIGURACIÓN>\security\

Hacia el repositorio de las librerías de WebSphere en:

<WEBSPHERE_HOME>\lib\ext\

 

WebSphere85_copyfiles02

 

1.2 Instalar librerías adicionales.

La instalación de las librerías adicionales se realiza simplemente copiando esas librerías como por ejemplo la que se utiliza para el registro de logs llamada log4j-[version].jar y la librería que se usa para la persistencia de datos llamada eclipselink-[version].jar.

Dado que ambas se entregan dentro de los insumos de configuración, cópielas desde esta ruta:

<INSUMOS_DE_CONFIGURACIÓN>\configuration\

Hacia el repositorio de las librerías de WebSphere en:

<WEBSPHERE_HOME>\lib\ext\

 

Paso seguido, asegúrese de editar el nombre de la librería de eclipselink de manera que no especifique el detalle exacto de la versión (renómbrelo de manera que quede como eclipselink.jar):

 

WebSphere85_copyfiles03

 

1.3 Instalar librerías compartidas

La instalación de 2 librerías compartidas se realiza copiando esas librerías como se entregan dentro de los insumos de configuración en <CONFIGURATION_INPUTS>\configuration\hacia las rutas de librerías opcionales de WebSphere.

Para hacerlo, copie los jars httpclient-4.1.1.jar y httpcore-4.1.jar en:

<WEBSPHERE_HOME>\optionalLibraries\

 

1.4 Instalar los drivers.

La instalación de los drivers se realiza copiando esas librerías correspondientes al motor de base de datos, como se entregan dentro de los insumos de configuración.

Para hacerlo, copie los drivers desde <INSUMOS_DE_CONFIGURACIÓN>\configuration\y hacia la ruta de librerías de WebSphere en:

<WEBSPHERE_HOME>\lib\ext\

 

Si su proyecto utiliza Oracle, copie el driver ojdbc6-11.1.0.6.0.jar.

Si su proyecto utiliza SQL Server, copie el driver sqldbc-4..0.jar.

Additionalmente, copie el driver bizagi-jdbc-driver[version].jar.

 

2. Configurar los archivos usados por Bizagi

Hay algunos archivos de configuración que Bizagi utiliza internamente para la ejecución de los procesos, como por ejemplo: un módulo JiNET y un set de archivos de propiedades con configuración especial dependiendo de las características del proyecto.

Usted deberá definir al inicio cuál será la ruta donde queden estos archivos de configuración albergados, de manera que los pueda referenciar dentro de la configuración de variables de entorno para que WebSphere los considere cuando suba el servicio.

 

Para poder administrar dicha configuración de Bizagi (p.e crear archivos de backup de la configuración de todo su sistema), recomendamos copiar estos archivos de configuración de Bizagi a una ruta aparte.

Esta ruta será referenciada como <BIZAGI_HOME> a partir de este momento.

 

note_pin

Se recomienda que la ruta <BIZAGI_HOME> esté contenida dentro del directorio de instalación de WebSphere y que el dueño de la misma sea el mismo usuario que ejecuta WebSphere.

De esta manera, usted podrá garantizar los permisos adecuados sobre la misma (esta ruta debe tener por lo menos permisos de lectura y escritura).

También se recomienda que dentro de <BIZAGI_HOME>, se ubique la Consola administrativa JEE, útil para el procedimiento de despliegue de aplicación.

 

Para configurar la ruta de los archivos de Bizagi, copie lo siguiente:

La carpeta llamada JiNET (ubicada en <INSUMOS_DE_CONFIGURACIÓN>) hacia su ruta <BIZAGI_HOME>

La carpeta llamada bizagi-config (ubicada en <INSUMOS_DE_CONFIGURACIÓN>) hacia su ruta <BIZAGI_HOME>

La carpeta llamada connectors (ubicada en <INSUMOS_DE_CONFIGURACIÓN>) hacia su ruta <BIZAGI_HOME>

 

WebSphere85_copyfiles01_cluster

 

 

 

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 <WEBSPHERE_HOME>/lib/ext/.

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

 

En la siguiente sección (configuración de variables de entorno) deberá incluir esta ruta dentro de las variables de entorno iniciales.

 

3. Configurar las variables de entorno

Para configurar las variables que serán referenciadas como parámetros de ejecución en el Servidor, primero inicie el servicio de su instancia de WebSphere.

Seguidamente, acceda a la Consola de administración (por defecto publicada para acceso desde https://localhost:9043/ibm/console/logon.jsp).

 

note_pin

Nótese que cuando se realizan cambios a través de la Consola de administración, deberá guardarlos en la configuración maestra. Para ello, se usa el enlace de Guardar (Save) que persiste los cambios.

Este enlace aparecerá en la parte superior siempre que se haya dado clic en OK o en Aplicar (Apply).

 

Vaya a la sección de Servidores (Servers) y expándala para ubicar los tipos de Servidores (Server Types). Expanda nuevamente esta sección y dé clic sobre WebSphere application servers.

Haga clic sobre su instancia del Servidor, que por defecto es server1.

 

 

WebSphere85_prep

 

Ubique la sección de Infraestructura del servidor (Server Infrastructure) , localizada en la segunda columna.

En ella, expanda el ítem Java and Process Management y dé clic sobre la definición de Procesos (Process definition).

 

WSphere_1_02

 

Dé clic sobre el enlace de la configuración de máquina virtual de Java (Java Virtual Machine), ubicada en la sección de Propiedades adicionales (Additional Properties).

 

WSphere_1_03

 

Ingrese los siguientes valores para las variables y propiedades como se enseña a continuación:

Initial heap size (tamaño inicial de pila de memoria): 1024

Maximum heap size (tamaño máximo de pila de memoria): 1024

 

WebSphere85_JVMarguments

 

note_pin

Éstos valores son sugeridos como máximo y mínimo de memoria para hacer deployment de Bizagi correctamente. De otra forma, podrían aparecer errores de falta de memoria, lo que llevaría a una instalación corrupta.

 

Generic JVM arguments (argumentos genéricos de la máquina virtual de Java):

-DiNET_HOME=<BIZAGI_HOME>\JiNET -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8 -Dcom.ibm.websphere.webservices.soap.enable.legacy.get.behavior=true

 

 

WebSphere85_JVMarguments3

 

note_pin

La variable -Dcom.ibm.websphere.webservices.soap.enable.legacy.get.behavior=true es necesaria, y por ejemplo permite a WebSphere invocar servicios web cuyos encabezados sean nulos.

 

Considere que deberá reemplazar <BIZAGI_HOME> con la ruta tal como la definió en pasos anteriores de configuración.

Tenga en cuenta que deberá usar el caracter de separación de carpetas apropiado (para sistemas operativos *nix será "/", mientras que en sistemas operativos Windows será "\").

 

 

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, como se mencionó en la sección anterior.

 

Una vez que haya ubicado la librerías de JCo en las rutas adecuadas de su servidor JEE, incluya la siguiente parte adicional a las variables ya modificadas de los Generic JVM arguments:

-Djava.library.path=<BIZAGI_HOME>\connectors\SAP\jco3

 

Considere que deberá reemplazar <BIZAGI_HOME> con la ruta tal como la definió en pasos anteriores de configuración.

Tenga en cuenta que deberá usar el caracter de separación de carpetas apropiado (para sistemas operativos *nix será "/", mientras que en sistemas operativos Windows será "\").

 

 

WebSphere85_sap

 

Dé clic en OK y luego en Guardar (Save) para aplicar los cambios.

 

WSphere_1_05

 

 

Navegue nuevamente hacia el enlace Java Virtual Machine (ubicado en las propiedades adicionales --Additional Properties--).

 

 

WSphere_1_06

 

Dé clic sobre el enlace de propiedades personalizadas (Custom properties), para crear las siguientes propiedades personalizadas:

APP_SERVER: Propiedad usada internamente por Bizagi para manejo acorde al servidor JEE.

bizagi-config: Propiedad de tipo ruta, que utiliza Bizagi para cargar información adicional desde archivos de propiedades.

Esta ruta debe indicar donde se encuentre el archivo bizagi-extended.properties.

bizagi.cache.multicast.enabled: Propiedad booleano para habilitar el manejo del caché distribuido.

bizagi.cache.multicast.address: Propiedad de tipo cadena (string) que permite especificar la dirección IP de broadcast para la sincronización en los diferentes nodos. Por defecto se toma 224.2.2.3.

bizagi.cache.multicast.port: Propiedad de tipo numérico para especificar el puerto sobre el cuál se lleva a cabo la sincronización en los diferentes nodos. Por defecto se toma 7777.

bizagi.cache.multicast.type: Propiedad de tipo cadena (string) que permite especificar el protocolo que se usa para la sincronización. Los valores permitidos son UDP (valor por defecto) y DB.

com.ibm.websphere.webservices.soap.enable.legacy.get.behavior: Se debe especificar como true para permitir que WebSphere soporte la invocación a web services cuyos encabezados sean nulos.

 

Para crear estas propiedades, dé clic sobre el botón de Nuevo (New) para registrar una propiedad personalizada.

Nombre la primera propiedad con: APP_SERVER, y especifique para su valor: WEBSPHERE.

 

 

WSphere_1_07

 

Dé clic en OK.

Dé clic sobre el botón de Nuevo (New) para registrar una segunda propiedad personalizada.

Nombre esta propiedad con: bizagi-config, y especifique que se valor sea la ruta donde queda la carpeta bizagi-config, que es donde se encuentra el archivo de propiedades bizagi.extended.properties.

Esta ruta es una sub-carpeta de <BIZAGI_HOME>, por ejemplo \usr\share\bizagi-config\.

 

WebSphere85_bizagiconfig

 

 

Dé clic en Ok y después nuevamente sobre el botón de Nuevo (New) para registrar otra propiedad personalizada.

Nombre esta propiedad como: bizagi.cache.multicast.enabled, y especifique para su valor: true.

 

Dé clic en Ok y después nuevamente sobre el botón de Nuevo (New) para registrar otra propiedad personalizada.

Nombre esta propiedad como: bizagi.cache.multicast.address, y especifique la dirección IP.

 

Dé clic en Ok y después nuevamente sobre el botón de Nuevo (New) para registrar otra propiedad personalizada.

Nombre esta propiedad como: bizagi.cache.multicast.port, y asigne el puerto.

 

Dé clic en Ok y después nuevamente sobre el botón de Nuevo (New) para registrar otra propiedad personalizada.

Nombre esta propiedad como: bizagi.cache.multicast.type, y especifique para su valor: UDP.

 

Dé clic en Ok y después nuevamente sobre el botón de Nuevo (New) para registrar otra propiedad personalizada.

Nombre esta propiedad como: com.ibm.websphere.webservices.soap.enable.legacy.get.behavior, y especifique para su valor: true.

 

 

Dé clic en OK y luego en Guardar (Save) para aplicar los cambios.

Recuerde que estos últimos pasos deberá hacerlos para cada nodo que hace parte de su clúster.

Al finalizar con la totalidad de los nodos, reinicie el servicio.

 

 

4. Configurar los Experto de WebSphere

Se deben configurar algunos Experto en WebSphere a través de la Consola de administración, como se indica a continuación.

 

 

4.1 Acceso a datos

Antes de continuar, tenga en cuenta que si utiliza una base de datos SQL Server, deberá requerir que el servicio no se inicie bajo un puerto dinámico.

Se requiere que se use un puerto TCP/IP explícitamente (p.e el 1433 que es el usado por defecto).

 

SQLServer_explicitPort

 

 

Para la siguiente configuración, acceda la Consola de administración y realice los siguientes pasos.

Nótese que para algunos de ellos, debe tener a la mano los valores de acuerdo a su motor de Base de datos (Oracle o SQL Server).

 

Primero, vamos a registrar un Proveedor de datos JDBC.

Para ello, vaya a la sección de recursos (Resources) y expanda el item JDBC. Dé clic sobre los Proveedores JDBC (JDBC Providers).

 

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

 

 

NODE_config01

 

Cree un Provider haciendo clic sobre el botón Nuevo (New).

En la configuración del nuevo Proveedor (que se realiza a través de 3 pasos asistidos), ingrese la información correspondiente a su motor de Base de datos.

 

Para Oracle:

oDatabase type (tipo de Base de datos): Oracle

oProvider type (tipo de Proveedor de datos): Oracle JDBC Driver

oImplementation type (tipo de implementación): Connection pool data source

oName (Nombre): Oracle JDBC Driver

 

NODEWSDS_07ora

 

Dé clic en Siguiente (Next) y especifique la ruta completa al driver de conexión de Oracle (ojdbc), donde se considera <WEBSPHERE_HOME>\lib\ext\.

Tenga presente que acá deberá configurar el driver, asegurándose de que el class path referencie el nombre exacto del archivo .jar.

Dado que por defecto WebSphere lo buscará como ojdbc6.jar, deberá o bien redefinir en el class path que se busque al archivo como lo entrega Bizagi con detalle de versión menor (ojdbc6-11.1.0.6.0.jar), o renombrar el archivo físico para que se llame exactamente así (ojdbc6.jar).

 

WebSphere85_ds_oracle

 

Dé clic en Siguiente (Next) y revise la información de resumen. Dé clic sobre Finalizar (Finish).

 

Para SQL Server:

Database type (tipo de Base de datos): SQL Server

oProvider type (Tipo de proveedor): Microsoft SQL Server JDBC Driver

oImplementation type (Tipo de implementación): Connection pool data source

oName (Nombre): Microsoft SQL Server JDBC Driver

 

 

WebSphere85_sqlDS1

 

Dé clic en Siguiente (Next) y especifique la ruta completa hacia el driver de conexión de SQL Server (sqljdbc), donde se considera <WEBSPHERE_HOME>\lib\ext\.

Tenga presente que acá deberá configurar el driver, asegurándose de que el class path referencie el nombre exacto del archivo .jar.

Dado que por defecto WebSphere lo buscará como sqldbc4.jar, deberá o bien redefinir en el class path que se busque al archivo como lo entrega Bizagi con detalle de versión menor (sqldbc-4.0.jar), o renombrar el archivo físico para que se llame exactamente así (sqldbc4.jar).

 

WebSphere85_sqlDS2

 

Dé clic en Siguiente (Next) y revise la información de resumen. Dé clic sobre Finalizar (Finish).

 

Una vez se haya creado el Proveedor, éste aparecerá listado en la tabla (sea Oracle o SQL Server).

Tenga en cuenta que debe dar clic sobre Guardar (Save) para aplicar los cambios en la configuración maestra.

 

 

Ahora vamos a crear y registrar una fuente de datos para la conexión a la Base de datos del proyecto.

Para ello, ubique el panel a la izquiera para ir rápidamente al enlace de Fuentes de datos (Data sources), ubicado todavía bajo la sección de recursos (Resources) sobre el item JDBC.

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

 

 

NODE_config02

 

Cree una fuente de datos haciendo clic sobre el botón Nuevo (New).

En la configuración de la nueva fuente de datos, ingrese la siguiente información:

Data source name (nombre de la fuente de datos): BizAgiJava

JNDI name (nombre JNDI): BizAgiJava

 

Dé clic en Siguiente (Next) y marque la opción de seleccionar un Proveedor JDBC existente (Select an existing JDBC Provider).

De esta manera, seleccione el Proveedor de acuerdo a su motor de Base de datos (Oracle o SQL Server, tal como se creó el Proveedor previamente).

 

WSDS_03

 

Si usted utiliza una Base de datos SQL Server dé clic en Siguiente (Next) y en la ventana a continuación asegúrese de: Ingresar los parámetros de conexión a su instancia SQL Server y que se seleccione la casilla Use this data source in container managed persistence (CMP).

 

Considere:

odatabase name: El nombre de la base de datos de sus procesos Bizagi.

oport number: El puerto bajo el cual el servicio de la base de datos atiende.

oserver name: El nombre del servidor de base de datos.

 

WebSphere85_sqlDS3

 

Si usted utiliza una Base de datos Oracle, dé clic en Siguiente (Next) y asegúrese de: editar la URL de la cadena de conexión y de seleccionar Oracle data store helper para la configuración del Data Store helper class name.

Para el valor de la URL, ingrese la información de conexión a su instancia de Oracle. Esta conexión debe tener el siguiente formato:

jdbc:oracle:thin:@[servidor_bd]:[puerto]/[servicio]

 

Considere:

oservidor_bd: El Servidor de Base de datos. Puede utilizar el SID en cambio.

opuerto: El puerto bajo el cual el servicio de la Base de datos atiende. En Oracle por defecto, es el puerto 1521.

oservicio: El nombre del servicio de la instancia Oracle.

 

NODE_config03

 

Una vez que haya configurado la conexión a su instancia, dé clic en Siguiente (Next) en las ventanas a continuación (hasta que se llegue al final de los pasos asistidos, donde se debe dar clic en Finalizar --Finish-- para crear la fuente de datos).

 

Dé clic sobre la fuente de datos creada BizAgiJava para configurar las propiedades adicionales, la cuál aparecerá listada en la tabla sea Oracle o SQL Server.

 

Hága clic en el enlace Propiedades del Pool de Conexion (Connection Pool properties) en la sección Propiedades Adicionales (Additional Properties).

 

NODEWSDS_05_connection_pool_prop

 

Ingrese los siguientes valores:

Conexiones máximas (Maximum connections):        120

Conexiones mínimas (Minimum connections):        30

NODEWSDS_05_a

 

Hága clic en OK y posteriormente en Guardar (Save) para aplicar los cambios.

 

Hága clic en el enlace Propiedades de la Fuente de datos del Servidor de Aplicaciones (WebSphere Application Server data source properties) en la sección Propiedades Adicionales (Additional Properties).

 

NODEWSDS_05_datasource_prop

Ingrese los siguientes valores:

Tamaño del cache (Statement cache size):        200

 

NODEWSDS_05_b

 

Hága clic en OK y posteriormente en Guardar (Save) para aplicar los cambios.

 

Dé clic en el enlace de propiedades personalizadas (Custom properties) ubicado en la sección de Propiedades adicionales (Additional Properties).

 

NODEWSDS_05

 

Edite las propiedades como se describe a continuación (de acuerdo a su motor de Base de datos), y asigne los valores correspondientes de la conexión.

 

Para SQL Server:

owebSphereDefaultIsolationLevel: Asígnelo a 2 (indicará un nivel llamado READ-COMMITTED).

oresponseBuffering:  Configúrelo como adaptive.

osendStringParametersAsUnicode: Su valor depende específicamente de su proyecto y si éste soportará caracteres unicode. Para el soporte a unicode, especifique : true. Nótese que para soporte a unicode igualmente deberá estar utilizando una intercalación que soporte unicode y la configuración apropiada en Bizagi para esta funcionalidad.

 

De manera adicional, cree 2 nuevas propiedades: usuario (user) y contraseña (password). Para sus valores considere:

ouser:

Para Oracle, es el esquema de usuario que representa el proyecto Bizagi.

Para SQL Server, es la cuenta para acceder a la instancia.

opassword: La contraseña de ese usuario.

 

 

Para Oracle:

owebSphereDefaultIsolationLevel: Asígnelo a 2 (indicará un nivel llamado READ-COMMITTED).

De manera adicional, cree 2 nuevas propiedades: usuario (user) y contraseña (password). Para sus valores considere:

ouser:

Para Oracle, es el esquema de usuario que representa el proyecto Bizagi.

Para SQL Server, es la cuenta para acceder a la instancia.

opassword: La contraseña de ese usuario.

 

WSDS_06ora

 

 

Después de editar estas propiedades, asegúrese de dar clic en Guardar (Save) para aplicar los cambios.

Una vez se haya configurado la fuente de datos, puede dar clic directamente sobre ella (BizAgiJava) para ir a la ventana anterior y utilizar la opción de verificar la conexión (Test connection):

 

4.2 Servicio de mensajería (JMS)

En los siguientes pasos configuraremos un Servidor JMS que es utilizado por Bizagi para ejecutar Actividades Asíncronas.

En la configuración de clúster, es muy importante crear también un recurso adicional que se encarga del manejo de la memoria caché sin afectar recursos o desempeño involucrado en las demás tareas (Mensajería para el manejo de caché).

 

Para crear los recursos involucrados, acceda la Consola de administración y vaya a la sección de Integración del servicio (Service integration) y dé clic sobre Buses.

 

NODEWS_JMS01

 

Bus de integración del servicio

Dé clic sobre Nuevo (New) para crear un bus que permita la activación de los servicios de mensajería.

Ingrese BizAgiBus como su nombre (Name), y asegúrese de desmarcar la casilla de Seguridad a nivel de Bus (Bus security).

 

WS_JMS02

Dé clic en Siguiente (Next), y luego en Finalizar (Finish)  para crear el bus.

 

WS_JMS03

 

Dé clic sobre el bus recientemente creado (BizAgiBus) y luego dé clic sobre el enlace de Miembros del Bus (Bus members) en la sección de Topología (Topology).

 

WS_JMS04

 

 

Asocie la instancia del servidor como miembro, haciendo clic en Adicionar (Add).

En el nuevo miembro del bus, asegúrese de habilitar Cluster y seleccionar de la lista, el nombre de su clúster.

 

 

NODE_config04

 

Dé clic en Siguiente (Next).

Marque la casilla de Enable Messaging engine policy assitance? y seleccione Scalability with high availability como el tipo de política a utilizar (policy type).

 

NODE_config05

 

 

Dé clic en Siguiente (Next).

Seleccione File store como el tipo de almacenamiento de mensajería a utilizar y dé clic en Siguiente (Next).

 

NODEWS_JMS06

 

Nótese que aparece el listado de motores de mensajería que se crean por defecto, y que no están configurados aún (Is the message store configured = No).

Dé clic sobre el nombre (Name) del motor de mensajería para configurarlo (y deberá repetir el paso para configurar cada motor).

 

NODE_config06

 

Para configurar cada motor de mensajería, conserve los valores por defecto para las propiedades, pero asegúrese de definir 2 directorios para almacenar logs y archivos del filestore:

Log directory path: El directorio donde quedan los logs asociados al nodo.

Se recomienda contar con una carpeta separada para el nodo y para los logs, por ejemplo referenciar <WAS_HOME>\profiles\<NODE_NAME>\logs

Permanent store directory path: El directorio donde queda el almacen de archivo.

Se recomienda contar con una carpeta separada para el nodo y el filestore, por ejemplo referenciar <WAS_HOME>\profiles\<NODE_NAME>\filestores

 

note_pin

Usted podrá definir dicha ruta dentro de <BIZAGI_HOME>, sin embargo el aspecto más importante y recomendado, es que esta carpeta quede dentro de la ruta de instalación de WebSphere, de manera que se eviten inconvenientes de permisos de acceso (se requiere mínimo permisos de lectura y escritura; y preferiblemente ser el dueño (ownership) con relación al usuario que ejecuta WebSphere).

 

NODE_config07

 

 

Dé clic en Siguiente (Next).

Recuerde repetir este paso para el otro motor de mensajería, y después revisar que los dos hayan quedado configurados (Is the message store configured = Yes).

 

Configure el uso de memoria. Se recomienda incrementar la memoria sugerida por defecto a los siguientes valores:

Initial JVM heap size: 1024

Maximum JVM heap size: 1024

Adicionalmente, marque la casilla Change heap size y dé clic en Siguiente (Next) .

 

Verifique en el resumen de la configuración que la información sea la correcta y dé clic en Finalizar (Finish) .

Asegúrese de dar clic en Guardar (Save) para aplicar los cambios.

 

 

Recursos destino

De vuelta en la información del bus, dé clic sobre el enlace de Destinos (Destinations), ubicado bajo la sección de los recursos destino (Destination resources ) para crear y asociar dos colas (queue).

Una cola será destinada para el manejo de tareas asíncronas en Bizagi y otra para los logs.

 

WS_JMS07

 

Para crear y asociar la primera cola, dé clic en Nuevo (New ).

Seleccione que sea de tipo cola (destination type = Queue).

 

WS_JMS08

 

Dé clic en Siguiente (Next)  e ingrese BizagiQueue como identificador (identifier) de la cola.

Ingrese una descripción también.

 

WS_JMS09

 

Dé clic en Siguiente (Next) y asegúrese de seleccionar el miembro de bus como se configuró anteriormente (para incluir la configuración que abarca el clúster):

 

NODE_config08

 

Dé clic en Siguiente (Next ) y luego en Finalizar (Finish) para registrar el destino.

Este destino aparecerá listado en la tabla de recursos.

 

WS_JMS11

 

Dé clic sobre la cola recién creada (BizAgiQueue) para editar su configuración de reintentos.

En el detalle de la cola, edite el número máximo de intentos fallidos del mensaje (Maximum failed deliveries per message), para que tenga un valor igual a 1 (el Servidor de Aplicaciones haría un reintento para las Actividades Asíncronas a nivel de colas, lo cual quiere decir que se respetaría la configuración de reintentos de la Asíncrona en Bizagi).

 

WS_JMS12

 

Dé clic en OK.

 

Para crear y asociar la segunda cola, dé clic en Nuevo (New ) desde la misma tabla de destinos.

Seleccione que sea de tipo cola (destination type = Queue).

 

WS_106_JMS01

 

 

Dé clic en Siguiente (Next)  e ingrese BizagiQueueEvent como identificador (identifier) de la cola.

Ingrese una descripción también.

 

WS_106_JMS02

 

Dé clic en Siguiente (Next) y asegúrese de seleccionar el miembro de bus como se configuró anteriormente (para incluir la configuración que abarca el clúster).

 

Dé clic en Siguiente (Next) y luego en Finalizar (Finish) para registrar el destino.

Este destino aparecerá listado en la tabla de recursos.

 

Dé clic sobre la cola recién creada (BizAgiQueueEvent) para editar su configuración de reintentos.

En el detalle de la cola, edite el número máximo de intentos fallidos del mensaje (Maximum failed deliveries per message), para que tenga un valor igual a 1.

 

WS_106_JMS04

Dé clic en OK.

Recuerde dar clic en Guardar (Save) para aplicar los cambios.

 

 

Fábrica de conexiones JMS

Ahora crearemos dos Fábricas de conexiones JMS (una para manejar las tareas asíncronas y la otra para el manejo de logs).

Navegue a la sección de Recursos (Resources) y expanda el item JMS. Dé clic sobre Queue Connection factories.

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

 

NODE_config09

 

Para crear la primera fábrica de conexión de colas (Queue Connection factory), de clic en Nuevo (New).

Mantenga el Proveedor de mensajería por defecto: Default messaging provider, y dé clic en OK.

 

NODEWS_JMS15

 

Esto nos lleva a definir las propiedades principales de la nueva fábrica de conexiones.

Ingrese AsyncControllerFactory tanto para el Nombre (Name) como para el Nombre JNDI (JNDI Name).

Asegúrese de seleccionar el bus creado para Bizagi (BizAgiBus).

 

NODEWS_JMS16

 

Dé clic en Ok.

Dé clic en la Fábrica creada recién AsyncControllerFactory (la cual aparecerá listada en la tabla), para editar el parámetro de timeout de la conexión.

 

NODEWS_JMS19

 

Dé clic en las propiedades del Pool de conexiones (Connection pool properties) ubicado bajo la sección de Propiedades adicionales (Additional Properties).

 

Asigne el timeout de la conexión (Connection timeout) a 120 segundos y dé clic en OK.

 

NODEWS_JMS21

 

Para crear la segunda fábrica de conexión de colas (Queue Connection factory), de clic en Nuevo (New), asegurándose de haber seleccionado el scope correspondiente de su clúster.

 

WS_106_JMF01

 

Mantenga el Proveedor de mensajería por defecto: Default messaging provider, y dé clic en OK.

Esto nos lleva a definir las propiedades principales de la nueva fábrica de conexiones.

Ingrese AsyncAuditControllerFactory tanto para el Nombre (Name) como para el Nombre JNDI (JNDI Name).

Asegúrese de seleccionar el bus creado para Bizagi (BizAgiBus).

 

WS_106_JMF02

 

Dé clic en Ok.

Dé clic en la Fábrica creada recién AsyncAuditControllerFactory (la cual aparecerá listada en la tabla), para editar el parámetro de timeout de la conexión.

Dé clic en las propiedades del Pool de conexiones (Connection pool properties) ubicado bajo la sección de Propiedades adicionales (Additional Properties).

 

 

WS_106_JMF03

 

Asigne el timeout de la conexión (Connection timeout) a 120 segundos y dé clic en OK.

 

 

WS_106_JMF04

 

 

Recuerde guardar (dar clic en Save) para aplicar los cambios.

 

Recurso de colas

Ahora crearemos dos recursos de colas (una para ser utilizada en el manejo de las tareas asíncronas .

Para hacerlo, ubique el panel a la izquierda para seleccionar rápidamente el enlace de colas (Queues) , ubicado en la sección de recursos (Resources) bajo el item JMS.

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

 

Para crear el primer recurso para el manejo de tareas asíncronas, dé clic en Nuevo (New).

Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

WSNODE_JMS22

 

Ingrese la siguiente información para el recurso de colas :

Name (Nombre): AsyncController

JNDI Name (Nombre JNDI): jms/AsyncController

Bus name (Nombre del bus): seleccione el bus para Bizagi: BizAgiBus.

Queue name (Nombre de la cola): seleccione la cola creada anteriormente: BizAgiQueue.

 

NODE_config10

 

Dé clic en OK.

Deberá ver el recurso listado en la tabla.

 

NODEWS_JMS24

 

Para crear el segundo recurso para el manejo de logs, dé clic en Nuevo (New), asegurándose de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

WS_JMS22

 

Ingrese la siguiente información para el recurso de colas :

Name (Nombre): AsyncAuditController

JNDI Name (Nombre JNDI): jms/AsyncAuditController

Bus name (Nombre del bus): seleccione el bus para Bizagi: BizAgiBus.

Queue name (Nombre de la cola): seleccione la cola creada anteriormente: BizAgiQueueEvent.

 

WS_106_JMQ01

 

Dé clic en OK.

Deberá ver ambos recursos listados en la tabla.

 

WS_106_JMQ02

 

Recuerde dar clic en Guardar (Save) para aplicar los cambios.

 

 

Especificación de activaciones

Ahora crearemos dos recursos más de especificación de las activaciones (Activation specification). Una especificación será dedicada para las tareas asíncronas y la otra para los logs de Bizagi.

Para hacerlo, ubique el panel a la izquierda para seleccionar rápidamente el enlace Activation specifications , ubicado en la sección de recursos (Resources) bajo el item JMS.

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

 

Para crear la primera especificación del manejo de las tareas asíncronas, dé clic en Nuevo (New).

Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

NODEWS_JMS26_nocut

 

 

Ingrese el siguiente detalle para la especificación:

Name (Nombre): AsyncControllerActivationSpec

JNDI Name (Nombre JNDI) : eis/AsyncControllerActivationSpec

Destination type (tipo de destino): seleccione cola: Queue

Destination JNDI Name (Nombre JNDI del destino): jms/AsyncController

Bus name (Nombre del bus): seleccione el bus creado para Bizagi: BizAgiBus

 

NODE_config11

 

Dé clic en OK.

Deberá ver la especificación listada en la tabla.

 

WS_106_JMA01

 

Para crear la segunda especificación del manejo de los logs, dé clic en Nuevo (New), asegurándose de seleccionar el scope correspondiente a su clúster.

Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

 

WS_JMS26

 

Ingrese el siguiente detalle para la especificación:

Name (Nombre): AsyncAuditControllerActivationSpec

JNDI Name (Nombre JNDI) : eis/AsyncAuditControllerActivationSpec

Destination type (tipo de destino): seleccione cola: Queue

Destination JNDI Name (Nombre JNDI del destino): jms/AsyncAuditController

Bus name (Nombre del bus): seleccione el bus creado para Bizagi: BizAgiBus

 

WS_106_JMA02

 

Dé clic en OK.

Deberá ver ambas especificaciones listadas en la tabla.

 

WS_106_JMA03

 

 

Recuerde dar clic en Guardar (Save) para aplicar los cambios.

 

Mensajería para el manejo de caché

La capa de acceso a datos de Bizagi está basada en el framework JPA (Java Persistence API). En el manejo de esta capa Bizagi utiliza EclipseLink y se involucra una optimización en caché orientada a mejorar el desempeño de las aplicaciones.

Es importante que este caché esté replicado en todos los nodos que hacen parte de un clúster, para lo cual se crean dos Fábricas de tópicos y dos tópicos.

 

Para iniciar creando las Fábricas de Tópicos, ubique el panel a la izquierda para seleccionar rápidamente la opción Topic Connection factories , ubicada en la sección de recursos (Resources) bajo el item JMS.

 

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

Dé clic en Nuevo (New) para crear este recurso. Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

NODEWS_JMS26

Ingrese el siguiente detalle:

Name (Nombre): ELEntitiesTopicFactory

JNDI Name (Nombre JNDI): jms/ELEntitiesTopicFactory

Bus name (Nombre del Bus): Seleccione BizAgiBus.

Nonpersistent message reliability (Confianza de mensajes no persistentes): Seleccione Best effort nonpersistent.

 

Dé clic en OK.

Para crear la segunda Fábrica de Tópicos, repita los pasos anteriores: dé clic en Nuevo (New) para crear este recurso y mantenga el Proveedor de mensajería por defecto: Default messaging provider. Dé clic en OK e ingrese el siguiente detalle:

Name (Nombre): ELRenderTopicFactory

JNDI Name (Nombre JNDI): jms/ELRenderTopicFactory

Bus name (Nombre del Bus): Seleccione BizAgiBus.

Nonpersistent message reliability (Confianza de mensajes no persistentes): Seleccione Best effort nonpersistent.

 

Dé clic en OK.

Para crear el tópico, ubique el panel a la izquierda para seleccionar rápidamente la opción Tópico (Topics) , ubicada en la sección de recursos (Resources) bajo el item JMS.

 

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

Dé clic en Nuevo (New) para crear este recurso. Mantenga el Proveedor de mensajería por defecto: Default messaging provider y dé clic en OK.

 

NODEWS_JMS26

Ingrese el siguiente detalle:

Name (Nombre): ELEntitiesTopic

JNDI Name (Nombre JNDI) : jms/ELEntitiesTopic

Bus name (Nombre del bus): seleccione el bus creado para Bizagi: BizAgiBus

Topic space (Nombre de espacio al que pertenece el tópico: Default.Topic.Space

JMS delivery mode (Modo de entrega): Nonpersistent

 

Dé clic en OK.

Para crear el segundo Tópico, repita los pasos anteriores: dé clic en Nuevo (New) para crear este recurso y mantenga el Proveedor de mensajería por defecto: Default messaging provider. Dé clic en OK e ingrese el siguiente detalle:

Name (Nombre): ELRenderTopic

JNDI Name (Nombre JNDI) : jms/ELRenderTopic

Bus name (Nombre del bus): seleccione el bus creado para Bizagi: BizAgiBus

Topic space (Nombre de espacio al que pertenece el tópico: Default.Topic.Space

JMS delivery mode (Modo de entrega): Nonpersistent

 

Dé clic en OK y luego en Guardar (Save) para aplicar los cambios.

 

 

 

 

4.3 Configuración de librerías compartidas

Configure el concepto de librerías compartidas en WebSphere para que el despliegue de la aplicación de Bizagi sea más rápido y se tenga la opción de utilizar librerías que potencialmente se usen por otros aplicativos.

Para ello, navegue a la sección del Entorno (Environment) y dé clic sobre Librerías compartidas (Shared libraries).

 

Asegúrese de seleccionar el scope que incluye el clúster (debe listarse como Cluster=[Nombre_clúster]).

De clic en Nuevo (New) para registrar una librería compartida que referencia a su vez 2 librerías:

httpclient-4.1.1.jar

httpcore-4.1.jar

 

Para la librería compartida, ingrese el siguiente detalle para la especificación:

Name: httpclient

Classpath:

$<WEBSPHERE_HOME>/optionalLibraries/httpclient-4.1.1.jar

$<WEBSPHERE_HOME>/optionalLibraries/httpcore-4.1.jar

 

Nótese que deberá editar <WEBSPHERE_HOME> para que haga referencia a la ruta donde se encuentran dichas librerías, tal como se ubicaron en los pasos previos de instalación.

Asegúrese también de marcar la casilla que especifica Use an isolated loader for this library.

 

WebSphere85_httpclient1

Dé clic en OK y en Guardar (Save) para aplicar los cambios.

 

4.4 Autenticación y el usuario de sistema Bizagi

La configuración del usuario interno del sistema Bizagi es estrictamente requerido, para el usuario llamado admon del dominio por defecto llamado domain.

Para la configuración de este usuario, acceda la Consola de administración desde el nodo que cuenta con el perfil de Deployment Manager (DM).

 

Para hacerlo, en el nodo con perfil DM, vaya a la sección de Usuarios y grupos (Users and groups), y dé clic sobre el enlace de Administrar usuarios (Manage users ).

 

WS_Users01

 

Dé clic en el botón de crear (Create... ) para registrar el usuario administrador por defecto.

Ingrese la siguiente información (debe ser necesariamente la información a continuación):

User ID (id de usuario): domain\admon

First name (nombre): Bizagi

Last name (apellido): Bizagi

Password (contraseña): bizagi

 

WS_Users02

 

Dé clic sobre Crear (Create). WebSphere notificará que la operación ha sido exitosa, y podrá hacer clic sobre Cerrar (Close).

 

Una vez finalice este paso, configure la autenticación desde las opciones mismas de la consola.

Vaya a la sección de Seguridad (Security) y de expanda el ítem de Seguridad global (Global Security).

Seleccione la casilla de Habilitar la seguridad a nivel de aplicación (Enable application security) y dé clic sobre Aplicar (Apply).

 

NODEWSauth1

Dé clic sobre Dominios de seguridad (Security domains) , en la misma sección de Seguridad (Security).

Dé clic sobre el botón Copy Global Security.. para registrar un dominio de seguridad.

 

NODEWS_auth01

 

Ingrese BizagiDomain en el Nombre (Name) del nuevo dominio:

 

WS_auth02

Dé clic en OK.

Dé clic sobre el dominio recién creado (BizagiDomain), que aparecerá listado:

 

WS_auth03

En sus propiedades, asegúrese de marcar la casilla que del scope que incluye el clúster (debe visualizarse bajo Clusters como [Nombre_clúster]).

Realice esto expandiendo los ítems necesarios en en la sección de los scopes asignados (Assigned Scope):

 

NODE_config001

 

En la sección de atributos de seguridad (Security Attributes):

Expanda el ítem de Seguridad a nivel de aplicación (Application Security). Revise que la casilla (Enabled application security) esté marcada (para el valor de Personalizar este dominio --Customize this domain--).

Expanda el ítem de logins de JAAS (JAAS System logins), y dé clic sobre el enlace de logins del sistema (System logins), nuevamente para el valor de Use global and domain-specific logins.

 

WS_auth05

Para esta definición, haga clic en WEB_INBOUND:

 

WS_auth06

 

Haga clic en Nuevo (New) para crear un login de JAAS. Asegúrese de especificar:

Module class name: com.bizagi.security.jaas.BizAgiLoginModule.

Authentication strategy (Estrategia de autenticación): REQUIRED

 

NODEWS_auth07

 

Dé clic en OK.

Nótese que el nuevo módulo será listado dentro de los Experto usados bajo cierto orden predeterminado.

Dé clic sobre el botón de Determinar el orden (Set order... ) para una re-ordenación.

A través de esta opción, asegúrese de listar este nuevo módulo de primero en la lista (utilizando el botón de Mover hacia arriba --Move up--).

 

WS_auth09

 

Dé clic en OK, y revise que BizAgiLoginModule sea el primero de los Experto de WEB_INBOUND (module order = 1).

 

WS_auth10

 

 

De vuelta en la configuración del dominio, dé clic sobre Custom properties para adicionar otros parámetros específicos para la autenticación.

Dé clic en Nuevo (New) y adicione esta propiedad:

Name (Nombre): com.ibm.ws.security.web.logoutOnHTTPSessionExpire

Value (Valor): true

 

Finalmente, dé clic en Guardar (Save) para persistir los cambios.

En este punto el Servidor requiere de un reinicio.

 

Una vez que complete estos pasos, consulte la Configuración de el Scheduler en WebSphere.