Translate

sexta-feira, 23 de fevereiro de 2007

Como se Usa JSON em COBOL?

 

Bellacosa Mainframe e o Json no COBOL

Como se Usa JSON em COBOL?

Nos últimos anos, o JSON (JavaScript Object Notation) tornou-se o formato mais utilizado para integração entre aplicações modernas, APIs REST, Mobile, Cloud e Mainframe.

Hoje é comum um programa COBOL:

  • receber JSON de uma API;

  • gerar JSON para sistemas externos;

  • integrar com z/OS Connect;

  • consumir serviços REST;

  • trocar informações com Java, .NET, Python e Node.js.


O que é JSON?

JSON significa:

JavaScript Object Notation

É um formato leve para troca de dados.

Exemplo:

{
   "id":1001,
   "nome":"JOAO SILVA",
   "saldo":5000.00
}

Por que JSON se tornou popular?

Comparado ao XML:

✅ Mais simples

✅ Menor tamanho

✅ Mais rápido

✅ Fácil leitura

✅ Ideal para APIs REST


JSON no Enterprise COBOL

As versões modernas do Enterprise COBOL possuem suporte nativo através dos comandos:

JSON GENERATE

Converte COBOL → JSON

JSON PARSE

Converte JSON → COBOL


JSON GENERATE

Transforma uma estrutura COBOL em JSON.


Estrutura COBOL

01 CLIENTE.
   05 ID-CLI      PIC 9(5).
   05 NOME-CLI    PIC X(30).
   05 SALDO-CLI   PIC 9(7)V99.

Dados

MOVE 1001 TO ID-CLI.
MOVE 'JOAO SILVA' TO NOME-CLI.
MOVE 5000 TO SALDO-CLI.

Geração JSON

01 WS-JSON PIC X(5000).

JSON GENERATE WS-JSON
   FROM CLIENTE
END-JSON.

Resultado

{
   "ID-CLI":1001,
   "NOME-CLI":"JOAO SILVA",
   "SALDO-CLI":5000
}

JSON PARSE

Faz o processo inverso.

JSON → COBOL


JSON Recebido

{
   "id":1001,
   "nome":"JOAO SILVA"
}

Estrutura COBOL

01 CLIENTE.
   05 ID-CLI      PIC 9(5).
   05 NOME-CLI    PIC X(30).

Parsing

JSON PARSE WS-JSON
   INTO CLIENTE
END-JSON.

Resultado

ID-CLI    = 1001
NOME-CLI  = JOAO SILVA

Tratamento de Erros

Após JSON GENERATE ou JSON PARSE:

IF JSON-CODE NOT = 0
   DISPLAY 'ERRO JSON'
END-IF

JSON-CODE

Variável especial do COBOL.

0 = Sucesso
≠0 = Erro

Exemplo Completo

WORKING-STORAGE SECTION.

01 CLIENTE.
   05 ID-CLI      PIC 9(5).
   05 NOME-CLI    PIC X(30).

01 WS-JSON PIC X(500).

PROCEDURE DIVISION.

MOVE 1001 TO ID-CLI.
MOVE 'JOAO SILVA' TO NOME-CLI.

JSON GENERATE WS-JSON
   FROM CLIENTE
END-JSON.

DISPLAY WS-JSON.

STOP RUN.

JSON e APIs REST

Arquitetura típica:

Mobile App
      ↓
REST API
      ↓
JSON
      ↓
z/OS Connect
      ↓
COBOL
      ↓
DB2

JSON e z/OS Connect

O z/OS Connect permite expor programas COBOL como APIs REST.

Fluxo:

JSON
  ↓
REST
  ↓
z/OS Connect
  ↓
Copybook COBOL
  ↓
Programa COBOL

Exemplo API

Requisição:

{
   "conta":"12345"
}

Resposta:

{
   "saldo":1500.75
}

JSON e CICS

CICS pode consumir APIs REST utilizando:

  • CICS Web Services

  • CICS TG

  • URIMAP

  • PIPELINE

  • z/OS Connect


JSON e DB2

Dados do DB2 podem ser convertidos para JSON.

Exemplo:

SELECT NOME,
       SALDO
FROM CLIENTES

{
   "nome":"JOAO",
   "saldo":5000
}

JSON x XML

XML

<nome>JOAO</nome>

JSON

{
  "nome":"JOAO"
}

Comparação

CaracterísticaJSONXML
TamanhoMenorMaior
LeituraSimplesMais complexa
APIs RESTExcelentePouco usado
SOAPNãoSim
PerformanceMelhorMenor

Copybook e JSON

Muito comum:

COPY CLIENTE.

JSON PARSE
JSON GENERATE

API REST

Casos de Uso Reais

Bancos

  • PIX

  • Open Finance

  • Mobile Banking


Seguradoras

  • Cotações

  • Apólices


Governo

  • APIs fiscais

  • Integrações


E-commerce

  • Pedidos

  • Pagamentos


Benefícios

✅ Integração moderna

✅ APIs REST

✅ Cloud

✅ Mobile

✅ Menor volume de dados

✅ Suporte nativo COBOL


Cuidados

❌ Nomes JSON devem coincidir com estruturas COBOL

❌ Tratar JSON-CODE

❌ Validar campos obrigatórios

❌ Considerar conversão de formatos numéricos


Resumo Rápido

ComandoFunção
JSON GENERATECOBOL → JSON
JSON PARSEJSON → COBOL
JSON-CODECódigo retorno
z/OS ConnectREST para COBOL
API RESTComunicação moderna
CopybookEstrutura dados
DB2Fonte dos dados

Dica para Mainframe Moderno

Hoje, o caminho mais comum em grandes bancos é:

Aplicativo Mobile
        ↓
API REST
        ↓
JSON
        ↓
z/OS Connect
        ↓
COBOL
        ↓
DB2

Dominar JSON GENERATE, JSON PARSE, Copybooks, z/OS Connect e APIs REST é uma das habilidades mais valiosas para o programador COBOL moderno que deseja integrar aplicações Mainframe ao mundo digital atual.


Sem comentários:

Enviar um comentário