• Autor: admin
  • Publicado: Mar 11th, 2009
  • Categoria: Articulos
  • Comentarios: 8

Construyendo un Q2 Server en jPOS

jpos

Sigo escribiendo sobre jPOS, un framework interesantísimo y donde existe muy pero muy poca información, las unicas fuentes de información son el grupo de Google y Yahoo y una guia que ellos venden en 50U$, en mi opinión buena para principiantes, pero en los grupos encuentras mucha información adicional y muy util.

Una de las funcionalidades que más me gustan de la versión 1.6 es el Q2, que en esta versión lo han integrado completamente en un solo jar. Anteriormente se llamaba QSP. Lo genial del Q2 es que puedes modificar la configuración en caliente, igual como deployas un WAR en TOMCAT o en JBOSS, eso es ideal para los sistemas de misión crítica.

Después de haber compilado el jPOS con ANT, lo corres de la siguiente manera.

java -jar jpos.jar

Esto generará una salida como la siguiente.

<log realm="Q2.system" at="Wed May 26 09:15:18 UYT 2004.22">
<info>
Q2 started, deployDir=/home/jpos/q2/deploy
</info>
</log>

El directorio /home/jpos/q2/deploy es donde vas a colocar tus archivos de configuración (en xml), Q2 trae muchos QBean ya programados y y algunos de ejemplo como el siguiente. La función de este código es montar un LOG para el seguimiento de las transacciones.

< ?xml version="1.0" encoding="UTF-8"?>
<logger name="Q2" class="org.jpos.q2.qbean.LoggerAdaptor">
  <log -listener class="org.jpos.util.SimpleLogListener" />
  <log -listener class="org.jpos.util.DailyLogListener">
    <property name="window" value="86400" /> <!-- optional, default one day -->
    <property name="prefix" value="log/q2" />
    <property name="suffix" value=".log"/> <!-- optional -->
    <property name="date-format" value="-yyyy-MM-dd-HH"/>
    <property name="compression-format" value="gzip"/>
  </log>
</logger>

Para hacer algo interesante, vamos a configurar un QServer, con un canal de Base24, aunque puedes utilizar otros paquetes, iso93ascii.xml, europay.xml o vapsms.xml entre otros, además jPOS trae otros paquetes ya programados y no es necesario archivos de configuración.

El canal por lo general tiene una relación directa con el empaquetador, no puedes enviar datos por un canal XML y empaquetar en iso87ascii.

<server name="xml-server" class="org.jpos.q2.iso.QServer" logger="Q2">
<attr name="port" type="java.lang.Integer">8000</attr>
<channel name="dummyclient.channel"
class="org.jpos.iso.channel.BASE24Channel"
packager="org.jpos.iso.packager.GenericPackager" logger="Q2">
<property name="packager-config" value="cfg/packager/base24.xml" />
</channel>
</server>

Después de esto, te generará la siguiente salida.

<log realm="xml-server.server" at="Tue Mar 10 21:44:27 CST 2009.484">
  <iso -server>
    listening on port 8000
  </iso>
</log>

Lo siguiente sera crear un cliente para comunicarnos con el servidor, eso será en la próxima entrada.

Tags: ,

8 Responses to “Construyendo un Q2 Server en jPOS”


  1. Fernando
    on Abr 16th, 2009
    @ 2:41

    saludos,

    al ejecutar jpos me sale depoyDir=c:\jpos6\build\deploy, que es la ruta en mi pc de desarrollo.

    en esta ruta he copiado un archivo de configuracion como el siguiente

    8000

    pero no veo ningun resultado en la ventada de DOS donde ejecute el JPOS.

    Me puedes enviar un archivo XML como el que debo copiar en la ubicacion c:\jpos6\build\deploy?


  2. Jota
    on Abr 16th, 2009
    @ 6:04

    lo siento, no se copio tu archivo de configuración, en c:\jpos6\build\deploy puedes poner muchos tipos de configuración, como los que estan en el articulo, no importa el nombre del xml.


  3. Jota
    on Abr 16th, 2009
    @ 6:06

    otra cosa, que jdk estas usando, y que estas poniendo en la consola de comandos MS-DOS en tu caso por lo que veo.


  4. Fernando
    on Abr 20th, 2009
    @ 2:11

    Saludos ,

    estoy usando jdk1.6.0_13 para windows

    C:\jpos6\build>java -jar jpos.jar

    Q2 started, deployDir=C:\jpos6\build\deploy

    new classloader [19ee1ac] has been created

    deploy:C:\jpos6\build\deploy\99_sysmon.xml

    Starting SystemMonitor

    1.6.4$Revision: 2709 $

    freeMemory=4642272
    totalMemory=5177344
    inUseMemory=535072

    delay=0 ms
    threads=3
    Thread[Reference Handler,10,system]
    Thread[Finalizer,8,system]
    Thread[Signal Dispatcher,9,system]
    Thread[Attach Listener,5,system]
    Thread[main,5,main]
    Thread[Timer-0,5,main]
    Thread[SystemMonitor,5,main]

    — name-registrar —
    logger.Q2: org.jpos.util.Logger

    Gracias,

    Fernando


  5. Fernando
    on Abr 20th, 2009
    @ 3:29

    Saludos,

    Ya esta funcionando. Estaba tomando una ubicacion diferente.

    Gracias.

    Saludos ,

    estoy usando jdk1.6.0_13 para windows

    C:\jpos6\build>java -jar jpos.jar

    Q2 started, deployDir=C:\jpos6\build\deploy

    new classloader [19ee1ac] has been created

    deploy:C:\jpos6\build\deploy\99_sysmon.xml

    Starting SystemMonitor

    1.6.4$Revision: 2709 $

    freeMemory=4642272
    totalMemory=5177344
    inUseMemory=535072

    delay=0 ms
    threads=3
    Thread[Reference Handler,10,system]
    Thread[Finalizer,8,system]
    Thread[Signal Dispatcher,9,system]
    Thread[Attach Listener,5,system]
    Thread[main,5,main]
    Thread[Timer-0,5,main]
    Thread[SystemMonitor,5,main]

    — name-registrar —
    logger.Q2: org.jpos.util.Logger

    Gracias,

    Fernando


  6. Fernando
    on Abr 20th, 2009
    @ 4:12

    Saludos,

    Algun ejemplo de como crear el cliente
    para conectarnos al servidor.

    Gracias,

    Fernando Del Carmen


  7. Jota
    on Abr 20th, 2009
    @ 20:08

    Aqui puedes ver el ejemplo,

    http://blog.jotadeveloper.com/2009/04/20/cliente-para-conexion-con-q2-de-jpos/

    te recomiendo echar una leida al grupo de jPOS en Google, esta muy completo.

    http://groups.google.com/group/jpos-users?hl=es


  8. Listeners en jPOS, el ISORequestListener con QMUX « JotaDeveloper
    on Jun 15th, 2009
    @ 9:41

    [...] ofrece un servidor, llamado Q2 Server, donde podemos montar un proceso intermedio entre tu sistema y tu procesadora de tarjetas de [...]

Dejar una Respuesta

Spam Protection by WP-SpamFree

© 2009 Jotadeveloper Blog. Nuestros contenidos están bajo licencia Creative Commons mientras no se indique lo contrario,
y pueden reproducirse libremente sin más que mencionar la fuente ("JotaDeveloper") y la URL concreta del artículo original. .

This blog is powered by Wordpress and JotaDeveloperTheme.