+ All Categories
Home > Software > Mq conceptos y programacion as400

Mq conceptos y programacion as400

Date post: 09-Aug-2015
Category:
Upload: giovanny-guillen
View: 236 times
Download: 27 times
Share this document with a friend
31
Copyright © 2014 Tata Consultancy Services Limited WMQ Conceptos y Programación AS/400 Giovanny Guillén Bustamante
Transcript
Page 1: Mq conceptos y programacion as400

Copyright © 2014 Tata Consultancy Services Limited

WMQConceptos y Programación AS/400

Giovanny Guillén Bustamante

Page 2: Mq conceptos y programacion as400

Agenda

1. SOA

2. Services Requestor

3. Services Broker o Middleware

4. Services Provider

5. Patron MVC

6. Websphere MQ

7. MQ Configuración

8. MQ Programación: RPG, COBOL, JAVA, C#

9. Notas Finales

Page 3: Mq conceptos y programacion as400

SOA

• Método para organizar y utilizar capacidades distribuidas que

pueden estar bajo el control de diferentes sistemas.

Services Services Services

Requestor Broker Provider

(Middleware)

Page 4: Mq conceptos y programacion as400

Services Requestor

• Aplicación con una necesidad de negocio. Por ejemplo:

• CORE transaccional que da servicio a los cajeros

automáticos y dataphonos.

• Servidor de interner con las aplicaciones de servicio para el

canal.

• Aplicaciones de banca no corresponsal.

Page 5: Mq conceptos y programacion as400

Services Broker o Middleware

• Software que asiste a una aplicación para interactuar o

comunicarse con otras aplicaciones, software, redes, hardware

y/o sistemas operativos.

• Administra:

• Las comunicaciones físicas y lógicas• La traducción y enrutamiento de los datos.

Page 6: Mq conceptos y programacion as400

Services Provider

• Aplicación que implementa la lógica de negocio para dar

respueta a las solicitudes del services requestor.

• Aplicación de validación de datos del cliente.

• Aplicación de autorización de transacciones de cajeros

automáticos.

• Aplicación de autorización de transacciones de CSSA.

Page 7: Mq conceptos y programacion as400

Patron MVC

• Patrón de arquitectura de software que separa los datos y

la lógica de negocio de una aplicación de la interfaz de

usuario y el módulo encargado de gestionar los eventos y las

comunicaciones.

Controlador

Vista

Modelo

Lógica de

Negocio

Acceso a

Datos

Page 8: Mq conceptos y programacion as400

Websphere MQ

� Framework para comunicaciones intersistemas� Funciona en diferentes sistemas operativos y plataformas

de hardware� Aplica los conceptos:

� Store and Forward

� Comunicación asincrona

Tiempo inicial Tiempo Final / EntregaDelay

Page 9: Mq conceptos y programacion as400

Websphere MQ

� Tipos de comunicación de aplicaciones:� Fire and Forget

� Request / Response

PGM APGM B

PUT GET

Cola

PGM APGM B

PUT GET

Cola

Reply to Queue

PUT Mensaje

Procesado

GET Mensaje

Procesado

Page 10: Mq conceptos y programacion as400

Websphere MQ - Componentes

� Componentes principales

� Gestor de colas

� Colas

� Canales

� Mensajes

Page 11: Mq conceptos y programacion as400

Websphere MQ - Mensajes

� Son los datos enviados entre aplicaciones

� Están formados por dos partes:

� Datos de la aplicación: Contiene los datos de la aplicación.

� Propiedades del mensaje: Contiene información queutiliza el gestor de colas como el nombre de la cola, prioridad, información de seguridad, etc.

Page 12: Mq conceptos y programacion as400

Websphere MQ - Colas

� Repositorio por donde se envía y reciben mensajes

� Pueden ser remotas o locales

� No son como las data queues (*DTAQ)

� Para acceder y utilizar las colas se deben usar las API’s

de MQ.

Page 13: Mq conceptos y programacion as400

Websphere MQ - Colas

� Son independientes de la aplicación.

� Se pueden definir las siguientes características al crear

una cola:

� Put-enabled (Los mensajes pueden se colocados en la

cola para ser enviados)

� Get enabled (Los mensajes pueden ser recibidos desde

la cola)

� Tamaño de la cola

Page 14: Mq conceptos y programacion as400

Queue Manager es un subsistema de software que controlael acceso a colas individuales. Registra las anotaciones detoda actividad en cada cola.

Sistema Local Sistema Remoto

Remote Queue Local Queue

Local Queue Remote Queue

Administrado por el Queue manager del sistema Local

Administrado por el Queue manager del sistema remoto

Websphere MQ - Queue Manager

Page 15: Mq conceptos y programacion as400

MQ Configuración-WRKMQM

Page 16: Mq conceptos y programacion as400

MQ Configuración- CRTMQM

Page 17: Mq conceptos y programacion as400

MQ Configuración- CRTMQMCHL

Page 18: Mq conceptos y programacion as400

MQ Configuración - CRTMQMQ

Page 19: Mq conceptos y programacion as400

MQ Programación - APIs

� De uso común:

� MQCONN – Conectar al Queue Manager� MQDISC – Desconectar del Queue Manager� MQOPEN – Abrir una cola� MQCLOSE – Cerrar una cola� MQPUT – Colocar un mensaje en una cola� MQGET – Tomar un mensaje de una cola

� QMQM – API para llamadosdinamicos (Conectar, desconec tar, abrir, cerrar, colocar y/o recibir).

Page 20: Mq conceptos y programacion as400

MQ Programación - Modelo

� El modelo general para crear un programa que utilice MQ es el siguiente:

1. MQCONN: Conectar al queue

manager

QUEUE MANAGER

2. MQOPEN: Abrirla cola

QUEUE MANAGER

3. MQPUT:Enviar Mensaje

QUEUE MANAGER

Page 21: Mq conceptos y programacion as400

MQ Programación - Modelo

� El modelo general para crear un programa que utilice MQ es el siguiente:

4. MQGET:Recibir Mensaje

QUEUE MANAGER

5. MQCLOSE: Cerrar la Cola

QUEUE MANAGER

6. MQDISC:Desconectar del queue manager

QUEUE MANAGER

Page 22: Mq conceptos y programacion as400

MQ Programación- RPG

� Ejemplo de los Copy que se deben utilizar:

* MQI Named Constants /COPY QMQM/QRPGLESRC,CMQG * Object Descriptor

D MQOD DS /COPY QMQM/QRPGLESRC,CMQODG * Message Descriptor

D MQMD DS /COPY QMQM/QRPGLESRC,CMQMDG * Get Message Options

D MQGMO DS /COPY QMQM/QRPGLESRC,CMQGMOG * Put message options

D MQPMO DS

/COPY QMQM/QRPGLESRC,CMQPMOG

Todas las definiciones deestructuras de datos, prototipos yAPI’s se encuentran la libreríaQMQM.

Incluyen: Nombres deconstantes, información deldescriptor de objetovs ymensajes e información paraopciones de las API’s Put y get.

Page 23: Mq conceptos y programacion as400

MQ Programación- RPG

� Código ejemplo para conectar al Queue Manager:

* Conectar al queue manager. C CallP MQConn(QMName : C HConn : C OCode : C Reason) C If OCode = CCFail

* Si ocurrió un error C EndIf

Page 24: Mq conceptos y programacion as400

MQ Programación- RPG

� Ejemplo para abir una cola:

* Abrir una colaC Eval Opts = OOInpq +

OOFIQ C Eval ODon = ReplyQueC CallP MQOpen(HConn : C MQOD : C Opts : C HInObj : C OCode : C Reason) C If Reason <> RCNone

* Si hubo un Error C EndIf

Page 25: Mq conceptos y programacion as400

MQ Programación- RPG

� Código ejemplo de MQPut:* MQGet sigue el mismo patron

C Eval MdFmt = FmStrC Eval MDRQ = ReplyQueC Eval MDRM = QMNameC CallP MQPut(HConn : C HOutObj : C MQMd : C MQPmo : C BufLen : C BufPtr : C CCode : C Reason) C If Reason <> RCNone

* Si ocurre un ErrorC EndIf

Page 26: Mq conceptos y programacion as400

MQ Programación- RPG

� Código Ejemplo de MQGet:C CallP MQGet(HConn : C HInObj : C MQMd : C MQGmo : C BufLen : C BufPtr : C MsgLen : C CCode : C Reason) * No hay mensajes disponiblesC If Reason <> RCNoneC If Reason <> RC2033

* Ocurrió un errorC EndIfC Else

* Procesa los datosC EndIf

Page 27: Mq conceptos y programacion as400

MQ Programación- RPG

� Código ejemplo de MQClose:

* Cierra la colaC Eval Opts = CONoneC CallP MQClose(HConn : C HInObj : C Opts : C CCode : C Reason) C If Reason <> RCNone

* Si ocurre un errorC EndIf

Page 28: Mq conceptos y programacion as400

MQ Programación- RPG

� Código ejemplo de MQDisc:

* Desconectar del Queue Manager.C CallP MQDisc(HConn : C OCode : C Reason)

* Si se detecta algún error. C If OCode = CCFail

* Gestiona el error... C EndIf

Page 29: Mq conceptos y programacion as400

MQ Programación- RPG

� Llamados Dinámicos con QMQM:

� Mediante el CID o identificador de tipo de operación, se puedenrealizar llamados al programa QMQM indicando el tipo de operacióna realizar.

C eval cid = MQCONN

C* Conexión a la cola

C call 'QMQM'

C parm cid

C parm QNAME

C parm hconn

C parm ocodeC parm reason

CID QMQM

Call

Page 30: Mq conceptos y programacion as400

Notas Finales

� MQ permite:

� Interconectar sistemas (AS/400, Mainframe, Linux, Windows, etc).

� Implementar los conceptos de SOA y MVC.

� Crear arquitecturas dinámicas.

� Modernizar sistemas de tipo legacy sin necesidad de cambiar las

aplicaciones y bases de datos existentes.

Page 31: Mq conceptos y programacion as400

Ingeniero Giovanny Guillen

Bustamante

IBM Certified Specialist

E-mail: [email protected]

Gracias


Recommended