Reglas para monitorear procesos de Sterling B2B Integrator

Creación de reglas en Sterling Control Center

Empleo de parámetros para realizar transferencias administradas de archivos a traves de Connect:Direct, de entradas como programas shell, File Agent o procesos de negocio.

Arturo N. López, Software Specialist Sterling Commerce, IBM

Ingeniero en Computación con Maestría en Tecnologías Información y Administración. Experiencia en Procesos de negocios, aplicaciones SOA, redes. Con mas de 15 años de experiencia en el sector financiero y gobierno, habiendo laborado en bancos y secretarías de estado como Petróleos Mexicanos, Banco de México y la Secretaría de la Función Pública.



01-01-2012

La transferencia de archivos obedece a una necesidad de negocio, ya que el contenido de los mismos es información que hay que generar, procesar y hacer llegar a las distintas entidades que conforman una vertical de negocio. De esta forma tenemos redes de datos por vertical, por ejemplo la red bancaria entre el Banco de México y el sistema financiero mexicano, el buró de crédito y sus agencias, y la red de datos de Petróleos Mexicanos.

En estas redes el intercambio de archivos obedece a criterios de negocio, a los que llamaremos niveles de servicio. Un nivel de servicio implica varias características de la transferencia, entre las mas importantes encontramos: la hora en que se realiza, el tiempo de transmisión y el tamaño del archivo. Ahora bien, existen otras características que influyen en el nivel de servicio, como el ancho de banda de un canal de comunicación que puede determinar si el archivo se va a entregar a tiempo o no. Estas variables adicionales pueden ser la ventana de inicio de transmisión del archivo, la ventana de fin de transmisión, el nombre del archivo. Esto se complica si tomamos en cuenta que las transferencias de archivo no implican un solo archivo en un período de tiempo, sino varios al mismo tiempo.

Para poder monitorear y validad que los niveles de servicio se cumplan, existe la herramienta Sterling Control Center, la cual monitorea transferencias de nodos IBM Sterling Connect:Direct, Connect:Enterprise, FTP y Procesos de Negocio de IBM Sterling Integrator. Con Sterling Control Center podemos definir reglas sobre las transferencias y de esta forma ejecutar acciones sobre las reglas. Una regla podría ser que el archivo nomina.dat se tiene que transferir del nodo centro1.mx al nodo centro2.gdl todos los viernes. Si la regla se cumple, podemos generar una alerta y mandar un correo electrónico a una lista de distribución.

Monitoreo sobre IBM Sterling Integrator.

En IBM Sterling Integrator tenemos el flujo de procesos, a diferencia de un proceso en IBM Connect:Direct en la que cada paso es una etiqueta, el flujo implica el uso de servicios parametrizables.

Para poder integrar el uso de niveles de servicio sobre los flujos de servicios, se le añadió a Sterling Control Center conectividad con IBM Sterling Integrator mediante el uso de Web Services, de este forma un servicio de IBM Sterling Integrator hace llegar a Sterling Control Center los eventos que están ocurriendo.

Con cada evento que se registra en la aplicación, Sterling Control Center guarda en su base de datos sus características. Ahora bien, un proceso de Sterling Connect:Direct consta de etiquetas, en el siguiente ejemplo mostramos un proceso:

        /*BEGIN_REQUESTER_COMMENTS 
        $PNODE$="CD-DEMO" $PNODE_OS$="Windows" 
        $SNODE$="CD-DEMO" $SNODE_OS$="Windows" 
        $OPTIONS$="WDOS" 
        END_REQUESTER_COMMENTS*/
        DEMO PROCESS 
        SNODE=CD-DEMO
        STEP1 COPY 
        FROM (
        FILE=C:\CDWindowsDemo\TestData\testData.txt
        )
        TO (
        FILE=C:\CDWindowsDemo\TestData\testData.out
        DISP=RPL
        )
        COMPRESS Extended
        STEP2 RUN TASK SNODE (PGM=WINNT)
        SYSOPTS="pgm(C:\CDWindowsDemo\TestData\ExtractData.exe) args(1)"
        PEND

Como podemos ver, la etiqueta del proceso se llama DEMO, dentro de DEMO STEP1 hace la copia del archivo y STEP2 ejecuta un comando del sistema operativo.

El siguiente ejemplo muestra un flujo de IBM Sterling Integrator.

Figura 1.

Haga clic aquí para ver la imagen a tamaño original.

El nombre del proceso de negocio es GRAINGER, dentro del flujo tenemos 4 servicios: Mailbox Query Service, Mailbox Extract Begin Service, Translation y File System Adapter. Para poder generar una regla, necesitamos definir en qué paso, debido a que Sterling Control Center originalmente fue creado para monitorear transferencias de Connect:Direct, se tiene que una regla se puede aplicar sobre un proceso y sobre un paso del proceso. De esta forma podemos hacer una regla sobre el proceso Grainger y el proceso Demo sin importar si son de Connect o Integrator, ahora bien, nuestros procesos realizan distintas tareas, esto es el número de eventos que pude ejecutar un proceso de Connect es menor a los que pueden hacer en Integrator; sin embargo para fines de etiquetarlos, en ambos casos son pasos dentro de un proceso. Ahora bien, como se menciono, Sterling Control Center esta adicionando eventos para enriquecer el monitoreo de Ingrator, por lo cual en las reglas podemos encontrar eventos de Integrator, los más importantes son: Process Name, Step Name, Return Code,SI.ProcessData.

Para el proceso de negocio GRAINGER, podemos generar reglas, por ejemplo una regla podría referir a Process Name Equals to GRAINGER, dentro de la misma regla agregamos que el Step Name equals to Mailbox Extract Begin Service y return code not equal to 0. De esta manera la regla indica que si el servicio que extrae un archivo del mailbox del proceso de negocio GRAINGER no termina correctamente, nuestra regla va a disparar una acción.

Hasta aquí las reglas que podemos generar son limitadas, ya que solo referimos a los nombres de los procesos de negocios y a los servicios que los conforman. Para resolver esta limitación, se agrega la regla sobre el Process Data del proceso de negocio. Cuando un servicio ejecuta una acción dentro del proceso de negocio, deja evidencia de su actividad a parte de su estado de terminación. De tal forma un servicio que realiza una conexión a otro programa, deja el resultado de la conexión en el Process Data, si un servicio envía o recibe un archivo, toda la información relevante al archivo que envió o recibió queda en el Process Data.

Retomando nuestro proceso de negocio en el que se extrae un archivo del Mailbox y se aplica un mapa (Translation service), seguramente nos interesa conocer si se pudo ejecutar sin error la extracción del archivo y su posterior mapa. Ahora bien, la información que contiene el archivo tal vez deba respetar algunas reglas del negocio, por ejemplo supongamos que dentro del archivo hay un registro que nos indica el nodo que origino el archivo. Pensemos que esos nodos que originan los archivos están afuera de nuestra organización y que en promedio recibimos 1000 archivos al día. De estos 1000 archivos, tenemos especial interés de los que se originan en el nodo “CONSOLIDA_SALDOS”.

Dentro de nuestro mapa, ocurren las validaciones necesarias y se convierte el archivo de un posicional a un formato idoc para ser enviado a un ERP. Dentro de nuestro mapa agregamos una regla estándar para que ejecute un Update y Document extraction sobre el campo que contiene el nombre del nodo origen. Esta regla estándar va a escribir dentro del process data el nombre del nodo. De esto podemos generar las siguientes reglas:

SI.ProcessData equals "CONSOLIDA_SALDOS
SI.ProcessData contains "CONSOLIDA"
SI.ProcessData wildcard "CONSOLIDA*"

La primera regla busca por la cadena exacta "CONSOLIDA_SALDOS", en la segunda con que aparezca la palabra "CONSOLIDA" sin importar el resto del texto, en la tercera regla aplicamos un wildcard para la cadena CONSOLIDA y lo que siga en el resto de la cadena.

Para nuestro ejemplo, las 3 reglas nos van a generar el aviso que necesitamos, sin importar que recibimos1000 archivos, podemos conocer el momento en que llegan los archivos del nodo "CONSOLIDA_SALDOS" y generar una acción, como puede ser una alerta en la consola o enviar un correo electrónico a una lista de distribución.

En cada versión de Sterling Control Center se están agregando mas componentes para poder monitorear los eventos del IBM Sterling Integrator, de esta forma nuestras alertas sobre los procesos que se están ejecutando serán cada vez más precisos. La posibilidad de buscar patrones sobre el ProcessData permite conocer el estado de los procesos, debido a que la información del ProcessData se genera dinámicamente y esta permite tomar decisiones sobre los flujos. Este tipo de reglas que tal vez son comunes a muchos usuarios, se recopilan en el documento IBM Sterling Control Center "How to", este documento se actualiza con los casos y retroalimentación del grupo de usuarios y se dividen en reglas de transferencia, monitoreo de eventos etc...

Antes de generar reglas y acciones en nodos IBM Sterling Control Center, es necesario hacer un análisis de los niveles de servicios que se desean cumplir, ya que es común que al no planear correctamente las reglas, se podrían complicar sus desarrollos, más aún si se hacen reglas ligadas.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=783217
ArticleTitle=Reglas para monitorear procesos de Sterling B2B Integrator
publish-date=01012012