Copyright © 2014 Tata ConsultancyServices Limited
WMQ
Conceptos y
Programación AS/400
Giovanny Guillén Bustamante
Agenda
1. SOA
2. Services Requestor
3. Services Broker o Middleware
4. Services Provider
5. Patron MVC
6. Websphere MQ
7. ...
SOA
• Método para organizar y utilizar capacidades distribuidas que
pueden estar bajo el control de diferentes sistemas.
S...
Services Requestor
• Aplicación con una necesidad de negocio. Por ejemplo:
• CORE transaccional que da servicio a los caje...
Services Broker o Middleware
• Software que asiste a una aplicación para interactuar o
comunicarse con otras aplicaciones,...
Services Provider
• Aplicación que implementa la lógica de negocio para dar
respueta a las solicitudes del services reques...
Patron MVC
• Patrón de arquitectura de software que separa los datos y
la lógica de negocio de una aplicación de la interf...
Websphere MQ
Framework para comunicaciones intersistemas
Funciona en diferentes sistemas operativos y plataformas
de hardw...
Websphere MQ
Tipos de comunicación de aplicaciones:
Fire and Forget
Request / Response
PGM A
PGM B
PUT GET
Cola
PGM A
PGM ...
Websphere MQ - Componentes
Componentes principales
Gestor de colas
Colas
Canales
Mensajes
Websphere MQ - Mensajes
Son los datos enviados entre aplicaciones
Están formados por dos partes:
Datos de la aplicación: C...
Websphere MQ - Colas
Repositorio por donde se envía y reciben mensajes
Pueden ser remotas o locales
No son como las data q...
Websphere MQ - Colas
Son independientes de la aplicación.
Se pueden definir las siguientes características al crear
una co...
Queue Manager es un subsistema de software que controla
el acceso a colas individuales. Registra las anotaciones de
toda a...
MQ Configuración- WRKMQM
MQ Configuración- CRTMQM
MQ Configuración- CRTMQMCHL
MQ Configuración - CRTMQMQ
MQ Programación - APIs
De uso común:
MQCONN – Conectar al Queue Manager
MQDISC – Desconectar del Queue Manager
MQOPEN – Ab...
MQ Programación - Modelo
El modelo general para crear un programa que utilice MQ
es el siguiente:
1. MQCONN:
Conectar al q...
MQ Programación - Modelo
El modelo general para crear un programa que utilice MQ
es el siguiente:
4. MQGET:
Recibir Mensaj...
MQ Programación- RPG
Ejemplo de los Copy que se deben utilizar:
* MQI Named Constants
/COPY QMQM/QRPGLESRC,CMQG
* Object D...
MQ Programación- RPG
Código ejemplo para conectar al Queue Manager:
* Conectar al queue manager.
C CallP MQConn(QMName :
C...
MQ Programación- RPG
Ejemplo para abir una cola:
* Abrir una cola
C Eval Opts = OOInpq +
OOFIQ
C Eval ODon = ReplyQue
C Ca...
MQ Programación- RPG
Código ejemplo de MQPut:
* MQGet sigue el mismo patron
C Eval MdFmt = FmStr
C Eval MDRQ = ReplyQue
C ...
MQ Programación- RPG
Código Ejemplo de MQGet:
C CallP MQGet(HConn :
C HInObj :
C MQMd :
C MQGmo :
C BufLen :
C BufPtr :
C ...
MQ Programación- RPG
Código ejemplo de MQClose:
* Cierra la cola
C Eval Opts = CONone
C CallP MQClose(HConn :
C HInObj :
C...
MQ Programación- RPG
Código ejemplo de MQDisc:
* Desconectar del Queue Manager.
C CallP MQDisc(HConn :
C OCode :
C Reason)...
MQ Programación- RPG
Llamados Dinámicos con QMQM:
Mediante el CID o identificador de tipo de operación, se pueden
realizar...
Notas Finales
MQ permite:
Interconectar sistemas (AS/400, Mainframe, Linux, Windows, etc).
Implementar los conceptos de SO...
Ingeniero Giovanny Guillen
Bustamante
IBM Certified Specialist
E-mail: giovanny_guillen_b@Hotmail.com
Gracias
Próxima SlideShare
Cargando en…5
×

Mq conceptos y programacion as400

1.555 visualizaciones

Publicado el

Websphere MQ, conceptos y programación sobre AS/400(IBM i).

Publicado en: Software
0 comentarios
3 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
1.555
En SlideShare
0
De insertados
0
Número de insertados
11
Acciones
Compartido
0
Descargas
38
Comentarios
0
Recomendaciones
3
Insertados 0
No insertados

No hay notas en la diapositiva.

Mq conceptos y programacion as400

  1. 1. Copyright © 2014 Tata ConsultancyServices Limited WMQ Conceptos y Programación AS/400 Giovanny Guillén Bustamante
  2. 2. 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
  3. 3. 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)
  4. 4. 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.
  5. 5. 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.
  6. 6. 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.
  7. 7. 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
  8. 8. 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
  9. 9. Websphere MQ Tipos de comunicación de aplicaciones: Fire and Forget Request / Response PGM A PGM B PUT GET Cola PGM A PGM B PUT GET Cola Reply to Queue PUT Mensaje Procesado GET Mensaje Procesado
  10. 10. Websphere MQ - Componentes Componentes principales Gestor de colas Colas Canales Mensajes
  11. 11. 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 que utiliza el gestor de colas como el nombre de la cola, prioridad, información de seguridad, etc.
  12. 12. 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.
  13. 13. 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
  14. 14. Queue Manager es un subsistema de software que controla el acceso a colas individuales. Registra las anotaciones de toda 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
  15. 15. MQ Configuración- WRKMQM
  16. 16. MQ Configuración- CRTMQM
  17. 17. MQ Configuración- CRTMQMCHL
  18. 18. MQ Configuración - CRTMQMQ
  19. 19. 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 llamados dinamicos (Conectar, desconec tar, abrir, cerrar, colocar y/o recibir).
  20. 20. 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: Abrir la cola QUEUE MANAGER 3. MQPUT: Enviar Mensaje QUEUE MANAGER
  21. 21. 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
  22. 22. 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 de estructuras de datos, prototipos y API’s se encuentran la librería QMQM. Incluyen: Nombres de constantes, información del descriptor de objetovs y mensajes e información para opciones de las API’s Put y get.
  23. 23. 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
  24. 24. MQ Programación- RPG Ejemplo para abir una cola: * Abrir una cola C Eval Opts = OOInpq + OOFIQ C Eval ODon = ReplyQue C CallP MQOpen(HConn : C MQOD : C Opts : C HInObj : C OCode : C Reason) C If Reason <> RCNone * Si hubo un Error C EndIf
  25. 25. MQ Programación- RPG Código ejemplo de MQPut: * MQGet sigue el mismo patron C Eval MdFmt = FmStr C Eval MDRQ = ReplyQue C Eval MDRM = QMName C CallP MQPut(HConn : C HOutObj : C MQMd : C MQPmo : C BufLen : C BufPtr : C CCode : C Reason) C If Reason <> RCNone * Si ocurre un Error C EndIf
  26. 26. 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 disponibles C If Reason <> RCNone C If Reason <> RC2033 * Ocurrió un error C EndIf C Else * Procesa los datos C EndIf
  27. 27. MQ Programación- RPG Código ejemplo de MQClose: * Cierra la cola C Eval Opts = CONone C CallP MQClose(HConn : C HInObj : C Opts : C CCode : C Reason) C If Reason <> RCNone * Si ocurre un error C EndIf
  28. 28. 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
  29. 29. MQ Programación- RPG Llamados Dinámicos con QMQM: Mediante el CID o identificador de tipo de operación, se pueden realizar llamados al programa QMQM indicando el tipo de operación a 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 ocode C parm reason CID QMQM Call
  30. 30. 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.
  31. 31. Ingeniero Giovanny Guillen Bustamante IBM Certified Specialist E-mail: giovanny_guillen_b@Hotmail.com Gracias

×