Académique Documents
Professionnel Documents
Culture Documents
/////////////////////////////////////////
///////////PRACTICA 1///////////////////
//////CREANDO TOPICOS/////////////////////
////////////////////////////////////////
//Aqui creamos nuestro QM
//a nivel de consola
crtmqm QM_PUB_SUB
strmqm QM_PUB_SUB
*****************************
*Iniciamos los comandos mqsc
runmqsc QM_PUB_SUB
*Aqu creamos nuestros tpicos
DEFINE TOPIC(COMIDA) TOPICSTR('comida')
DEFINE TOPIC(COMIDA.CARNE) TOPICSTR('comida/carne')
DEFINE TOPIC(COMIDA.FRUTA) TOPICSTR('comida/fruta')
DEFINE TOPIC(COMIDA.VERDURA) TOPICSTR('comida/verdura')
DEFINE TOPIC(COMIDA.PASTA) TOPICSTR('comida/pasta')
DEFINE TOPIC(COMIDA.CARNE.RES) TOPICSTR('comida/carne/res')
DEFINE TOPIC(COMIDA.CARNE.PESCADO) TOPICSTR('comida/carne/pescado')
DEFINE TOPIC(COMIDA.CARNE.POLLO) TOPICSTR('comida/carne/pollo')
DEFINE TOPIC(COMIDA.FRUTA.MANZANA) TOPICSTR('comida/fruta/manzana')
DEFINE TOPIC(COMIDA.FRUTA.PLATANO) TOPICSTR('comida/fruta/platano')
DEFINE TOPIC(COMIDA.FRUTA.PERA) TOPICSTR('comida/fruta/pera')
*Desplegamos desde comando los tpicos que tenemos
*y que nos muestre toda su informacin
DISPLAY TPSTATUS('#')
*Cerramos el runmqsc
END
****************************
//Ahora desde el MQExplorer creamos los siguientes topicos que
//faltan para verdura y pasta
TOPICO: COMIDA.VERDURA.CHILE TOPICSTR: comida/verdura/chile
TOPICO: COMIDA.VERDURA.TOMATE TOPICSTR: comida/verdura/tomate
TOPICO: COMIDA.PASTA.LETRAS TOPICSTR: comida/pasta/letras
/////////////////////////////////////////
/////////PRACTICA 2 ////////////////////
////CAMBIANDO PROPIEDADES DE TOPICOS////
**************************
*Iniciamos los comandos mqsc
runmqsc QM_PUB_SUB
*Alteramos derecho de algunos tpicos respecto
*a publicacion y subscripcion
ALTER TOPIC(COMIDA) PUB(disabled)
ALTER TOPIC(COMIDA.CARNE) PUB(disabled)
ALTER TOPIC(COMIDA.CARNE.RES) PUB(disabled)
ALTER TOPIC(COMIDA.CARNE.POLLO) PUB(enabled)
ALTER TOPIC(COMIDA.FRUTA.PERA) PUB(disabled)
ALTER TOPIC(COMIDA.FRUTA.MANZANA) SUB(disabled)
*Cerramos el runmqsc
END
****************************
//// Checa en los topicos en el explorer las propiedades que fueron
cambiadas.
//Ahora selecciona tu QM -> Topics y boton derecho status, veras
//que todas tus publicaciones estan deshabilitadas (excepto pollo)
// debido a que heredaron el valor que tenia el nodo padre COMIDA que
//es PUB(DISABLED).
//Revisa las propiedades para poder cambiar de un topico. En este
//caso desde el MQExplorer selecciona un topico dale click derecho
//propiedades y revisa sus propiedades.
**************************
*Iniciamos los comandos mqsc
runmqsc QM_PUB_SUB
*Cambiamos que comida tenga habilitado las publicaciones
*para que no se hereden
ALTER TOPIC(COMIDA) PUB(enabled)
**Podemos checar el valor de las propiedades de un topico
**desde comando, en este caso de .
DISPLAY TOPIC(COMIDA.CARNE.POLLO) ALL
*Cerramos el runmqsc
END
****************************
//Desde el MQ Explorer ve de nuevo con el status de los valores
//reales de tus topicos.
/////////////////////////////////////////
/////////PRACTICA 3 ////////////////////
////PRUEBA DE PUBLICACIN/SUBSCRIPCIN
/////////DESDE EL MQ EXPLORER//////////
//SUBSCRIPCIONES NO ADMINISTRADAS///
//Habilitamos una Subscripcin desde el MQExplorer
//(Va a ser una subscripcion autoadministrada por el
//mq explorer, es decir que el maneja las colas de
//destino)
1. Selecciona tu Queue Manager en el MQExplorer
2. Ve a su subcarpeta de Topics
3. Da click derecho seleccionas "Test Subscription"
4. En el campo Topic String = comida/carne/#
5. Aprieta el boton de Subscribe y deja la ventana abierta
(NO LA CIERRES)
6. Selecciona la carpeta Topics y de ahi Status, ve
de ahi respecto al topico COMIDA.CARNE y todos sus subtopicos
en el campo subcount deben tener el valor de 1
diciendonos que todos esos topicos entran en esa subscripcin.
7. Seleciona la carpeta de topicos y selecciona al topico
COMIDA.CARNE.POLLO, da click derecho y selecciona "Topic-Status
-Subscribe" y te dara la informacin de la subscripcin que
acabamos de hacer aplicada a este tpico.
//Habilitamos la PUBLICACIN desde el MQ Explorer
/////////////////////////////////////////
/////////PRACTICA 4 ////////////////////
////PRUEBA DE PUBLICACIN/SUBSCRIPCIN
/////////DESDE EL MQ EXPLORER//////////
//SUBSCRIPCIONES ADMINISTRADAS////
**************************
*Iniciamos los comandos mqsc
runmqsc QM_PUB_SUB
*Creamos una cola que guardara los mensaje de nuestro
*Subscriptor
DEFINE QLOCAL(QSUB)
*Cerramos el runmqsc
END
****************************
//Creamos un Objeto de subscriptor
1. Selecciona tu Queue Manager en el MQExplorer
2. Ve a su subcarpeta de Subscriptions y con
boton derecho seleccionas "New Subscription"
3. En la ventana colocar el nombre de la subscripcin
SUB_ADM_FRUTA y das click en "Next"
4. En el campo "Topic String" colocamos el comida/fruta/#
y en el campo "Destination Name" el valor de QSUB
5. Da click en Finish
6. Selecciona tu nueva subscripcin creada y da click
derecho "Propiedades", revisa esas propiedades de
tu Subscripcin.
/////////////////////////////////////////
/////////PRACTICA 5 ////////////////////
//////MANEJANDO SEGURIDAD DESDE LOS TOPICOS////
runmqsc QM_PUB_SUB
DEFINE QLOCAL(QSUB2)
END
****************************
3. Abrimos una consola y cambiamos de usuario a mio:
su mio
4. Revisamos que nuestro nuevo usuario tenga el grupo que
acabamos de decidir.
id mio
5. Nos cambiamos al directorio de los comandos ejemplo de MQ
cd /opt/mqm/samp/bin
6. Tratamos de hacer PUTS a la cola que acabamos de
crear anteriormente.
./amqsput QM_PUB_SUB QSUB2
7. Les va a salir un Reason Code 2035. Ejecutan mqrc 2035 y
les va a decir MQRC_NOT_AUTHORIZED, que indica que no tienen
derecho a conectarse.
8. General el siguiente perfil para adquirir los derechos
necesarios a nivel de grupo "migrupos para la conexin. Desde
otra consola coloca lo siguiente:
setmqaut -m QM_PUB_SUB -t qmgr -g migrupo +connect
9. Refresca la seguridad (has esto adicionalmente para cada
cambio de seguridad)
echo refresh security | runmqsc QM_PUB_SUB
10. Regresamos a nuestra consola del punto 6 y colvemos a ejecutar:
./amqsput QM_PUB_SUB QSUB2
11. Les sale el mismo codigo 2035 pero en este caso para hacer
PUT en la cola. Ejecutamos el siguiente comando para cambiar eso:
setmqaut -m QM_PUB_SUB -n QSUB2 -t q -g migrupo +put
12. Veran que ya se les permite hacer puts. Regresa a terminal
de comandos del punto 8 colocan un par de mensajes y los revisan
en el MQExplorer.
13. Ahora buscamos generar un subscriptor temporal hacia el
tpico comida/fruta/platano. Usamos:
la misma terminal del punto 8 del usuario "mio".
./amqssub comida/fruta/platano QM_PUB_SUB
14. Te da de salida el condigo 2035 de que el grupo de tu usuario
no tiene derecho a hacer subscripciones, asi que cambiamos los
siguientes derechos al objeto de "topico" que representa esos
derechos. Usa otra terminal que no sea la del usuario "mio"
setmqaut -m QM_PUB_SUB -n COMIDA.FRUTA.PLATANO -t topic -g
migrupo +pub +sub
15. Ahora vuelve a intentar en la terminal del usuario "mio"
(no cierres esta terminal)
./amqssub comida/fruta/platano QM_PUB_SUB
16. Abre otra terminal con el usuario "mio"
su mio
17.Ejecuta una subscripcion a nuestro anterior tpico y escribimos
unos mensajes:
/////////////////////////////////////////
/////////PRACTICA 6 ////////////////////
//////PUB/SUB desde MQI////
1. Ve a la carpeta de /opt/mqm/samp
cd /opt/mqm/samp
2. Abre el archivo amqssuba.c que es para hacer una subscripcion
(no durable)
y revisa el cdigo, esta escrito en c.
3. Abre el archivo amqspuba.c que es para hacer una publicacion
manejada por (String) y revisa el cdigo, esta escrito en c.
4. Si lo deseas puedes revisar los cdigos de COBOL para
publicacin (amq0pub0.cbl) y subscripcin (amq0sub0.cbl).
5. Ahora vamos a ejecutar PUBLIC/SUBSCRIBE pero mediante java
usanso el ECLIPSE.
6. Primero abriremos el eclipse. Ejecuta las 2 siguientes
instrucciones:
cd /root/eclipse
./eclipse
6.1. Nos va a pedir que escogamos un Workspace coloquemos:
/root/workspace_mqi
7. Dentro del eclipse vamos a crear un projecto. En el menu
selecciona:
File -> New -> Project -> Java -> Java Project ->
Next
8. Dentro de la ventana que se te aparece colocas:
Project Name: PUB_SUB
9. Das NExt
10. En la ventana que te aparece se te ofrece si deseas agregar
alguna librera. En nuestro caso si lo deseamos asi que
seleccionamos la pestana "Libraries".
11. Seleccionamos el botn "Add External JARs"
12. Buscamos la siguiente ruta:
/opt/mqm/java/lib
13. Seleccionamos los JARs que necesitamos:
com.ibm.mq.jar
14. Con esto veremos que la librera ya esta agregada y damos
click a "Finish".
15. Veras que ya tienes creado tu projecto de JAVA.
16. En la carpeta /root/CODES tenemos los cdigos de java para
publicacin y subscripcin. En este caso los 2 son temporales.
Los archivos son:
Publicador.java: Publicara un mensaje al tpico
COMIDA.FRUTA.PLATANO
Subscriptor.java: Hace una subzcripcin temporal y
/////////////////////////////////////////
/////////PRACTICA 7 ////////////////////
//////Mensajeo Asincrono////
1. Ve a la carpeta de /opt/mqm/samp
cd /opt/mqm/samp
2. Abre el archivo amqscbf0.c que hace uso de MQCB y MQCTL para
consumir los mensajes de diferentes colas asincronamente.
Tiene los siguientes pasos:
1- MQOPEN de la cola para INPUT
2- MQCB Registra una funcin para recibir mensajes
3- MQCTL Inicia el consumo de mensajes
4- ESPERA mensajes hasta a que el usuario de enter en
la consola (el usuario debe estar dando MQPUTS en
las colas que son parte del MQCB)
5- MQCTL Se detiene el consumo de mensajes
6- Se cierra la cola de donde se consumen los mensajes
3. Definimos 3 colas en nuestro QM
runmqsc QM_PUB_SUB
DEFINE QLOCAL(COLA1)
DEFINE QLOCAL(COLA2)
DEFINE QLOCAL(COLA3)
END
4. Ejecutamos
cd /opt/mqm/samp/bin
5. Ejecutamos el siguiente comando para manejar el mensajeo
asincrono sobre nuestras 3 colas.
./amqscbf COLA1 COLA2 COLA3 -m QM_PUB_SUB
6. El programa se va a quedar esperando los puts que hagamos
en esas colas y el contenido lo va a imprimir ahi. Deja esa
consola abierta.
7. Abre una nueva consola y haces PUTS a las 3 diferente
colas con los siguientes comandos (colocando 2 mensaje en
cada una)
cd /opt/mqm/samp/bin
./amqsput COLA1 QM_PUB_SUB
./amqsput COLA2 QM_PUB_SUB
./amqsput COLA3 QM_PUB_SUB
8. Veras que los mensajes te apareceran en nuestra consola del
Call BAck.
/////////////////////////////////////////
/////////PRACTICA 8 ////////////////////
//////Temas Adicionales PUB/SUB////