Académique Documents
Professionnel Documents
Culture Documents
AS/400PORTAL
Guía Rápida de
Programación de Servicios
en el AS400
Versión 1
Este documento es de propiedad de Assist Consultores y sin su aprobación se prohíbe reproducir, duplicar, copiar,
ceder, asignar o cualquier acción no autorizada que sobre su contenido o parte del mismo sea llevada acabo sin la
expresa permisión del personal autorizado de Assist Consultores. Cualquier irregularidad expresa será responsabilidad
del ente, persona natural o jurídica.
Todos los derechos reservados. La información contenida dentro de este documento es para uso interno y puede ser
solamente usada para propósitos de negocio autorizados por Assist Consultores.
Assist Consuiltores se reserva el derecho de cambiar este documento acorde a requerimientos posteriores y para ello
se llevara un control de versiones.
ASSIST Consultores
Calle 95 Número 11-51 Oficina 403
Bogotá - COLOMBIA
Tel : (57 1) 616 07 68
Fax: (57 1) 616 07 80
www.assist.com.co
e-mail : info@assist.com.co
Primera Versión
Guía Rápida de Programación de Servicios
Enero, 2007.
Preparado por Germán Darío Clavijo Landinez
A Quien va Dirigido?
El documento esta orientado a personal técnico del AS400 que
desarrolla o mantiene el software del CORE, como analistas,
programadores, Lideres de Proyecto, Gerentes de Arquitectura y todas
aquellas personas que tienen que ver directa o indirectamente con el
sistema del PORTAL, con el fin de obtener el conocimiento de cómo
desarrollar nuevas funcionalidades o inclusive de efectuar
mantenimientos al código del software. Esta implementación abarca solo
el ambiente AS400. Para información adicional sobre el sistema WEB en
el Portal remítase a la documentación respectiva.
Introducción
Este capítulo muestra algunos conceptos básicos para el entendimiento
del sistema POR400 (Portal de Servicios desde el AS400) en el aspecto
de interfaz. Se describe en detalle los paneles o pantallas del sistema
POR400.
¿Qué es POR400?
El sistema POR400 es un Sistema de Administración que permite
controlar y configurar los Programas de Servicio que se encargan de
retornar la información con la lógica de Negocio requerida y utilizando
para ello integración con MQSeries.
Panel de lista
La información se despliega inicialmente en una lista de registros (panel
de lista) ordenados de acuerdo a la información presentada. El campo o
los campos (campos llave) que indican el orden de la información se
encuentran con atributo de pantalla de alta intensidad (color blanco) y
aparecerán de izquierda a derecha dentro de las columnas de la
información.
Sección
superior
Sección de
información,
lista y
opciones
Sección
inferior,
funciones
Explicación de Panel
Cada pantalla de lista tiene tres secciones de información: en la parte
superior esta la indicación de la información desplegada; en la parte
central se encuentra la lista de la información y las opciones disponibles
para cada registro de la lista, y en la sección superior se encuentran las
funciones disponibles para el panel.
O, Opc
Es la columna donde se selecciona la opción disponible. Usted deberá
situarse en el registro deseado y teclear la opción.
Otras columnas
De acuerdo a la información consultada aparecerán diferentes columnas.
E, Est
Esta columna indica el estado del registro, siendo blanco-activo y un
asterisco (*) que significa que el registro esta inactivo.
Opciones: Funciones:
1-Selección F3-Salir
2-Cambiar F4-Solicitud
4-Eliminar F5-Refrescar
5-Visualizar F6-Crear
F10-Procesar
F12-Cancelar
Explicación de Panel
Cada pantalla tipo prompt despliega la información en detalle del registro
seleccionado en la lista. Si seleccionó el registro con la opción 5-
visualizar, las funciones que aparecen son de solo consulta. Si
seleccionó la opción 2-cambiar el campo principal o llave no se podrá
cambiar. Si el campo principal es susceptible de cambiar el sistema
verifica si es posible el cambio verificando que no exista un registro de
transacción en un archivo.
Explicación de Panel
Este panel despliega una lista parecida a un panel de lista con el objetivo
principal de seleccionar un registro o un valor de un campo determinado.
Desde esta lista se da la opción de visualizar en detalle la información
del registro deseado inclusive se puede crear un registro sin necesidad
de invocar la función de gestión. Para la lista también se da la opción de
situarse en un registro determinado.
Introducción
En este capítulo se describe que pasos son necesarios para la
implementación de un servicio en el Portal a partir del CORE.
Pasos a Seguir
La siguiente lista define los pasos que se deben seguir para la
generación de un programa de servicio y deben ser por lo general
llevados a cabo para el éxito de la implementación. Recuerde que este
documento es una guía que lo lleva hasta implementar un servicio pero
la lógica que se incluya dentro de las rutinas necesarias depende como
sean desarrolladas y la guía sugiere que se lleven ciertos aspectos para
lograr ese objetivo.
Introducción
En este capítulo se describe el inicio al proceso de implementación de un
servicio. Para ello se debe conceptualizar o definir los mensajes tanto de
entrada (request), como de salida (response). Esta definición consiste en
describir que elementos son los esperados por los programas de servicio
y de la misma manera, lo que espera la WEB.
Descripción
A partir de un requerimiento funcional por parte del Negocio se debe
definir la mensajería que será utilizada como requerimiento al CORE y
como el CORE retornará la información, la cual será desplegada en la
WEB. Para ello, una vez analizado el requerimiento o funcionalidad por
parte del Negocio se deberá describir cada campo en un formato similar
al siguiente:
1) Funcionalidad a Conceptualizar
2) Definición de Elementos
3) Descripción de Ubicación de Elementos
4) Agrupación de Información
5) Inclusión Elementos de Control
6) Asignación de Nombres Tag
Caso de ejemplo
Para un mejor entendimiento del paso se analizara el siguiente caso
donde se explica como diligenciar la matriz:
1 <codSer>, maneja el código de mensaje que se bautiza para el servicio. <idMen>, es el numero de identificación del mensaje en WEB. <CodErr>, numero
de tres dígitos que contiene el Action Code o código de error luego de procesarse el servicio. Este campo es alfanumérico
Introducción
En este capítulo se describe como se configuran los elementos en el
Sistema de Administración de Servicios POR400.
Descripción
Invoque el menú principal del Sistema de Administración utilizando el
perfil de Usuario. Para ello, desde la línea de comando del AS400
invoque el programa POICFUN con parámetro ‘USU’:
• AAAA, Año
• MM, Mes
• DD, Dia
• HH, Hora
• mm, Minutos
• SS, Segundos
• NNN, Milisegundos
Introducción
En este capítulo se describe como se configuran los mensajes MLI tipo
Request y Response. Una vez creado cada elemento el siguiente paso
es crear el mensaje asignando cada elemento. La base de la creación de
cada elemento y mensaje es el archivo diligenciado en el Capitulo 3-
Conceptualización de Mensajería.
Descripción
Una vez se han definido los elementos nuevos en el repositorio o
diccionario el siguiente paso es definir los mensajes tanto de entrada
como de salida. Para ello, seleccione la opción 05.Definición de
Mensajería MLI desde el Menú de Administración, utilizando el mismo
procedimiento llevado a cabo en el capitulo anterior, colocando la opción
1-Selección al frente del registro, luego pulse Intro. Aparecerá la
siguiente pantalla donde se definen los mensajes tanto Request como
Response:
Agrupamiento de elementos
Un agrupamiento de elementos es un conjunto de elementos que al
unirlos informan algo. Tomemos como ejemplo el siguiente caso:
Ocurrencias o tablas
Cuando desee enviar o recibir registros similares a un archivo cree el
grupo de elementos requerido y luego sitúese en algún elemento dentro
del grupo y seleccione la opción 9-Ocurrencias. El sistema le solicitara
el numero de ocurrencias que desee, máximo 99. Recuerde de efectuar
un análisis de la longitud del mensaje al finalizar su creación.
El mensaje no debe ser muy grande pues estaría impactando los
tiempos de respuesta. Analice cual es la mejor opción. Se sugiere
asignar hasta 30 ocurrencias. Recuerde que entre mas grande la
definición del mensaje mas grande será el recurso requerido para el
envío. Cuando se establecen definiciones de ocurrencias se habla de
sincronización de mensajes con la Web, quien solicita un siguiente
grupo de mensajes o paquete de información, basado en el envío del
elemento siguiente (por ejemplo: fecsig: fecha siguiente). Si el elemento
no se retorna se le esta informando a la Web que ya no hay mas
registros en la lista.
Introducción
Una vez se configura el mensaje, el siguiente paso es incluir el servicio
dentro del catalogo de servicios. Con esta configuración se permite
establecer la actividad del servicio una vez se arranque el subsistema
PORSBS. En este capítulo se describe como se configura el programa
de servicio dentro del catalogo de servicios.
Descripción
Para la inclusión del programa de servicio dentro del catalogo, asigne un
nombre al programa utilizando el siguiente estándar:
El nombre del programa debe iniciar por POIRSxxxxx, en donde,
POI, es el nombre del aplicativo PORTAL,
R, es el tipo de objeto RPGLE,
S, significa que el programa es un programa de servicio
xxxxx, nemotécnico del nombre de programa
Introducción
Una vez se configura el programa de servicio dentro del catalogo de
servicios el siguiente paso es asignar la lista de librerías necesarias para
la ejecución del programa de servicio. En este capítulo se describe como
se asigna la lista de librerías al programa de servicio.
Descripción
Una vez se crea el programa de servicio dentro del catalogo de servicios
el siguiente paso es asignarle la lista de librerías. Si ninguna lista de
librerías creadas no se acoge a la requerida entonces cree un nuevo
grupo o lista de librería y dentro del grupo asigne las librerías necesarias.
Para crear una nueva lista pulse F6-Crear. Asigne una descripción y
grabe el registro con F10-Grabar. Luego, sitúese en la lista de librería
creada y seleccione el registro con opción 1-Librerías. En esta sección
se desplegara un mensaje o aviso informando que no hay registros a
desplegar, pulse F6-Crear. Diligencie los campos que se solicitan como
nombre de librería y orden. Si no recuerda el nombre de la librería
entonces pulse F4-Solicitud y se desplegara una lista de las librerías
existentes en el AS400. Seleccione un registro con la opción 1-
Seleccionar. Cree las librerías necesarias grabando cada registro
pulsando F10-Grabar.
Introducción
Una vez se configura el servicio dentro del catalogo de servicios y se ha
asignado el ambiente de ejecución (lista de librerías), el siguiente paso
es crear las ColasMQ dentro del Qmanager respectivo. De esta manera
se configura el Qmanager con los nuevos servicios solicitados.
Descripción
Para ello, seleccione la opción 03.Creación ColasMQ en QManager.
desde el Menú de Administración, utilizando el mismo procedimiento
llevado a cabo en el capitulo anterior, colocando la opción 1-Selección al
frente del registro, luego pulse Intro. Aparecerá un mensaje o aviso
informando que se crearan ColasMQ y CanalesMQ. Pulse F10-Procesa
para someter el proceso de creación.
Introducción
En este capítulo se describe como se debe construir el programa de
servicio basado en una arquitectura de integración con uso de MQSeries.
Descripción
El programa de Servicio desarrollado en RPGLE deberá tener tres (3)
rutinas básicas requeridas que se encargan de manera lógica de
procesar un requerimiento funcional:
Recomendación
Usted podrá incluir mas rutinas propias de la lógica de negocio a
implementar que serán invocadas desde la rutina SRPROCESA.
Recuerde que estos programas de servicio deben ser desarrollados lo
mas estructurado posible y deben utilizar lógica que siempre tenga en
cuenta que son programas Online cuyo objetivo primordial es el tiempo
de respuesta, por lo que evite acceder a archivos que no sea necesario
estar leyendo continuamente cada vez que llegue un requerimiento,
como son los archivos tipo tabla, es decir, aquellos archivos que tienen
definiciones que no suelen cambiar continuamente y que no son
transaccionales ni voluminosos. Por ejemplo, una tabla donde están
definidos los códigos de banco con sus descripciones, o las ciudades y
departamentos.
2
En un reléase posterior se implementara una funcionalidad que evite tener que bajar y subir el
servicio cuando estas tablas se actualicen.
Para ello, existe una función de usuario que permite solicitar el valor de
un elemento que se llama RTVVALVAR. Esta función requiere de tres
(3) parámetros:
Para cargar los valores existe una función de usuario que permite enviar
el valor a cada elemento, que se llama SNDVALVAR. Esta función
requiere de cuatro (4) parámetros:
/COPY POIRCOPY:
Contiene el control sobre estructuras de archivos y variables comunes.
Debe ser incluido inmediatamente después de la sección de archivos y
antes de la definición de variables (Hoja D):
/COPY POIRCPRO:
Contiene la definición de Prototipos y rutinas genéricas de lógica
MQSeries y debe ser incluida al final del programa de servicio:
Introducción
Una vez se ha implementado el programa de servicio se deben incluir los
códigos y descripciones de los códigos de error que se manejaron dentro
del servicio. En este capítulo se describe como se configuran los codigos
de error del servicio (mensaje).
Descripción
Para la inclusión de los mensajes de error (Action Code) de un programa
de servicio el cual resuelve un mensaje funcional seleccione la opción
05.Definición de Mensajería MLI desde el Menú de Administración,
utilizando el mismo procedimiento llevado a cabo en el capitulo anterior,
colocando la opción 1-Selección al frente del registro, luego pulse Intro.
Aparecerá la siguiente pantalla donde se definen los mensajes tanto
Request como Response dando la opción 7-Errores: