Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   RM/COBOL (https://www.cobolforo.es/forumdisplay.php?f=16)
-   -   [Herramienta] Cobol como backend Json (https://www.cobolforo.es/showthread.php?t=1772)

PolloX 28 de mayo de 2024 02:20

Cobol como backend Json
 
Estimados:

He visto como proliferan soluciones de las empresas que venden licencias (modelo de negocio que yo creo esta obsoleto) y sin necesidad de nuevas cosas es posible generar un backend cobol-cgi que retorne JSON el cual puede ser usado por otro lenguaje posteriormente (por ejemplo PHP u otro) para generar una API-REST y usar lo que uno quiera en el frontend. lo unico que deben hacer es cambiar ciertas cosas en el .sh que se usa para ejecutar los .acu. por ejemplo:

Código:


A_TERM=$TERM
export A_TERM
HTML_TEMPLATE_PREFIX=/srv/www/directorio/
export HTML_TEMPLATE_PREFIX
CGI_CONTENT_TYPE=application/json
export CGI_CONTENT_TYPE
RESPONSE=$(runcbl -f rutadenuestrocgi/programa.acu)
echo "$RESPONSE"

Como bien saben /srv/www/directorio es el directorio de nuestro server web (con el que usualmente usamos cgi y los famosos html) en este caso solamente necesitamos uno de respuesta para todos los cgi que queramos y crearemos solamente un archivo vacío respuesta.json

en ruta de nuestro cgi es la ruta a nuestro cgi usualmente /srv/www/directorio/cgi-bin/....

ahora o unico que necesitamos es modificar nuestro programa cgi, la salida debe apuntar a nuestro respuesta.json y lo que debemos retornar es una estructura de un JSON valido, por ejemplo:

Código:

{
 "Nombre" : "Mi Nombre y Apellido",
 "Edad" : 30
}

en el cgi seria (suponiendo que tenemos una variable creada STRSALIDA PIC X(2000) en la declaracion de nuestro HTML DE SALIDA (respuesta.json)) algo como :


Código COBOL:
  1.  
  2. INITIALIZE STRSALIDA
  3. STRING
  4.     "{"
  5.     QUOTE "Nombre" QUOTE ":"
  6.     QUOTE NOMBRE DELIMITED BY "  " QUOTE ","
  7.     QUOTE "Edad" QUOTE ":"
  8.     EDAD "}"
  9. DELIMITED BY "  " INTO STRSALIDA
  10. DISPLAY STRSALIDA

prueben y vean si les funciona, les cambiara la vida :cool::cool::cool::cool:.


La franja horaria es GMT +2. Ahora son las 13:54.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.