SlideShare une entreprise Scribd logo
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. MQ Configuración
8. MQ Programación: RPG, COBOL, JAVA, C#
9. Notas Finales
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)
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.
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.
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.
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
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
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
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: 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.
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.
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
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
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 – 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).
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
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
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.
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
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
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
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
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
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
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
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.
Ingeniero Giovanny Guillen
Bustamante
IBM Certified Specialist
E-mail: giovanny_guillen_b@Hotmail.com
Gracias

Contenu connexe

Tendances

Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)SmartnSkilled
 
Alphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm
 
Programacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaProgramacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaGiovanny Guillen
 
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyPostfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyHenry Cristian Cuesta Vega
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scriptingVIKAS TIWARI
 
Unidad 2 Integración de Sistemas
Unidad 2   Integración de SistemasUnidad 2   Integración de Sistemas
Unidad 2 Integración de Sistemasvverdu
 
How to recover password on a cisco 2950, 2960 switch
How to recover password on a cisco 2950, 2960 switchHow to recover password on a cisco 2950, 2960 switch
How to recover password on a cisco 2950, 2960 switchIT Tech
 
Manual sqlserver2008 final
Manual sqlserver2008 finalManual sqlserver2008 final
Manual sqlserver2008 finalAlex Vasquez
 
Cisco CCNA v5 Lab
Cisco CCNA v5 LabCisco CCNA v5 Lab
Cisco CCNA v5 Labant09_sain
 
Protocolo SMTP (Simple Mail Transfer Protocol)
Protocolo  SMTP (Simple Mail Transfer Protocol)Protocolo  SMTP (Simple Mail Transfer Protocol)
Protocolo SMTP (Simple Mail Transfer Protocol)Luis Alfredo Sanchez
 
Transferir archivos de as400 a excel
Transferir archivos de as400 a excelTransferir archivos de as400 a excel
Transferir archivos de as400 a excelnormislujan111
 
phpMyAdmin con Xampp
phpMyAdmin con XamppphpMyAdmin con Xampp
phpMyAdmin con XamppLeccionesWeb
 
Actividad 1 Firewall (FortiGate)
Actividad 1   Firewall (FortiGate)Actividad 1   Firewall (FortiGate)
Actividad 1 Firewall (FortiGate)Yeider Fernandez
 

Tendances (20)

Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
 
Alphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau Initiation
 
Programacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaProgramacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y Salida
 
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyPostfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
 
IBM MQ Series For ZOS
IBM MQ Series For ZOSIBM MQ Series For ZOS
IBM MQ Series For ZOS
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Unidad 2 Integración de Sistemas
Unidad 2   Integración de SistemasUnidad 2   Integración de Sistemas
Unidad 2 Integración de Sistemas
 
How to recover password on a cisco 2950, 2960 switch
How to recover password on a cisco 2950, 2960 switchHow to recover password on a cisco 2950, 2960 switch
How to recover password on a cisco 2950, 2960 switch
 
SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1
 
Manual sqlserver2008 final
Manual sqlserver2008 finalManual sqlserver2008 final
Manual sqlserver2008 final
 
IBM i - AS/400 - SDA
IBM i - AS/400 - SDAIBM i - AS/400 - SDA
IBM i - AS/400 - SDA
 
Cisco CCNA v5 Lab
Cisco CCNA v5 LabCisco CCNA v5 Lab
Cisco CCNA v5 Lab
 
Protocolo SMTP (Simple Mail Transfer Protocol)
Protocolo  SMTP (Simple Mail Transfer Protocol)Protocolo  SMTP (Simple Mail Transfer Protocol)
Protocolo SMTP (Simple Mail Transfer Protocol)
 
Webinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11gWebinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11g
 
Transferir archivos de as400 a excel
Transferir archivos de as400 a excelTransferir archivos de as400 a excel
Transferir archivos de as400 a excel
 
phpMyAdmin con Xampp
phpMyAdmin con XamppphpMyAdmin con Xampp
phpMyAdmin con Xampp
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
Actividad usuarios y grupos en Linux
Actividad usuarios y grupos en LinuxActividad usuarios y grupos en Linux
Actividad usuarios y grupos en Linux
 
As400
As400As400
As400
 
Actividad 1 Firewall (FortiGate)
Actividad 1   Firewall (FortiGate)Actividad 1   Firewall (FortiGate)
Actividad 1 Firewall (FortiGate)
 

En vedette

Clases de as 400
Clases de as 400Clases de as 400
Clases de as 400JUAN RIVERA
 
IBM Message Broker Escalar flujos
IBM Message Broker Escalar flujosIBM Message Broker Escalar flujos
IBM Message Broker Escalar flujosJuan Camilo Parra
 
Presentacion JDE Customers Day 3 BI Apps para JDE
Presentacion JDE Customers Day 3 BI Apps para JDEPresentacion JDE Customers Day 3 BI Apps para JDE
Presentacion JDE Customers Day 3 BI Apps para JDEoracledirect
 
Presentación Infinite Corporation Migración AS400 - marzo 2014
Presentación Infinite Corporation Migración AS400 - marzo 2014Presentación Infinite Corporation Migración AS400 - marzo 2014
Presentación Infinite Corporation Migración AS400 - marzo 2014newrolit
 
Planeacion de requerimientos de materiales
Planeacion de requerimientos de materialesPlaneacion de requerimientos de materiales
Planeacion de requerimientos de materialesLuis Perea
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patronesGustavo De la Cruz Tovar
 
Introduction to the IBM AS/400
Introduction to the IBM AS/400Introduction to the IBM AS/400
Introduction to the IBM AS/400tvlooy
 
Planeacion de requerimientos de materiales
Planeacion de requerimientos de materialesPlaneacion de requerimientos de materiales
Planeacion de requerimientos de materialesCris Tenorio
 
Plan Maestro y Plan de requerimiento de materiales (MRP)
Plan Maestro y Plan de requerimiento de materiales (MRP)Plan Maestro y Plan de requerimiento de materiales (MRP)
Plan Maestro y Plan de requerimiento de materiales (MRP)Wilson Villar
 
Introduction to the IBM AS/400
Introduction to the IBM AS/400Introduction to the IBM AS/400
Introduction to the IBM AS/400tvlooy
 
Informe praes sandra latorre
Informe praes sandra latorreInforme praes sandra latorre
Informe praes sandra latorreSelf-Employed
 

En vedette (20)

Clases de as 400
Clases de as 400Clases de as 400
Clases de as 400
 
IBM Message Broker Escalar flujos
IBM Message Broker Escalar flujosIBM Message Broker Escalar flujos
IBM Message Broker Escalar flujos
 
As400
As400As400
As400
 
RootedCON 2016 - Broker & MQ injection
RootedCON 2016 - Broker & MQ injectionRootedCON 2016 - Broker & MQ injection
RootedCON 2016 - Broker & MQ injection
 
Presentacion JDE Customers Day 3 BI Apps para JDE
Presentacion JDE Customers Day 3 BI Apps para JDEPresentacion JDE Customers Day 3 BI Apps para JDE
Presentacion JDE Customers Day 3 BI Apps para JDE
 
Presentación Infinite Corporation Migración AS400 - marzo 2014
Presentación Infinite Corporation Migración AS400 - marzo 2014Presentación Infinite Corporation Migración AS400 - marzo 2014
Presentación Infinite Corporation Migración AS400 - marzo 2014
 
Planeacion de requerimientos de materiales
Planeacion de requerimientos de materialesPlaneacion de requerimientos de materiales
Planeacion de requerimientos de materiales
 
4 mrp
4 mrp4 mrp
4 mrp
 
Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
Introduction to the IBM AS/400
Introduction to the IBM AS/400Introduction to the IBM AS/400
Introduction to the IBM AS/400
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
8 D’s
8 D’s8 D’s
8 D’s
 
8 Disciplinas
8 Disciplinas8 Disciplinas
8 Disciplinas
 
Planeacion de requerimientos de materiales
Planeacion de requerimientos de materialesPlaneacion de requerimientos de materiales
Planeacion de requerimientos de materiales
 
Plan Maestro y Plan de requerimiento de materiales (MRP)
Plan Maestro y Plan de requerimiento de materiales (MRP)Plan Maestro y Plan de requerimiento de materiales (MRP)
Plan Maestro y Plan de requerimiento de materiales (MRP)
 
Introduction to the IBM AS/400
Introduction to the IBM AS/400Introduction to the IBM AS/400
Introduction to the IBM AS/400
 
As/400
As/400As/400
As/400
 
Informe praes sandra latorre
Informe praes sandra latorreInforme praes sandra latorre
Informe praes sandra latorre
 
7s Filosof A
7s Filosof A7s Filosof A
7s Filosof A
 

Similaire à Mq conceptos y programacion as400

Sistemas operativos distribuidos ii
Sistemas operativos distribuidos iiSistemas operativos distribuidos ii
Sistemas operativos distribuidos iiMiguel Hernandez
 
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESPROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESEquipoSCADA
 
Resumen capitulo 3
Resumen capitulo 3Resumen capitulo 3
Resumen capitulo 3jorge
 
Capa de transporte model OSI
Capa de transporte model OSICapa de transporte model OSI
Capa de transporte model OSIfillescas
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capasJenny Gonzalez
 
Capa transporte-modelo-osi
Capa transporte-modelo-osiCapa transporte-modelo-osi
Capa transporte-modelo-osiMelissa Alcivar
 
Capa transporte-modelo-osi coregido
Capa transporte-modelo-osi coregidoCapa transporte-modelo-osi coregido
Capa transporte-modelo-osi coregidoMelissa Alcivar
 
Tema 5 capa de transporte
Tema 5 capa de transporteTema 5 capa de transporte
Tema 5 capa de transportealex sgarcia
 
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3Implementación y pruebas de monitoreo en una red lan, basados en snm pv3
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3Marcelo Venegas Zúñiga
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfBismarckBerrios2
 

Similaire à Mq conceptos y programacion as400 (20)

Sistemas operativos distribuidos ii
Sistemas operativos distribuidos iiSistemas operativos distribuidos ii
Sistemas operativos distribuidos ii
 
Tr 069
Tr 069Tr 069
Tr 069
 
SEMANA 6.pptx
SEMANA 6.pptxSEMANA 6.pptx
SEMANA 6.pptx
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDESPROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ip
 
Resumen capitulo 3
Resumen capitulo 3Resumen capitulo 3
Resumen capitulo 3
 
Mrtg ubuntu
Mrtg ubuntuMrtg ubuntu
Mrtg ubuntu
 
Capa de transporte model OSI
Capa de transporte model OSICapa de transporte model OSI
Capa de transporte model OSI
 
Capa de transporte model OSI
Capa de transporte model OSICapa de transporte model OSI
Capa de transporte model OSI
 
Deber
DeberDeber
Deber
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capas
 
Internet linux
Internet linuxInternet linux
Internet linux
 
Capa transporte-modelo-osi
Capa transporte-modelo-osiCapa transporte-modelo-osi
Capa transporte-modelo-osi
 
Capa transporte-modelo-osi coregido
Capa transporte-modelo-osi coregidoCapa transporte-modelo-osi coregido
Capa transporte-modelo-osi coregido
 
Tema 5 capa de transporte
Tema 5 capa de transporteTema 5 capa de transporte
Tema 5 capa de transporte
 
10 -capas_superiores
10  -capas_superiores10  -capas_superiores
10 -capas_superiores
 
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3Implementación y pruebas de monitoreo en una red lan, basados en snm pv3
Implementación y pruebas de monitoreo en una red lan, basados en snm pv3
 
Gestion De Redes
Gestion De RedesGestion De Redes
Gestion De Redes
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdf
 

Plus de Giovanny Guillen

Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo vGiovanny Guillen
 
Curso java desde cero nivel i - modulo iv
Curso java desde cero   nivel i - modulo ivCurso java desde cero   nivel i - modulo iv
Curso java desde cero nivel i - modulo ivGiovanny Guillen
 
Curso java desde cero nivel i - modulo iii
Curso java desde cero   nivel i - modulo iiiCurso java desde cero   nivel i - modulo iii
Curso java desde cero nivel i - modulo iiiGiovanny Guillen
 
Curso java desde cero nivel i - modulo ii
Curso java desde cero   nivel i - modulo iiCurso java desde cero   nivel i - modulo ii
Curso java desde cero nivel i - modulo iiGiovanny Guillen
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo iGiovanny Guillen
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del SoftwareGiovanny Guillen
 
Programacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesProgramacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesGiovanny Guillen
 
Programacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEProgramacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEGiovanny Guillen
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGiovanny Guillen
 
Template project status report
Template project status reportTemplate project status report
Template project status reportGiovanny Guillen
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGiovanny Guillen
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégicaGiovanny Guillen
 
La transición del producto del proyecto
La transición del producto del proyectoLa transición del producto del proyecto
La transición del producto del proyectoGiovanny Guillen
 

Plus de Giovanny Guillen (20)

Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo v
 
Curso java desde cero nivel i - modulo iv
Curso java desde cero   nivel i - modulo ivCurso java desde cero   nivel i - modulo iv
Curso java desde cero nivel i - modulo iv
 
Curso java desde cero nivel i - modulo iii
Curso java desde cero   nivel i - modulo iiiCurso java desde cero   nivel i - modulo iii
Curso java desde cero nivel i - modulo iii
 
Curso java desde cero nivel i - modulo ii
Curso java desde cero   nivel i - modulo iiCurso java desde cero   nivel i - modulo ii
Curso java desde cero nivel i - modulo ii
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
 
Cobol training
Cobol trainingCobol training
Cobol training
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del Software
 
Portafolio de proyectos
Portafolio de proyectosPortafolio de proyectos
Portafolio de proyectos
 
Seguridad del ibm i as400
Seguridad del ibm i as400Seguridad del ibm i as400
Seguridad del ibm i as400
 
Programacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesProgramacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y Excepciones
 
Programacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEProgramacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILE
 
Organizational values
Organizational valuesOrganizational values
Organizational values
 
Ingenieria requerimientos
Ingenieria requerimientosIngenieria requerimientos
Ingenieria requerimientos
 
Earn value
Earn valueEarn value
Earn value
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de Software
 
Fabricas de software
Fabricas de softwareFabricas de software
Fabricas de software
 
Template project status report
Template project status reportTemplate project status report
Template project status report
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de Riesgos
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégica
 
La transición del producto del proyecto
La transición del producto del proyectoLa transición del producto del proyecto
La transición del producto del proyecto
 

Dernier

MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.CarmenFlores88207
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)edisonquispecalderon
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfjuanjosebarreiro704
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNETCasa
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxlasocharfuelan123
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORDRobertSotilLujn
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...cuentauniversidad34
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
 

Dernier (8)

MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 

Mq conceptos y programacion as400

  • 1. Copyright © 2014 Tata ConsultancyServices Limited WMQ Conceptos y Programación AS/400 Giovanny Guillén Bustamante
  • 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. 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. 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. 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. 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. 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. 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. 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. Websphere MQ - Componentes Componentes principales Gestor de colas Colas Canales Mensajes
  • 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Ingeniero Giovanny Guillen Bustamante IBM Certified Specialist E-mail: giovanny_guillen_b@Hotmail.com Gracias