domingo, 7 de outubro de 2012

📘 CICS Command Level para padawans

 

Aprenda CICS com Bellacosa Mainframe

📘 CICS Command Level para padawans

Walkthrough estilo Bellacosa Mainframe

CICS e suas interligações


O IBM CICS (Customer Information Control System) é, em termos honestos de CPD, o coração online do mainframe. Se o batch é o pulmão que trabalha à noite, o CICS é o sistema nervoso que reage em milissegundos enquanto o banco, a seguradora ou o governo estão abertos.

Tecnicamente, CICS é um gerenciador de transações que roda sobre o z/OS e controla milhares (às vezes milhões) de requisições simultâneas vindas de terminais 3270, aplicações web, APIs, filas e sistemas distribuídos. Cada requisição vira uma TASK, criada, suspensa, retomada e finalizada pelo CICS com uma eficiência quase antipática. Nada de criar processo novo, nada de desperdício: tudo reaproveitado, tudo controlado.

No mundo real, CICS é quem garante que duas pessoas não atualizem o mesmo saldo ao mesmo tempo, que uma queda de energia não corrompa dados e que o sistema continue respirando mesmo sob carga absurda. Ele faz isso com controle de concorrência, integridade transacional (UOW), recuperação automática e isolamento de falhas.

No estilo Bellacosa: CICS não é framework, não é servidorzinho e não é opcional. É um ecossistema maduro, conservador e extremamente confiável. Se ainda está rodando 40 anos depois, não é nostalgia — é engenharia bem-feita.



🔹 MÓDULO I – Conceitos Básicos

IBM CICS

Vamos ao CICS em funcionamento, versão Bellacosa Mainframe – sem romantizar, mas com respeito.

Tudo começa quando o usuário digita uma transação (ex: ABCD) no terminal 3270 ou quando um sistema chama o CICS via API. Nesse momento, o CICS não executa um programa — ele cria uma TASK. Essa TASK é uma entidade leve, controlada, numerada e com prazo de vida curto. Nada de processo pesado, nada de desperdício.

A TASK entra no dispatcher do CICS, que decide quando ela pode rodar. Se precisar de I/O (VSAM, DB2, fila, terminal), a TASK é suspensa educadamente e outra entra no lugar. Multitarefa cooperativa raiz, funcionando há décadas.

Quando o programa COBOL é chamado, ele roda em modo quasi-reentrant, usando áreas compartilhadas e dados isolados por WORKING-STORAGE ou COMMAREA. Cada comando EXEC CICS passa pelo Command Level Interface, que valida, executa e devolve RESP codes. Se algo der errado, o CICS sabe exatamente onde, quando e por quê.

Se houver atualização, o CICS controla a Unit of Work. Se a TASK termina bem, ele faz commit. Se cair, ele desfaz tudo como se nada tivesse acontecido.

No fim, o CICS devolve a resposta ao usuário, mata a TASK sem cerimônia e segue em frente. Rápido, previsível e implacavelmente confiável.

📌 O que é

Introduz o CICS (Customer Information Control System) como gerenciador transacional online, explicando o conceito de TASK, transação, domains, memória e execução concorrente.

🧠 Resumo rápido

CICS não é programa, é um sistema operacionalzinho dentro do z/OS para aplicações online. Ele cria, controla, pausa, retoma e mata tarefas sem dó.

🧪 Exemplo

Uma transação ABCD digitada no terminal cria uma TASK, que executa um programa COBOL, acessa VSAM e responde em milissegundos.

⚠️ Dica Bellacosa

Se você não entende TASK ≠ JOB, você vai sofrer no CICS.

🥚 Easter Egg

QR (Quasi-Reentrant) não é moda antiga — é o motivo pelo qual mil usuários podem usar o mesmo programa sem corrupção de dados.

🤫 Fofoquice

Todo iniciante acha que cada usuário tem “seu programa na memória”. Não tem. É tudo compartilhado. O CICS é mão de vaca por design.


🔹 MÓDULO II – Básico de Programação CICS

CICS COBOL Estrutura basica de um programa

No modo programação em COBOL, o CICS muda completamente a forma de pensar do programador — e é aí que muita gente tropeça. Em CICS, você não escreve um programa que roda do início ao fim; você escreve respostas a eventos controladas pelo gerenciador transacional.

O programa COBOL é carregado uma vez na memória e compartilhado por centenas ou milhares de usuários. Por isso ele precisa ser quasi-reentrant: nada de variáveis globais inocentes, nada de estado permanente sem controle. Cada execução acontece dentro de uma TASK, criada pelo CICS quando uma transação é disparada ou um programa é chamado via LINK, XCTL ou START.

Toda interação com o mundo externo é feita por comandos EXEC CICS. Não existe READ direto, não existe WRITE direto, não existe DISPLAY. Tudo passa pela API do CICS: READ FILE, SEND MAP, RECEIVE MAP, WRITEQ, LINK. Cada comando retorna códigos RESP e RESP2, e ignorar isso é pedir ABEND.

O fluxo é quase sempre pseudo-conversacional: o programa recebe dados, processa, grava se necessário, envia a tela e termina. No próximo ENTER, o CICS cria outra TASK e chama o programa de novo, passando o estado mínimo via COMMAREA ou Channel/Container.

No estilo Bellacosa: programar CICS em COBOL é aceitar que o controle não é seu. E justamente por isso funciona.

📌 O que é

Ensina como escrever programas CICS em COBOL, comandos EXEC CICS, EIB, SEND/RECEIVE, pseudo-conversação e NEWCOPY.

🧠 Resumo rápido

Programar CICS é pensar em eventos, não em fluxo contínuo. Cada ENTER é um novo começo.

🧪 Exemplo

EXEC CICS SEND MAP('TELA01') MAPSET('MAP01') END-EXEC

⚠️ Dica Bellacosa

Se você usar STOP RUN em CICS, o sistema vai te julgar silenciosamente.

🥚 Easter Egg

O EIB é o “log secreto” da task. Tudo o que deu errado (ou certo) está lá.

🤫 Fofoquice

Conversacional “raiz” funciona… até o dia que 300 usuários derrubam a região.


🔹 MÓDULO III – BMS (Basic Mapping Support)

Tela BMS CICS processo de compilação

Quando falamos de CICS + BMS + terminal 3270, estamos falando da engenharia raiz da interface homem-máquina no mainframe, sem JavaScript, sem frescura e com latência ridiculamente baixa.

A BMS (Basic Mapping Support) é a camada que define a tela 3270. Ela não desenha pixels; ela define campos: posição, tamanho, proteção, intensidade, cor, se aceita teclado ou não. Tudo isso vira um mapa físico que o terminal entende e um mapa lógico que o programa COBOL usa. É separação de responsabilidades antes de isso virar moda.

No funcionamento real, o programa CICS envia a tela usando EXEC CICS SEND MAP. O CICS converte o mapa BMS em um buffer 3270 e manda para o terminal. O usuário digita, pressiona ENTER, e o terminal não executa nada — ele apenas devolve o buffer de campos alterados. Simples e eficiente.

Quando o programa faz EXEC CICS RECEIVE MAP, o CICS interpreta o buffer recebido, preenche as áreas correspondentes no copybook do mapa e informa qual tecla foi pressionada via DFHAID. Nenhum campo inválido passa despercebido se você souber testar o byte de atributo.

No estilo Bellacosa: BMS não é feio, é honesto. Ele entrega exatamente o que promete: controle total, previsibilidade absoluta e zero surpresas em produção.

📌 O que é

BMS define telas 3270: layout, campos, atributos, cores, proteção, cursor.

🧠 Resumo rápido

BMS é HTML dos anos 70, só que mais rápido e sem frescura.

🧪 Exemplo

Campo protegido + numérico:

DFHMDF POS=(5,10),LENGTH=10,ATTRB=(PROT,NUM)

⚠️ Dica Bellacosa

Tela feia é culpa do programador, não do CICS.

🥚 Easter Egg

O byte de atributo é onde mora a magia: cor, intensidade, proteção e cursor.

🤫 Fofoquice

Todo mundo copia DFHBMSCA sem saber metade do que ele tem.


🔹 MÓDULO IV – Ferramentas de Apoio

Comandos de linha CICS

No CICS em linha de comando, você abandona o conforto do código e entra no território onde o sistema se revela. Ferramentas como CEDF, CEDX, CECI, CEMT, CESN, CECS e CMAC não são opcionais — são o kit de sobrevivência de quem resolve problema de verdade.

O CEDF é o debugger raiz. Ele intercepta cada EXEC CICS, mostra argumentos, RESP codes, EIB, working-storage e permite alterar valores em tempo real. O CEDX é a versão estendida: mais detalhes, mais poder, mais chance de fazer besteira se não souber o que está fazendo. Debug sem recompilar, do jeito que só mainframe permite.

O CECI é o intérprete de comandos CICS. Serve para testar READ, WRITE, SEND MAP e tudo mais sem escrever uma linha de COBOL. Ideal para provar que o erro não é do arquivo, é do programa. Já o CECS valida sintaxe de comandos CICS — evita erro bobo que vira ABEND caro.

O CEMT é o painel de controle do CICS: status de tasks, arquivos, programas, filas, conexões. Quem domina CEMT entende a região. O CESN cuida de segurança: sign-on, sign-off e identidade do usuário. E o CMAC é a enciclopédia de abends e mensagens — onde você descobre que o erro já aconteceu antes, só não com você.

Estilo Bellacosa: essas transações não são ferramentas — são raio-X do sistema vivo.

📌 O que é

CEDF, CEDX, CECI, CECS e CMAC — o kit sobrevivência do programador CICS.

🧠 Resumo rápido

CEDF é o debugger raiz: feio, poderoso e perigoso.

🧪 Exemplo

Usar CECI para testar um READ VSAM sem escrever código.

⚠️ Dica Bellacosa

Nunca use CEDF em produção sem autorização. O sysprog sente.

🥚 Easter Egg

CEDF permite forçar ABEND. Sim, oficialmente.

🤫 Fofoquice

CEDF + 2 terminais é coisa de veterano que não confia em ninguém.


🔹 MÓDULO V – Acessando Arquivos

CICS acessando Dataset VSAM

Quando o CICS acessa um dataset VSAM, não existe improviso — existe controle fino, concorrência disciplinada e medo saudável de corromper dados. Diferente do batch, aqui tudo acontece online, em milissegundos, com dezenas ou milhares de usuários disputando o mesmo arquivo.

Antes de qualquer coisa, o VSAM é definido ao CICS como um recurso: nome lógico, tipo (KSDS, ESDS ou RRDS), modo de acesso e regras de compartilhamento. O programa COBOL nunca acessa o VSAM direto; ele pede educadamente via EXEC CICS READ, WRITE, REWRITE ou DELETE. Quem decide se pode ou não é o CICS.

No acesso direto, o programa fornece a chave (RIDFLD) e o CICS localiza o registro. Se for só leitura, tudo bem. Se for atualização, entra o jogo sério: lock de registro. O CICS garante que só uma TASK mexa naquele dado por vez. Se outra tentar, ela espera — ou recebe exceção.

No acesso sequencial (browse), o CICS cria um cursor lógico com STARTBR e entrega registro por registro via READNEXT. Tudo controlado, tudo rastreável. Se a TASK cair no meio, o CICS sabe exatamente onde estava.

Estilo Bellacosa: VSAM no CICS não é arquivo — é recurso crítico. Trate como tal, ou o sistema te cobra com juros.

📌 O que é

Leitura de arquivos VSAM (ESDS, KSDS, RRDS), acesso direto e sequencial.

🧠 Resumo rápido

CICS acessa VSAM sem JCL, sem batch, sem paciência.

🧪 Exemplo

EXEC CICS READ FILE('ARQ01') INTO(AREA) RIDFLD(CHAVE) END-EXEC

⚠️ Dica Bellacosa

READ sem RESP é convite para ABEND invisível.

🥚 Easter Egg

Browse (STARTBR/READNEXT) é cursor de banco de dados versão 1974.

🤫 Fofoquice

Problema de concorrência quase sempre é batch rodando fora do horário.


🔹 MÓDULO VI – Atualizando Arquivos


CICS CRUD em VSAM e unidades de trabalho

No CICS, falar de CRUD sem falar de UOW (Unit of Work) é conversa de quem nunca viu dado corrompido em produção. Aqui, criar, ler, atualizar e excluir registro não é só operação — é compromisso com integridade.

O READ é o ponto de entrada: você consulta um registro VSAM ou DB2 e decide o que fazer. Se for só leitura, o CICS observa. Mas no momento em que você faz um READ UPDATE, o jogo muda. O CICS trava o registro para aquela TASK. A partir daí, qualquer CREATE (WRITE), UPDATE (REWRITE) ou DELETE passa a fazer parte de uma UOW.

A UOW é o acordo sagrado: ou tudo acontece, ou nada acontece. Se o programa termina normalmente, o CICS faz o syncpoint (commit) e grava definitivamente as alterações. Se der erro, ABEND, timeout ou queda de sistema, o CICS entra em ação e desfaz tudo usando seus logs. O sistema volta ao estado consistente como se a TASK nunca tivesse existido.

Isso permite concorrência pesada sem caos. Cem usuários podem acessar o mesmo arquivo e, ainda assim, os dados permanecem corretos. Não é sorte — é arquitetura.

Estilo Bellacosa: CRUD em CICS não é sobre gravar dado, é sobre não estragar o que já existe. Quem ignora UOW aprende rápido… geralmente em produção.

📌 O que é

UPDATE, WRITE, DELETE, UOW, integridade e recuperação.

🧠 Resumo rápido

CICS leva consistência a sério. Se cair, ele volta atrás.

🧪 Exemplo

Atualizar registro com REWRITE após READ UPDATE.

⚠️ Dica Bellacosa

UPDATE sem UOW bem definido = auditor sorrindo.

🥚 Easter Egg

UNLOCK existe porque alguém esqueceu de liberar registro em 1989.

🤫 Fofoquice

Quem não entende syncpoint nunca dormiu após deploy.


🔹 MÓDULO VII – Sub-rotinas

CICS chamando subrotinas Xctl e link

No CICS, chamar subrotinas não é simples desvio de fluxo — é orquestração controlada de programas dentro de uma TASK. Aqui, cada chamada tem consequência arquitetural, e errar isso vira efeito dominó em produção.

O comando mais comum é o LINK. Ele chama outro programa, passa o controle, compartilha a mesma UOW e depois volta para o chamador. É a escolha certa quando você precisa reutilizar lógica e manter contexto. LINK é educado, previsível e fácil de auditar. Se o programa chamado falhar, a TASK inteira sente.

Já o XCTL é corte seco. Ele transfere o controle para outro programa e não volta. A partir daí, o chamador deixa de existir. Isso é útil para navegação de fluxo — mudar de tela, mudar de etapa — mas perigoso se usado sem critério. Muito sistema virou labirinto por abuso de XCTL.

O START cria uma nova TASK, independente, assíncrona. É processamento em paralelo versão mainframe: robusto, rastreável e com impacto real no sistema. Use com consciência.

A comunicação entre programas pode ser via COMMAREA (limitada, clássica) ou Channel/Container (moderna, flexível). Ambas exigem disciplina.

Estilo Bellacosa: em CICS, chamar programa é decisão de arquitetura, não linha de código.

📌 O que é

LINK, XCTL, START, LOAD, níveis lógicos e COMMAREA.

🧠 Resumo rápido

LINK volta, XCTL não. Parece simples, mas derruba sistemas.

🧪 Exemplo

EXEC CICS LINK PROGRAM('PGM02') COMMAREA(AREA) END-EXEC

⚠️ Dica Bellacosa

COMMAREA grande é gambiarra elegante.

🥚 Easter Egg

START cria task assíncrona — tipo thread, só que sério.

🤫 Fofoquice

Muita aplicação virou “espaguete” por abuso de XCTL.


🔹 MÓDULO VIII – Channel / Container

CICS e o uso de commarea e cotainers

No CICS, Channel e Container surgem como resposta adulta a um problema antigo: a COMMAREA era útil, mas pequena, rígida e fácil de virar gambiarra. Channel/Container é o CICS dizendo: “vamos fazer isso direito”.

Um Channel é um agrupador lógico. Pense nele como um envelope nomeado que viaja junto com a TASK. Dentro dele vivem os Containers, que são áreas de dados independentes, cada uma com nome, tipo e tamanho próprio. Não existe limite prático de 32K, não existe copybook único obrigatório, não existe empacotamento manual de estruturas. Cada container carrega exatamente o que precisa carregar.

Na prática, quando um programa chama outro via LINK ou XCTL, ele pode passar um Channel inteiro. O programa chamado acessa apenas os containers que lhe interessam. Isso reduz acoplamento, melhora legibilidade e facilita evolução do sistema sem quebrar o legado.

Os comandos são explícitos: PUT CONTAINER, GET CONTAINER, DELETE CONTAINER. Nada mágico, tudo rastreável. O CICS gerencia memória, ciclo de vida e limpeza automaticamente quando a TASK termina.

Estilo Bellacosa: Channel/Container não é moda — é higiene arquitetural. Quem insiste em COMMAREA gigante não está sendo “clássico”, está só adiando o próximo problema.

📌 O que é

Substituto moderno da COMMAREA.

🧠 Resumo rápido

Channel/Container é COMMAREA adulta, sem limite de 32K.

🧪 Exemplo

Passar múltiplas estruturas sem copybook único.

⚠️ Dica Bellacosa

Projeto novo? Use Channel/Container. Sempre.

 

CICS channel

🥚 Easter Egg

Você pode passar XML, JSON e estruturas complexas sem dor.


🔹 MÓDULO IX – Áreas Externas

CICS em areas externas getmain e freemain

No CICS, falar de áreas externas, GETMAIN e FREEMAIN é entrar no território onde o programador deixa de ser usuário da API e vira responsável direto pela memória. Aqui não tem coletor de lixo, não tem perdão automático.

Por padrão, programas CICS são quasi-reentrant e compartilham código. A WORKING-STORAGE existe, mas é controlada pelo CICS. Quando você precisa de memória dinâmica — tabelas em tempo de execução, buffers variáveis, listas crescentes — entra o GETMAIN. Ele pede ao CICS um bloco de memória, no tamanho exato, dentro da região apropriada (TASK ou SHARED). A memória vem zerada, identificável e sob controle do gerenciador.

O perigo começa quando o programador esquece que toda memória alocada precisa ser devolvida. É aí que entra o FREEMAIN. Ele libera explicitamente aquela área. Se você não chamar FREEMAIN, o CICS até limpa no fim da TASK, mas você cria pressão desnecessária na região, degrada performance e ganha fama silenciosa.

GETMAIN mal usado vira vazamento, corrupção e comportamento fantasma. GETMAIN bem usado resolve problemas reais com elegância.

Estilo Bellacosa: GETMAIN é poder, FREEMAIN é responsabilidade. Quem domina os dois escreve sistema robusto. Quem esquece um deles cria incidente que ninguém entende — até o sysprog olhar.

📌 O que é

GETMAIN, FREEMAIN, tabelas em memória, SET.

🧠 Resumo rápido

Memória dinâmica em CICS é poder — e perigo.

⚠️ Dica Bellacosa

Quem esquece FREEMAIN cria vazamento silencioso.


🔹 MÓDULO X – Filas TD e TS

CICS e dados armazenados em ts e td

No CICS, filas TD e TS existem para resolver dois problemas distintos que muita gente insiste em misturar. E quando mistura, dá dor de cabeça.

As filas TD (Transient Data) são feitas para mensagens sequenciais: logs, integração, auditoria, disparo de processos. Você escreve, alguém lê, acabou. Elas podem ser intrapartition (gerenciadas totalmente pelo CICS) ou extrapartition (apontando para datasets externos). TD é fluxo, é trilha, é “escreveu, seguiu em frente”. Não é banco de dados e não é memória temporária.

Já as filas TS (Temporary Storage) são armazenamento temporário com nome. Você grava um item, lê depois, atualiza, apaga quando quiser. TS é usada para guardar contexto entre pseudo-conversações, listas temporárias, dados intermediários. Pode ser em memória ou em dataset, dependendo da configuração. É flexível, mas exige disciplina.

A regra não escrita: TD não se lê para decidir lógica; TS não se usa como persistência definitiva. TD é linear, TS é aleatório. Cada uma tem custo, impacto e comportamento próprios.

Estilo Bellacosa: TD é correio, TS é gaveta. Quem usa correio como gaveta perde carta. Quem usa gaveta como arquivo perde o sistema.

📌 O que é

Queueing no CICS: TD (logs, integração) e TS (temporário).

🧠 Resumo rápido

TD é “mensagem”, TS é “memória com nome”.

⚠️ Dica Bellacosa

TS não é banco de dados. Nunca foi.


🔹 MÓDULO XI – Tratamento de Exceções

CICS trantando erros e exceções

No CICS, tratamento de erros e exceções não é detalhe — é parte da arquitetura. Aqui o sistema assume que algo vai dar errado e se prepara melhor do que muita aplicação moderna.

Toda chamada EXEC CICS retorna códigos RESP e RESP2. Ignorar isso é escolher viver no escuro. O RESP indica o tipo geral da condição; o RESP2 detalha o motivo real. Arquivo não encontrado, registro bloqueado, mapa inválido, segurança negada — tudo é sinalizado. Quem testa RESP controla o fluxo. Quem não testa, recebe ABEND surpresa.

Além disso, o CICS permite HANDLE CONDITION, que desvia automaticamente o fluxo quando uma exceção ocorre. É poderoso, mas exige disciplina. Existe também o NOHANDLE, para quando você quer assumir o risco conscientemente. Já o IGNORE CONDITION é a forma oficial de dizer: “sei que isso pode acontecer e não é erro”.

Para falhas graves, entra o HANDLE ABEND. Ele permite capturar o abend, registrar contexto, liberar recursos e até apresentar mensagem amigável ao usuário antes do fim da TASK. O CICS não deixa o sistema cair — ele isola o problema.

Estilo Bellacosa: erro em CICS não é acidente, é evento esperado. Trate, registre e siga em frente. Quem não faz isso vira estudo de caso no CMAC.

📌 O que é

RESP, RESP2, HANDLE CONDITION, HANDLE ABEND.

🧠 Resumo rápido

Erro não tratado em CICS vira ABEND educacional.

⚠️ Dica Bellacosa

RESP é obrigação moral.


🔹 MÓDULO XII – Programas Exemplo

Em breve disponibilizarei o link do repositorio do GITHUB.

📌 O que é

Integra tudo: tela, VSAM, navegação, exceções.

🧠 Resumo rápido

Aqui o aluno vira programador de verdade.


📚 GUIA DE ESTUDO (Bellacosa Approved)

Mapa do Tesouro CICS


🥇 Ordem ideal

  1. Conceitos + TASK

  2. EXEC CICS + EIB

  3. BMS

  4. VSAM READ/BROWSE

  5. UPDATE + UOW

  6. LINK/XCTL

  7. Channel/Container

  8. Exceções

🛠️ Treinar sempre

  • CECI antes de codar

  • CEDF em ambiente controlado

  • Ler CMAC após ABEND

🧠 Mentalidade

CICS não executa programas.
Ele orquestra eventos.


Trabalho em curso 

segunda-feira, 1 de outubro de 2012

Modo Pequeno Oni — Acidente, imprudência e baratas em formação tática

 


📜 El Jefe Midnight Lunch – Bellacosa Mainframe Files
Modo Pequeno Oni — Acidente, imprudência e baratas em formação tática

Senhoras e senhores deste coffee-break digital, puxem suas cadeiras para mais perto da churrasqueira emocional, porque hoje venho com mais um daqueles relatos que só poderiam nascer da mente de um mini-humaninho com excesso de energia, nenhuma noção de perigo e um planeta inteiro para destruir aos poucos — vulgo eu, versão 1984, Cecap Edition.




🕳 O império subterrâneo das fossas e o ataque das baratas vermelhas

Quem cresceu naquele condomínio experimental do caos sabe: rede de esgoto pública era lenda urbana. Cada quadra tinha sua fossa própria — uma espécie de HDFS orgânico de água duvidosa, odores indescritíveis e baratas em cluster.

E quando o caminhão pipa chegava para o dump + clean daquele reservatório das trevas, era um espetáculo digno de filme do John Carpenter:
baratas de todas as classes, tamanhos e versões — as pretas, as francesas , as assustadoras vermelhas voadoras e as lendárias brancas, que pareciam saídas do inferno com firmware turbo.

Mas ainda não é aqui que o servidor travou.
Não, não... o crash veio depois.




🛠 A obra faraônica – Manilhas EA3, o parque de diversões proibido

A subprefeitura do Quiririm iniciou a obra que para olhos infantis parecia coisa de faraó:
escavadeiras cavando trincheiras épicas, caminhões trazendo manilhas EA3 gigantes, empilhadas sem proteção, sem cerca, sem placa de não entre, sem firewall, sem nada.

E o que acontece quando você entrega um labirinto militar feito de concreto para um bando de crianças com energia nuclear no sangue?

Exato.

Modo SWAT ativado.
Corre. Sobe. Pula. Entra no túnel. Sai do túnel. Salta de três metros.
Missão impossível sem dublê.

O cronograma da obra dizia instalar esgoto.
O cronograma das crianças dizia sobreviver ao impossível antes que escureça.



☠ E quando a corda estica…

…ela arrebenta.
E o mini Bellacosa aqui despencou de uns três metros, rolando entre manilhas até o gramado — apagando o sistema operacional por alguns minutos.

Meu primo Celo desesperado — choro, pânico, bug geral.
Os outros achando que eu tinha dado shutdown permanente.

Para eles foram longos minutos.
Para mim? Apenas um reboot rápido com erro de memória e dores no kernel.

Acordei zonzo, vendo estrelas, com a cabeça latejando como se alguém tivesse feito um IPL com parâmetros errados. Mas levantei. Firme. Manquejando, mas inteiro.




🏠 E a atitude madura do jovem Bellacosa?

Voltar para casa sem contar nada para ninguém.
Banho. Janta. Lição. Cabeça doendo. Ego intacto.
Medo absoluto de levar bronca maior do que a queda.

No dia seguinte?
De volta ao campo de guerra.
Brincando de SWAT nos mesmos tubos, como se o firmware tivesse atualizado e agora eu fosse à prova de falhas.

Juventude, meus caros, é o mainframe mais resiliente já inventado.




Um dia o esgoto foi concluído. As fossas sumiram.
As baratas perderam o território.
Mas o campo de manilhas?
Esse ficou registrado na minha ROM emocional para sempre.

Porque ali descubro — olhando para trás — que criança alimentada por curiosidade e ausência de medo é uma força da natureza.
Destrutiva. Imprevisível.
E totalmente inesquecível.

👀
E eu ainda acho que tinha algo naquela água do Cecap…


sábado, 8 de setembro de 2012

☁️🔥 Mainframe não morreu: ele só aprendeu a falar cloud

 


☁️🔥 Mainframe não morreu: ele só aprendeu a falar cloud



00:59 — Introdução: o boato da morte que nunca se confirmou

Toda década alguém decreta:

“Agora o mainframe acabou.”

E toda década o mainframe responde do mesmo jeito:

processando mais transações, com menos falha, mais segurança e menos barulho.

O que mudou não foi o mainframe.
Foi o jeito de conversar com o mundo.

Aplicações distribuídas não mataram o mainframe.
Elas forçaram o mainframe a virar poliglota.




1️⃣ Um pouco de história: do green screen à nuvem ☁️

  • Anos 60–80: centralização total, terminais burros

  • Anos 90: client-server, CICS como backbone

  • Anos 2000: web, SOA, serviços expostos

  • Anos 2010: cloud, APIs, eventos

  • Hoje: mainframe como core cloud-ready

😈 Easter egg histórico:
CICS sempre foi serverless. Só não tinha marketing.


2️⃣ O mito: cloud substitui mainframe 🧠

Cloud é ótima para:

  • Elasticidade

  • UX

  • Experimento rápido

  • Carga variável

Mainframe é imbatível em:

  • Consistência

  • Segurança

  • Throughput

  • Custo por transação estável

📌 Tradução Bellacosa:

“Cloud corre. Mainframe sustenta.”


3️⃣ O que significa “falar cloud” no mainframe

Não é migrar tudo.
É integrar de forma inteligente.

Significa:

  • Expor transações como APIs

  • Publicar eventos

  • Integrar via mensageria

  • Ser observado como qualquer serviço moderno

  • Participar de pipelines distribuídos

😈 Easter egg:
Quem já integrou CICS com MQ já estava no caminho.


4️⃣ Aplicações distribuídas: onde o mainframe entra 🧩

Em arquiteturas modernas:

  • Frontend → cloud

  • Backend → microservices

  • Core → mainframe

O mainframe vira:

  • System of Record

  • Fonte de verdade

  • Pilar de consistência

📎 Mainframer entende:
O dado crítico mora onde sempre morou.


5️⃣ Passo a passo para tornar o mainframe cloud-friendly

1️⃣ Identifique o core estável
2️⃣ Exponha capacidades (não tabelas)
3️⃣ Use APIs ou eventos
4️⃣ Evite acoplamento síncrono excessivo
5️⃣ Adicione observabilidade
6️⃣ Trate segurança como prioridade
7️⃣ Evolua sem big bang

💣 Dica Bellacosa:
Modernizar não é reescrever. É orquestrar.


6️⃣ Ferramentas que fazem o mainframe falar cloud 🛠️

  • CICS Web Services / APIs

  • IBM MQ

  • z/OS Connect

  • Kafka integration

  • Instana / observabilidade

  • CI/CD para z/OS

😈 Easter egg:
JCL em pipeline CI/CD assusta mais dev cloud do que dump hex 😈


7️⃣ Guia de estudo para mainframers do futuro 📚

Conceitos

  • Aplicações distribuídas

  • APIs

  • Event-driven

  • Observabilidade

  • Resiliência

  • Segurança zero trust

Habilidades

  • Pensar em fluxo

  • Aceitar falha parcial

  • Trabalhar com times cloud

  • Defender o core com argumentos técnicos


8️⃣ Aplicações práticas no mundo real

  • Bancos digitais

  • Fintechs

  • Seguros

  • Governo

  • Telecom

🎯 Mainframer que fala cloud vira arquiteto indispensável.


9️⃣ Curiosidades que só veterano percebe 👀

  • Mainframe já era multi-tenant

  • Isolamento sempre foi nativo

  • Segurança nunca foi opcional

  • Disponibilidade sempre foi requisito

📌 Verdade inconveniente:
A cloud ainda está aprendendo o que o mainframe já domina.


🔟 Comentário final (01:43, sistema estável)

Mainframe não morreu.
Ele só parou de pedir licença.

Hoje ele:

  • fala API,

  • publica eventos,

  • participa de cloud,

  • sustenta o impossível.

Se você já:

  • Defendeu o core contra modinha

  • Integrau legado com futuro

  • Entendeu que estabilidade é poder

Então você sabe:

🖤 El Jefe Midnight Lunch encerra com respeito:
O futuro é distribuído. O coração continua central.

sexta-feira, 7 de setembro de 2012

🚌 A Primeira Viagem a Taubaté — O Dia em que o Cecap Virou um Castelo Medieval na Minha Imaginação

 


🚌 A Primeira Viagem a Taubaté — O Dia em que o Cecap Virou um Castelo Medieval na Minha Imaginação

por Vagner Bellacosa — para o El Jefe Midnight Lunch

Existem viagens que a gente faz com as pernas… e viagens que a gente faz com o coração.
Essa aqui é das duas.



Linha Pássaro Marrom 1970: O Expresso Pinga-Pinga do Tempo

Na década de 70, quando o Brasil era uma mistura de concreto cru, sonho industrial e poeira de estrada, não era qualquer um que tinha carro — e naturalmente, meu pai Wilson estava sem carro nessa época (novidade nenhuma, né?). Então, para visitar os Bellacosa de Taubaté, embarcamos no ônibus da Pássaro Marrom, naquela velha rodoviária ao lado da Estação da Luz, ainda cheirando a café fraco e fumaça de cigarro Minister.

O trajeto?
Todas. As. Cidades. Do. Vale. Do. Paraíba. Uma por uma.
O famoso pinga-pinga que transformava um percurso de duas horas em uma epopeia homérica.

Éramos seis almas nessa jornada:

  • Eu, o moleque curioso.

  • Vivi, com sua risada fácil.

  • Mamãe Mercedes, sempre alerta.

  • Papai Wilson, o mestre dos rolos.

  • Vó Anna, nosso porto seguro.

  • Tio Pedrinho, parceiro de aventuras.

E lá fomos nós, sacolejando Dutra afora, sonhando com a chegada.




A Fortaleza Branca no Alto da Colina

Quando finalmente descemos no Quiririm, seguimos para o Cecap, onde meus primos Andreia e Marcelo moravam.

Meu caro leitor:
aquilo não era um conjunto habitacional. Era um castelo.

Na visão de uma criança da década de 70, o complexo branco no alto da colina parecia uma muralha medieval protegendo cavaleiros, damas, primos, e histórias esperando para acontecer.

Os blocos desenhavam um grande quadrado, e no centro havia uma praça enorme com eucaliptos, aroma fresco que misturava infância, liberdade e vento do interior.

Era seguro.
Era bonito.
Era mágico.

E o melhor: tinha quadra B, quadra C, quadra D — cada uma com seus corredores secretos que serviam perfeitamente para que primos hiperativos pudessem se perder com estilo.



Reencontro de Primos: Bagunça Homologada pelo Universo

O abraço dos Bellacosa Dio foi o começo da farra.
Brincamos até a noite, exploramos corredores como se fossem masmorras, colhemos jabuticabas proibidas, visitamos a praça central para inventar histórias — porque criança da década de 70 não brincava, criava universos.

A Deia e o Celo eram companheiros de altas traquinagens, daquelas famosas festas de Natal e Ano Novo na Vila Rio Branco, se começar a escrever das bagunças, peraltices e momentos divertidos que passamos juntos. Vai faltar espaço na tela do celular. Tivemos o que podemos dizer infância feliz, juntos compartilhamos histórias e momentos únicos.

Andamos de bicicleta, jogos de bolinha de gude, bafo de figurinhas, queimada, pega-pega, pular corda, o primeiro videogame e muitas horas vagando pela rua em busca de aventura.



O Milagre da Pizza Americana no Liquidificador

Mas existe um momento nessa viagem que merece ser guardado num cofre de ouro emocional:
A pizza da tia Deise.

Veja bem, isso é anos 70.
Pizza era:

  • Massa aberta na mão,

  • fina,

  • napolitana,

  • feita no capricho da tradição.

Até que tia Deise chega com a ousadia culinária mais futurista da década:

🍕 Pizza de Liquidificador

40 anos antes da moda.
40 anos antes da Pizza Hut chegar no Brasil.

Ela bateu a massa no liquidificador.
Jogou aquilo na forma.
Cobrindo com molho e queijo.
Assou.

E quando saiu…
meu amigo…

Uma pizza fofa, absurdamente gostosa, revolucionária, e completamente diferente de tudo que eu conhecia.

Para uma criança, aquilo era alquimia pura.
Para um Bellacosa, era a confirmação de que a família carrega inovação no DNA.



O Retorno: Uma Volta à Pauliceia Cinematográfica

Depois de dias intensos de bagunça, gargalhada, aventura e jabuticabas furtadas, voltamos para São Paulo — novamente no pinga-pinga. Só que dessa vez, cansado, eu observava o mundo pela janela como se estivesse deixando um reino mágico que só existia para crianças.

É engraçado imaginar que alguns anos depois, nós mesmos nos mudaríamos para Taubaté.
Mas ali, naquela primeira viagem, tudo era novidade, tudo era descoberta, e tudo era alimento para a memória.


🎒 Easter-Egg Bellacosa Mainframe:

  • O Cecap foi projetado como unidade modelo de habitação popular — mas para as crianças virou lore de fantasia medieval.

  • A pizza da tia Deise foi um spoiler acidental da culinária americana que só chegaria anos depois.

  • A Pássaro Marrom era praticamente o gateway interestadual da classe média baixa paulista: se você não passou por ela, você não viveu os anos 70.

  • O cheiro de eucalipto do conjunto ainda existe — e ativa memórias mais potentes que qualquer máquina de fita do DFHSMON.


🧭 Conclusão no estilo Bellacosa Mainframe

Viajar nos anos 70 não era só deslocamento — era ritual, era aventura, era narrativa épica. A estrada sacolejava mais, o tempo demorava mais, o mundo parecia maior, e as emoções também.

Essa viagem para Taubaté não foi apenas um passeio.
Foi a primeira vez que descobri que lugares carregam alma.
Que famílias multiplicam a alegria.
E que um garoto curioso sempre transforma um conjunto habitacional em castelo, um ônibus em navio e uma pizza de liquidificador em obra-prima.

E quer saber?
Se existe algo que o Bellacosa Mainframe me ensinou é que o passado é o nosso servidor legado — e algumas memórias rodam tão bem que jamais vale a pena migrar.

PS: Meu tio Santiago trabalhava na Volkswagen de São Bernardo, quando construíram a fabrica de Taubaté, ele foi transferido para a nova unidade, durante uns tempos moraram em Caçapava, até o CECAP no Quiririm ficar pronto. Logo após se mudaram para a nova casa, fomos fazer aquela visita do clã para conhecer a nova morada.


quarta-feira, 5 de setembro de 2012

🖥️🌪️🔥🌊🌱⚡🌀 Os “6 elementos” no anime de fantasia: a tabela de tipos do universo

 


🖥️🌪️🔥🌊🌱⚡🌀 Os “6 elementos” no anime de fantasia: a tabela de tipos do universo


Bellacosa Mainframe Mode — cosmologia em batch job

Se você já percebeu que todo anime de fantasia parece rodar com o mesmo conjunto de elementos, não é coincidência. Os “6 elementos” são o schema padrão da magia: simples, compreensível e escalável. É o modelo relacional da fantasia japonesa.



🧠 A razão estrutural (arquitetura do sistema)

Os animes usam elementos porque eles:

  • São intuitivos (fogo queima, água flui)

  • São visualizáveis

  • Permitem balanceamento de poder

  • Criam regras claras (pedra > vento > fogo…)

📌 Insight Bellacosa: elementos são tipos primitivos da magia. Sem isso, o sistema vira caos sem documentação.


📚 A inspiração original (não veio do nada)

Existem três grandes fontes:

1️⃣ Filosofia clássica

  • Grécia: terra, água, ar, fogo (+ éter)

  • Índia: cinco elementos (Pancha Bhoota)

  • China: Wu Xing (madeira, fogo, terra, metal, água)

O Japão absorveu tudo isso e fez merge de branches culturais.

2️⃣ RPGs de mesa e videogames

  • Dungeons & Dragons

  • Final Fantasy

  • Dragon Quest

Esses sistemas popularizaram o “6 elementos” como balance patch narrativo.

3️⃣ Literatura moderna de fantasia

Não há um único livro, mas autores como Michael Moorcock (Caos vs Ordem) e Tolkien (natureza simbólica) ajudaram a consolidar o modelo.

🔮 Por que 6?

Porque 6 permite:

  • pares de oposição

  • hierarquia clara

  • espaço para um elemento “especial” (luz, trevas, éter, vazio)

🧠 Regra não escrita: o sexto elemento quase sempre quebra o sistema.

🥚 Easter eggs e curiosidades

  • “Luz” e “Trevas” raramente são naturais — são elementos morais

  • “Vazio” ou “Éter” aparece quando o autor quer resetar as regras

  • Quanto mais burocrático o mundo, mais detalhado o sistema elemental

🤫 Fofoquice: muitos mangakás usam tabelas literalmente copiadas de RPGs antigos.

🎌 Exemplos clássicos

  • Avatar (Aang) — ar, água, terra, fogo

  • Naruto (Kakashi, Sasuke) — cinco naturezas + yin/yang

  • Fairy Tail (Natsu) — fogo, gelo, vento, etc.

  • Black Clover (Asta, Noelle) — magia elemental + antimagia

  • Sword Art Online (Kirito) — elementos como sistema de jogo

  • Fullmetal Alchemist (Roy Mustang) — alquimia quase científica

🧩 Filosofia oculta

Elementos existem para lembrar que poder sem regra não é poder, é ruído. Eles ensinam limites, custo e consequência.

🖥️ Comentário final Bellacosa
Os “6 elementos” não são clichê — são infraestrutura narrativa. Eles permitem que mundos fantasiosos funcionem como sistemas estáveis, compreensíveis e reutilizáveis.

MAINFRAME ESTÁVEL. ELEMENTOS BALANCEADOS. MAGIA EM PRODUÇÃO.


terça-feira, 4 de setembro de 2012

Viagem de Trem de Magenta a Novara

Apreciando a paisagem pela janela


Para aqueles que gostam de andar de trem, a Itália possui inúmeras linhas Troncos, Ramais e Subramais passando pela mais diversas regiões, exibindo para aqueles que sabem apreciar paisagens bucólicas e memoráveis.


Esta viagem foi feita no trecho entre Magenta (Lombardia) e Novara (Piemonte), aqui temos diversas pequenas propriedades agrícolas e a ponte sobre o Rio Ticino. Para aqueles que gostam de historia essa região foi rica em combates desde tempo imemoriais,


terça-feira, 28 de agosto de 2012

⚙️ IBM System z11 – O Cérebro Digital de Uma Nova Era

 



⚙️ IBM System z11 – O Cérebro Digital de Uma Nova Era

A geração que refinou o poder do z10 e antecipou o futuro híbrido.


🧭 Introdução Técnica

Em 2012, a IBM apresentou o System zEnterprise EC12 (zEC12), sucessor direto do System z10 (2008) e símbolo de uma nova fase: inteligência analítica, resiliência extrema e automação integrada.
O z11 foi a materialização da filosofia “smarter computing”, trazendo uma CPU hexacore de 5,5 GHz, melhorias maciças em cache, criptografia, compressão e suporte a Analytics in-memory.

Enquanto o z10 revolucionou a arquitetura, o z11 refinou e poliu cada engrenagem, transformando o mainframe em uma plataforma cognitiva e híbrida — pronta para o que viria: o z13 e o Watson.


🕰️ Ficha Técnica – IBM System z11 (zEnterprise EC12)

ItemDetalhe
Ano de Lançamento2012
ModeloszEnterprise EC12 (zEC12) e zEnterprise BC12 (zBC12, 2013)
CPU5,5 GHz, 6 núcleos por chip (hexacore), 32 nm CMOS
ArquiteturaIBM z/Architecture (64 bits)
Sistema Operacionalz/OS 1.13 – 2.1
Memória Máxima3 TB (EC12) / 512 GB (BC12)
AntecessorSystem z10 (2008)
SucessorIBM z13 (2015)

🔄 O que muda em relação ao System z10

  1. Processador Hexacore: de 4 para 6 núcleos por chip, com clock aumentado de 4,4 GHz → 5,5 GHz.

  2. Memória e Cache: cache L3 de 48 MB por chip e memória até 3 TB – ideal para big data in-memory.

  3. Criptografia Totalmente Integrada: co-processador CryptoExpress4S com aceleração para AES, SHA-3, RSA e Elliptic Curve.

  4. Compressão em Hardware: zEDC (z Enterprise Data Compression) reduz até 80% o consumo de I/O.

  5. Infraestrutura Analítica: suporte nativo a IBM DB2 Analytics Accelerator (IDAA) — integração direta com appliances Netezza.

  6. RAS Avançado: autodiagnóstico com predictive failure analysis, microcode resiliente e reinício assistido (RAS 2.0).

  7. Energia e Sustentabilidade: 25% mais desempenho com consumo similar ao z10 — conceito de Green Computing Evolution.


🧠 Curiosidades Bellacosa

  • Codinome interno: “T-Rex”, um apelido que sobreviveu desde a fase de testes, simbolizando força e longevidade.

  • Foi o mainframe com o maior clock real já lançado (5,5 GHz) — nenhum outro processador comercial o superou até hoje.

  • O z11 foi o primeiro mainframe a permitir “Capacity on Demand em tempo real”, ativando processadores adicionais sem reinicializar.

  • A IBM usou o Watson (sim, o da Jeopardy!) em testes de tuning da plataforma z11.

  • Suporte completo ao zAware (Analytics for System z), um mecanismo de detecção de anomalias operacionais baseado em aprendizado de máquina — primeira aplicação prática de IA no mainframe.

  • O EC12 era tão estável que muitos bancos ainda o mantêm ativo em DR, mesmo após migrações ao z14/z15.


💾 Nota Técnica

  • Frequência: 5,5 GHz (recorde absoluto em servidores até hoje).

  • Cache: L1 – 64 KB, L2 – 3 MB, L3 – 48 MB compartilhado.

  • Canais I/O: FICON Express8S, OSA-Express4, HiperSockets aprimorados.

  • Firmware: PR/SM + HMC 2.14, suporte a Dynamic Memory Reconfiguration.

  • Criptografia: CryptoExpress4S com PCIe, suportando 4096-bit RSA.

  • Hypervisor: PR/SM com Logical Channel Subsets e CPU Pooling.


💡 Dicas e Insights para Padawans Mainframeiros

  1. Estude o z11 como ponte para o z13: foi aqui que nasceram conceitos de analytics embarcado, IA preditiva e compressão zEDC.

  2. Treine o olhar para performance tuning: o z11 é o laboratório perfeito para entender WLM, zIIP e DB2 acceleration.

  3. Aprofunde-se em specialty engines: zAAP (Java), zIIP (DB2), IFL (Linux) e ICF — o z11 foi o primeiro a permitir balanceamento dinâmico entre eles.

  4. Curiosidade de aula: o z11 EC12 teve edições comemorativas nos 100 anos da IBM, com painéis personalizados nas primeiras unidades.

  5. Dica prática: ainda hoje é usado em ambientes de homologação por grandes bancos — ideal para testar z/OS 2.1 com workloads híbridos.


🧬 Origem e História

O projeto System z11 EC12 nasceu em 2009, sob o nome interno “Project T-Rex II”, com investimento de mais de 1 bilhão de dólares e participação dos laboratórios IBM de Poughkeepsie (EUA), Boeblingen (Alemanha) e Guadalajara (México).

A IBM o apresentou oficialmente em 28 de agosto de 2012, destacando seu papel no Smarter Planet Initiative, o movimento que buscava transformar TI corporativa em plataforma cognitiva e sustentável.

O zBC12, lançado em 2013, levou a mesma tecnologia para empresas médias, consolidando o sucesso comercial da geração z11.


📜 Legado e Impacto

O System z11 (zEC12) foi o primeiro mainframe a:

  • Rodar análises em tempo real com zAware;

  • Trazer compressão e criptografia em hardware integradas;

  • Executar 5,5 GHz de pura estabilidade sem pular um ciclo;

  • Consolidar o conceito de infraestrutura híbrida zEnterprise (mainframe + blade POWER/x86).

Foi a base direta do z13, que traria o suporte a analytics cognitivo e Big Data com Watson e Spark — mas tudo começou aqui, com o z11.


Conclusão Bellacosa

O IBM System z11 EC12 foi o “mainframe da maturidade”: estável, inteligente, analítico e extremamente elegante em sua engenharia.
Mais do que performance, trouxe autonomia e automação — preparando o palco para a era cognitiva.

“Se o z10 foi músculo, o z11 foi o cérebro. E juntos, abriram o caminho para o Watson ouvir o som dos bits.”
Bellacosa Mainframe