☕ 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, 24 de março de 2024

O Mentalista Entra no CPD — O Dia em que Patrick Jane Olhou para um APPLY CHECK e Descobriu Quem Estava Mentindo sobre a PTF

 
Bellacosa Mainframe apresenta o IBM SMP/E

Um Café no Bellacosa Mainframe

O Mentalista Entra no CPD — O Dia em que Patrick Jane Olhou para um APPLY CHECK e Descobriu Quem Estava Mentindo sobre a PTF

Ou: como CSI, Global Zone, Target Zone, Distribution Zone, SYSMOD, FMID, HOLDDATA, HIPER, FIXCAT, RECEIVE, APPLY, ACCEPT, RESTORE e um programador COBOL iniciante descobriram que o SMP/E não lê pensamentos — ele apenas guarda evidências melhor do que todo mundo


São 03:17 da manhã.

Porque, evidentemente, todo problema realmente educativo em mainframe começa às 03:17.

O telefone toca.

Produção está funcionando.

Isso normalmente seria uma boa notícia.

Mas alguém resolve acrescentar:

— Precisamos instalar uma correção urgente.

Na tela aparece uma PTF.

O programador COBOL iniciante olha para aquilo com a mesma expressão de alguém que acabou de descobrir uma porta secreta atrás do PROCEDURE DIVISION.

O System Programmer pergunta:

— Você verificou a HOLDDATA?

Silêncio.

— Executou APPLY CHECK?

Mais silêncio.

— Conhece os requisites?

O silêncio agora já adquiriu status de documentação oficial.

Nesse instante, um homem entra no CPD carregando uma xícara de chá.

Não parece particularmente impressionado com o IBM Z, os monitores, os alertas nem com o fato de metade da equipe estar discutindo se deve ou não aplicar uma manutenção em produção.

Ele olha para a tela durante alguns segundos.

Depois olha para o programador.

— Você não sabe exatamente o que essa PTF faz.

— Como sabe?

— Porque você está olhando para o número dela esperando que ele lhe conte alguma coisa.

Patrick Jane sorri.

O operador franze a testa.

— E você entende de SMP/E?

— Não.

Ele toma um gole do chá.

— Mas entendo quando alguém está tentando tomar uma decisão sem observar as evidências.

Bem-vindo ao SMP/E.

E talvez essa seja uma das melhores maneiras de aprendê-lo.

Porque SMP/E não é essencialmente uma coleção de comandos.

É um sistema construído ao redor de uma obsessão muito parecida com a de um investigador:

nunca confie apenas no que alguém diz que aconteceu; descubra o que realmente aconteceu.



1. A primeira pista: SMP/E não é um instalador de PTF

O iniciante normalmente encontra SMP/E através de frases como:

“Usamos SMP/E para instalar manutenção no z/OS.”

A frase não está propriamente errada.

O problema é que ela é perigosamente incompleta.

Seria como dizer:

“Db2 serve para guardar dados.”

Ou:

“CICS serve para executar COBOL.”

Tecnicamente verdade.

Conceitualmente pobre.

SMP/E significa:

System Modification Program/Extended.

Sua função é administrar software e suas modificações dentro do ambiente z/OS.

Isso significa controlar coisas como:

  • o que está instalado;

  • quais modificações chegaram;

  • quais modificações foram aplicadas;

  • quais foram aceitas;

  • quais componentes foram alterados;

  • quais dependências existem;

  • quais correções substituem outras;

  • quais problemas conhecidos acompanham determinada manutenção;

  • quais alterações locais precisam ser preservadas.

Patrick Jane provavelmente resumiria assim:

“Você pensa que está investigando uma PTF. Na verdade está investigando a história dela.”

E essa história é justamente o que o SMP/E tenta preservar.



2. A cena do crime: software corporativo não permanece parado

Imagine instalar um produto IBM hoje.

Versão limpa.

Tudo documentado.

Tudo lindo.

Agora avance cinco anos.

Centenas de PTFs foram instaladas.

Algumas corrigiram APARs.

Outras foram substituídas posteriormente.

Uma equipe criou USERMODs.

Algumas correções possuem prerequisites.

Outras possuem coexistence requirements.

Uma manutenção crítica chegou depois.

Certos módulos foram modificados várias vezes.

Um novo release entrou no ambiente.

Agora alguém pergunta:

“Qual é exatamente o estado desse software?”

Sem um mecanismo estruturado para responder isso, você teria algo parecido com:

PROD_FINAL
PROD_FINAL2
PROD_FINAL_OK
PROD_FINAL_OK_MESMO
PROD_NAO_MEXER
PROD_ANTES_DA_CORRECAO

Patrick Jane olha para os nomes.

— Quem criou isso?

Ninguém responde.

Ele aponta para PROD_FINAL_OK_MESMO.

— O culpado está aqui.

O velho System Programmer suspira.

— Foi por isso que inventaram SMP/E.



3. CSI — a memória do investigador

Um dos conceitos mais importantes de SMP/E é o:

CSI — Consolidated Software Inventory.

Para o programador COBOL iniciante, vale pensar nele como a memória estruturada do SMP/E.

Não é simplesmente uma biblioteca contendo programas.

É um conjunto de informações que permite ao SMP/E conhecer o estado dos componentes e modificações que administra.

Dentro dessa arquitetura aparecem três conceitos fundamentais:

GLOBAL ZONE

TARGET ZONE

DISTRIBUTION ZONE

E aqui surge um erro comum.

Não pense:

GLOBAL = desenvolvimento

TARGET = homologação

DISTRIBUTION = produção

Não.

Essas zonas têm outra função.

Patrick Jane pega três cartões e coloca sobre uma mesa.

No primeiro escreve:

GLOBAL

No segundo:

TARGET

No terceiro:

DISTRIBUTION

— Não são lugares — diz ele. — São perspectivas diferentes sobre o mesmo caso.

É uma excelente maneira de pensar.



4. Global Zone — o arquivo geral do caso

A Global Zone contém informações administrativas de alcance global dentro daquele ambiente SMP/E.

É onde o SMP/E mantém conhecimento importante sobre material recebido e sobre as zonas que administra.

Podemos simplificar:

               GLOBAL
                  |
        +---------+---------+
        |                   |
     TARGET            DISTRIBUTION

A Global Zone funciona como uma espécie de índice administrativo da investigação.

Ela sabe que determinadas coisas existem.

Mas isso ainda não significa que estejam executando.

Essa diferença será fundamental quando chegarmos ao RECEIVE.


5. Target Zone — onde a modificação entra em jogo

A Target Zone representa informações relacionadas ao software instalado nas Target Libraries.

Esse é o ambiente utilizado para execução.

Quando determinada manutenção é aplicada, é ali que encontramos o estado correspondente ao software modificado para utilização.

Uma representação didática:

TARGET ZONE
    |
    v
TARGET LIBRARIES
    |
    v
SOFTWARE UTILIZADO

O iniciante normalmente chega aqui e pensa:

“Então APPLY coloca a correção no sistema?”

De maneira simplificada, sim.

Mas existe um mundo inteiro entre receber uma PTF e chegar a esse ponto.

E é exatamente aí que mora a diferença entre um profissional cuidadoso e alguém que acredita que manutenção consiste em copiar arquivos.


6. Distribution Zone — a referência controlada

A Distribution Zone representa as informações relacionadas às Distribution Libraries.

Essas bibliotecas funcionam como uma referência de distribuição controlada pelo SMP/E.

Quando ocorre ACCEPT, a manutenção correspondente é incorporada nesse universo.

Portanto temos uma ideia importante:

TARGET
   !=
DISTRIBUTION

E essa diferença explica por que:

APPLY

não significa a mesma coisa que:

ACCEPT

Voltaremos a isso.

Patrick Jane observa o programador anotando.

— Está começando a perceber.

— O quê?

— Que SMP/E não pensa em “arquivo novo” e “arquivo velho”. Ele pensa em estado.

Exatamente.


7. SYSMOD — o suspeito finalmente tem nome

No universo SMP/E encontramos SYSMODs.

System Modifications.

Eles representam modificações administradas pelo SMP/E.

Entre as categorias fundamentais encontramos:

FUNCTION
PTF
APAR
USERMOD

Aqui existe uma distinção importante.

O infográfico que originou nossa investigação apresentava também FMID próximo desses conceitos.

Mas FMID não deve ser entendido simplesmente como uma quinta categoria equivalente.

FMID — Function Modification Identifier identifica uma função/produto dentro desse ecossistema.

Enquanto FUNCTION, PTF, APAR e USERMOD descrevem tipos fundamentais de SYSMOD, FMID ajuda a estabelecer a qual função determinada manutenção está relacionada.

Parece detalhe.

Não é.

Mainframe é uma plataforma na qual detalhes aparentemente burocráticos frequentemente determinam se você sabe o que está modificando.


8. FUNCTION — quando uma função entra no universo SMP/E

Uma FUNCTION SYSMOD introduz uma função no ambiente controlado pelo SMP/E.

Pode representar a base de determinado produto ou funcionalidade.

Pense nisso como o primeiro capítulo do prontuário.

Depois dela chegam modificações.


9. APAR e PTF — problema e solução não são exatamente a mesma coisa

Outro erro comum é usar APAR e PTF como sinônimos.

APAR significa:

Authorized Program Analysis Report.

Ele está relacionado à identificação e tratamento formal de um problema.

A correção correspondente pode posteriormente ser disponibilizada como uma PTF — Program Temporary Fix.

Didaticamente:

problema identificado
        |
        v
      APAR
        |
        v
solução distribuída
        |
        v
       PTF

A realidade pode envolver nuances adicionais, mas para o iniciante essa separação já evita muita confusão.

Patrick Jane ergue a sobrancelha.

— Então APAR é o crime e PTF é o policial?

O System Programmer pensa alguns segundos.

— Não exatamente.

— Melhor ainda. Significa que você está aprendendo.


10. USERMOD — quando sua própria empresa entra na história

Agora temos algo particularmente interessante:

USERMOD.

Imagine que a instalação precise modificar um elemento fornecido pelo produto.

Poderia simplesmente alterar uma library diretamente.

Funcionaria.

Por algum tempo.

Até chegar uma PTF que modifica exatamente o mesmo elemento.

Agora você possui:

IBM modification
       +
local modification
       +
nova manutenção

Quem vence?

Quem sabe o que aconteceu?

Quem preservou documentação?

SMP/E permite registrar modificações locais através de USERMODs.

Isso transforma uma alteração invisível em algo administrável.

É uma mudança filosófica enorme.

Não é:

“Mexemos no módulo.”

É:

“Existe uma modificação local formalmente conhecida pelo sistema de gerenciamento.”

Patrick Jane sorri.

— Finalmente alguém deixou impressões digitais.


11. Dependências — ninguém trabalha sozinho

Aqui SMP/E começa a ficar realmente fascinante.

Imagine:

PTF A
 |
 +---- requires PTF B
 |
 +---- requires PTF C
            |
            +---- requires PTF D

Agora imagine centenas disso.

Uma PTF pode depender de outra.

Uma correção pode superseder outra.

Uma USERMOD pode entrar em conflito com manutenção nova.

Determinados requisites precisam ser satisfeitos antes que uma alteração possa ser instalada corretamente.

Isso transforma o conjunto de manutenção em um verdadeiro grafo de dependências.

Se você conhece:

  • npm;

  • Maven;

  • Gradle;

  • pip;

  • apt;

  • dnf;

o problema conceitual deveria parecer familiar.

O mainframe já enfrentava isso muito antes de dependency management virar assunto cotidiano no desenvolvimento moderno.


12. RECEIVE — a evidência chegou à delegacia

Agora chegamos ao primeiro dos comandos famosos.

RECEIVE

O iniciante costuma pensar:

“RECEIVE instala a PTF.”

Não.

RECEIVE significa que o material entra formalmente no domínio controlado pelo SMP/E.

Imagine uma delegacia recebendo uma caixa de evidências.

A caixa chegou.

Foi registrada.

Foi identificada.

Foi armazenada.

Mas ninguém apresentou aquilo ao tribunal ainda.

Isso é RECEIVE.

Podemos usar uma analogia simples:

RECEIVE = chegou ao almoxarifado

APPLY   = foi instalado

ACCEPT  = virou parte consolidada da referência

Essa analogia é imperfeita.

Mas é excelente pedagogicamente.


13. O MCS — a ficha que acompanha a modificação

Agora surge um elemento delicioso para quem gosta da arqueologia elegante do mainframe:

Modification Control Statements — MCS.

Você pode encontrar estruturas com elementos como:

++PTF(...)
++VER(...)
++MOD(...)

Os dois sinais de mais parecem ter sido projetados deliberadamente para assustar programadores Java.

Mas eles têm função.

Essas statements descrevem ao SMP/E informações necessárias para compreender aquela modificação.

Qual é?

A qual função pertence?

O que modifica?

Quais elementos estão envolvidos?

Quais relações existem?

Em outras palavras:

o código é o corpo da evidência; MCS é a documentação forense.


14. HOLDDATA — Patrick Jane encontra a informação que todos ignoraram

Voltamos ao incidente das 03:17.

Existe uma PTF.

Alguém diz:

— Precisamos instalar imediatamente.

Jane pergunta:

— Existe HOLDDATA?

Silêncio.

Aqui está um dos conceitos mais importantes da trilha inteira.

HOLDDATA contém informações que podem indicar que determinado SYSMOD possui condições que precisam ser conhecidas antes de seu processamento.

Isto pode significar:

“Há um problema conhecido.”

“Existe uma ação necessária.”

“Leia antes de continuar.”

O programador iniciante pergunta:

— Então é como um alerta?

Sim.

Mas é melhor pensar como inteligência operacional associada à manutenção.

A PTF diz:

“Eu existo.”

A HOLDDATA pergunta:

“Você sabe no que está se metendo?”


15. ERROR HOLD — existe problema conhecido aqui

Uma categoria importante envolve ERROR HOLD.

Ela pode indicar problema conhecido relacionado àquela manutenção.

Isso é extraordinariamente importante.

Imagine instalar uma correção destinada a resolver um problema e introduzir outro já conhecido.

Sem informação adequada:

surpresa.

Com HOLDDATA:

decisão consciente.

Existe uma diferença imensa entre as duas coisas.


16. HIPER — quando nem toda PTF merece a mesma prioridade

Outro conceito importantíssimo é:

HIPER — High Impact or PERvasive.

Certos problemas possuem impacto suficientemente importante para receber classificação especial.

E aqui SMP/E passa de simples instalação para gestão de risco.

Imagine 800 PTFs disponíveis.

O administrador não precisa apenas perguntar:

“Quais existem?”

Ele precisa perguntar:

“Quais realmente importam para o meu ambiente?”

É aí que metadata de manutenção torna-se extremamente valiosa.


17. FIXCAT — manutenção com contexto

Outro recurso importante é FIXCAT.

Fix Categories.

A ideia é associar determinadas correções a categorias relevantes.

Isso ajuda a responder perguntas muito melhores.

Em vez de:

“Quais PTFs ainda não instalei?”

podemos nos aproximar de:

“Quais correções estão relacionadas àquilo que estou tentando fazer?”

Essa mudança parece pequena.

Mas representa a transição de inventário para inteligência de manutenção.


18. APPLY CHECK — o momento Mentalista do SMP/E

Chegamos ao meu comando favorito para ensinar a iniciantes:

APPLY CHECK

Por quê?

Porque ele contém praticamente toda uma filosofia operacional.

Você está dizendo:

“SMP/E, diga-me o que aconteceria se eu executasse esta instalação.”

Mas ainda não está efetivamente aplicando aquela manutenção.

No universo moderno chamaríamos isso facilmente de:

dry-run

Patrick Jane apontaria para a tela:

— Está vendo?

— O quê?

— Você não precisa esperar o crime acontecer para procurar pistas.

É exatamente isso.

Antes de APPLY, você pode analisar.

Dependências.

HOLDs.

Requisites.

Condições.

Mensagens.

Resultados.

E somente depois tomar a decisão.


19. Nunca ignore as mensagens

O iniciante frequentemente procura apenas:

RC=00

Se recebeu zero, comemora.

Se recebeu oito, entra em pânico.

Esse comportamento precisa morrer cedo.

Troubleshooting de SMP/E exige observar:

  • mensagens;

  • sequence of events;

  • SYSMODs envolvidos;

  • requisites;

  • HOLDs;

  • zonas;

  • bibliotecas;

  • return codes;

  • relatórios.

Mensagens começando por:

GIM...

fazem parte do idioma operacional do SMP/E.

O System Programmer experiente não pergunta apenas:

“Qual foi o RC?”

Pergunta:

“O que o job realmente informou?”

Patrick Jane aprovaria.

Porque investigadores ruins procuram confissões.

Investigadores bons procuram contexto.


20. APPLY — agora sim mexemos no ambiente

Depois de receber, analisar HOLDDATA, verificar dependências e executar CHECK, chegamos a:

APPLY

Agora a manutenção é instalada em relação ao Target.

Aqui o nível de responsabilidade muda.

Antes estávamos preparando evidência.

Agora estamos alterando o estado do software utilizado.

Por isso o processo deveria parecer algo como:

RECEIVE
   |
   v
HOLDDATA
   |
   v
APPLY CHECK
   |
   v
ANALYSIS
   |
   v
APPLY

Nunca:

baixou
  |
  v
APPLY
  |
  v
rezar

Embora algumas empresas aparentemente tenham adotado o segundo método durante certas décadas.


21. Testar é parte da manutenção

Após APPLY existe uma janela preciosa.

APPLY
  |
  v
TARGET
  |
  v
TEST

Isso deveria fazer parte explicitamente da mentalidade do iniciante.

Software alterado precisa ser validado.

O fato de SMP/E concluir uma operação não significa automaticamente:

“Sua aplicação de negócio está perfeita.”

SMP/E administra manutenção.

Seu ambiente precisa verificar comportamento.

Testes técnicos.

Testes funcionais.

Smoke tests.

Validações específicas.

Dependendo do componente:

IPL.

Restart.

CICS recycle.

Db2 considerations.

Subsystem actions.

Tudo depende do software e da mudança.


22. ACCEPT — o erro clássico é pensar que é APPLY 2.0

Depois de testar e validar, chegamos ao:

ACCEPT

Esse comando possui significado diferente.

Ele consolida a manutenção correspondente no universo das Distribution Libraries.

Por isso APPLY e ACCEPT representam momentos distintos.

Didaticamente:

RECEIVE
    |
    v
APPLY
    |
    v
TEST
    |
    +---- PROBLEM ---> RECOVERY
    |
    v
ACCEPT

O intervalo entre APPLY e ACCEPT possui importância operacional.

Não trate ACCEPT como simplesmente:

“Agora aperto o segundo botão.”

Ele representa outra decisão.


23. ACCEPT CHECK — sim, investigue de novo

Se APPLY CHECK é importante, ACCEPT CHECK segue a mesma filosofia:

“Antes de consolidar, quero entender o que acontecerá.”

É uma mentalidade que deveria acompanhar qualquer profissional de infraestrutura:

simule
analise
execute
valide
consolide

Essa sequência não pertence apenas ao SMP/E.

Pertence à engenharia madura.


24. RESTORE — todo bom plano precisa saber voltar

Agora imagine que algo deu errado depois do APPLY.

Dependendo do estado e das condições da manutenção, RESTORE entra como parte das capacidades de recuperação.

Esse é outro conceito gigantesco para um iniciante:

Uma mudança não está completamente planejada enquanto o caminho de retorno não foi entendido.

Antes de executar:

APPLY

a pergunta não deve ser apenas:

“Como instalo?”

Também precisa existir:

“Como me recupero?”

Essa pergunta distingue laboratório de produção.


25. REJECT — removendo aquilo que ainda não deveria permanecer

Dentro da administração SMP/E também encontramos REJECT, associado à remoção/rejeição de determinados SYSMODs recebidos conforme contexto apropriado.

Mais uma vez aparece a ideia de estado.

Material pode:

  • chegar;

  • ser conhecido;

  • ser aplicado;

  • ser removido;

  • ser aceito;

  • ser rejeitado.

SMP/E não está apenas manipulando bytes.

Ele está administrando transições de estado.


26. LIST e REPORT — o investigador começa a fazer perguntas

Um curso que ensine apenas:

RECEIVE
APPLY
ACCEPT

ensina SMP/E como alguém ensinaria SQL apenas com:

INSERT
UPDATE
DELETE

e esquecesse:

SELECT

Você precisa ser capaz de perguntar ao sistema:

“O que você sabe?”

É aí que LIST, REPORT e outras formas de consulta tornam-se extremamente importantes.

Um administrador precisa investigar.

Quais SYSMODs existem?

Qual é o estado?

Quais problemas estão registrados?

Qual manutenção falta?

Que relações estão presentes?

SMP/E também é uma ferramenta de interrogação do inventário de software.


27. REPORT ERRSYSMODS — procurando suspeitos perigosos

Um dos exemplos interessantes de análise é:

REPORT ERRSYSMODS

Utilizado juntamente com informações relevantes de HOLDDATA, ajuda a analisar situações relacionadas a SYSMODs problemáticos e manutenção correspondente.

Isso representa novamente aquela filosofia:

Não espere descobrir o problema depois de tropeçar nele.

Procure informações sobre problemas conhecidos.

Patrick Jane fecha os olhos.

— O criminoso cometeu um erro.

— Qual?

— Ele achou que ninguém consultaria o relatório.


28. RECEIVE ORDER — o SMP/E descobriu a Internet

Muita gente imagina SMP/E como uma espécie de ritual envolvendo fitas magnéticas trazidas por uma van da IBM.

A realidade moderna é diferente.

Existe:

RECEIVE ORDER

que permite aquisição eletrônica de manutenção e informações associadas através dos mecanismos correspondentes de service delivery.

Isso pode inclusive fazer parte de processos automatizados.

Então temos algo como:

IBM SERVICE
     |
     v
RECEIVE ORDER
     |
     +---- PTF
     |
     +---- HOLDDATA
     |
     v
    SMP/E

O dinossauro está online.

E, ao contrário de alguns sistemas modernos, ainda lembra perfeitamente o que instalou vinte anos atrás.


29. SMP/E e automação — não confunda antigo com manual

Um erro recorrente na tecnologia é:

antigo = manual.

Não necessariamente.

Processos de obtenção de manutenção podem ser automatizados.

Jobs podem ser estruturados.

Relatórios podem ser analisados.

Rotinas de manutenção podem ser padronizadas.

O verdadeiro objetivo da automação não é transformar SMP/E em:

AUTOAPPLY EVERYTHING

Pelo amor do Sysplex, não.

É automatizar tarefas repetitivas enquanto preserva:

controle + análise + aprovação + auditabilidade.


30. O fluxo completo do caso

Patrick Jane caminha até o quadro branco.

Apaga tudo.

E escreve:

        SERVICE / SYSMOD
               |
               v
           RECEIVE
               |
               v
          HOLDDATA
               |
               v
         APPLY CHECK
               |
        +------+------+
        |             |
   REQUISITES       HOLDS
        |             |
        +------+------+
               |
               v
            ANALYSIS
               |
               v
             APPLY
               |
               v
        TARGET LIBRARIES
               |
               v
        TEST / VALIDATION
             /     \
          FAIL       OK
           |          |
           v          v
       RESTORE    ACCEPT CHECK
                      |
                      v
                   ACCEPT
                      |
                      v
           DISTRIBUTION LIBRARIES
                      |
                      v
              REPORT / AUDIT

O programador COBOL olha para o desenho.

— Agora entendi.

Jane sorri.

— Não. Agora você sabe quais perguntas fazer.

Essa provavelmente é a melhor definição de aprendizagem técnica que existe.


31. Exercício prático — o caso da PTF desaparecida

Se eu montasse essa trilha para um iniciante, o projeto final não teria vinte perguntas de múltipla escolha.

Eu entregaria um caso.

Missão

Uma nova manutenção precisa ser instalada.

O aluno deverá:

  1. identificar a função correspondente;

  2. localizar o FMID;

  3. analisar o SYSMOD;

  4. executar RECEIVE;

  5. examinar HOLDDATA;

  6. identificar requisitos;

  7. executar APPLY CHECK;

  8. interpretar mensagens SMP/E;

  9. resolver um prerequisite propositalmente ausente;

  10. executar APPLY;

  11. validar Target Libraries;

  12. executar testes;

  13. simular um problema;

  14. determinar estratégia de recovery;

  15. utilizar RESTORE quando apropriado;

  16. reaplicar corretamente;

  17. executar ACCEPT CHECK;

  18. executar ACCEPT;

  19. gerar REPORT;

  20. documentar todo o procedimento.

Agora sim temos treinamento.

O aluno não decorou comandos.

Ele administrou uma mudança.


32. Dica Bellacosa para quem vem de COBOL

Programadores COBOL frequentemente ficam assustados com SMP/E porque ele parece pertencer a outro universo.

Mas você já possui boa parte da mentalidade necessária.

COBOL ensina disciplina.

Mainframe ensina estado.

JCL ensina dependência entre etapas.

Db2 ensina integridade.

CICS ensina contexto transacional.

RACF ensina que nada deveria acontecer sem autorização adequada.

SMP/E acrescenta:

mudança controlada.

Você pode imaginar o ecossistema como uma cidade:

COBOL = trabalhadores

CICS = central de atendimento

Db2 = cartório

RACF = polícia

JES2 = logística

WLM = controle de tráfego

SMF = câmeras de segurança

SMP/E = departamento que sabe exatamente
        quais peças da cidade foram substituídas

E quando Patrick Jane chega?

Ele simplesmente lê o SMF enquanto toma chá.


33. Easter egg — Red John instalou uma USERMOD

Às 04:42, toda a manutenção finalmente funciona.

O programador prepara-se para sair.

Patrick Jane continua olhando para uma saída do SMP/E.

— Temos outro problema.

Todos congelam.

— O quê?

Ele aponta.

Existe uma USERMOD antiga.

Sem documentação atual.

Modifica exatamente o mesmo elemento envolvido na manutenção.

No comentário existe apenas:

/* DO NOT REMOVE - IMPORTANT */

Jane sorri.

— Encontramos nosso Red John.

O System Programmer começa a rir.

O programador COBOL não entende.

Ainda.

Daqui a quinze anos entenderá perfeitamente.


34. A verdadeira lição do SMP/E

Depois de muitas páginas, dezenas de conceitos e uma quantidade ligeiramente irresponsável de café, podemos finalmente responder:

Para que serve SMP/E?

Uma resposta superficial:

Para instalar manutenção no z/OS.

Uma resposta melhor:

Para controlar instalação e manutenção de software.

Uma resposta ainda melhor:

Para manter conhecimento estruturado sobre componentes, modificações, dependências e níveis de software administrados dentro do z/OS.

Mas existe uma resposta Bellacosa:

SMP/E existe para impedir que o futuro precise adivinhar o que o passado fez.

Isso é tremendamente importante.

Sistemas críticos vivem décadas.

Equipes mudam.

Funcionários se aposentam.

Fornecedores atualizam produtos.

Arquiteturas evoluem.

Documentações desaparecem.

Memórias humanas falham.

Mas alguém precisa continuar sabendo:

o que foi instalado?
quando?
sobre qual produto?
qual dependência existia?
qual correção substituiu qual?
qual modificação local estava presente?
qual problema conhecido existia?
qual é o estado atual?

Essa é a inteligência que SMP/E tenta preservar.


35. Patrick Jane fecha o caso

São 05:03.

Produção está estável.

A PTF foi aplicada.

Os testes passaram.

A equipe documentou a mudança.

HOLDDATA foi analisada.

Requisites foram satisfeitos.

Ninguém executou comandos no escuro.

O programador COBOL, que algumas horas antes achava que SMP/E era apenas “aquela coisa que instala PTF”, olha novamente para o CSI.

Agora ele enxerga outra coisa.

História.

Relações.

Estado.

Evidências.

Patrick Jane termina o chá.

— Então você realmente não lê pensamentos? — pergunta o programador.

Jane sorri.

— Quase nunca é necessário.

Ele aponta para o spool.

— As pessoas deixam pistas por toda parte.

O velho System Programmer concorda.

— Principalmente quando esquecem de olhar a HOLDDATA.

Jane caminha para a saída.

Antes de atravessar a porta, vira-se uma última vez.

— E execute CHECK primeiro.

O programador ri.

— Sempre?

Patrick Jane olha para ele.

— Você pretende descobrir em produção que estava errado?

Silêncio.

Ele desaparece pelo corredor.

No monitor permanece:

RECEIVE
   ↓
ANALYZE
   ↓
APPLY CHECK
   ↓
APPLY
   ↓
TEST
   ↓
ACCEPT

E talvez seja esse o verdadeiro segredo do SMP/E.

Ele não prevê o futuro.

Ele faz algo muito mais útil:

obriga você a investigar o presente antes de modificá-lo.

☕🦖

E, no mainframe, prevenção continua sendo uma habilidade quase sobrenatural.

sábado, 23 de março de 2024

💾🔥 “OJISAN FALA IGUAL SYSOP DOS ANOS 90” — OS JARGÕES DE ISEKAI OJISAN QUE CONFUNDEM OTAKUS MODERNOS 🔥💾

 

Bellacosa Mainframe em girias e jargões presentes em Isekai Osijan 

💾🔥 “OJISAN FALA IGUAL SYSOP DOS ANOS 90” — OS JARGÕES DE ISEKAI OJISAN QUE CONFUNDEM OTAKUS MODERNOS 🔥💾

Se você assistiu Isekai Ojisan e sentiu que o protagonista parecia um operador veterano preso em 1998… parabéns.

👉 Você ENTENDEU o anime.

O Ojisan não apenas voltou de outro mundo.
Ele voltou também de uma era onde:

  • internet era barulhenta,
  • videogame tinha guerra religiosa,
  • e vergonha social era protocolo padrão 😄

Para um operador mainframe padawan otaku, isso aqui é praticamente um treinamento de arqueologia digital.


🖥️ 1. “SEGA GANHA DE TUDO”

🎮 O dogma absoluto do Ojisan

🇯🇵 Original

「セガは世界一!」

🇧🇷 Tradução

“SEGA é a melhor do mundo!”


💥 O contexto histórico

Nos anos 90 existia algo parecido com:

  • JES2 vs JES3
  • CICS vs IMS
  • VTAM vs TCP/IP

…só que nos videogames.

Era:

  • Nintendo
  • SEGA
  • Sony

E as pessoas brigavam MESMO.

Ojisan é um fanático por SEGA Saturn.

👉 Isso seria equivalente a:
“Meu z/OS 1.13 ainda é superior e ninguém muda minha opinião.”


📼 2. “TSUNDERE”

❤️ O erro de interpretação do Ojisan

A elfa claramente ama ele.

Mas Ojisan não entende NADA.


🇯🇵 Termo

ツンデレ (Tsundere)

🇧🇷 Tradução aproximada

Pessoa agressiva por fora… apaixonada por dentro.


💾 Explicação Bellacosa

Ojisan interpreta comportamento social igual operador novato lendo dump hexadecimal.

Ele recebe:

  • sinais românticos,
  • indiretas,
  • demonstrações de carinho…

…e processa tudo como:

UNKNOWN COMMAND

📡 3. “WWW”

😂 O “kkkkk” japonês

🇯🇵 Original

「www」


🇧🇷 Tradução

“kkkkkkkk”

O “W” vem de:
「warau」 = rir.

Então:

  • w = rs
  • ww = kkk
  • wwwwwww = caos absoluto no chat 😄

💻 Analogia mainframe

É o equivalente otaku de:

IEFBR14 salvando produção

Quem entende, ri imediatamente.


☠️ 4. “Omae…”

😠 O clássico tom agressivo anime anos 90

🇯🇵 Original

「お前」

🇧🇷 Tradução

“Você” (mas de forma rude)


🎥 Contexto

Muito usado em:

  • Yu Yu Hakusho
  • Hokuto no Ken
  • Dragon Ball antigo
  • animes violentos dos anos 90

Ojisan fala igual protagonista bruto dessa época.


🖥️ Equivalente mainframe

É o mesmo impacto de alguém no CPD falar:

QUEM FOI O ANIMAL QUE APAGOU A GDG?

📞 5. “NORMIE”

🌎 O trauma social do Ojisan

🇯🇵 Gíria usada no contexto otaku

リア充 (Riajuu)


🇧🇷 Tradução

“Pessoa normal/socialmente bem-sucedida”


💥 O que isso significa?

Ojisan odeia pessoas:

  • populares,
  • sociáveis,
  • felizes,
  • com vida amorosa funcional 😄

💾 Analogia Bellacosa

É o operador batch olhando o pessoal cloud dizendo:

“Esses jovens nunca sofreram com fita magnética.”


🧙 6. “CHEAT”

⚡ O poder apelão do protagonista

🇯🇵 Original

チート能力

🇧🇷 Tradução

“Poder roubado/apelão”


🎮 Origem

Veio dos videogames:

  • cheat code,
  • GameShark,
  • Action Replay.

🖥️ Equivalente mainframe

Tipo um usuário que:

  • não sabe JCL,
  • não sabe SORT,
  • não sabe IDCAMS…

…mas tem autoridade SPECIAL no RACF 😄


📺 7. “OVA”

📼 Coisa MUITO anos 90

🇯🇵 Original

OVA = Original Video Animation


🇧🇷 Tradução

Anime lançado direto em VHS/DVD.

Antes do streaming:

  • anime raro,
  • fansub,
  • fita VHS,
  • qualidade horrível,
  • legenda neon piscando 😄

💾 Analogia Bellacosa

Equivalente ao:

manual escaneado em PDF torto de 1994

🧠 8. O MAIOR JARGÃO DE TODOS:

“ELE PAROU NO TEMPO”

Ojisan entrou em coma em 2000.

Então ele:

  • não conhece smartphones,
  • não conhece streaming,
  • não entende cultura moderna,
  • age igual fórum obscuro da internet antiga.

💥 Isso é MUITO importante

O anime inteiro funciona porque:
👉 o protagonista virou um “sistema legado humano”.

Ele é literalmente:

  • compatível com outra era,
  • poderoso,
  • funcional…
  • mas socialmente incompatível com o ambiente atual 😄

🖥️ CONCLUSÃO FINAL (modo operador veterano)

“Isekai Ojisan” não é só um anime de comédia.

É uma cápsula do tempo dos:

  • gamers dos anos 90,
  • fóruns antigos,
  • cultura otaku raiz,
  • guerras de console,
  • trauma social da internet velha.

💣 Para quem viveu isso:
o anime é nostalgia pura.

💾 Para um operador mainframe:
Ojisan parece aquele sysprog veterano que:

  • odeia mudança,
  • confia mais em tecnologia antiga,
  • e continua funcionando melhor que todo mundo 😄

sexta-feira, 22 de março de 2024

💣🔥 MORREU… MAS O JOB NÃO FINALIZOU — O ISEKAI BUGADO DE IMORTALIDADE QUE VIROU LOOP INFINITO 🔥💣

 

Bellacosa Mainframe analisa Nozomanu segunda chance

💣🔥 MORREU… MAS O JOB NÃO FINALIZOU — O ISEKAI BUGADO DE IMORTALIDADE QUE VIROU LOOP INFINITO 🔥💣

Se você acha que já viu de tudo em isekai… segura esse dump de memória:
Nozomanu Fushi no Boukensha é aquele caso clássico de JOB que deveria abendar… mas entra em loop eterno.


📅 DATA DE LANÇAMENTO (O “SUBMIT” DO JOB)

  • Estreia: Janeiro de 2024
  • Estúdio: Connect
  • Baseado na light novel de Yu Okano

👉 Traduzindo pro mundo mainframe: esse anime entrou em produção silenciosa… e de repente apareceu em produção sem alarde — igual job crítico rodando em batch noturno.


🧠 HISTÓRIA (O ABEND MAIS ESTRANHO DO SISTEMA)

O protagonista Rentt Faina (nível bronze, quase NPC) passa anos grindando dungeon… até que:

💥 MORRE.
💀 Ressuscita como um esqueleto.

Só que aqui vem o diferencial:

➡️ Ele não vira overpower instantâneo
➡️ Ele precisa evoluir como undead
➡️ Cada transformação = tipo upgrade de versão do sistema

Skeleton → Ghoul → Vampire-like…

👉 Isso aqui é praticamente um ciclo de versionamento de software vivo.


⚙️ MECÂNICA DO ANIME (OU: O “SISTEMA OPERACIONAL” DELE)

Diferente de muito isekai genérico:

  • Progressão lenta e lógica
  • Mundo com regras consistentes
  • Evolução baseada em esforço (não cheat)

👉 Isso lembra mais:

  • Overlord (pela pegada undead)
  • That Time I Got Reincarnated as a Slime (pela evolução progressiva)

Mas com menos fanservice e mais “simulação de vida”.


🧩 CURIOSIDADES (SEGREDOS DO SISTEMA)

💡 O título significa literalmente:
👉 “O Aventureiro Imortal Indesejado”

Ou seja:
👉 Nem o sistema queria esse cara rodando… mas ele continua online.

💡 O protagonista mantém a consciência
→ diferente de zumbis clássicos

💡 Forte influência de RPG clássico
→ lembra Dungeons & Dragons + Dark Fantasy


🕵️ EASTER EGGS (OS LOGS ESCONDIDOS)

  • A evolução do Rentt segue arquétipos clássicos de undead da fantasia ocidental
  • Referências sutis a sistemas de rank de guilda típicos de RPG japonês
  • A dungeon funciona quase como um ambiente procedural (tipo batch automático)

👉 É como se cada andar fosse um “step” de JCL.


💬 COMENTÁRIOS (ANÁLISE SEM PASSAR PANO)

Agora vem a parte que separa curioso de veterano:

👉 Pontos fortes:

  • Atmosfera sombria consistente
  • Protagonista fora do padrão (fracassado persistente)
  • Progressão bem construída

👉 Pontos fracos:

  • Ritmo lento (pode parecer “arrastado”)
  • Pouca ação explosiva
  • Não tem aquele hype imediato

💣 Traduzindo:

Não é anime pra dopamine rápido — é anime pra quem gosta de ver o sistema evoluindo step por step.


🧬 ANÁLISE PROFUNDA (MODO ARQUITETO DE SISTEMAS)

Esse anime é sobre uma coisa só:

👉 Persistência em ambiente hostil

Rentt não é especial.
Não tem privilégio.
Não tem override.

Ele é literalmente:

Um processo de baixa prioridade tentando sobreviver num sistema que não liga pra ele.

E mesmo assim…

👉 Ele continua rodando.


🔥 FILOSOFIA OCULTA (O “CORE DUMP” DO ANIME)

  • O mundo não te deve upgrade
  • Evolução não é glamourosa
  • Persistir é mais importante que vencer rápido

Isso bate MUITO com:

👉 vida profissional
👉 carreira em TI
👉 jornada em mainframe


🎯 VEREDITO FINAL

Se fosse classificar no estilo Bellacosa:

💣 NÃO é anime hype
🔥 É anime de resiliência hardcore

👉 Nota: 8/10 (pra quem entende o jogo)


💥 FRASE FINAL (LOG DE PRODUÇÃO)

“Você acha que morreu na carreira…
mas na verdade só mudou de ambiente de execução.”

quinta-feira, 21 de março de 2024

☁️🔥 Do RACF ao Terraform: Como um Padawan Mainframe Pode Dominar a Nuvem Antes que a Nuvem Domine Você

 

Bellacosa Mainframe fala sobre Cloud Terraform RACF

☁️🔥 Do RACF ao Terraform: Como um Padawan Mainframe Pode Dominar a Nuvem Antes que a Nuvem Domine Você

“A cloud não substituiu o mainframe. Ela apenas espalhou o mainframe pelo planeta — sem manual impresso.”

Se você vem do mundo z/OS, COBOL, CICS, JCL ou operações críticas, este artigo é para você, jovem Padawan. 🧭
Vamos traduzir Cloud Adoption + Cloud Governance + IaC + Segurança para o idioma mainframe — com exemplos reais, curiosidades e alguns easter eggs técnicos no caminho.


🧠 A Grande Verdade Que Ninguém Te Conta

Cloud não é “servidor alugado”.

Cloud é:

🏛️ Infraestrutura + Automação + Governança + Segurança + FinOps + Cultura

Sem governança, a cloud vira:

🔥 Caos rápido
💸 Conta gigantesca
🔓 Vulnerabilidades
🕵️ Shadow IT
📉 Falta de controle


🏗️ Cloud Adoption = Plano de Migração (Estilo SMPE do Século XXI)

Antes de mover qualquer workload, você precisa responder:

  • Por que migrar?
  • O que migrar?
  • Quando migrar?
  • Vale a pena migrar?
  • Como voltar se der ruim?

Sim… Exit Strategy é obrigatório.

🧩 Analogia mainframe

CloudMainframe
Cloud Adoption StrategyPlano de capacity + modernização
Workload migrationConversão batch / online
Exit strategyDR site alternativo
Hybrid cloudSysplex + distribuído

⚔️ As Estratégias de Migração (Os “Rs” da Força)

Nem todo sistema deve ser tratado igual.

🚚 Rehost — Lift and Shift

Mover sem alterar.

👉 Como rodar um COBOL antigo em outro LPAR sem recompilar.


✏️ Revise — Ajustar um pouco

Pequenas melhorias para rodar melhor na cloud.

👉 Tipo recompilar com novo runtime.


🧠 Refactor — Modernizar arquitetura

Mudanças profundas.

👉 Monolito → Microservices
👉 CICS → APIs
👉 Batch → Event-driven


🔄 Replace — Trocar por SaaS

Abandonar o sistema próprio.

👉 Sistema de RH interno → solução pronta.


🧱 Rebuild — Reescrever tudo

Quando o legado virou fóssil.

👉 Recriar do zero com arquitetura cloud-native.


🏛️ Cloud Governance = RACF + JES + SMF + Auditoria… Só que Global

Governança é o que impede a cloud de virar faroeste.

🎯 Objetivos principais

  • 🔐 Segurança
  • 💰 Controle de custos
  • ⚙️ Operação estável
  • 📜 Compliance
  • 📊 Monitoramento
  • 🧩 Padronização

🕵️ Shadow IT — O “Batch Fantasma” da Cloud

Equipes criam recursos sem controle.

Resultado:

🧟 Servidores esquecidos
💸 Custos ocultos
🔓 Riscos
📉 Ninguém sabe o que existe

No mainframe isso seria impensável.

Na cloud? Dois cliques.


💰 FinOps — Porque a Conta Chega TODO MÊS

Na cloud você paga por:

  • CPU
  • Memória
  • Storage
  • Rede (principalmente rede!)
  • Serviços gerenciados
  • Recursos ociosos 😈

💣 Maiores vilões

  1. Recursos esquecidos
  2. Transferência de dados
  3. Superdimensionamento
  4. Falta de autoscaling

⚡ Autoscaling — O WLM da Nuvem

Ajusta capacidade automaticamente.

🧠 Exemplo

E-commerce:

  • Normal → poucos servidores
  • Black Friday → centenas
  • Depois → volta ao normal

Sem autoscaling = pagar pico o ano inteiro.


📍 Regra de Ouro da Arquitetura Cloud

💰 “Você paga pela arquitetura que desenha.”

Mover dados entre regiões custa caro.
Mover entre cloud e on-prem custa MAIS caro ainda.


🔐 Segurança: O Modelo de Responsabilidade Compartilhada

Cloud NÃO é “segurança terceirizada”.

☁️ Provedor protege:

  • Datacenter
  • Hardware
  • Infra base

🏢 Cliente protege:

  • Dados
  • Aplicações
  • Configuração
  • Identidades
  • Acessos

👉 Bucket público com dados sensíveis? Culpa sua.


🪪 IAM — O RACF da Cloud (Easter Egg #1)

Identity and Access Management é o novo perímetro.

Não existe mais “cerca” física.

Quem controla identidade controla tudo.

Boas práticas dignas de um sysprog Jedi:

✔️ Princípio do menor privilégio
✔️ MFA obrigatório
✔️ Roles, não usuários diretos
✔️ Auditoria contínua


🗄️ Data Management — Nem Todo Dado É Igual

Classificação é essencial.

TipoProteção
PúblicoBásica
InternoModerada
ConfidencialAlta
ReguladoMáxima

Aplicar segurança máxima a tudo = caro e ineficiente.


📦 Arquivamento — O Hierarchical Storage Management da Cloud

Dados frios devem ir para storage barato.

🔥 Hot → rápido e caro
🌤️ Cool → intermediário
❄️ Archive → lento e barato

Padawan que não arquiva dados… paga caro.


⚙️ Infrastructure as Code — O JCL da Cloud (Easter Egg #2)

Na cloud madura, ninguém cria infraestrutura clicando.

Tudo é código.

Exemplo mental:

👉 JCL cria job
👉 IaC cria infraestrutura

Ferramentas comuns

  • Terraform
  • Ansible
  • CloudFormation
  • Bicep

💻 Exemplo simplificado (Terraform)

Criar uma VM inteira com código:

  • Região definida
  • Tipo de máquina
  • Sistema operacional
  • Tags de governança

Reprodutível. Auditável. Versionado.


🧩 Por que IaC é obrigatório?

Sem automação:

❌ Deploy manual inseguro
❌ Configurações divergentes
❌ Ambientes inconsistentes
❌ Custos fora de controle
❌ Difícil auditoria

Com IaC:

✔️ Padronização
✔️ Segurança embutida
✔️ Aprovação controlada
✔️ Recriação rápida
✔️ Governança executável


🧟 Cloud Sprawl — O “Dataset Órfão” em Escala Planetária

Recursos acumulados sem uso.

Exemplos:

  • VMs esquecidas
  • Discos soltos
  • Snapshots antigos
  • Ambientes de teste abandonados

Grandes empresas economizam milhões apenas limpando isso.


🧭 O Fluxo Completo da Adoção Cloud

🔎 Assess → 🗺️ Plan → 🚀 Adopt → 🏛️ Govern → ⚡ Optimize

Pular etapas = sofrimento garantido.


🧠 Insight de Arquitetura Avançada

Cloud não falha por tecnologia — falha por governança, planejamento e pessoas.


🧪 Easter Egg Final

Se você domina:

  • RACF
  • Auditoria
  • Capacity planning
  • Operação 24x7
  • Sistemas críticos

👉 Você já tem metade do DNA de um Cloud Architect.

O resto é aprender as ferramentas.


🏆 Mensagem ao Padawan

A nuvem não matou o mainframe.

Ela espalhou seus princípios:

✔️ Alta disponibilidade
✔️ Segurança rigorosa
✔️ Escalabilidade
✔️ Automação
✔️ Governança
✔️ Processamento crítico


☕ Conclusão no Estilo Bellacosa

O verdadeiro poder não está em migrar para a cloud.
Está em governar a cloud sem perder a disciplina do mainframe.

Padawan, se você trouxer a mentalidade z/OS para a nuvem…

👉 Você não será apenas um usuário de cloud.
👉 Você será o arquiteto que impede que tudo desmorone.

quarta-feira, 20 de março de 2024

🎮 COBOL's Laboratory — Quando o Programador COBOL Vira o Herói de um Videogame 8 Bits

 

Bellacosa Mainframe e o game COBOL em retro 8 bits

☕ Um Café no Bellacosa Mainframe

🎮 COBOL's Laboratory — Quando o Programador COBOL Vira o Herói de um Videogame 8 Bits

Da USS Enterprise ao Nintendo Entertainment System: por que um jogo sobre COBOL é muito mais profundo do que parece

"A lógica é o início da sabedoria, não o seu fim."
— Sr. Spock

Imagine acordar em 1989.

Você liga sua televisão de tubo.

Coloca um cartucho no Nintendo Entertainment System.

Aparece a clássica tela preta.

Uma música chiptune começa a tocar.

No centro da tela surge uma enorme palavra:

COBOL

Logo abaixo...

PRESS START

Nesse instante você percebe uma coisa curiosa.

Você não vai controlar um guerreiro.

Não será um ninja.

Nem um encanador italiano.

Muito menos um cavaleiro medieval.

Você será...

Dr. COBOL.

O cientista mais brilhante de toda Bit City.

Pode parecer apenas uma brincadeira criada por fãs.

Mas existe uma homenagem muito maior escondida nessa ideia.

Ela celebra uma linguagem que, discretamente, continua movimentando bancos, bolsas de valores, seguradoras, governos, companhias aéreas e sistemas críticos em praticamente todos os continentes.

E curiosamente...

Essa homenagem foi feita utilizando um videogame dos anos 80.

Parece improvável.

Mas faz todo sentido.

Hoje vamos descobrir por quê.

Pegue sua caneca de café.

O computador de bordo da USS Enterprise já calculou nossa rota.

Vamos iniciar a missão.


Capítulo 1 — O jogo realmente existe

Sim.

Não é uma montagem.

Não é IA.

Não é um conceito.

É um jogo homebrew para o Nintendo Entertainment System (NES), desenvolvido pela Oniric Factor.

Página oficial:

🎮 https://oniric-factor.itch.io/cobol

Trilha sonora oficial:

🎵 https://soundcloud.com/kevin_81

O jogo foi desenvolvido para funcionar em:

  • Emuladores NES

  • ROM (.NES)

  • Hardware original através de flash cartridges compatíveis

Ou seja...

Em pleno século XXI alguém resolveu criar um jogo inteiro onde o protagonista é...

COBOL.

Só isso já merece respeito.


Capítulo 2 — O verdadeiro significado da história

A sinopse oficial parece simples.

O cientista Dr. Cobol precisa impedir que seu antigo discípulo...

Dr. Pascal...

Roube todas as suas invenções.

Mas existe um significado escondido.

Na computação, linguagens possuem "personalidade".

COBOL nunca foi criada para fazer gráficos.

Nem jogos.

Nem inteligência artificial.

Ela nasceu para resolver problemas extremamente importantes.

  • folha de pagamento

  • contas bancárias

  • seguros

  • aposentadorias

  • impostos

  • logística

Enquanto isso...

Pascal nasceu anos depois.

Seu objetivo era completamente diferente.

Ensinar programação.

Ensinar algoritmos.

Ensinar lógica.

Percebe a genialidade?

O jogo transforma duas filosofias da computação em personagens.


Capítulo 3 — A rivalidade que nunca existiu

O jogo apresenta:

COBOL versus Pascal.

Mas isso nunca aconteceu na vida real.

Cada linguagem dominou um universo diferente.

COBOLPascal
NegóciosEducação
EmpresasUniversidades
BancosLaboratórios
Sistemas críticosAlgoritmos
Processamento em loteEstruturas de dados

Na verdade...

Elas sempre coexistiram.

O jogo apenas transforma essa diferença em uma divertida batalha entre cientistas.


Capítulo 4 — Dr. Cobol

O protagonista não é um guerreiro.

Ele é um inventor.

Isso representa perfeitamente a linguagem.

Todo sistema COBOL é uma invenção.

Cada programa resolve um problema do mundo real.

Um programa pode calcular:

  • aposentadorias

  • imposto de renda

  • folha salarial

  • juros

  • investimentos

  • previdência

Em outras palavras...

Dr. Cobol é o engenheiro responsável por manter Bit City funcionando.


Capítulo 5 — Dr. Pascal

Pascal aparece como um cientista enlouquecido.

Essa escolha lembra imediatamente personagens famosos.

  • Dr. Wily

  • Dr. Robotnik

  • Dr. Neo Cortex

Todos eles usam ciência para destruir.

Enquanto Cobol usa ciência para construir.


Capítulo 6 — Bit City

O próprio nome da cidade possui easter eggs.

Bit.

O menor elemento da computação.

Um único bit vale:

0

ou

1

Tudo nasce daí.

Bytes.

Arquivos.

Programas.

Mainframes.

Internet.

Tudo começou com bits.


Curiosidade Bellacosa

Algumas versões da descrição oficial citam M.O.S. City, uma referência muito provável à lendária MOS Technology, fabricante do processador 6502, um dos chips mais influentes da história. O NES utiliza uma CPU derivada desse projeto (Ricoh 2A03), conectando o universo do jogo diretamente às raízes da computação doméstica.


Capítulo 7 — O verdadeiro inimigo

As criaturas mutantes.

Elas representam o quê?

Vamos pensar como um desenvolvedor.

No mundo real nossos monstros são:

👾 Bugs

👾 Dados inválidos

👾 SQLCODE negativos

👾 ABENDs

👾 Arquivos corrompidos

👾 Chaves duplicadas

👾 Deadlocks

👾 Falhas de comunicação

Os monstros do jogo são uma metáfora perfeita.


Capítulo 8 — Se fosse um jogo de Mainframe

Imagine algumas fases.

Fase 1

HELLO WORLD

Objetivo

Aprender

IDENTIFICATION DIVISION

Fase 2

WORKING-STORAGE

Monstros:

PIC inválidos

VALUE incorreto

COMP-3 defeituoso


Fase 3

VSAM Forest

Chefão

INVALID KEY


Fase 4

JCL Mountain

Chefão

S806


Fase 5

DB2 Caverns

Chefão

SQLCODE -904


Fase 6

CICS Fortress

Chefão

AEI9


Última fase

Production

O maior inimigo de todos.

ABEND.


Capítulo 9 — Os Power-ups do Programador COBOL

Todo bom jogo possui itens especiais.

No universo Bellacosa Mainframe eles seriam:

Café

Recupera energia.

Item obrigatório.


📘

Manual IBM

+30 Inteligência.


🖥

ISPF

Permite editar código.


📄

JCL

Desbloqueia novas fases.


🗂

COPYBOOK

Novos poderes.


🔐

RACF

Escudo de segurança.


💾

Load Module

Transformação definitiva.


📊

EXPLAIN PLAN

Permite prever ataques do chefão SQL.


Capítulo 10 — O paralelo com Star Trek

Aqui começa nossa viagem espacial.

Imagine a Enterprise.

Quem seria quem?

Capitão Kirk

Gerente do projeto.

Decide prioridades.


Sr. Spock

Analista de sistemas.

Pensa logicamente.

Nunca programa por impulso.


Scotty

Compilador COBOL.

Transforma código em algo executável.

Quando tudo funciona...

Ele diz:

"I'm giving her all she's got!"


Uhura

MQ Series.

Toda comunicação passa por ela.


Worf

RACF.

Nada entra sem autorização.


Data

Db2.

Memória perfeita.


Enterprise

IBM Z.

A nave mais confiável da Frota.


O Cadete

Você.

O Programador COBOL Padawan.


Capítulo 11 — Como um Padawan venceria o jogo

Missão 1

Aprender COBOL.

Missão 2

Aprender JCL.

Missão 3

Conhecer VSAM.

Missão 4

Estudar Db2.

Missão 5

Entender CICS.

Missão 6

Aprender z/OS.

Missão Final

Resolver um ABEND em produção.

Parabéns.

Você terminou o tutorial.


Curiosidades que poucos conhecem

🎮 O NES continua vivo

Mesmo décadas após seu lançamento, desenvolvedores independentes continuam criando jogos inéditos para o console. Essa cena é conhecida como homebrew e reúne programadores, artistas e músicos apaixonados por hardware clássico.


💾 O hardware impõe criatividade

O NES possui recursos extremamente limitados em comparação aos computadores atuais. Isso obriga os desenvolvedores a escrever código altamente otimizado, uma filosofia que lembra muito a programação em mainframes, onde eficiência e confiabilidade sempre foram essenciais.


🎵 Música chiptune

A trilha sonora de Cobol's Laboratory, composta por Kevin van der Burg, utiliza a estética sonora típica dos consoles 8 bits. Cada melodia precisa respeitar as limitações dos canais de áudio do NES, transformando restrições técnicas em criatividade.


🧠 O verdadeiro easter egg

COBOL foi criado em 1959.

O NES nasceu em 1983.

Mesmo separados por mais de duas décadas, ambos compartilham uma característica fundamental:

Foram projetados para serem confiáveis, simples de usar dentro de seus objetivos e capazes de atravessar gerações.


Easter Eggs Bellacosa Mainframe

🐣 Easter Egg #1

Dr. Pascal é um cientista.

Na vida real, Niklaus Wirth, criador da linguagem Pascal, também era um pesquisador e professor universitário.


🐣 Easter Egg #2

O personagem principal não luta com espadas.

Ele luta usando inteligência.

Como qualquer bom analista.


🐣 Easter Egg #3

PRESS START.

Essa talvez seja a melhor mensagem do jogo.

Todo desenvolvedor começa exatamente assim.

Sem experiência.

Sem atalhos.

Sem Continue.

Apenas...

START.


🐣 Easter Egg #4

Bit City representa o universo digital.

O IBM Z representa o coração dessa cidade.

Enquanto tudo parece silencioso...

Bilhões de transações acontecem.

Todos os dias.


🐣 Easter Egg #5 – A Diretriz Principal de Spock

Se o Sr. Spock fosse mentor de um programador COBOL, provavelmente diria:

"Um bom programa não impressiona por sua complexidade, mas por sua clareza. A lógica elegante reduz erros, facilita a manutenção e permite que outros compreendam seu raciocínio décadas depois."

Essa frase resume a essência do COBOL: escrever código para pessoas lerem, e não apenas para máquinas executarem.


Passo a passo para o Programador COBOL Padawan

  1. Domine a sintaxe básica. Entenda as divisões do COBOL e escreva pequenos programas.

  2. Aprenda JCL. Um programa precisa ser compilado e executado corretamente.

  3. Conheça arquivos VSAM e sequenciais. Eles são a base de muitos sistemas legados.

  4. Estude SQL e Db2. Grande parte das aplicações corporativas utiliza banco de dados.

  5. Entenda CICS e IMS. Eles representam o processamento online de alta disponibilidade.

  6. Aprenda a investigar ABENDs. Ler mensagens, dumps e logs faz parte da rotina.

  7. Nunca pare de aprender. Assim como um jogo libera novas fases, o universo IBM Z sempre oferece novos desafios, como APIs, DevOps, Zowe, OpenShift e Inteligência Artificial.


Conclusão — O verdadeiro significado de "PRESS START"

À primeira vista, Cobol's Laboratory parece apenas uma divertida homenagem em pixel art a uma linguagem de programação clássica. Porém, quando observamos com atenção, percebemos algo muito maior.

Ele celebra a história da computação.

Celebra a criatividade da comunidade homebrew.

Celebra os pioneiros que construíram sistemas capazes de sobreviver por décadas.

E, acima de tudo, lembra que COBOL continua sendo um dos pilares invisíveis do mundo moderno.

Assim como a USS Enterprise não impressiona apenas por sua velocidade, mas pela confiança que inspira em cada missão, o IBM Z e o COBOL permanecem cumprindo sua missão silenciosamente: manter funcionando os sistemas que sustentam a economia global.

Da próxima vez que encontrar uma tela verde, um programa COBOL ou um JCL aparentemente antigo, lembre-se da tela inicial daquele cartucho imaginário:

COBOL

PRESS START

Porque toda grande jornada na Frota Estelar — e todo grande programador COBOL — começou exatamente da mesma forma: com a coragem de apertar Start e explorar um universo onde lógica, disciplina e conhecimento são as maiores armas da missão.


Bellacosa Mainframe apresenta COBOL The Game

🎮 Links Oficiais

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