☕ 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

sábado, 13 de abril de 2019

Lavagem dos degraus da Catedral Nossa Senhora da Conceição em Campinas

Uma bela tradição que desde o século passado abrilhanta a pascoa campineira.


O ritual é uma tradição das comunidades de terreiro de Candomblé em todo País. A lavagem utiliza essência de alfazema, flores e água. O objetivo é partilhar com o público presente a energia positiva dos elementos da natureza. Os seguidores acreditam na importância desses elementos no tratamento terapêutico e energético.

A essência da alfazema está ligada às energias femininas do Candomblé. Pela importância sociocultural e religiosa, o evento foi incluído oficialmente no calendário de eventos da Secretaria Municipal de Cultura e da Secretaria de Comércio, Indústria, Serviços e Turismo, por meio da Lei no. 9515 de 1997 e no calendário Estadual desde 2005.

Muito emocionante participar destes momentos da cultura popular onde todos participam ativamente com cantos afro, toques de ataques e belas vozes cantando para os orixás.

Vale a pena ver o vídeo, espero que gostem e deixem seu like e comentário, caso não seja inscrito, inscreva-se no canal.

#Campinas #Pascoa #LavagemEscadaria #Catedral #NossaSenhoraDaConceição #Umbanda #Candomble #Quimbanda #Afrocultura #Ogan #Ataque #MaeDeSanto #PaiDESanto #Alfazema #flowers #atabaque #lavar #santo #cultura

quinta-feira, 11 de abril de 2019

Boteco Bellacosa Bar - Facebook

Boteco Online




Boteco Bellacosa Bar é uma página cuja missão é divulgar um pouco da cultura etílica, através de apresentação de bebidas, coquetéis, tipos de copos e aperitivos corretos, é uma página sem compromisso sério, apenas destinada a ser lúdica, partilhando o conhecimento e ajudando os amigos bebedores saírem-se bem nas estripulias nos botecos da vida, participe, comente, partilhe e deixe seu like.

OBRIGADO e bem vindos ao nosso boteco.

Visite nossa página no Facebook e deixe seu like


#BotecoBellacosaBar #Bar #boteco #drink #aperitivo#bellacosaindexpage #eljefemidnightlunch #BBB #VamosBeber

terça-feira, 9 de abril de 2019

Dia da Toalha - 2019

Dia da Toalha em Itatiba

Novamente estamos comemorando uma data especial... mais uma homenagem ao escritor Douglas Adams...

Homenagem ao escritor Dougla Adams

Faça sua foto partilhe nas redes sociais... participe do DIA DA TOALHA.

Aproveite e visite nossa página, curta e comente.

Leia o Livro: Guia do Mochileiro das Galaxias

.
.
#diadatoalhaitatiba #bellacosaficcaocientifica #eljefemidnightlunch #vagnerbellacosa #diadatoalha
.


segunda-feira, 8 de abril de 2019

SOS Biblioteca - Facebook

SOS Biblioteca 

Visite a sua Biblioteca, veja o mundo dos livros, conheça outras terras, viaje no tempo, aproveite para ver os Gibis e videos. Ajude a divulgar nossa pagina, vamos lutar em prol das Bibliotecas para universalizar o acesso, para que venham mais materiais inéditos... mais revistas e periódicos.
Curta nossa página, compartilhe e participe
.

Visite nossa página.


#BellacosaSoSBiblioteca #EljefeMidnightLunch #VagnerBellacosa #Biblioteca #Livros #Leitura #LEia #Conhecimento #sofia #CentroDeCultura
.


Science Days : Colonizando Marte

O grande evento da ciência se repetiu em 2019. 


Jundiaí abrigou pelo segundo ano consecutivo a feira de ciências, divulgação cientifica conhecida como Dia da Nasa, Science Days, com diversas escolas e estande com o estado da arte em experimentos.

Milhares de alunos das escolas da região compareceram em peso para presenciar algo único, um momento raro onde jovens de todas as idades podem conhecer os avanços da tecnologia.

Este vídeo foi uma palestra da Nasa a respeito da agricultura no espaço, produção de alimentos e hidroponia, ganho de produtividade que um dia podem ajudar a erradicar a fome em nosso planeta e ao mesmo auxiliar na conquista do espaço.

Fala sobre o uso de leds azuis e vermelhos para auxiliar a fotossíntese e o infravermelho tão necessário para o desenvolvimento dos vegetais, apresenta um pouco dos resultado e deixa-nos com muita curiosidade a respeito do que vem por ai.

Inscreva-se no canal


Espero que goste, deixe seu comentário, participe do canal e divulgue para os amigos.




#ScienceDays #DiaDaNasa #Jundiai #Nasa2019 #Mars #Colonoziando #Programa #Espacial #Foguete #Nave #Plantas #Alimentação #Infravermelho #Alimentos

domingo, 7 de abril de 2019

☕💣 PADAWAN, O ROBÔ ACABOU DE PEDIR ACESSO AO SEU MAINFRAME!

 

Bellacosa Mainframe e o N8N acelerando seu workflow

☕💣 PADAWAN, O ROBÔ ACABOU DE PEDIR ACESSO AO SEU MAINFRAME!

N8N: A História, Arquitetura, Curiosidades e o Poder da Automação que Está Revolucionando Empresas no Mundo Todo

Imagine a cena.

São 2h17 da manhã.

O operador recebe um alerta.

Um arquivo chegou via FTP.

O conteúdo precisa ser validado.

Uma API deve ser consultada.

Um e-mail precisa ser enviado.

Um ticket deve ser aberto.

Uma planilha deve ser atualizada.

Uma mensagem deve aparecer no Teams.

E tudo isso sem intervenção humana.

Há alguns anos, seria necessário desenvolver programas, scripts, jobs, integrações e inúmeras rotinas.

Hoje?

Um único workflow no N8N pode fazer tudo isso.

E é exatamente por isso que o N8N virou uma das ferramentas mais comentadas do universo DevOps, Low-Code, Automação, IA e Integração de Sistemas.

Pegue seu café.

Vamos mergulhar fundo nessa tecnologia.


O QUE É O N8N?

O N8N (pronuncia-se "en-eight-en") é uma plataforma de automação de workflows de código aberto (Open Source).

Seu objetivo é conectar sistemas, APIs, bancos de dados, serviços cloud, aplicações corporativas e ferramentas de IA através de fluxos visuais.

Em termos simples:

O N8N é um "JCL moderno para a era das APIs".

Quem vem do mundo Mainframe entende rapidamente o conceito.

Assim como um JCL coordena programas, datasets e utilitários, o N8N coordena:

  • APIs

  • Bancos de Dados

  • Arquivos

  • E-mails

  • Sistemas ERP

  • CRMs

  • IA Generativa

  • Mensageria

  • Aplicações Cloud

Tudo através de uma interface gráfica.


O SIGNIFICADO DO NOME

Muitos iniciantes acham que N8N é um nome aleatório.

Não é.

A palavra original era:

Node

N + 8 letras + N

Resultado:

N8N

Mesmo conceito utilizado em:

  • K8s (Kubernetes)

  • I18N (Internationalization)

  • L10N (Localization)

É uma abreviação numérica.


QUEM CRIOU O N8N?

O criador é:

Jan Oberhauser

Desenvolvedor alemão.

Ele fundou a empresa N8N com a missão de criar uma alternativa Open Source ao Zapier.

Na época, o mercado de automação era dominado por soluções proprietárias.

Jan acreditava que os usuários deveriam:

  • Possuir seus próprios dados

  • Hospedar seus próprios workflows

  • Ter liberdade para customização

E assim nasceu o projeto.


DATA DE LANÇAMENTO

O projeto começou oficialmente em:

2019

Desde então, o crescimento foi explosivo.

Milhares de empresas passaram a utilizar a plataforma.

Hoje ela possui:

  • Comunidade global

  • Marketplace

  • Integração com IA

  • Execução local

  • Versão cloud

  • Milhares de templates


O QUE É UM WORKFLOW?

Workflow significa:

Fluxo de trabalho automatizado.

Exemplo simples:

  1. Receber e-mail

  2. Ler anexo

  3. Salvar arquivo

  4. Atualizar banco

  5. Enviar confirmação

Tudo sem intervenção humana.

No N8N cada etapa é chamada de:

Node

Por isso o nome faz ainda mais sentido.


COMO O N8N FUNCIONA?

A arquitetura é baseada em nós conectados.

Exemplo:

Trigger
   |
   v
HTTP Request
   |
   v
IF
 / \
Sim Não
 |   |
Email Log

Cada bloco executa uma função.

O resultado de um nó é passado ao próximo.

Exatamente como pipelines UNIX.

Ou como etapas encadeadas de um Job Mainframe.


PRINCIPAIS RECURSOS

Automação

Executa tarefas repetitivas.

Integração

Conecta sistemas diferentes.

ETL

Extrai, transforma e carrega dados.

IA

Integra GPT, Claude, Gemini e outros modelos.

APIs

Consome e publica APIs REST.

Bancos de Dados

Conecta:

  • MySQL

  • PostgreSQL

  • Oracle

  • SQL Server

  • MongoDB


POR QUE EMPRESAS ESTÃO ADOTANDO N8N?

Porque ele resolve três problemas históricos:

1. Tempo

Automações que levavam semanas podem ser feitas em horas.


2. Custos

Menos desenvolvimento customizado.


3. Integração

Conecta sistemas antigos e modernos.

Inclusive Mainframe.


N8N E MAINFRAME

Aqui a conversa fica interessante.

Muitos profissionais acreditam que:

"Mainframe não conversa com ferramentas modernas."

Erro clássico.

O N8N pode integrar-se com:

  • CICS Web Services

  • z/OS Connect

  • APIs REST

  • MQ

  • FTP

  • SFTP

  • Bancos DB2

Imagine:

Arquivo chega.

N8N detecta.

Executa API do z/OS Connect.

Consulta COBOL.

Atualiza Salesforce.

Envia Teams.

Abre chamado.

Tudo automático.


EXEMPLO REAL

Cenário

Banco recebe arquivo PIX.

Necessário:

  1. Validar

  2. Registrar

  3. Consultar Mainframe

  4. Atualizar CRM

  5. Notificar equipe

Workflow:

Cron
 ↓
FTP
 ↓
Validação
 ↓
API Mainframe
 ↓
CRM
 ↓
Teams

Sem intervenção humana.


INSTALAÇÃO PASSO A PASSO

Docker

Método mais utilizado.

docker run -it --rm \
-p 5678:5678 \
n8nio/n8n

Após iniciar:

http://localhost:5678

A interface estará pronta.


PRIMEIRO WORKFLOW

Vamos criar um clássico.


PASSO 1

Adicionar node:

Manual Trigger

PASSO 2

Adicionar:

HTTP Request

PASSO 3

Consultar API pública.

Exemplo:

https://api.agify.io/?name=vagner

PASSO 4

Executar.

Resultado:

{
 "name":"vagner",
 "age":52
}

PASSO 5

Adicionar node:

Email

PASSO 6

Enviar resultado.

Pronto.

Você criou sua primeira automação.


NÍVEIS DE AUTOMAÇÃO

Básico

Enviar e-mails.


Intermediário

Integrar APIs.


Avançado

Processar milhares de registros.


Enterprise

Orquestrar sistemas corporativos.


N8N E INTELIGÊNCIA ARTIFICIAL

A revolução começou quando o N8N passou a integrar IA generativa.

Hoje é possível:

  • Chatbots

  • Agentes IA

  • RAG

  • Vetorização

  • Pesquisa documental

  • Análise de contratos

Sem escrever grandes volumes de código.


EXEMPLO DE AGENTE IA

Workflow:

WhatsApp
 ↓
GPT
 ↓
Consulta Banco
 ↓
Resposta

Cliente pergunta:

"Qual o saldo?"

IA consulta sistema.

Retorna resposta.


N8N VS ZAPIER

RecursoN8NZapier
Open SourceSimNão
Self HostedSimNão
Código CustomizadoSimLimitado
IASimSim
CustosMenoresMaiores

N8N VS MAKE

Make é poderoso.

Mas o N8N oferece maior liberdade.

Principalmente para quem gosta de personalização.


O QUE O N8N NÃO FAZ BEM?

Nem tudo é perfeito.


Curva de aprendizado

Fluxos complexos exigem estudo.


Governança

Automações mal feitas viram caos rapidamente.


Segurança

Credenciais precisam ser protegidas.


Escalabilidade

Grandes ambientes exigem arquitetura adequada.


CURIOSIDADES

O crescimento foi explosivo

O projeto saiu de uma startup pequena para uma das ferramentas mais comentadas da Europa.


Comunidade gigantesca

Milhares de templates são compartilhados diariamente.


Muitos usuários vieram do Zapier

Principalmente por causa do modelo Open Source.


Empresas usam para substituir integrações milionárias

Fluxos que custavam centenas de milhares de dólares passaram a ser criados internamente.


EASTER EGGS E FATOS INTERESSANTES

Pouca gente sabe.


O nome é um easter egg

N + oito letras + N.


Quase tudo é um node

A filosofia do produto é:

Tudo deve ser representado por um nó.


Existe um node chamado "NoOp"

Ele literalmente não faz nada.

Serve para organização.

É o equivalente moderno de um:

//* COMENTARIO

Muitos workflows parecem fluxogramas de RPG

Usuários brincam que alguns ambientes parecem árvores de talentos de videogame.


Há quem use N8N como ESB

Embora não tenha sido criado para isso.


ONDE O N8N ESTÁ SENDO UTILIZADO?

Praticamente em todos os setores.

Bancos

Integrações.

Seguradoras

Processamento documental.

Saúde

Fluxos clínicos.

Logística

Rastreamento.

E-commerce

Pedidos.

Educação

Automação acadêmica.

Governo

Integrações de serviços.


O FUTURO DO N8N

Tudo indica que será cada vez mais ligado à IA.

A tendência é surgirem workflows onde:

  • Humanos definem objetivos

  • Agentes executam tarefas

  • Sistemas tomam decisões

  • Automações aprendem padrões

O N8N está se posicionando exatamente nesse mercado.


O QUE UM PROFISSIONAL MAINFRAME DEVE APRENDER?

Se você domina:

  • COBOL

  • JCL

  • CICS

  • DB2

  • MQ

Já possui a mentalidade necessária.

A diferença é que:

Antes você orquestrava programas.

Agora você orquestra APIs.

Antes conectava datasets.

Agora conecta serviços.

Antes controlava jobs.

Agora controla workflows.

O raciocínio é praticamente o mesmo.


A VISÃO BELLACOSA MAINFRAME

Padawan...

Muitos profissionais enxergam o N8N como uma moda passageira.

Cometeram o mesmo erro quando surgiram:

  • Linux

  • Cloud

  • Containers

  • APIs REST

  • DevOps

O N8N não veio para substituir o Mainframe.

Veio para conversar com ele.

O COBOL continua processando bilhões de transações.

O DB2 continua guardando dados críticos.

O CICS continua sustentando bancos inteiros.

Mas agora existe uma nova camada de orquestração conectando tudo.

E essa camada atende pelo nome de N8N.

Se o JCL foi o maestro da computação corporativa por décadas, o N8N é um dos candidatos mais fortes para ser o maestro da era das APIs, da automação inteligente e dos agentes de IA.

E quando você perceber que um workflow N8N pode disparar um serviço REST no z/OS Connect, acionar um programa COBOL, consultar um DB2, enviar uma mensagem para o Teams e alimentar uma IA generativa em poucos segundos...

Você entenderá que não estamos falando apenas de uma ferramenta.

Estamos falando da ponte entre o legado que construiu o mundo e o futuro que está sendo automatizado diante dos nossos olhos.

☕🚀 Bem-vindo ao universo N8N, onde cada node é um passo rumo à automação e cada workflow é um novo JCL para a geração das APIs.


sábado, 6 de abril de 2019

📚 LUCA PACIOLI E O LIVRO-RAZÃO DO MAINFRAME

Bellacosa Mainframe e o banco de dados IMS no Mundo Mainframe

 

☕ Um Café no Bellacosa Mainframe

📚 LUCA PACIOLI E O LIVRO-RAZÃO DO MAINFRAME

IMS DB, IMS TM, DL/I, COBOL, segmentos, DBD, PSB, PCB, SSA, GU, GN, GNP, commit, rollback, CICS e Db2 — e o dia em que o pai da contabilidade descobriu que um ABEND também precisa fechar as contas.






🎬 PRÓLOGO — O monge encontrou um lançamento que não fechava

Imagine que Luca Pacioli, matemático e frade franciscano associado à sistematização e divulgação da contabilidade por partidas dobradas no Renascimento, atravessasse alguns séculos e aparecesse diante de um IBM mainframe.

Nosso jovem programador COBOL estaria sentado diante de uma tela verde.

Na tela:

GU
GN
GNP
GHU
ISRT
REPL
DLET

Pacioli observaria aquilo por alguns segundos.

— Filho, onde estão seus livros?

O programador apontaria para o terminal.

— Aqui.

— Onde estão os lançamentos?

— No IMS.

— E onde está o razão?

— Bem... depende. Pode estar no IMS DB ou no Db2.

Pacioli provavelmente franziria a testa.

— Então explique desde o começo.

Excelente ideia.

Porque IMS é justamente uma daquelas tecnologias que assustam quando aprendemos pelas siglas e ficam muito mais interessantes quando entendemos o problema que cada peça resolve.

Pegue seu café.

Hoje nosso mestre será Luca Pacioli.

E nossa primeira lição será simples:

antes de lançar qualquer coisa, precisamos entender em qual livro estamos escrevendo.



📜 CAPÍTULO 1 — IMS NÃO É APENAS UM BANCO DE DADOS

Um dos primeiros erros do Padawan mainframe é ouvir IMS e imediatamente concluir:

IMS é um banco de dados.

Não exatamente.

IMS significa Information Management System e possui dois grandes mundos que precisamos separar mentalmente:

                     IMS
                      │
             ┌────────┴────────┐
             │                 │
          IMS DB             IMS TM
             │                 │
          DADOS            TRANSAÇÕES

O IMS DB é a parte relacionada ao gerenciamento de bancos de dados hierárquicos.

O IMS TM, Transaction Manager, é a parte relacionada ao processamento de transações e mensagens.

Essa distinção é importantíssima porque permite compreender uma arquitetura como:

Usuário
   │
   ▼
IMS TM
   │
   ▼
Programa COBOL
   │
   ├────────► IMS DB
   │
   └────────► Db2

Observe algo interessante.

O programa executado pelo IMS TM não precisa necessariamente utilizar IMS DB.

Ele pode acessar Db2 e outros recursos.

Da mesma maneira, um database IMS pode ser utilizado por processamento batch.

Portanto:

IMS TM ≠ IMS DB

Eles pertencem à mesma família tecnológica, trabalham muito bem juntos, mas resolvem problemas diferentes.

Pacioli aprovaria a separação.

Na contabilidade, misturar caixa, razão, diário e balanço sem compreender a função de cada um seria receita para desastre.

No mainframe também.



🌳 CAPÍTULO 2 — PACIOLI DESCOBRE QUE O BANCO É UMA ÁRVORE

O programador moderno normalmente começa aprendendo banco relacional.

Ele imagina:

CLIENTE
CONTA
MOVIMENTO

como tabelas.

Por exemplo:

CLIENTE
+------+----------+
| ID   | NOME     |
+------+----------+
| 1001 | PACIOLI  |
+------+----------+

Depois:

CONTA
+-------+------------+
| CONTA | CLIENTE_ID |
+-------+------------+
| 12345 | 1001       |
+-------+------------+

No IMS DB precisamos mudar a cabeça.

O modelo fundamental é hierárquico.

Imagine:

                     CLIENTE
                        │
              ┌─────────┴─────────┐
              │                   │
            CONTA               CONTA
              │
        ┌─────┴─────┐
        │           │
    MOVIMENTO   MOVIMENTO

Temos uma árvore.

Os registros dessa árvore são chamados de segmentos.

Ou, na terminologia IMS:

segments.

Assim:

CLIENTE      ← segmento

CONTA        ← segmento

MOVIMENTO    ← segmento

Mas existe uma relação explícita entre eles.

CLIENTE pode ser o:

root segment.

CONTA pode ser:

child de CLIENTE.

CLIENTE será:

parent de CONTA.

MOVIMENTO poderá ser child de CONTA.

Começamos então a falar a língua do IMS:

ROOT
PARENT
CHILD
TWIN
PATH
HIERARCHY

Pacioli provavelmente desenharia imediatamente a árvore em seu caderno.

Porque antes de registrar uma operação precisamos saber onde ela pertence.



🧬 CAPÍTULO 3 — SEGMENT NÃO É SIMPLESMENTE UMA ROW

Para facilitar o aprendizado, podemos inicialmente fazer:

IMS Segment ≈ Db2 Row

Mas coloque um enorme asterisco nessa comparação.

É uma analogia didática.

No Db2, pensamos em tabelas e relações.

No IMS, pensamos muito em ocorrências de segmentos dentro de uma hierarquia.

No relacional poderíamos perguntar:

SELECT *
FROM CLIENTE
WHERE ID = 1001;

No IMS estamos frequentemente pensando:

encontre determinada ocorrência do segmento CLIENTE e depois navegue pela estrutura subordinada a ela.

Essa palavra — navegue — é importantíssima.

SQL normalmente incentiva uma visão orientada a conjuntos.

IMS tradicionalmente exige que o programador compreenda muito claramente o caminho através dos dados.



🗺️ CAPÍTULO 4 — DBD: O MAPA DO LIVRO

Pacioli pergunta:

— Quem define a estrutura dessa árvore?

Entra em cena o:

DBD — Database Description.

O DBD descreve um database IMS.

Conceitualmente:

DATABASE CLIENTDB

CLIENTE
   │
   └── CONTA
          │
          └── MOVIMENTO

Ele contém informações sobre a estrutura do database, segmentos, campos, chaves e características de acesso.

Uma ponte mental simplificada seria:

Db2                         IMS
---------------------------------------------
TABLE                       SEGMENT
ROW                         SEGMENT OCCURRENCE
COLUMN                      FIELD
PRIMARY KEY                 SEQUENCE FIELD
definição estrutural        DBD

Não memorize isso como equivalência perfeita.

Use apenas para atravessar a ponte entre o paradigma relacional e o hierárquico.

Depois destrua a ponte.

Você já estará do outro lado.


👓 CAPÍTULO 5 — PSB: NEM TODO ESCRITURÁRIO PODE VER TODO O LIVRO

Agora Pacioli faz uma pergunta muito boa:

— Todo programa pode enxergar tudo?

Não.

Aqui encontramos o:

PSB — Program Specification Block.

O PSB descreve a visão de recursos IMS disponível para determinado programa.

Imagine que o database possua:

CLIENTE
   │
   ├── CONTA
   │     │
   │     └── MOVIMENTO
   │
   ├── CARTÃO
   │
   └── ENDEREÇO

Um programa talvez precise apenas de:

CLIENTE
   │
   └── CONTA

Outro pode trabalhar com:

CLIENTE
   │
   └── CARTÃO

Isso começa a demonstrar algo profundamente mainframe:

um programa não precisa receber acesso indiscriminado a tudo simplesmente porque os dados existem.

Dentro desse universo aparecem os PCBs.


🔌 CAPÍTULO 6 — PCB: O CANAL DE COMUNICAÇÃO

PCB significa:

Program Communication Block.

Ele funciona como uma importante estrutura de comunicação entre o programa e recursos IMS.

Podemos imaginar:

                  PSB
                   │
          ┌────────┼────────┐
          │        │        │
        PCB      PCB      PCB
          │        │        │
          ▼        ▼        ▼
       CLIENTDB ACCOUNTDB MESSAGE

E aqui encontramos uma regra que todo programador COBOL deveria aprender cedo:

não basta chamar o IMS. É necessário verificar o que aconteceu.

O PCB fornece informações importantes sobre o resultado das operações, incluindo status.

Se você trabalha com Db2, pense imediatamente em sua disciplina de verificar SQLCODE ou SQLSTATE.

No IMS também existe vida depois da chamada.

E ignorá-la pode custar algumas horas de sono.

Voltaremos a isso às 03:17.


📞 CAPÍTULO 7 — DL/I: O IDIOMA DO CONTADOR

DL/I significa:

Data Language/I.

É uma interface fundamental através da qual programas solicitam serviços IMS.

No COBOL tradicional você pode encontrar chamadas envolvendo:

CALL 'CBLTDLI' USING ...

E então surgem aqueles hieróglifos que assustaram nosso Padawan:

GU
GN
GNP
GHU
GHN
GHNP
ISRT
REPL
DLET

Eles não são magia.

São operações.

Vamos abrir o livro de Pacioli.


🎯 CAPÍTULO 8 — GU: ENCONTRE O LANÇAMENTO

GU — Get Unique.

Imagine que queremos encontrar determinado cliente:

CLIENTE
ID = 1001

Conceitualmente:

GU CLIENTE 1001

No Db2 sua cabeça provavelmente produziria:

SELECT *
FROM CLIENTE
WHERE ID = 1001;

Novamente: não são comandos equivalentes.

Mas a intenção didática ajuda:

encontre uma ocorrência específica.

GU é uma das primeiras operações que um estudante IMS deve compreender.


➡️ CAPÍTULO 9 — GN: CONTINUE LENDO O LIVRO

GN — Get Next.

Agora aparece um dos conceitos mais importantes do IMS:

posicionamento.

Imagine:

CLIENTE
   │
   ├── CONTA 001
   ├── CONTA 002
   └── CONTA 003

Encontramos algo.

Agora queremos continuar navegando.

GN significa essencialmente:

obtenha o próximo segmento aplicável à navegação.

O detalhe importante não é simplesmente decorar "Get Next".

É perceber que existe um contexto de navegação.

Você estava em algum lugar.

Agora quer continuar.

IMS não é simplesmente:

procure coisas aleatoriamente.

Existe uma topologia.

Existe uma posição.

Existe um caminho.


👨‍👧 CAPÍTULO 10 — GNP: NÃO SAIA DA FAMÍLIA

GNP — Get Next within Parent.

Imagine:

CLIENTE PACIOLI
      │
      ├── CONTA A
      ├── CONTA B
      └── CONTA C

Queremos navegar pelos segmentos subordinados mantendo determinado contexto parental.

O conceito de parent torna-se fundamental.

Pacioli provavelmente resumiria:

"Continue o livro, mas não vá parar na conta do vizinho."

É uma excelente maneira de lembrar GNP.


✋ CAPÍTULO 11 — O H SIGNIFICA HOLD

Agora aparecem:

GHU
GHN
GHNP

O H significa:

Hold.

São operações relacionadas à recuperação mantendo o segmento para posterior atualização.

Por exemplo, conceitualmente:

GHU
 │
 ▼
encontrar segmento
 │
 ▼
alterar dados
 │
 ▼
REPL

Isso é importante porque atualização em ambiente transacional não pode ser tratada como:

achei, mexi, boa sorte.

Há concorrência.

Outro programa pode estar interessado naquele dado.

Existe integridade.

Existe uma Unit of Work.

Existem regras de locking e recuperação.


➕ CAPÍTULO 12 — ISRT: NOVO LANÇAMENTO

ISRT — Insert.

É utilizado para inserir uma nova ocorrência.

Imagine:

CLIENTE
   │
   └── CONTA NOVA

O paralelo mental seria um:

INSERT

do mundo SQL.

Mas no IMS a hierarquia importa.

Uma CONTA subordinada a CLIENTE não é simplesmente um registro flutuando no espaço.

Ela ocupa uma posição estrutural.

Essa diferença parece pequena no treinamento.

Em produção, ela muda a maneira de pensar.


✏️ CAPÍTULO 13 — REPL: CORRIGINDO O LIVRO

REPL — Replace.

É utilizado para substituir/atualizar dados de um segmento recuperado adequadamente para alteração.

Mentalmente:

GHU
 ↓
SEGMENTO
 ↓
alteração
 ↓
REPL

No Db2 poderíamos associar a intenção a:

UPDATE

Mas não tente converter mecanicamente DL/I em SQL.

O importante é compreender o modelo operacional de cada tecnologia.


🗑️ CAPÍTULO 14 — DLET: NEM TODO REGISTRO É ETERNO

Finalmente:

DLET — Delete.

Remove determinada ocorrência.

Mas Pacioli levantaria imediatamente a mão:

— E os filhos?

Exatamente.

Em uma estrutura hierárquica, relacionamentos importam profundamente.

Excluir dados exige compreender sua posição e suas dependências.

Essa é uma excelente lição para o programador iniciante:

antes de alterar ou excluir qualquer segmento IMS, desenhe a hierarquia.

Papel e lápis ainda são ferramentas extraordinárias de debugging.


🔎 CAPÍTULO 15 — SSA: O DETETIVE DA ÁRVORE

Chegamos ao:

SSA — Segment Search Argument.

Ele ajuda a especificar segmentos e critérios utilizados nas operações DL/I.

Para um programador SQL, existe uma tentação irresistível:

SSA = WHERE

Segure essa tentação.

Podemos dizer:

SSA lembra parcialmente um critério de seleção

mas IMS e SQL trabalham com modelos diferentes.

Você encontrará:

unqualified SSA
qualified SSA

Um SSA pode simplesmente identificar um tipo de segmento ou adicionar condições de busca.

Agora podemos imaginar:

Programa COBOL
      │
      │ GU
      │ + SSA
      ▼
     DL/I
      │
      ▼
    IMS DB
      │
      ▼
segmento desejado

A operação diz o que queremos fazer.

O SSA ajuda a dizer sobre qual segmento/ocorrência queremos fazer aquilo.


🧠 CAPÍTULO 16 — SQL PENSA EM CONJUNTOS; IMS CONHECE CAMINHOS

Essa talvez seja a grande mudança mental.

Considere:

SELECT M.*
FROM CLIENTE C
JOIN CONTA A
  ON A.CLIENTE_ID = C.ID
JOIN MOVIMENTO M
  ON M.CONTA_ID = A.ID
WHERE C.ID = 1001;

Nossa intenção é declarada através do SQL.

O optimizer do Db2 possui enorme responsabilidade na determinação do access path.

Agora observe a árvore:

CLIENTE 1001
     │
     ▼
   CONTA
     │
     ▼
 MOVIMENTO

No IMS, compreender a hierarquia e o padrão de navegação é fundamental.

Essa característica ajuda a explicar tanto uma das grandes forças quanto uma das limitações do modelo.

Quando o caminho natural da aplicação combina muito bem com a estrutura hierárquica, podemos ter processamento extremamente eficiente.

Quando desejamos explorar os dados através de relações completamente diferentes e consultas ad hoc, o modelo relacional frequentemente oferece uma flexibilidade muito mais natural.

Portanto jamais ensine:

IMS é melhor que Db2.

Ou:

Db2 substitui IMS porque é mais moderno.

Pergunte:

Qual é o workload?

Essa é pergunta de arquiteto.


⚡ CAPÍTULO 17 — IMS TM: AGORA PACIOLI ABRE O CAIXA

Mudamos de livro.

IMS TM significa:

IMS Transaction Manager.

Agora estamos falando principalmente de processamento transacional orientado a mensagens.

Imagine:

Terminal
   │
   │ solicitação
   ▼
 IMS TM
   │
   ▼
TRANSAÇÃO
   │
   ▼
Programa COBOL
   │
   ├────► IMS DB
   └────► Db2

Depois:

Programa
   │
   ▼
IMS TM
   │
   ▼
Resposta

Esse modelo foi e continua sendo extremamente poderoso para workloads transacionais.

Uma mensagem chega.

O IMS identifica o processamento apropriado.

O programa é executado.

Dados são consultados ou modificados.

Uma resposta pode ser produzida.

Pacioli reconheceria imediatamente o princípio:

entrada → processamento → registro → resultado.


🏭 CAPÍTULO 18 — MPP: O ESCRITURÁRIO TRANSACIONAL

No IMS TM encontramos o conceito de:

MPP — Message Processing Program.

É um programa que processa mensagens sob o controle do IMS TM.

Podemos visualizar:

                   IMS TM
                     │
           ┌─────────┼─────────┐
           │         │         │
          MPP       MPP       MPP
           │         │         │
         COBOL     COBOL     COBOL

Essa arquitetura permite processamento de grande quantidade de transações.

E agora surge uma pergunta inevitável:

Mas isso não é aquilo que CICS faz?

Estamos chegando ao duelo.


⚔️ CAPÍTULO 19 — IMS TM × CICS

CICS e IMS TM ocupam territórios parcialmente comparáveis porque ambos participam do mundo de processamento transacional.

Mas não são clones.

Didaticamente:

            TRANSACTION PROCESSING
                     │
           ┌─────────┴─────────┐
           │                   │
         CICS                IMS TM

CICS tornou-se um enorme transaction/application server no ecossistema IBM Z.

IMS TM possui uma arquitetura fortemente relacionada a processamento transacional orientado a mensagens e ao ecossistema IMS.

Ambos podem executar aplicações COBOL.

Ambos podem participar de sistemas críticos.

Ambos podem acessar Db2.

E IMS TM naturalmente possui profunda integração com IMS DB.

Portanto o erro seria perguntar:

Qual deles é o banco?

Nenhum deles nessa comparação.

Estamos comparando principalmente componentes de processamento transacional.


🗄️ CAPÍTULO 20 — IMS DB × Db2

Agora temos uma comparação conceitualmente mais direta.

IMS DB                       Db2
  │                           │
  ▼                           ▼
Hierárquico                Relacional

IMS:

CLIENTE
   │
   ├── CONTA
   │      │
   │      ├── MOVIMENTO
   │      └── MOVIMENTO
   │
   └── CONTA

Db2:

CLIENTE
   ID

CONTA
   ID
   CLIENTE_ID

MOVIMENTO
   ID
   CONTA_ID

No Db2, relações são expressas através do modelo relacional, chaves e SQL.

No IMS DB, a hierarquia faz parte fundamental da organização dos dados.

Nenhum desenho sozinho diz qual tecnologia será mais rápida.

Performance depende de fatores como:

  • organização dos dados;

  • access path;

  • volume;

  • padrão de acesso;

  • concorrência;

  • buffering;

  • índices;

  • desenho da aplicação;

  • distribuição dos dados;

  • configuração;

  • infraestrutura.

Desconfie de qualquer comparação tecnológica resumida em:

X sempre é mais rápido que Y.

Em mainframe, quase sempre falta completar:

fazendo o quê?


🧩 CAPÍTULO 21 — O MAPA DEFINITIVO DO PADAWAN

Pacioli finalmente desenha tudo no quadro:

                 APLICAÇÃO MAINFRAME
                         │
                       COBOL
                         │
          ┌──────────────┼──────────────┐
          │              │              │
        CICS           IMS TM         BATCH
          │              │              │
          └──────────────┼──────────────┘
                         │
              ┌──────────┴──────────┐
              │                     │
             SQL                   DL/I
              │                     │
              ▼                     ▼
             Db2                  IMS DB

Agora ficou muito mais fácil.

CICS e IMS TM aparecem principalmente na camada de processamento transacional.

Db2 e IMS DB aparecem principalmente na camada de gerenciamento de dados.

SQL é uma interface fundamental para Db2.

DL/I é uma interface fundamental para IMS.

E COBOL pode estar no meio de praticamente tudo.


💰 CAPÍTULO 22 — PACIOLI DESCOBRE O COMMIT

Agora nosso mestre finalmente encontra algo familiar.

Imagine uma transferência:

CONTA A       -500
CONTA B       +500

Pacioli imediatamente entende o problema.

Não podemos terminar com:

CONTA A       -500
CONTA B          0

porque o programa sofreu um ABEND entre as operações.

É aqui que conceitos transacionais deixam de parecer burocracia:

UNIT OF WORK
COMMIT
ROLLBACK
LOG
RECOVERY
CHECKPOINT
RESTART

Imagine:

BEGIN UOW

DEBITA A
   │
   ▼
CREDITA B
   │
   ▼
COMMIT

Se algo der errado antes da conclusão:

DEBITA A
   │
   ▼
💥 ABEND
   │
   ▼
ROLLBACK / RECOVERY

A arquitetura precisa preservar a consistência.

Pacioli sorriria.

Séculos se passaram.

Mudamos pena por COBOL.

Livro-caixa por database.

Escriturário por programa.

Mas a pergunta fundamental continua a mesma:

As contas fecham?


🚨 CAPÍTULO 23 — O INCIDENTE DAS 03:17

Chegamos ao easter egg.

03:17.

Telefone toca.

Produção está apresentando resultados estranhos.

War Room aberta.

SDSF.

Logs.

Dump.

JES.

Programa COBOL.

DBD.

PSB.

PCB.

SSA.

Todos procurando um monstro tecnológico.

Até que um velho programador pergunta:

— Depois daquele CALL, vocês verificam o status?

Silêncio.

O jovem abre o fonte.

CALL 'CBLTDLI' USING ...

E depois...

continua o processamento como se nada pudesse dar errado.

Pacioli fecha lentamente seu livro.

— Meu jovem... até um contador do século XV conferia se o lançamento havia sido realizado.

Moral:

Nunca trate uma chamada de banco ou serviço como ato de fé.

Verifique retorno.

Sempre.

No Db2:

SQLCODE
SQLSTATE

No IMS:

PCB STATUS

Em MQ:

Completion Code
Reason Code

Em APIs:

HTTP status
payload

O programador de produção aprende cedo:

sucesso precisa ser comprovado.


🌙 CAPÍTULO 24 — IMS TAMBÉM TRABALHA QUANDO VOCÊ ESTÁ DORMINDO

Outro erro comum:

IMS é coisa de terminal online.

Não.

IMS DB também participa de processamento batch.

Imagine:

                    IMS DB
                       ▲
              ┌────────┴────────┐
              │                 │
           ONLINE             BATCH
              │                 │
           IMS TM            COBOL
                                │
                               JCL

E então aparecem questões muito mais interessantes:

concorrência
locking
checkpoint
restart
recovery
disponibilidade
janela batch
utilities
reorganização
performance

Agora você percebe por que profissionais IMS experientes possuem conhecimento tão valioso.

Eles não aprenderam simplesmente dez comandos DL/I.

Aprenderam a manter um ecossistema transacional funcionando.


🔬 CAPÍTULO 25 — A PORTA SECRETA DO IMS

Quando você dominar os conceitos básicos, abra outra porta.

Atrás dela encontrará:

HDAM
HIDAM
HALDB
DEDB
Fast Path
BMP
MPP
IFP
GSAM
secondary indexes
logical relationships
IMS Connect
OTMA
logging
recovery
checkpoint
restart
buffering
database utilities
reorganization

Aí começa o IMS de verdade.

Especialmente estudar:

HDAM × HIDAM × HALDB × DEDB

ajuda a compreender que dizer simplesmente "IMS é hierárquico" é apenas a primeira página de um livro enorme.

O modo como dados são organizados e acessados influencia profundamente performance e operação.


🌐 CAPÍTULO 26 — IMS NÃO PAROU EM 1970

Talvez esse seja o ponto mais importante para um profissional começando no mainframe atual.

Encontrar uma tecnologia criada décadas atrás não significa encontrar uma arquitetura congelada naquela década.

Hoje podemos encontrar ambientes conceitualmente parecidos com:

Mobile
   │
Web
   │
Cloud
   │
API
   │
Integration
   │
   ├───────────────┐
   ▼               ▼
 CICS            IMS
   │               │
   ▼               ▼
 Db2             IMS DB

Podemos adicionar:

MQ
APIs
eventos
observabilidade
automação
Git
CI/CD
Java
containers
IA

ao ecossistema.

Modernizar não significa obrigatoriamente arrancar o coração de um sistema que funciona.

Às vezes significa construir artérias novas.


🏛️ CAPÍTULO 27 — NÃO DEMOLIRE A CATEDRAL PARA INSTALAR WI-FI

Essa é uma das grandes lições do mainframe.

Imagine uma catedral construída durante cinquenta anos.

Alguém chega e diz:

— Precisamos instalar Wi-Fi.

Ninguém sensato responde:

— Derrube a catedral.

Modernização inteligente pergunta:

Onde estão os pontos de integração?

Quais componentes realmente precisam mudar?

Onde está o acoplamento?

Qual é o risco?

Quais dados continuam críticos?

Como expomos funcionalidades existentes de forma segura?

IMS, CICS e Db2 podem continuar no coração enquanto novas camadas surgem ao redor.

O legado não precisa ser tratado como inimigo.

Dívida técnica precisa ser combatida. Idade, sozinha, não é dívida técnica.


🧭 CAPÍTULO 28 — O PASSO A PASSO PARA APRENDER IMS

Se Pacioli fosse montar nosso plano de estudos, eu imagino algo assim:

IMS OVERVIEW
     │
     ▼
IMS DB × IMS TM
     │
     ▼
MODELO HIERÁRQUICO
     │
     ▼
SEGMENT / ROOT / PARENT / CHILD
     │
     ▼
DBD
     │
     ▼
PSB
     │
     ▼
PCB
     │
     ▼
DL/I
     │
     ▼
SSA
     │
     ▼
GU / GN / GNP
     │
     ▼
GHU / GHN / GHNP
     │
     ▼
ISRT / REPL / DLET
     │
     ▼
STATUS CODES
     │
     ▼
IMS TM
     │
     ▼
MPP
     │
     ▼
COMMIT / ROLLBACK
     │
     ▼
CHECKPOINT / RESTART
     │
     ▼
BATCH
     │
     ▼
PERFORMANCE
     │
     ▼
RECOVERY
     │
     ▼
IMS CONNECT / INTEGRAÇÃO

Não tente decorar tudo no primeiro dia.

Desenhe.

Simule.

Leia programas.

Procure as chamadas DL/I.

Identifique o PSB.

Localize PCBs.

Observe SSAs.

Veja quais operações aparecem.

Depois desenhe a árvore correspondente.

Faça isso repetidamente.

Em algumas semanas, aquele COBOL cheio de siglas começará a parecer uma história.


🎓 CAPÍTULO 29 — EXERCÍCIO DO PADAWAN

Pegue este cenário:

CLIENTE
   │
   ├── CONTA
   │      │
   │      ├── MOVIMENTO
   │      └── MOVIMENTO
   │
   └── CONTA
          │
          └── MOVIMENTO

Agora responda sem programar:

  1. Qual poderia ser o root?

CLIENTE.

  1. Qual é parent de MOVIMENTO?

CONTA.

  1. Qual é child de CLIENTE?

CONTA.

  1. Quero localizar um CLIENTE específico.

Pense em GU.

  1. Quero navegar.

Pense em GN.

  1. Quero continuar dentro de determinado parent.

Pense em GNP.

  1. Quero recuperar para alteração.

Comece a pensar nas versões GHx.

  1. Quero inserir.

ISRT.

  1. Quero atualizar.

REPL.

  1. Quero remover.

DLET.

Quando você consegue explicar isso sem decorar frases de apostila, começou a entender IMS.


☕ EPÍLOGO — O BALANÇO FECHOU

No final da aula, Luca Pacioli olha novamente para o terminal.

Agora aquelas siglas não parecem tão misteriosas.

Ele escreve:

IMS
 │
 ├── IMS DB
 │      ├── hierarquia
 │      ├── segmentos
 │      ├── DBD
 │      ├── PSB
 │      ├── PCB
 │      ├── SSA
 │      └── DL/I
 │
 └── IMS TM
        ├── mensagens
        ├── transações
        └── programas

Ao lado:

CICS ─────► processamento transacional

IMS TM ───► processamento transacional

Db2 ──────► dados relacionais

IMS DB ───► dados hierárquicos

SQL ──────► interface relacional

DL/I ─────► interface IMS

E finalmente escreve uma última frase:

Integridade não é uma funcionalidade. É um compromisso.

Talvez seja essa a ponte mais bonita entre Luca Pacioli e o mainframe.

A contabilidade por partidas dobradas não nasceu porque alguém achou divertido duplicar lançamentos.

Ela nasceu da necessidade de controle, rastreabilidade e consistência.

Mainframes também não possuem logs, commits, rollback, recovery, checkpoints e códigos de retorno porque engenheiros gostam de complicar sistemas.

Esses mecanismos existem porque, quando estamos movimentando dinheiro, reservas, apólices, pagamentos ou milhões de registros corporativos, precisamos conseguir responder:

O que aconteceu?

Quando aconteceu?

Foi concluído?

Se falhou, o que ficou gravado?

É possível recuperar?

Os dados continuam consistentes?

É por isso que estudar IMS ensina muito mais do que IMS.

Ensina a mentalidade de sistemas de missão crítica.

O programador iniciante olha para:

GU
GN
GNP
ISRT
REPL
DLET

e pergunta:

"Qual comando lê o registro?"

O profissional começa a perguntar:

"Qual é a hierarquia?"

"Qual é meu parent?"

"Onde estou posicionado?"

"Qual SSA foi utilizado?"

"Qual PCB?"

"Qual status voltou?"

"Qual é a Unit of Work?"

"Quando ocorre o commit?"

"Se houver um ABEND neste exato ponto, o que acontece?"

E o arquiteto acrescenta:

"Por que esse workload está no IMS?"

"Qual é seu padrão de acesso?"

"Onde CICS entra?"

"Onde Db2 entra?"

"Como isso conversa com sistemas modernos?"

Quando você chega a esse ponto, não está mais simplesmente decorando comandos DL/I.

Está começando a compreender por que o mainframe foi construído da maneira como foi construído.

Pacioli fecha o livro.

O Padawan fecha a sessão ISPF.

O relógio marca 03:17.

Nenhum telefone toca.

Desta vez o status code foi verificado.

O balanço fechou.

E finalmente podemos tomar aquele café enquanto ainda está quente.

Bem-vindo ao IMS.

Aqui até um ABEND precisa prestar contas. ☕

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