☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

domingo, 9 de junho de 2024

🎮 Isekai List 2024

 

Bellacosa Mainframe apresenta lista isekai 2024

☕ Um Café no Bellacosa Mainframe

2024 — O Ano em que o Isekai Recebeu Múltiplas Atualizações de Sistema

Se entre 2019 e 2023 o gênero isekai já havia conquistado praticamente todos os servidores do universo otaku, 2024 foi o ano em que os administradores simplesmente removeram o limite de instâncias.

Parecia existir um novo isekai estreando a cada temporada. Mas, curiosamente, não foi apenas uma avalanche de protagonistas overpower. Os estúdios começaram a experimentar novas ideias: heróis fracassados, protagonistas burocratas, aristocratas estrategistas, médicos, domadores de monstros, escritores deprimidos, vilões reformados e até personagens cuja maior habilidade era... avaliar pessoas.

Foi também um ano em que continuações gigantes como Mushoku Tensei, Konosuba, Re:Zero, Slime e Tsukimichi dividiram espaço com novas apostas que tentavam fugir do clichê do "rei demônio + cheat infinito".  

Pegue sua caneca de café.

O Bellacosa Mainframe acaba de abrir o LOG de execução dos principais isekais de 2024.




Os principais Isekais lançados em 2024

1) No Longer Allowed in Another World

Título original: Isekai Shikkaku
Episódios: 12

Resumo

Um famoso escritor deprimido tenta tirar a própria vida, mas acaba transportado para outro mundo.

Ao contrário dos heróis tradicionais, ele não quer salvar ninguém.

Só deseja morrer em paz.

Isso cria uma mistura genial entre humor negro, literatura japonesa e fantasia medieval.

Personagens

  • Sensei

  • Annette

  • Tama

  • Nir

Easter Eggs

  • inspirado na vida de Osamu Dazai

  • diversas referências à literatura japonesa

  • desconstrói completamente o herói clássico


2) The Wrong Way to Use Healing Magic

Título original: Chiyu Mahou no Machigatta Tsukaikata

Episódios: 13

Resumo

Usato é invocado por acidente junto com dois colegas.

Descobre possuir magia de cura.

Só que, ao invés de médico...

vira praticamente um soldado das forças especiais.

Treinamentos absurdos transformam cura em arma.

Personagens

  • Usato

  • Rose

  • Kazuki

  • Suzune

Easter Eggs

  • treinamento lembra filmes militares

  • cura utilizada ofensivamente

  • um dos protagonistas mais humildes do gênero


3) Villainess Level 99

Título original: Akuyaku Reijou Level 99

Episódios: 12

Resumo

Yumiella renasce como a vilã secreta de um jogo otome.

Resolve viver discretamente.

O problema?

Ela chega ao nível 99 antes mesmo da história começar.

Personagens

  • Yumiella

  • Patrick

  • Alicia

  • Edwin

Easter Eggs

  • sátira dos jogos otome

  • humor extremamente seco

  • protagonista absurdamente poderosa sem querer aparecer


4) As a Reincarnated Aristocrat, I'll Use My Appraisal Skill to Rise in the World

Título original: Tensei Kizoku, Kantei Skill de Nariagaru

Episódios: 12 (1ª temporada)

Resumo

Ars Louvent renasce como um pequeno nobre.

Seu talento não é lutar.

É identificar talentos escondidos.

Assim começa uma campanha política baseada em gestão de pessoas.

Personagens

  • Ars Louvent

  • Rietz

  • Charlotte

  • Rosell

Easter Eggs

  • lembra gerenciamento de equipes corporativas

  • estratégia vence força

  • um dos isekais mais inteligentes do ano


5) Fluffy Paradise

Título original: Isekai de Mofumofu Nadenade Suru Tame ni Ganbattemasu

Episódios: 12

Resumo

Uma garota recebe a missão de decidir se a humanidade merece continuar existindo.

Sua habilidade?

Conquistar qualquer criatura fofa.

Personagens

  • Nefertima

  • Wilhelt

  • Ralph

  • Lars

Easter Eggs

  • enorme quantidade de criaturas adoráveis

  • mistura fantasia com mensagens ecológicas

  • praticamente um "slow life" isekai


6) The Weakest Tamer Began a Journey to Pick Up Trash

Título original: Saijaku Tamer wa Gomi Hiroi no Tabi wo Hajimemashita

Episódios: 12

Resumo

Ivy nasce considerada amaldiçoada.

Sobrevive recolhendo lixo e fazendo amizade com um pequeno slime.

Um dos animes mais emocionantes de 2024.

Personagens

  • Ivy

  • Sora

  • Ciel

Easter Eggs

  • crítica ao preconceito

  • protagonista extremamente humana

  • excelente construção emocional


7) My Instant Death Ability Is So Overpowered

Título original: Sokushi Cheat ga Saikyou Sugite

Episódios: 12

Resumo

Yogiri possui uma habilidade simples.

Qualquer coisa que ele deseje...

morre instantaneamente.

Fim da luta.

Personagens

  • Yogiri

  • Tomochika

  • Mokomoko

Easter Eggs

  • sátira ao excesso de protagonistas overpower

  • humor absurdo

  • quebra completamente qualquer escala de poder


8) Re:Monster

Título original: Re:Monster

Episódios: 12

Resumo

Um homem renasce como um goblin.

Cada criatura devorada aumenta seus poderes.

Sua evolução ocorre de forma extremamente rápida.

Personagens

  • Gobrou

  • Gobkichi

  • Gobmi

Easter Eggs

  • sistema de evolução parecido com RPG

  • protagonista monstruoso

  • inspirado em web novels clássicas


9) Failure Frame

Título original: Hazure Waku no Joutai Ijou Skill

Episódios: 12

Resumo

Touka recebe uma habilidade considerada inútil.

Após ser traído, descobre que justamente essa habilidade é devastadora.

A vingança torna-se seu principal objetivo.

Personagens

  • Touka Mimori

  • Seras

  • Piggymaru

Easter Eggs

  • clima bastante sombrio

  • protagonista anti-herói

  • lembra Arifureta em alguns momentos


10) Dahlia in Bloom

Título original: Madougushi Dahlia wa Utsumukanai

Episódios: 12

Resumo

Após renascer, Dahlia decide abandonar relacionamentos tóxicos e dedicar sua vida ao desenvolvimento de ferramentas mágicas.

Mais engenharia do que batalhas.

Personagens

  • Dahlia

  • Wolfred

Easter Eggs

  • fantasia focada em artesanato

  • desenvolvimento profissional

  • protagonista independente


11) A Journey Through Another World: Raising Kids While Adventuring

Título original: Isekai Yururi Kikou

Episódios: 12

Resumo

Takumi é enviado por engano para outro mundo.

Recebe poderes especiais e passa a cuidar de duas crianças extremamente poderosas durante suas aventuras.

Personagens

  • Takumi

  • Alan

  • Elena

Easter Eggs

  • mistura ação com vida familiar

  • clima leve e acolhedor

  • fantasia voltada ao cotidiano


O que tornou 2024 tão relevante?

2024 consolidou uma mudança importante no gênero. Embora ainda houvesse muitos protagonistas superpoderosos, diversas obras passaram a explorar outros caminhos:

  • protagonistas estrategistas em vez de guerreiros;

  • foco em administração, política e economia;

  • histórias mais emocionais e introspectivas;

  • sátiras aos próprios clichês do isekai;

  • crescimento dos subgêneros "slow life", "vilã", "reencarnação nobre" e fantasia de cotidiano;

  • equilíbrio entre novas séries e continuações de grandes franquias como Konosuba, Mushoku Tensei, That Time I Got Reincarnated as a Slime e Re:Zero.  


☕ Conclusão — O Mainframe do Multiverso Entrou em Produção Máxima

Se 2012 foi o despertar do isekai moderno, 2015 marcou sua popularização e 2019 consolidou o gênero como um fenômeno mundial, 2024 foi o ano em que o compilador começou a otimizar o código. Os roteiristas perceberam que já não bastava entregar mais um herói invencível derrotando o Rei Demônio. Era preciso oferecer novas perspectivas: personagens imperfeitos, conflitos psicológicos, administração de reinos, desenvolvimento pessoal, humor metalinguístico e até reflexões sobre fracasso, preconceito e propósito.

No Bellacosa Mainframe, costumo comparar essa evolução ao universo IBM Z. Durante décadas, o mainframe foi visto apenas como uma máquina de processamento em massa. Hoje, ele continua poderoso, mas também executa APIs, inteligência artificial, microsserviços e aplicações modernas sem abandonar sua essência. O isekai viveu transformação semelhante: manteve o núcleo da fantasia de outro mundo, mas expandiu seu repertório para muito além da aventura tradicional.

Talvez esse seja o maior ensinamento de 2024. Assim como um bom sistema legado nunca deixa de evoluir, um gênero também não sobrevive repetindo sempre o mesmo algoritmo. Os melhores isekais do ano mostraram que criatividade, personagens memoráveis e boas histórias ainda são a atualização mais importante de qualquer mundo — real ou fantástico.

☕ Um Café no Bellacosa Mainframe

Portal Isekai — A Linha do Tempo dos Mundos Paralelos

Atravesse o portal e explore os animes isekai lançados entre 2009 e 2025. Cada grimório anual reúne títulos, personagens, episódios, curiosidades, referências e mundos que mudaram o gênero.

17 anos catalogados
2009–2025 linha do tempo
1 portal dimensional

A grande biblioteca dos animes isekai

Um portal se abriu dentro do Bellacosa Mainframe. Do outro lado, aventureiros reencarnados, heróis convocados, jogadores presos em mundos virtuais, magos, demônios, fazendeiros, cozinheiros e administradores de reinos aguardam sua próxima missão.

Este índice organiza os artigos anuais da série Isekai List, começando em 2009 e avançando até 2025. Use a busca para localizar um ano, escolha a ordem cronológica ou abra cada artigo diretamente em uma nova aba. Também é possível visualizar o conteúdo dentro do próprio portal.

🧭 Console de Navegação Dimensional

17 grimórios encontrados.

Arquivo recuperado do mainframe

Grimórios Isekai por Ano

Sistema online
2025
Nova geração

Isekai List 2025

O ano em que o isekai começou a experimentar novos algoritmos, misturando fórmulas clássicas, continuações e novas variações.

2024
Expansão dimensional

Isekai List 2024

Um ciclo carregado de continuações, novos sistemas mágicos, protagonistas improváveis e múltiplas atualizações de firmware.

2023
Diversificação

Isekai List 2023

Fantasia, culinária, agricultura, aventura e slow life dividem espaço em um dos anos mais variados do gênero.

2022
Firmware atualizado

Isekai List 2022

Novas temporadas, adaptações aguardadas e mundos paralelos operando com sistemas cada vez mais especializados.

2021
Reinos conectados

Isekai List 2021

Heróis, vilões, estrategistas e habitantes de outros mundos disputam espaço em uma temporada de forte produção.

2020
Produção intensiva

Isekai List 2020

O gênero domina o horário de produção e se transforma em uma das principais forças da indústria de anime.

2019
Linha de montagem

Isekai 2019

A indústria amplia o catálogo e transforma mundos paralelos em uma linha constante de lançamentos e adaptações.

2018
Produção em massa

Isekai List 2018

O gênero entra definitivamente em produção em massa, multiplicando mundos, heróis e sistemas de habilidades.

2017
Industrialização

Isekai List 2017

O isekai vira linha de produção, recebe novas fórmulas narrativas e conquista uma audiência cada vez maior.

2016
Reinicialização

Isekai List 2016

Um ano decisivo, marcado por obras que reiniciaram o sistema operacional do gênero e redefiniram suas possibilidades.

2015
Ascensão imperial

Isekai List 2015

O isekai deixa de ser apenas um nicho, amplia seu público e começa a construir um verdadeiro império comercial.

2014
Permanência no outro mundo

Isekai List 2014

Os protagonistas descobrem que voltar para casa nem sempre é o objetivo principal de uma aventura em outro mundo.

2013
Nova identidade

Isekai List 2013

O gênero encontra uma identidade moderna e começa a estabelecer elementos que dominariam a década seguinte.

2012
Grande reinicialização

Isekai List 2012

O ano em que mundos virtuais, light novels e comunidades online ajudaram a reiniciar a indústria dos animes.

2011
Compilando o futuro

Isekai List 2011

Um período de transição em que os elementos do isekai moderno começam a ser compilados dentro da indústria.

2010
Pré-explosão

Isekai List 2010

Antes da grande explosão comercial, o gênero reiniciava silenciosamente seus códigos narrativos fundamentais.

2009
Código ancestral

Isekai List 2009

O começo desta linha do tempo: um gênero ainda em reinicialização, preparando terreno para sua evolução.

Janela dimensional

🌀 Visualizador de Artigos

Escolha “Ver no portal” em qualquer ano para carregar o artigo.

Portal em modo de espera Selecione um ano para iniciar a transferência.

O que você encontra neste índice de animes isekai?

Animes por ano

Uma organização cronológica dos lançamentos e continuações mais relevantes entre 2009 e 2025.

Histórias e personagens

Resumos, protagonistas, companheiros, vilões, sistemas mágicos e elementos marcantes de cada produção.

Curiosidades e easter eggs

Referências escondidas, relações com light novels, mangás, RPGs, jogos e outras obras da cultura japonesa.

Estilo Bellacosa

Uma viagem descontraída pelos mundos paralelos, misturando anime, nostalgia, tecnologia e o bom humor do mainframe.

Um Café no Bellacosa Mainframe
Onde cada anime é um programa e cada mundo paralelo é uma nova LPAR.

Voltar ao início ↑

sábado, 8 de junho de 2024

🧠💾 DevOps no Mainframe: Quando o COBOL Encontrou o Git

 


🧠💾 DevOps no Mainframe: Quando o COBOL Encontrou o Git

Por Vagner Bellacosa – Bellacosa Mainframe Chronicles – “Porque até o z/OS precisa de pipeline”


“No início, havia o JCL. E o JCL era bom.
Mas um dia o DevOps olhou para o Mainframe e disse:
‘Que tal versionar isso aí?’”
Antigo Provérbio da Guilda dos Analistas de Produção, circa 2018.


⚙️ 1. A Origem da Força: Mainframe Antes do DevOps

Nos primórdios do tempo digital — década de 60 — o Mainframe era o único devops possível.
Desenvolvia, testava, implantava e executava tudo no mesmo lugar.
Sem containers, sem cloud, sem microservices. O sistema era monolítico, mas estável como uma rocha.

Os times trabalhavam em ciclos longos:

  • meses para desenvolver,

  • semanas para testar,

  • e madrugadas inteiras para colocar em produção com medo do abençoado abend U4038.

💡 Curiosidade Bellacosa:
O termo DevOps só surgiria nos anos 2000, mas os mainframers já praticavam sua essência muito antes — colaboração, automação e controle eram o DNA natural do z/OS.


🔄 2. O Encontro dos Mundos: DevOps e COBOL

Quando o mundo distribuído começou a falar em Agile, CI/CD e pipelines, o Mainframe parecia o tiozão da família que ainda usava pager.
Mas o que pouca gente sabia é que o tiozão guardava o cofre dos bancos, das seguradoras e dos governos.

E então... 💥
IBM, Broadcom, Rocket e BMC perceberam: era hora de modernizar sem destruir.

Assim nasceu o DevOps para Mainframe:
A fusão entre práticas modernas (Git, Jenkins, SonarQube, API Gateway) e linguagens lendárias (COBOL, PL/I, JCL, Assembler).


🧰 3. As Ferramentas da Nova Ordem

O arsenal do Cavaleiro DevOps Mainframe é poderoso e variado.
Veja o comparativo entre o lado clássico e o lado moderno da força:

⚔️ Era Clássica🛰️ Era DevOps
Librarian / EndevorGitHub / GitLab / Bitbucket
JCL SUBMIT manualJenkins Pipeline / Tekton
Compilação no TSOBuild automático com DBB (Dependency Based Build)
ChangeMan / SCLMUrbanCode Deploy / Ansible
Control-M / CA7Orquestração via API REST
ISPF EditorVisual Studio Code com Zowe Explorer
Spool JES2Logs integrados no Jenkins e Splunk

🧩 Easter Egg Técnico:
O Zowe é o primeiro projeto open source oficial da IBM Z — e seu nome vem da junção de “z/OS” + “owe” (de open web).
Sim, o Mainframe virou web-friendly.


🔬 4. O Workflow do Padawan DevOps Mainframe

Vamos decodificar o ciclo de vida moderno de um projeto COBOL com DevOps.

🪐 Etapa 1 – Codificação

O desenvolvedor escreve o COBOL no VS Code com o plugin Zowe Explorer, salvando direto no Git.

“Adeus ISPF Edit... Olá Ctrl+S!”

⚙️ Etapa 2 – Build Automatizado

O commit aciona o Jenkins, que executa o IBM DBB — ferramenta que compila COBOL, monta COPYBOOKS e cria LOADs automaticamente.

🧪 Etapa 3 – Teste Automatizado

Entram em cena frameworks como:

  • ZUnit (para testar programas COBOL)

  • Topaz for Total Test (Broadcom)

  • IBM zUnit + Jenkins Reports

Os testes validam não só a lógica, mas também o acesso a DB2 e VSAM.

🧭 Etapa 4 – Integração Contínua

Após os testes, o build é integrado a ambientes de QA via UrbanCode Deploy, garantindo controle e versionamento de componentes.

🚀 Etapa 5 – Deploy

Deploy automatizado no CICS, Batch, IMS ou Web Service.
Tudo monitorado com SonarQube, Splunk e SMF logs.


🧙‍♂️ 5. Metodologia do Caminho DevOps

Um Jedi Mainframe moderno segue quatro princípios:

  1. Automatize tudo que puder — builds, testes, deploys e até submissão de JCLs.

  2. Integre com respeito — nem tudo deve ser refatorado; às vezes o legado é sábio.

  3. Versão é poder — o Git é o novo repositório sagrado.

  4. Feedback é Força — monitore, aprenda, ajuste.

📜 Curiosidade Bellacosa:
O IBM DBB foi desenvolvido originalmente como um projeto interno chamado “Project Bluemix for z/OS”.
Ele traduz a dependência do mundo JCL em pipelines YAML. Um verdadeiro “tradutor de eras”.


6. O DevOps Mainframe em Ação

Um pipeline típico de DevOps COBOL pode ser visualizado assim:

GIT PUSH ↓ JENKINS PIPELINE ↓ IBM DBB BUILD ↓ ZUNIT / TOPAZ TESTS ↓ URBANCODE DEPLOY ↓ Z/OS CICS EXECUTION ↓ MONITOR / FEEDBACK LOOP




💬 Easter Egg Filosófico:
“Pipeline é o novo JCL.”
Enquanto o JCL executa passos em batch, o pipeline orquestra passos de automação.
Ambos seguem o princípio da execução sequencial controlada — separados apenas por 50 anos de sintaxe. 😎


🕰️ 7. A Linha do Tempo da Evolução

AnoMarcoDescrição
1964Lançamento do System/360O berço da automação batch
1980SCLM e LibrarianControle de versão rudimentar
1990Endevor e ChangeManCM integrado ao ciclo de vida
2010IBM DBB & UrbanCodeDevOps ganha cara no z/OS
2018Projeto ZoweMainframe abraça o open source
2020+Git + Jenkins + API RESTA força se equilibra

8. Dicas do Mestre Bellacosa

  • Sempre compile com mensagens ativas: use LIST, XREF no compilador — são o “lint” do COBOL.

  • Evite mexer direto no Loadlib: agora ele é gerado automaticamente — é o artefato, não o playground.

  • Integre CICS e DB2 nos testes: DevOps não é só build, é comportamento de sistema.

  • Zowe CLI é sua varinha mágica: automatize submissão de JCL, consulta a spool e deploys sem entrar no ISPF.


🧩 9. O Lado Oculto da Força (Curiosidades)

  • O primeiro pipeline DevOps para COBOL foi rodado na IBM Poughkeepsie Labs, em um z13 — com sucesso total, sem um único abend.

  • Algumas empresas usam Docker simulando z/OS via ZD&T (z Development & Test Environment).
    Sim, é possível rodar um “mini mainframe” dentro de um laptop gamer! 🎮

  • O termo “Mainframe Modernization” virou moda — mas quem entende sabe que modernizar ≠ migrar.
    O segredo é integrar, não substituir.


🌌 10. Conclusão: O Mainframe Nunca Dorme

O DevOps não é o fim do legado — é o elo entre gerações.
Hoje, um pull request pode acionar um JCL SUBMIT, e um commit pode atualizar um CICS.
O Mainframe não ficou velho: ele apenas aprendeu a conversar com os jovens.

“O Mainframe não é um dinossauro.
É o dragão que aprendeu a voar em nuvens.” 🐉☁️

 

sexta-feira, 7 de junho de 2024

CICS REST: O Policial Cibernético das APIs Corporativas

 

Bellacosa Mainframe e o cics rest uma improvavel uniao a ser investigada

☕ Um Café no Bellacosa Mainframe

CICS REST: O Policial Cibernético das APIs Corporativas

Quando um Programador COBOL Descobre que o CICS Pode Patrulhar HTTP, Interrogar JSON e Entregar a COMMAREA Viva ou Morta

Detroit, futuro próximo.

A cidade está mergulhada no caos digital. Aplicativos móveis exigem respostas em milissegundos. Microsserviços atravessam nuvens públicas e privadas. APIs aparecem em cada esquina. Contêineres fogem pelas avenidas do Kubernetes. Mensagens JSON circulam sem documento, sem copybook e, às vezes, sem qualquer respeito pelo contrato de dados.

No subsolo de uma grande corporação financeira, porém, existe uma máquina que nunca dorme.

Ela não usa capa.
Não pilota um Batmóvel.
Não fala em promessas vazias de transformação digital.

Ela executa transações.

Seu nome é CICS Transaction Server.

Durante décadas, ele patrulhou os corredores do processamento corporativo, protegendo contas bancárias, seguradoras, companhias aéreas, governos, cartões de crédito, estoques e sistemas industriais. Agora, diante da invasão das APIs REST, recebeu uma nova diretiva:

Servir o público, proteger a lógica de negócio e fazer o JSON obedecer ao copybook.

Bem-vindo, jovem programador COBOL, ao distrito mais movimentado do IBM Z.

Hoje veremos como um programa COBOL tradicional, acostumado a receber dados por COMMAREA ou CHANNEL, pode ser exposto como uma API REST moderna sem precisar ser completamente reescrito.

Prepare o café. Ajuste o terminal 3270. Verifique o CEMT. O suspeito está chegando pela porta TCP/IP.


Diretiva Primária: compreender o problema

Antes de falarmos sobre recursos CICS, precisamos entender o conflito central.

Um programa COBOL tradicional não conhece naturalmente conceitos como:

  • URL;

  • HTTP;

  • HTTPS;

  • JSON;

  • cabeçalhos;

  • métodos GET, POST, PUT e DELETE;

  • códigos de status como 200, 400, 404 e 500;

  • autenticação por token;

  • chamadas originadas por aplicativos móveis.

O programa COBOL normalmente conhece estruturas fixas de dados.

Por exemplo:

01  WS-CLIENTE-REQUEST.
    05 WS-AGENCIA          PIC 9(4).
    05 WS-CONTA            PIC 9(8).
    05 WS-DIGITO           PIC X.

Ele espera receber bytes em posições previamente definidas.

A agência ocupa quatro posições.
A conta ocupa oito.
O dígito ocupa uma.

Não há chaves, aspas, vírgulas nem nomes de propriedades circulando em tempo de execução.

Já uma aplicação web moderna envia algo parecido com:

{
  "agencia": 1234,
  "conta": 87654321,
  "digito": "9"
}

Para um desenvolvedor JavaScript, isso parece natural.

Para um programa COBOL antigo, esse JSON é praticamente um criminoso não identificado entrando na delegacia sem documento.

Alguém precisa fazer a identificação, separar cada campo, validar formatos, converter números e entregar os dados exatamente na posição esperada.

Esse alguém é o CICS.


A unidade especial de tradução do CICS

O CICS atua como uma camada intermediária inteligente entre o cliente REST e a aplicação tradicional.

O fluxo básico é:

Cliente externo
      ↓
HTTP ou HTTPS
      ↓
TCPIPSERVICE
      ↓
URIMAP
      ↓
PIPELINE
      ↓
JSON Handler
      ↓
COMMAREA ou CHANNEL
      ↓
Programa COBOL

Na resposta, o caminho é invertido:

Programa COBOL
      ↓
COMMAREA ou CHANNEL
      ↓
JSON Handler
      ↓
JSON
      ↓
Resposta HTTP
      ↓
Cliente externo

O ponto fundamental é este:

O programa COBOL não precisa compreender o documento JSON original.

Ele recebe uma estrutura de dados tradicional, preparada pelo CICS.

Assim, a lógica de negócio pode continuar fazendo aquilo que sempre fez:

  • consultar Db2;

  • ler VSAM;

  • calcular juros;

  • validar saldo;

  • verificar limites;

  • emitir autorizações;

  • atualizar cadastros;

  • registrar auditoria;

  • controlar uma unidade lógica de trabalho.

O CICS cuida do protocolo moderno.
O COBOL cuida do negócio.

Essa separação de responsabilidades é uma das maiores virtudes da arquitetura.


Cena 1: o cliente externo chega à cidade

No topo do fluxo temos o consumidor da API.

Ele pode ser:

  • um aplicativo Android;

  • um aplicativo iOS;

  • um portal web;

  • um sistema Java;

  • um serviço Python;

  • um microsserviço no OpenShift;

  • uma aplicação hospedada em AWS, Azure ou IBM Cloud;

  • uma plataforma de integração;

  • o IBM API Connect;

  • outro sistema mainframe;

  • uma ferramenta de testes como Postman ou curl.

O cliente pode enviar uma requisição como:

POST /api/v1/transferencias
Content-Type: application/json

Corpo:

{
  "contaOrigem": 10012345,
  "contaDestino": 20098765,
  "valor": 250.75
}

Do ponto de vista do cliente, ele está chamando uma API REST comum.

Ele não precisa saber:

  • em qual LPAR o CICS está;

  • se o programa foi escrito em COBOL;

  • se os dados estão em Db2 ou VSAM;

  • se a transação utiliza COMMAREA;

  • se existe um programa com 30 anos de produção;

  • se o serviço participa de uma unidade de trabalho protegida por syncpoint.

Essa transparência é valiosa.

Para a aplicação moderna, o mainframe aparece como um provedor de serviços corporativos.


Cena 2: TCPIPSERVICE, o portão blindado

O primeiro recurso CICS relevante é o TCPIPSERVICE.

Pense nele como o portão de entrada do distrito.

Ele define onde o CICS escutará conexões TCP/IP.

Entre suas responsabilidades estão:

  • porta de escuta;

  • protocolo utilizado;

  • suporte a HTTP ou HTTPS;

  • configuração de SSL/TLS;

  • associação com parâmetros de segurança;

  • controle da entrada de conexões.

Exemplo conceitual:

Porta: 8443
Protocolo: HTTP
SSL: habilitado
Status: aberto

Quando o cliente chama:

https://api.empresa.com:8443/api/v1/saldo

a conexão chega ao TCPIPSERVICE correspondente.

Sem TCPIPSERVICE ativo, ninguém entra.

É como tentar apresentar uma denúncia em uma delegacia cujo portão está fechado.

Dica Bellacosa

Quando um serviço não responde, não comece imediatamente alterando o COBOL.

Verifique primeiro:

  1. O TCPIPSERVICE está instalado?

  2. Está habilitado?

  3. Está escutando na porta correta?

  4. Existe firewall bloqueando?

  5. O certificado TLS é válido?

  6. O host e a porta da chamada estão corretos?

Muitos “erros do programa” são, na verdade, problemas anteriores ao programa.

O suspeito sequer chegou à sala de interrogatório.


Cena 3: URIMAP, o reconhecimento facial das URLs

Depois que a requisição entra no CICS, é necessário descobrir qual serviço deve tratá-la.

Essa é uma das funções do URIMAP.

O URIMAP relaciona um padrão de URI a um recurso ou fluxo CICS.

Por exemplo:

/api/v1/clientes/*

ou:

/api/v1/saldos/*

Ele funciona como uma tabela de encaminhamento.

Quando chega:

GET /api/v1/clientes/12345

o CICS verifica qual URIMAP corresponde àquele endereço.

Em termos conceituais:

URI recebida
      ↓
Comparação com URIMAPs
      ↓
Seleção do pipeline ou serviço

O URIMAP também pode ajudar a separar versões:

/api/v1/clientes
/api/v2/clientes

Isso é importante porque APIs evoluem.

Talvez a versão 1 retorne:

{
  "nome": "MURPHY"
}

e a versão 2 retorne:

{
  "nomeCompleto": "ALEX MURPHY",
  "status": "ATIVO"
}

Manter versões evita que uma mudança destrua consumidores antigos.

Curiosidade investigativa

Em arquiteturas web como Spring Boot, rotas podem ser definidas com anotações:

@GetMapping("/clientes/{id}")

No CICS, o conceito de roteamento aparece por meio de recursos como URIMAP, pipelines e handlers.

A tecnologia muda.
A necessidade arquitetural permanece.

Alguém sempre precisa decidir quem atende cada endereço.


Cena 4: PIPELINE, a linha de processamento

O PIPELINE é a linha de montagem que conduz a mensagem pelos componentes necessários.

Imagine uma esteira industrial da Omni Consumer Products, mas sem o protótipo ED-209 disparando contra os programadores durante a reunião.

A requisição passa por estágios:

HTTP
  ↓
Identificação do serviço
  ↓
Tratamento da mensagem
  ↓
Conversão do JSON
  ↓
Chamada da aplicação
  ↓
Conversão da resposta

O pipeline não é apenas uma “seta” no desenho.

Ele representa a infraestrutura que organiza o processamento da mensagem.

Dependendo da configuração, podem existir etapas relacionadas a:

  • transformação de dados;

  • validação;

  • segurança;

  • tratamento de cabeçalhos;

  • seleção de handlers;

  • geração da resposta;

  • registro de erros.

É importante não confundir o pipeline com o programa de negócio.

O pipeline é a rota operacional.
O programa COBOL é o policial que executa a investigação.


Cena 5: o JSON Handler interroga a mensagem

O cliente envia:

{
  "codigoCliente": 4711,
  "valor": 850.25,
  "moeda": "BRL"
}

O programa COBOL espera:

01  WS-REQUEST.
    05 WS-CODIGO-CLIENTE   PIC 9(8).
    05 WS-VALOR            PIC S9(9)V99 COMP-3.
    05 WS-MOEDA            PIC X(3).

Essas representações não são iguais.

O JSON representa números e textos de forma lógica.

O COBOL pode representar números em:

  • display;

  • binário;

  • packed decimal;

  • COMP;

  • COMP-3;

  • campos com sinal;

  • casas decimais implícitas.

O JSON Handler realiza a tradução entre esses formatos.

Exemplo:

"valor": 850.25

pode ser convertido para um campo:

PIC S9(9)V99 COMP-3

O programa recebe o valor na forma adequada para o processamento COBOL.

Na resposta ocorre o contrário.

Se o programa devolver:

WS-SALDO PIC S9(9)V99 COMP-3 VALUE 150075

considerando as casas decimais implícitas, o handler poderá produzir:

{
  "saldo": 1500.75
}

A conversão exige regras.

Essas regras são geradas a partir da definição das estruturas.

E aqui entram os assistentes do CICS.


DFHLS2JS e DFHJS2LS: a reconstrução cibernética dos dados

Dois nomes aparecem frequentemente quando estudamos JSON no CICS:

  • DFHLS2JS

  • DFHJS2LS

À primeira vista, parecem números de série de unidades mecanizadas da polícia de Detroit.

Mas são utilitários fundamentais.

DFHLS2JS

O nome pode ser lido como:

Language Structure to JSON

Ou seja:

Estrutura de linguagem
        ↓
Definição JSON

Você fornece uma estrutura COBOL, PL/I ou outra linguagem suportada.

O utilitário gera artefatos que permitem mapear aquela estrutura para JSON.

Por exemplo, a partir de:

01  CLIENTE-RESPONSE.
    05 CLIENTE-ID          PIC 9(8).
    05 CLIENTE-NOME        PIC X(40).
    05 CLIENTE-SALDO       PIC S9(9)V99 COMP-3.

pode ser criada uma representação lógica equivalente a:

{
  "clienteId": 12345678,
  "clienteNome": "ALEX MURPHY",
  "clienteSaldo": 4900.50
}

DFHJS2LS

O sentido principal é:

JSON to Language Structure

Ele parte de uma definição JSON e gera estruturas ou mapeamentos adequados para a linguagem.

Isso é útil quando o contrato JSON já existe e a aplicação CICS precisa se adaptar a ele.

Portanto, existem dois caminhos de desenvolvimento.

Caminho bottom-up

Você já possui o programa COBOL e o copybook.

Parte da estrutura existente e gera a interface JSON.

Copybook COBOL
       ↓
DFHLS2JS
       ↓
Artefatos JSON e binding

Caminho top-down

Você já possui o contrato JSON ou o desenho da API.

Parte do contrato e gera uma estrutura de linguagem correspondente.

Definição JSON
       ↓
DFHJS2LS
       ↓
Estrutura COBOL e binding

A escolha depende de onde está a fonte da verdade.

Em sistemas legados, muitas vezes o copybook existente é o ponto de partida.

Em projetos API-first, o contrato JSON pode ser definido antes da implementação.


O arquivo de binding: a memória operacional

O web service binding file contém informações de mapeamento necessárias para que o CICS converta a mensagem.

Ele funciona como uma espécie de memória operacional da reconstrução.

Diz ao CICS, em essência:

  • qual campo JSON corresponde a qual campo COBOL;

  • como tratar tipos;

  • como converter representações;

  • como montar a estrutura de entrada;

  • como transformar a estrutura de saída.

Esse arquivo costuma ser armazenado no zFS, o sistema de arquivos UNIX do z/OS.

O CICS acessa os artefatos durante o processamento.

Atenção

O binding não é simplesmente documentação.

Ele participa efetivamente da execução.

Se houver inconsistência entre:

  • o copybook utilizado na geração;

  • o programa compilado;

  • o binding implantado;

o resultado pode ser desastroso.

Campos podem ser interpretados com tamanhos errados.
Valores podem chegar deslocados.
Conversões podem falhar.
O programa pode receber dados aparentemente válidos, mas incorretos.

Essa é uma ocorrência particularmente perigosa porque nem sempre provoca ABEND imediato.

Às vezes, o dado errado passa pela porta usando um crachá aparentemente válido.


COMMAREA ou CHANNEL: escolha seu compartimento

Depois da conversão, o CICS precisa entregar os dados à aplicação.

Dois modelos são comuns:

  • COMMAREA;

  • CHANNEL e CONTAINER.

COMMAREA

A COMMAREA é o método clássico.

Ela consiste em uma área contínua de memória passada entre programas ou transações.

Exemplo conceitual:

01 DFHCOMMAREA.
   05 CA-FUNCAO          PIC X.
   05 CA-CLIENTE         PIC 9(8).
   05 CA-STATUS          PIC X(2).

Vantagens:

  • simples;

  • conhecida por praticamente todos os programadores CICS;

  • amplamente utilizada;

  • adequada para estruturas pequenas e estáveis.

Limitações:

  • tamanho limitado;

  • uma única área linear;

  • maior dificuldade para mensagens complexas;

  • mudanças podem afetar offsets e compatibilidade.

A COMMAREA tradicional possui um limite próximo de 32 KB, associado ao tamanho permitido no modelo clássico de comunicação.

CHANNEL e CONTAINER

O CHANNEL organiza múltiplos containers.

Exemplo:

CHANNEL: API-CHANNEL

CONTAINER: REQUEST
CONTAINER: RESPONSE
CONTAINER: METADATA
CONTAINER: ERROR-INFO

Vantagens:

  • melhor organização;

  • suporte a volumes maiores;

  • separação lógica dos dados;

  • flexibilidade;

  • menor dependência de uma única estrutura monolítica.

Para novos desenhos, CHANNEL e CONTAINER costumam oferecer uma arquitetura mais limpa.

Contudo, não significa que toda COMMAREA deva ser imediatamente substituída.

A regra Bellacosa é:

Não modernize destruindo o que funciona. Modernize criando fronteiras melhores.

Se o programa existente funciona corretamente com COMMAREA, uma camada de exposição pode preservar essa interface.

Se uma nova aplicação estiver sendo criada, CHANNEL e CONTAINER merecem forte consideração.


Cena 6: o programa COBOL entra em ação

Após a conversão, o CICS chama o programa de aplicação.

Ele pode receber:

01  REQUEST-DATA.
    05 REQUEST-CONTA      PIC 9(8).
    05 REQUEST-VALOR      PIC S9(9)V99 COMP-3.

O programa executa sua lógica:

IF REQUEST-VALOR <= SALDO-DISPONIVEL
    MOVE '00' TO RESPONSE-CODE
    SUBTRACT REQUEST-VALOR
        FROM SALDO-ATUAL
ELSE
    MOVE '51' TO RESPONSE-CODE
END-IF

Observe que não há nenhuma instrução para interpretar JSON.

Não existe:

PARSE JSON MANUALMENTE

O código se concentra no domínio do negócio.

Esse é o objetivo.

Contudo, algumas versões modernas do Enterprise COBOL também oferecem recursos próprios para processamento JSON. Isso pode ser útil em certos cenários, mas não elimina necessariamente o valor da infraestrutura CICS de pipelines, assistentes e bindings.

Existem duas filosofias:

Conversão na infraestrutura

CICS converte
Programa recebe estrutura pronta

Conversão na aplicação

Programa recebe JSON
Programa executa JSON PARSE

Para exposição padronizada de serviços CICS, a conversão na infraestrutura costuma reduzir acoplamento e manter o programa focado no negócio.


Cena 7: a resposta sai patrulhando a rede

O programa preenche a estrutura de saída:

01  RESPONSE-DATA.
    05 RESPONSE-CODE      PIC X(2).
    05 RESPONSE-MESSAGE   PIC X(60).
    05 RESPONSE-BALANCE   PIC S9(9)V99 COMP-3.

Exemplo:

RESPONSE-CODE    = 00
RESPONSE-MESSAGE = TRANSFERENCIA APROVADA
RESPONSE-BALANCE = 3250.25

O JSON Handler converte para:

{
  "codigo": "00",
  "mensagem": "TRANSFERENCIA APROVADA",
  "saldo": 3250.25
}

O CICS então envia uma resposta HTTP.

Exemplo:

HTTP/1.1 200 OK
Content-Type: application/json

O cliente recebe a resposta sem saber quantas camadas corporativas participaram do processamento.

Mas aqui existe uma decisão importante:

Um código de negócio não é automaticamente um código HTTP.

Por exemplo:

Código 51 = saldo insuficiente

Isso não significa necessariamente:

HTTP 500

Saldo insuficiente é uma resposta válida da regra de negócio. O serviço funcionou corretamente.

Dependendo do contrato da API, pode ser retornado:

HTTP 422 Unprocessable Content

ou até:

HTTP 200 OK

com:

{
  "aprovado": false,
  "motivo": "SALDO_INSUFICIENTE"
}

A escolha depende do padrão arquitetural da organização.

Regra prática

  • Erro de formato enviado pelo cliente: 400 Bad Request;

  • credencial ausente ou inválida: 401 Unauthorized;

  • acesso proibido: 403 Forbidden;

  • recurso inexistente: 404 Not Found;

  • conflito de estado: 409 Conflict;

  • regra de negócio não processável: frequentemente 422;

  • falha inesperada no servidor: 500 Internal Server Error;

  • serviço temporariamente indisponível: 503 Service Unavailable.

Não transforme todo problema de negócio em erro técnico.

O ED-209 não precisa disparar porque o cliente digitou um código inválido.


Passo a passo de uma modernização controlada

Agora vamos construir um roteiro prático.

Passo 1: escolha uma operação pequena

Não comece expondo o fechamento contábil completo da empresa.

Escolha uma função simples e bem conhecida:

  • consultar cliente;

  • consultar saldo;

  • obter status;

  • listar produtos;

  • validar cadastro.

Operações de consulta são bons primeiros candidatos porque apresentam menor risco transacional.


Passo 2: localize o programa e sua interface

Descubra:

  • nome do programa;

  • transação associada;

  • copybook de entrada;

  • copybook de saída;

  • uso de COMMAREA ou CHANNEL;

  • tamanho dos dados;

  • chamadas a Db2, VSAM, MQ ou outros programas;

  • códigos de retorno;

  • requisitos de segurança.

Documente o contrato atual antes de criar o novo.

Modernização sem inventário é patrulhamento sem mapa.


Passo 3: higienize o copybook

Verifique:

  • campos redefinidos;

  • REDEFINES;

  • OCCURS DEPENDING ON;

  • campos binários;

  • packed decimal;

  • sinais;

  • campos filler;

  • nomes duplicados;

  • estruturas condicionais;

  • caracteres especiais;

  • campos de comprimento variável.

Nem toda estrutura COBOL antiga foi criada pensando em exposição externa.

Pode ser melhor criar um copybook de API separado.

Exemplo:

01 API-SALDO-REQUEST.
   05 API-CONTA          PIC 9(8).

01 API-SALDO-RESPONSE.
   05 API-CODIGO         PIC X(2).
   05 API-SALDO          PIC S9(9)V99 COMP-3.

Essa estrutura pode chamar internamente o programa legado.

Assim, você cria uma fachada estável.


Passo 4: defina o contrato REST

Decida:

GET /api/v1/contas/{conta}/saldo

Resposta:

{
  "conta": 12345678,
  "saldo": 1750.40,
  "moeda": "BRL"
}

Defina também:

  • campos obrigatórios;

  • tamanhos máximos;

  • valores permitidos;

  • formato de datas;

  • precisão decimal;

  • códigos HTTP;

  • mensagens de erro;

  • versão da API.

O copybook não deve ser publicado cegamente como contrato externo.

Um nome interno como:

WS-X9-COD-CLI-BASE

não é um bom nome de propriedade JSON.

Prefira algo compreensível:

"codigoCliente"

Passo 5: gere os artefatos

Use o assistente apropriado:

  • DFHLS2JS para partir da estrutura de linguagem;

  • DFHJS2LS para partir do JSON.

A geração pode produzir:

  • schemas;

  • bindings;

  • estruturas;

  • metadados de conversão;

  • arquivos de configuração.

Em muitos ambientes, o CICS Explorer facilita esse processo.

Um wizard pode criar um CICS Bundle a partir de um programa existente.

Isso reduz a necessidade de preparar manualmente todos os recursos e jobs.

Mas atenção:

Wizard não substitui entendimento.

Ele automatiza passos.
Não decide por você se o contrato da API é bom.


Passo 6: configure os recursos CICS

Você precisará garantir que os elementos estejam corretamente definidos e instalados:

  • TCPIPSERVICE;

  • URIMAP;

  • PIPELINE;

  • WEBSERVICE ou recursos relacionados;

  • diretórios no zFS;

  • bundle;

  • programa;

  • transação, quando aplicável;

  • segurança.

Use o CICS Explorer, definições CSD, bundles ou o método adotado pela organização.


Passo 7: teste com ferramentas externas

Teste primeiro fora da aplicação final.

Exemplo com curl:

curl -X POST \
  https://host.exemplo.com/api/v1/saldos \
  -H "Content-Type: application/json" \
  -d '{"conta":12345678}'

Valide:

  • status HTTP;

  • conteúdo da resposta;

  • headers;

  • tempo de resposta;

  • comportamento com dados inválidos;

  • campos ausentes;

  • números fora da faixa;

  • caracteres especiais;

  • falha do programa;

  • indisponibilidade de banco de dados.

Não teste apenas o caminho feliz.

Todo criminoso digital parece inocente quando recebe apenas dados perfeitos.


CICS como REST Requester: o policial também faz chamadas

Até agora vimos o CICS como service provider.

Ou seja:

Cliente externo chama o CICS

Mas o CICS também pode atuar como solicitante:

Programa CICS chama serviço externo

Imagine um programa COBOL que precise consultar:

  • cotação de moeda;

  • serviço antifraude;

  • validação de endereço;

  • geolocalização;

  • serviço de identidade;

  • API de parceiros;

  • serviço de nuvem;

  • motor de inteligência artificial corporativo.

O fluxo pode ser:

Programa COBOL
      ↓
CICS
      ↓
HTTP
      ↓
API externa
      ↓
Resposta JSON
      ↓
Conversão
      ↓
Estrutura COBOL

O CICS pode usar comandos e recursos de cliente HTTP para construir e enviar requisições.

Em cenários específicos, o programa pode trabalhar com:

  • EXEC CICS WEB OPEN;

  • EXEC CICS WEB CONVERSE;

  • EXEC CICS WEB SEND;

  • EXEC CICS WEB RECEIVE;

  • URIMAP do tipo cliente;

  • conexões TLS;

  • tratamento de headers.

A implementação exata depende da versão do CICS, da arquitetura e da estratégia adotada.

É importante entender que o lado requester não é simplesmente o diagrama provider virado ao contrário.

Os conceitos são simétricos, mas os recursos, comandos e responsabilidades de programação podem mudar.


Segurança: diretiva que não pode ser apagada

Expor um programa COBOL como REST não significa abrir a porta do mainframe para qualquer pessoa.

A API deve considerar:

  • TLS;

  • certificados;

  • autenticação;

  • autorização;

  • RACF;

  • proteção das transações;

  • proteção dos recursos;

  • validação de entrada;

  • limitação de chamadas;

  • auditoria;

  • mascaramento de informações sensíveis;

  • API gateway;

  • tokens;

  • logs seguros.

Uma arquitetura comum pode ser:

Cliente
   ↓
API Gateway
   ↓
Autenticação e políticas
   ↓
CICS
   ↓
Programa COBOL

O IBM API Connect pode atuar como camada de gerenciamento, aplicando:

  • segurança;

  • quotas;

  • analytics;

  • controle de versões;

  • portal para desenvolvedores;

  • políticas de tráfego.

O CICS continua executando a transação, enquanto o gateway controla a exposição externa.

Cuidado com logs

Não grave indiscriminadamente:

  • CPF;

  • senha;

  • token;

  • número completo de cartão;

  • dados bancários;

  • informações médicas;

  • chaves privadas.

Log de diagnóstico não deve virar arquivo de evidências contra a própria empresa.


Curiosidades da delegacia CICS

1. CICS não é apenas uma “tela verde”

Muitos iniciantes associam CICS exclusivamente a mapas BMS e terminais 3270.

Mas o CICS moderno pode atender:

  • aplicações web;

  • APIs;

  • Java;

  • JSON;

  • SOAP;

  • eventos;

  • mensageria;

  • integração com cloud;

  • workloads híbridos.

A tela 3270 é apenas uma das interfaces possíveis.


2. REST não obriga reescrita completa

Modernizar não significa necessariamente transportar toda a lógica para outra plataforma.

Muitas vezes, uma boa modernização consiste em:

Criar uma API estável
        ↓
Preservar a lógica confiável
        ↓
Substituir partes gradualmente

Isso reduz risco.

Reescrever milhões de linhas de COBOL apenas para produzir JSON pode ser economicamente irresponsável.


3. Copybook também é contrato

O copybook descreve mais do que campos.

Ele carrega decisões históricas:

  • tamanho de conta;

  • precisão monetária;

  • códigos;

  • indicadores;

  • datas;

  • flags;

  • estruturas repetitivas.

Ao expor uma API, você está transformando parte desse contrato interno em contrato externo.

Faça isso conscientemente.


4. JSON é flexível; COBOL é preciso

JSON aceita estruturas dinâmicas.

COBOL prefere estruturas rigorosamente definidas.

Isso não é defeito.

É uma diferença filosófica.

Em sistemas financeiros, precisão de posição, tamanho e decimal é uma vantagem.

O CICS cria uma ponte entre a flexibilidade externa e a disciplina interna.


Erros clássicos que o programador deve evitar

Expor diretamente a COMMAREA inteira

Uma COMMAREA pode conter:

  • campos internos;

  • fillers;

  • controles;

  • dados sensíveis;

  • flags técnicas;

  • áreas de trabalho;

  • códigos incompreensíveis para consumidores externos.

Crie uma interface própria para API.


Ignorar versionamento

Alterar um campo pode quebrar dezenas de consumidores.

Use versões e contratos claros.


Misturar erro técnico com erro de negócio

“Cliente não possui saldo” não é necessariamente uma pane no servidor.


Não validar números

Um valor JSON pode ultrapassar a capacidade de um PIC 9(5).

Valide limites antes da lógica de negócio.


Esquecer a codificação de caracteres

O mainframe trabalha frequentemente com EBCDIC; clientes web trabalham geralmente com UTF-8.

Conversões precisam estar corretamente configuradas.

Problemas de encoding podem transformar:

JOÃO

em um relatório digno do arquivo de ocorrências inexplicáveis.


Alterar copybook sem regenerar binding

Se a estrutura mudou, o mapeamento pode precisar ser regenerado e redistribuído.

Binding antigo com programa novo é receita para corrupção silenciosa.


Easter eggs para os veteranos do cinema e do mainframe

Em algum lugar da região CICS, um sysprog observa o painel e murmura:

Eu compraria essa API por um dólar.

Na sala ao lado, um desenvolvedor tenta enviar um JSON com campo numérico maior que o PIC suporta. O handler responde com a firmeza de um policial cibernético:

Dead or alive, you are coming with me.

O JSON, naturalmente, escolhe o 400 Bad Request.

Enquanto isso, uma reunião executiva promete substituir todo o mainframe em seis meses. No fundo da sala, o veterano do CICS apenas olha para o relatório de disponibilidade, toma um café e aguarda o próximo episódio.

Ele já viu esse filme antes.

Talvez mais de uma vez.


Conclusão: a quarta diretiva do CICS

O CICS Transaction Server não sobreviveu por permanecer parado.

Ele sobreviveu porque evoluiu sem abandonar seus fundamentos:

  • integridade;

  • desempenho;

  • segurança;

  • controle transacional;

  • escalabilidade;

  • compatibilidade;

  • proteção da lógica de negócio.

Ao fornecer suporte a REST e JSON, o CICS não obrigou o COBOL a fingir que é JavaScript.

Ele criou uma camada especializada de tradução.

O cliente envia HTTP e JSON.
O TCPIPSERVICE recebe a conexão.
O URIMAP identifica o caminho.
O PIPELINE conduz o processamento.
O JSON Handler converte a mensagem.
A COMMAREA ou o CHANNEL entrega os dados.
O programa COBOL executa a regra de negócio.
A resposta percorre o caminho inverso.

Tudo isso permite que um aplicativo moderno converse com uma aplicação escrita décadas atrás como se estivesse chamando qualquer outro serviço contemporâneo.

Essa é a verdadeira modernização pragmática.

Não é destruir o passado.
É colocar uma interface moderna diante dele.

Não é substituir um sistema confiável apenas porque sua linguagem é antiga.
É permitir que ele participe de arquiteturas atuais.

Não é esconder o mainframe por vergonha.
É transformá-lo em um provedor de serviços corporativos.

O jovem programador COBOL entra na sala pensando que encontrará apenas COMMAREA, BMS e terminal 3270.

Sai de lá compreendendo URIs, pipelines, bindings, JSON, TLS, APIs e integração híbrida.

No visor do CICS aparece a mensagem final:

SERVICE STATUS: ENABLED
PIPELINE STATUS: ACTIVE
PROGRAM STATUS: AVAILABLE
HTTP RESPONSE: 200 OK

A cidade digital pode continuar operando.

O JSON foi processado.
O COBOL permaneceu intacto.
A transação foi concluída.

E, em algum lugar do z/OS, a verdadeira quarta diretiva continua protegida:

Nunca interromper o processamento de produção.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...