Resumen:
Webservice para procesar tramas ISO8583.
Descripción:
Dado que este es un blog personal, me tomo la libertad de empezar con una anécdota.
---
El primer trabajo que tuve, fue para Mifarma (una cadena de farmacias) allá por el año 2006. A los pocos meses me asignaron el proyecto de Recargas Virtuales. Recuerdo que el proveedor era Brightstar, y exponía un servicio web para las transacciones. Las tramas cumplían el estándar ISO-8583 y debía usar la librería j8583.
Todo perfecto, solo que nuestro sistema se ejecutaba en Java 1.4 y la librería estaba en Java 5.0. Como recordarán, la transición entre dichas versiones fue grande. Tuve el oportunidad de contactarme con el creador: Enrique Zamudio (
@chochosmx en Twitter). En aquellos años, el medio de facto eran el correo y, el fenecido, MSN Messenger. Con su ayuda, pude hacer los cambios necesarios y compilarlo en la versión que necesitaba.
Esa experiencia y otros proyectos, siempre con la misma librería, me permitirieron calificar a mi trabajo actual (mi primer proyecto en banca). Por eso, mi alegría al escribir este post.
---
Construí un webservice con Springboo y usé Groovy para el controller. Para la lógica, reutilicé ejemplos anteriores escritos en Java. Esto me permite mostrar la perfecta interoperabilidad entre las clases (
bytecode) en un mismo proyecto.
Al ejecutar (siempre con Gradle) se exponen dos métodos:
- leer
- generar
En el primer caso, recibe una trama y recupera los campos.
Luego, para generar la trama, se ingresan los valores: monto y número.
Código Fuente:
https://github.com/edgargs/ws-parse-ISO8583.git
Bibliografía:
http://www.javamexico.org/blogs/ezamudio/iso_8583_en_java
http://j8583.sourceforge.net/
https://github.com/chochos/j8583
Configuración:
SpringBoot 1.5.9
Groovy 2.4