| 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ística | JSON | XML |
|---|---|---|
| Tamanho | Menor | Maior |
| Leitura | Simples | Mais complexa |
| APIs REST | Excelente | Pouco usado |
| SOAP | Não | Sim |
| Performance | Melhor | Menor |
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
| Comando | Função |
|---|---|
| JSON GENERATE | COBOL → JSON |
| JSON PARSE | JSON → COBOL |
| JSON-CODE | Código retorno |
| z/OS Connect | REST para COBOL |
| API REST | Comunicação moderna |
| Copybook | Estrutura dados |
| DB2 | Fonte 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