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
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