Colas JMS y Biztalk

En este post quiero mostrar la manera en cómo nos conectamos a las colas JMS (Java Message Service),  permitiendo leer o escribir mensajes sobre este repositorio, para esto, lo primero que debemos realizar es contar con el adaptador apropiado para este fin; por temas comerciales dentro del BizTalk Adapter Pack no se cuenta con un adaptador especifico para este repositorio por este motivo se plantean dos alternativas.

  • Construir un adaptador basado en las clases .Net

  • Adquirir un adaptador de tipo comercial

Analizando cada alternativa, vemos que la primera alternativa nos genera un alto costo en términos de desarrollo  y tiempo de esta forma tendríamos que realizar prueba de rendimiento, estrés, estabilidad, carga, capacidad de procesamiento entre otras.  Este trabajo aunque lo podríamos realizar implicaría que tendríamos que dedicar mucho tiempo a esta solución; por otro lado la alternativa de compra comercial es desde el punto de vista técnico mucho más estable en términos de que ya está probado y si bien tiene un costo de licenciamiento se tendría que comparar respecto del desarrollo del adaptador.
Para efectos del post vamos a trabajar con la alternativa comercial, donde revisando en internet encontramos a JNBridge (http://www.jnbridge.com/) como una alternativa probada, de fácil entendimiento y con una versión de descarga gratuita para lograr nuestro objetivo de comunicación

A continuación describo los pasos para la configuración y uso del adaptador

  • Descargar la versión libre, e instalarla en nuestro ambiente.
  • Se crea un host especifico para el manejo del adaptador (es recomendado, aunque no significa que debería ser así).
  • Previa instalación de la versión libre del JNBridge, se crea un nuevo adaptador en la sección Platform Setting - Adapters del BizTalk Administrator, le definimos un nombre y seleccionamos dentro de la lista de adaptadores instalados al JNBridge JMS, como se muestra en la figura.


  • Definimos los host que vamos a usar con el adaptador tanto para los mensajes de entrada como los de salida.



  • Configuramos la comunicación con el servidor de colas JMS (si existe un solo servidor de colas para mensajes de entrada y de salida, se deben configurar ambos host con la misma información, de lo contrario se deben indicar los parámetros de cada servidor JMS en cada uno de los host), esta información es proporcionada por el administrador del servidor JMS, para nuestro caso nos vamos a comunicar con colas JMS que están montadas en un servidor Weblogic.

  • A continuación se describe de manera rápida cada una de las propiedades, sin embargo si se desea tener información detallada se puede revisar la documentación de JNBridge.
        • Batch Size: Cantidad de mensajes que procesa.
        •  Initial Context Factory: Clase que permite iniciar un contexto en weblogic para que puedas acceder a los recursos que allí se exponen.
        • User Name: Usuario con permisos al servidor JMS.
        • Password: Contraseña del usuario.
        • Queue Factory: Es el JNDI que permite gestionar las conexiones JMS que se van a realizar al servidor.
        • Topic Factory: Se define igual que el Queue Factory.
        • Security Mode: Si el servidor JMS define seguridad o no, para nuestro caso si la define y por tanto se debe definir tanto el usuario como la contraseña.
        • Acknowledge Mode: Si permite enviar un mensaje de recepción al sistema origen.
        • JMS Schema: Es una de las propiedad más importante porque define el protocolo de comunicación con las colas JMS para este caso se define T3.
        • JVM Arguments: Se definen parámetros de Java para el manejo de recursos.
        • Class Path: Define las clases que se necesitan para comunicarse con el servidor Weblogic.
        • JVM Path: Ruta donde se encuentra instalado el JVM (Java Virtual Machine).
        • Log Errors: Si se desea administrar el log de errores.
        • Error Log File: Ruta para almacenar el log.
  • Después de configurado el adaptador, el paso siguiente es crear nuestra aplicación en BizTalk, crear nuestros receive port, receive location y send port
  • En la configuración del send port se define entre otras propiedades el nombre del servidor, el puerto y el nombre de la cola que se va a usar para dejar los mensajes procesador por BizTalk

  • La configuración del receive location ocurre igual que la configuración del send port, donde se define entre otras propiedades el nombre del servidor, el puerto y el nombre de la cola que se va a usar para dejar los mensajes procesador por BizTalk, adicionalmente se define cada cuanto se desea ir por los mensajes al servidor, el tamaño máximo de los mensajes entre otras propiedades.


  • Por último se debe iniciar la aplicación y publicar mensajes en el servidor JMS y esperar a que BizTalk los procese y los deje en la cola definida.
Para concluir puedo mencionar que este modelo de comunicación permite tener otro sistema más el cual podemos integrar directamente con la plataforma BizTalk, lo que nos permite mayor interoperatividad entre sistemas y cumplir con el objeto de integración.

Espero les haya servido.

Comentarios

  1. muy buen tutorial pero tengo una enorme duda con respecto a biztalk server 2010 el detalle es que lo estoy usando para conectar a visual studio 2010
    pero como soy muy nuevo en esto ya instale todo ahora como puedo hacer mi primera aplicacion en biztalk que conecte con visual estudio y a la vez visual estudio a biztalk si alguien me podria ayudar poniendo un ejemplo como hacer la palicacion

    ResponderEliminar
  2. lo que entiendo es que deseas crear artefactos de biztalk en visual studio, si es asi, debes instalar primero el visual studio y posteriormente, instalar biztalk ya que de esta manera puedes desde visual studio crear proyectos tipo Biztalk Project. Cualquier duda con gusto le atendere, Saludos.

    ResponderEliminar
  3. Por aca les dejo estos video tutoriales espero les sirva https://vimeo.com/user13332500/videos

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Enviar SMS desde JAVA

Tareas Programas en JAVA

Trabajar con ICEFaces