sábado, 9 de fevereiro de 2013

🔥 “Python no Mainframe NÃO é Modernização — É Poder Operacional”

 

Bellacosa Mainframe Python no Mainframe poder operacional

🔥 “Python no Mainframe NÃO é Modernização — É Poder Operacional”

🐍 Systems Programming no z/OS para quem já viu tudo (ou acha que viu)

Se você é sysprog, arquiteto ou operador veterano de IBM Z, provavelmente já ouviu:

“Vamos usar Python para modernizar o mainframe.”

Spoiler técnico: isso está errado.

Python no z/OS não serve para “modernizar”.
Serve para algo muito mais perigoso (e valioso):

💎 Aumentar drasticamente o poder operacional do sistema sem tocar nas aplicações.


🧠 A Verdade que Poucos Dizem

O mainframe nunca precisou ser “modernizado” em confiabilidade, throughput ou consistência.

O que precisava evoluir era:

  • Automação

  • Integração externa

  • Observabilidade

  • Velocidade operacional

  • Onboarding de novos talentos

  • Orquestração híbrida

👉 Python resolve exatamente isso.

Sem reescrever COBOL.
Sem migrar CICS.
Sem mexer no coração do banco.


🏛️ Python não substitui nada — ele governa

Historicamente:

  • 🧓 JCL governa batch

  • 🧓 REXX governa TSO/automação clássica

  • 🧓 Utilities governam dados

  • 🧓 Operators governam o sistema

Hoje:

🐍 Python pode orquestrar TODOS ao mesmo tempo.

Isso muda o jogo.


🐧 Onde Python realmente roda

Não é “Python no z/OS kernel”.

👉 Ele roda no USS — UNIX System Services.

Pense assim:

Aplicações críticas (COBOL, CICS, IMS)

z/OS

USS (POSIX)

Python

💎 É um parasita benigno extremamente poderoso.


🧰 O Arsenal Real: ZOAU

Sem ZOAU, Python no mainframe é só scripting Unix.

Com ZOAU, ele vira:

🧱 Sysprog automation framework

Capacidades reais:

  • Manipular datasets MVS

  • Submeter e monitorar jobs

  • Emitir comandos de operador

  • Trabalhar com load libraries

  • Executar utilitários clássicos

  • Integrar pipelines

👉 É basicamente um super-REXX moderno com esteróides open source.


🧾 Caso de Uso REAL (não de marketing)

🔥 Self-Healing Batch

Imagine:

  1. Job crítico ABEND S0C7

  2. Python monitora spool automaticamente

  3. Detecta padrão de erro conhecido

  4. Executa comando para liberar recurso

  5. Submete job de restart

  6. Notifica time via API corporativa

  7. Registra auditoria

⏱️ Tempo humano envolvido: zero.

Nenhuma linha de COBOL alterada.


🖥️ Operador Virtual 24/7

Python pode emitir comandos como:

  • D A,L

  • D R,L

  • F CICS,EMT

  • VARY ONLINE

  • Diagnósticos

  • Consultas sistêmicas

⚠️ Claro, com RACF adequado.

👉 Você cria um operador que:

  • Não dorme

  • Não entra em pânico

  • Não digita errado

  • Não esquece procedimentos


🌉 O Verdadeiro Ouro: Integração Híbrida

O mundo não roda só em z/OS.

Python conecta o mainframe com:

☁️ Cloud
🌐 APIs REST
📊 Plataformas analíticas
🐧 Linux on Z
🤖 IA
📦 Microservices

💡 Pipeline clássico em bancos hoje

COBOL → Dataset → Python → JSON → Kafka/API → Analytics

Aplicação intacta.
Valor multiplicado.


🔤 A Armadilha Mortal: EBCDIC

Todo sysprog passa por isso.

Primeiro script Python lendo dataset:

“Por que isso parece hieróglifo alienígena?”

Bem-vindo ao choque cultural:

🧓 z/OS tradicional → EBCDIC
🌐 Mundo moderno → UTF-8

💎 Easter egg: muitos bugs de integração não são lógica — são encoding.


📁 Dataset ≠ Arquivo (e isso importa)

Python espera streams.

Datasets são:

  • Orientados a registros

  • Têm LRECL

  • RECFM

  • Blocos

  • Semântica própria

👉 Ignorar isso gera scripts que funcionam em teste e explodem em produção.


🔐 Segurança: o sistema continua soberano

Python não bypassa nada.

Tudo passa por:

  • RACF/SAF

  • Permissões USS

  • Perfis de dataset

  • Autorizações operacionais

  • Auditoria

💎 Isso é uma das razões pelas quais Python no mainframe é aceito em ambientes regulados.


🏭 Onde Python brilha de verdade

💎 Não no core transacional

COBOL continua rei do throughput massivo.

🔥 Mas em tudo ao redor:

  • Deploy automatizado

  • Monitoramento inteligente

  • Compliance

  • Orquestração

  • DevOps

  • Migrações

  • Operações

  • Integração externa

  • Observabilidade

👉 Ele governa o ecossistema.


🥚 Fofoquice de bastidor

Muitos grandes bancos usam Python no z/OS há anos…

…e não falam publicamente.

Motivos:

  • Vantagem competitiva

  • Redução de custo operacional

  • Aceleração de entrega

  • Menos dependência de skills raras


🧠 O Novo Perfil de Sysprog

O sysprog moderno não é apenas:

🧰 Especialista em parâmetros e dumps

É também:

🚀 Engenheiro de automação
🌐 Arquiteto híbrido
📊 Observability engineer
🔒 Guardião da segurança operacional
🤖 Designer de sistemas autônomos

Python é a ferramenta que permite isso.


⚡ Conclusão Provocativa

👉 O mainframe não está ficando “mais moderno”.

👉 O resto do mundo está finalmente ficando compatível com ele.

Python é a ponte.


💎 Frase para guardar

“COBOL executa o negócio.
Python garante que o negócio continue executando.”

 

sexta-feira, 8 de fevereiro de 2013

TSO vs ISPF: porta de entrada ou bancada de trabalho?

 



TSO vs ISPF: porta de entrada ou bancada de trabalho?

“Todo mainframeiro entra pela mesma porta.
Mas nem todo mundo entende onde realmente trabalha.”

Quem começa no IBM z/OS costuma ouvir a pergunta clássica:

👉 “Você usa TSO ou ISPF?”

E a resposta correta é:

Os dois — porque um não vive sem o outro.

Vamos decodificar isso do jeito certo.


🧠 Antes de tudo: por que essa confusão existe?

Porque:

  • Ambos aparecem logo após o login

  • Ambos “parecem” ambientes de trabalho

  • Ambos aceitam comandos

Mas TSO e ISPF não são concorrentes.
Eles são camadas diferentes da mesma experiência.


⌨️ TSO — o contato direto com o z/OS

TSO (Time Sharing Option) é o ambiente base de interação entre usuário e sistema.

Em linguagem Bellacosa:

TSO é o chão de fábrica.

O que o TSO faz de verdade:

🔐 Gerencia login seguro e sessões de usuário
⌨️ Recebe comandos digitados manualmente
🛡️ Controla acesso via RACF (ou ACF2 / Top Secret)
🧱 Serve como fundação para tudo que vem depois

Sem TSO:

  • Não existe usuário logado

  • Não existe comando

  • Não existe ISPF

👉 TSO funciona sozinho.
Pode ser cru, seco e pouco amigável — mas funciona.


📋 ISPF — produtividade com método

ISPF (Interactive System Productivity Facility) não substitui o TSO.
Ele roda em cima dele.

Em linguagem Bellacosa:

ISPF é a bancada organizada, com ferramentas no lugar certo.

O que o ISPF entrega:

📋 Menus estruturados e painéis claros
🔢 Navegação por opções numeradas
✍️ Editor poderoso para COBOL, JCL, REXX
⚙️ Produtividade no dia a dia

ISPF:

  • Não faz login

  • Não gerencia sessão

  • Não existe sem TSO

👉 ISPF depende do TSO para viver.


⚖️ Comparativo direto: TSO vs ISPF

DimensãoTSOISPF
Tipo de interfaceLinha de comandoMenus e painéis
FacilidadeExige conhecimentoAmigável ao iniciante
IndependênciaFunciona sozinhoDepende do TSO
Uso principalComandos diretosDesenvolvimento e gestão
PúblicoOperadores, sysprog, power usersDesenvolvedores e analistas

🔗 Como eles trabalham juntos no mundo real

O fluxo real é simples:

1️⃣ Usuário faz login via TSO
2️⃣ TSO valida identidade e cria sessão
3️⃣ Usuário digita ISPF
4️⃣ ISPF assume como interface produtiva

👉 TSO dá acesso.
👉 ISPF dá eficiência.


🏗️ Analogia Bellacosa (obrigatória)

  • TSO → Porta de entrada do prédio

  • ISPF → Escritório onde você trabalha

Sem porta:

  • Você não entra

Sem escritório:

  • Você entra, mas não produz


⚠️ Erros clássicos de padawan

❌ Achar que ISPF “substitui” TSO
❌ Usar TSO para tarefas que ISPF faz melhor
❌ Não entender que ISPF é só uma camada
❌ Ignorar comandos TSO básicos

Dica El Jefe:

Quem entende TSO sobrevive quando ISPF cai.


🥚 Easter-eggs do cotidiano mainframe

  • Todo mundo já digitou TSO ISPF por reflexo

  • Quando ISPF trava, o TSO continua vivo

  • Sysprog raiz prefere TSO puro

  • Padawan vive feliz no ISPF… até o dia do problema sério


🧭 Conselho final para quem está aprendendo

👉 Comece no ISPF para ganhar produtividade
👉 Estude TSO para ganhar independência
👉 Domine ambos para ganhar respeito

Porque no mainframe:

Interface muda. Fundamento permanece.


☕ Palavra final do El Jefe

TSO não é opcional.
ISPF não é luxo.
Ambos são essenciais.

Se o TSO é a porta,
o ISPF é a oficina onde o trabalho acontece.

E todo verdadeiro mainframeiro…

sabe usar os dois.

quinta-feira, 7 de fevereiro de 2013

🌱 Usagi Drop — A Doçura e o Peso de Ser Adulto



 🌱 Usagi Drop — A Doçura e o Peso de Ser Adulto

Alguns animes não gritam, não têm batalhas, nem poderes místicos — apenas histórias humanas contadas com delicadeza.
Usagi Drop é um desses raros retratos da vida que fazem a alma respirar devagar.
Um slice of life sobre amadurecimento, amor silencioso e a inesperada beleza de cuidar de alguém.




📖 Sinopse

Daikichi Kawachi, um homem solteiro de 30 anos, descobre que seu falecido avô deixou uma filha ilegítima de 6 anos — a pequena Rin.
Ignorada pela família, a menina desperta em Daikichi algo que ele mesmo desconhecia: a vontade de proteger, amar e crescer.
Ele decide criá-la, e o que começa como uma decisão impulsiva se transforma em uma jornada sobre paternidade, responsabilidade e ternura.

Em cada manhã apressada e cada lanche compartilhado, Usagi Drop revela que o amor mais puro nasce das pequenas rotinas.




👨‍👧 Personagens Principais

  • Daikichi Kawachi — Um adulto comum, trabalhador, sincero e um pouco perdido. Aprende que ser responsável é também aprender a ser vulnerável.

  • Rin Kaga — Uma criança madura e reservada, mas cheia de sensibilidade. Sua presença transforma o mundo de Daikichi.

  • Kouki & Yukari Nitani — Mãe e filho que se tornam espelhos e apoio na nova vida de Daikichi e Rin.


🧠 Mensagem Filosófica

Usagi Drop não é sobre a paternidade em si — é sobre crescer através do amor.
A série desmonta o mito do adulto completo, mostrando que maturidade é algo que se aprende ao cuidar de outro ser humano.
No fundo, é uma história sobre encontrar sentido na simplicidade — um lembrete de que a vida não precisa ser grandiosa para ser bonita.


🎬 Ficha Técnica

  • Autor: Yumi Unita

  • Ano de Lançamento: 2011

  • Estúdio: Production I.G

  • Gênero: Slice of Life / Drama / Cotidiano

  • Episódios: 11


💡 Dicas Bellacosa

  • Repare nas cores suaves e na trilha sonora minimalista — cada acorde é uma extensão da serenidade de Rin.

  • É um anime perfeito para assistir em dias de chuva, acompanhado de chá ou café — o tipo de obra que abraça em silêncio.

  • Não espere drama exagerado: o impacto está nas entrelinhas, nos gestos e nas pausas.


🔍 Curiosidades

  • O mangá original tem um salto temporal polêmico, mas o anime encerra antes dessa parte — focando apenas na relação pura e paterna.

  • O título “Usagi Drop” (うさぎドロップ) faz alusão à leveza e à vulnerabilidade de Rin — como um pequeno coelho deixado aos cuidados de um adulto desajeitado.

  • A produção do estúdio Production I.G foi elogiada pela fidelidade emocional e pela estética aquarelada das cenas domésticas.


Reflexão Bellacosa

Em Usagi Drop, o herói não empunha espada — ele segura uma lancheira.
Não há batalhas épicas, apenas o esforço silencioso de acordar cedo, preparar o café e chegar a tempo na escola.
E é ali, entre os gestos cotidianos, que o anime nos mostra o que é amor real: aquele que não promete eternidade, mas presença.

Porque, às vezes, o ato mais revolucionário é simplesmente cuidar de alguém — e, nesse processo, descobrir quem você é.


Assista devagar. Sinta. E talvez perceba que, no fundo, todos nós temos uma pequena Rin dentro de nós — esperando ser acolhida.

quarta-feira, 6 de fevereiro de 2013

Quiririm, 1984 — pedalando para o interior do interior

 Quiririm, 1984 — pedalando para o interior do interior



Nos mudamos do Quiririm e antes de partir, relembro mais algumas memorias,  direto do dataset de memórias carregado em fita magnética.




Algumas memórias de 1984, no Quiririm, voltam com cheiro de terra molhada e barulho de corrente de bicicleta mal lubrificada. Era comum, quase rotina, eu e o Celo montarmos nas bikes e seguirmos estrada afora em direção ao Tataúba e ao Pinheirinho. Não era passeio turístico, era deslocamento raiz, sem capacete, sem GPS, só com coragem, curiosidade e uma noção meio vaga de onde ficava a volta.

Meu pai, seu Wilson, às vezes ia fotografar festas nesses distritos rurais. Batizados, casamentos, quermesses, aniversários simples, mas cheios de significado. A máquina fotográfica era quase um artefato mágico naquele cenário. Fazer amizade era inevitável, e dessas amizades nasciam convites:
“Depois da festa passem lá em casa pra tomar um leite.”

E lá íamos nós.

Era o interior do interior, aquele São Paulo que não aparecia nos livros da escola nem no jornal da televisão. Antigas famílias colonas, gente que vivia da terra, num ritmo completamente diferente do nosso. O tempo ali parecia rodar em outro clock. O dia começava no raiar do sol e terminava quando a luz ia embora, porque em muitos lugares não tinha eletricidade.

Lembro das pescarias, esticando até o Rio Paraíba do Sul, das varas improvisadas, da paciência infinita dos adultos, do silêncio quebrado só pelo vento e pelos insetos. Do leite tirado na hora, morno, direto da vaca. Do cheiro do fogão a lenha, da comida simples e absurda de boa. Da primeira vez que entrei numa privada no meio do mato, experiência antropológica que nenhum manual prepara.

Tinha estrada de terra, poeira no seco, lama na chuva, cercas, pastos, mato alto e uma sensação constante de estar vivendo algo que já estava desaparecendo. Aquilo me lembrava aventuras ainda mais antigas, de Pirassununga, Ibitinga, Novo Horizonte, Urupês Catanduva. Era como revisitar um backup de infância que eu nem sabia que existia.

A vida no campo era pobre e dura. Trabalho pesado, repetitivo, sem descanso, do nascer ao pôr do sol. Nada romantizado. E, nesse cenário, a fotografia do seu Wilson era um luxo raro. Um registro precioso. Um pedaço de memória congelado para presentear parentes, guardar na gaveta, mostrar para quem não pôde ir. Aquela foto era prova de que aquele dia tinha existido.

Eu observava tudo com olhos atentos. Aquilo não era só passeio, era aprendizado. Um São Paulo completamente diferente daquele que eu conhecia, daquele que a escola ensinava, daquele que aparecia nos mapas.

Pedalar até o Tataúba e o Pinheirinho não era apenas ir longe. Era atravessar camadas do tempo, visitar um modo de vida que já naquela época dava sinais de fim. E eu, pequeno operador da própria história, ia armazenando tudo em memória permanente, sem saber que décadas depois estaria aqui, dando RECALL nessas lembranças e rodando esse programa de saudade chamado vida.


terça-feira, 5 de fevereiro de 2013

📸 O Pequeno Vendedor de Salgadinhos & O Carnaval Mítico de Pirassununga (1983)

 


🌙 El Jefe Midnight Lunch apresenta:
📸 O Pequeno Vendedor de Salgadinhos & O Carnaval Mítico de Pirassununga (1983)
Uma crônica Bellacosa Mainframe sobre liberdade, samba, coxinhas e destino


Existem histórias que chegam para mim como um dump do JES2: cheio de linhas caóticas, mensagens truncadas, e no meio da bagunça... um registro vital, um checkpoint da vida.
Pois bem: 1983, Pirassununga. Brasil em final de ditadura, moralismo fervendo, e um personagem que eu jamais esqueceria — Bene.



🏳️‍🌈 Bene, a entidade de Pirassununga

Bene não era apenas uma pessoa. Era praticamente um CICS Transaction ambulante:

  • Rápido,

  • Direto,

  • Chamado por todos,

  • E impossível de ignorar.

Em plena época de conservadorismo sufocante, ele era um homossexual efeminado assumido, colorido por natureza, vida e espontaneidade. Sambista nato, porta-bandeira de uma escola paulistana importada para o interior só para “causar”. Bene era aquilo que o Japão chamaria depois de ikemen invertido: exuberância em vez de contensão.

Ele era o próprio “easter-egg” vivo da cidade — algo que ninguém esperava ver num ambiente tão fechado… mas que todo mundo secretamente respeitava, porque Bene fazia a festa acontecer.

Nota de rodapé Pirassununga é uma cidade famosa pela sua base da Força Area, a Esquadrilha da Fumaça e milicos para todos os lados, a existência do Bene era uma prova da força divina e santo forte do rapaz. Imagine que ele escapou ileso aos porões do DOI-CODE sem nunca entrar nos radares desse povo louco.



📸 E onde entra a família Bellacosa?

Como sempre: onde há uma confusão, há um Bellacosa sendo puxado para dentro.

Numa daquelas noites aleatórias em que tudo parecia quieto demais para a década de 80, Bene aparece com um pedido insolito, quase divino:

“Ô, seu Wilson Bellacosa… cê não quer fazer a reportagem fotográfica do Carnaval?”

A promessa de dinheiro brilhou como painel do 3270 quando o VTAM finalmente conecta.
E lá vai meu pai — fotógrafo profissional, retratista raiz — abrir a temporada oficial de fotos do Carnaval de Pirassununga 1983.

Mas, como sabemos, ninguém da família Bellacosa trabalha sozinho. O caos sempre é distribuído como JCL mal comentado.



🥟 A vó Anna, pipeline master do destino

A vó Anna, grande arquiteta da vida Bellacosa, observando a inquietação do meu pai, irresponsabilidade para governar a família, incrível capacidade de ferrar com tudo, fez o que toda matriarca visionária faz:

  1. Pegou minha mãe pela mão

  2. Levou-a para a igreja

  3. Colocou-a num curso de fabricação de salgados para festas

E pronto: nasceu um microempreendimento familiar antes mesmo do MEI existir.
Coxinhas, risoles, croquetes, tudo gerado em batch noturno diretamente na cozinha da casa.



👦 E eu, pequeno padawan?

Promovido — sem concurso público — a vendedor de salgadinhos.

Melhor dizer, convocado, alistado e inscrito nessa operação especial. Sem direito a fuga...

  • Meu pai no meio da rua fotografando tudo, parecendo repórter oficial do Globo Repórter: edição folia interiorana

  • Minha mãe numa calçada vendendo os salgados

  • Eu na outra calçada, um mini-hardware humano processando vendas, troco e clientela com throughput digno de MQSeries

  • Vivi e Dandan… off-line, sem escalonamento naquela missão

Esse foi o primeiro job remunerado do jovem Bellacosa.
O JOB001, o início de uma longa sequência de execuções bem-sucedidas, cada uma com sua história, suas exceções e suas mensagens $HASP aleatórias da vida.



🎭 O Carnaval que me iniciou no “modo trabalhador”

Entre um sambista, um fotógrafo, uma cozinheira recém-formada, uma matriarca estrategista e eu — o pequeno vendedor — nasceu o primeiro workflow profissional Bellacosa.

E tudo isso no meio de:

  • Fantasias improvisadas

  • Sambas ecoando pela praça

  • O povo celebrando a liberdade recém permitida era final da ditadura

  • Bene, radiante, reinando como supernova em meio à poeira conservadora

🌟 Easter-egg que só quem é da época sabe

  • Em 1983, várias cidades pequenas ainda proibiam travestis de desfilar — Pirassununga permitiu Bene sem pestanejar.

  • As fotos do meu pai se tornaram parte da memória oral da cidade — muita gente ainda lembra e guarda estas relíquias de família.

  • A polícia olhava torto, mas deixava passar. Carnaval é exceção até para militar.

📌 Moral do episódio (versão Bellacosa Mainframe)

Às vezes, a vida me coloca para vender coxinhas no meio da rua, achando que é só um bico…
Mas ali nasceu o meu senso de:

  • trabalho,

  • responsabilidade,

  • criatividade,

  • improviso,

  • e principalmente… resiliência.

E tudo isso graças a Bene — o trigger humano — que, só por existir livre, bagunçou positivamente a história da sua família.


segunda-feira, 4 de fevereiro de 2013

COBOL no Mainframe Programa → O Esqueleto: Divisões → Seções → Parágrafos → Frases → Declarações

 


🟦 COBOL no Mainframe e seu esqueleto

Programa → Divisões → Seções → Parágrafos → Frases → Declarações

(ou: como o código mais longevo do planeta ainda governa o mundo)

“COBOL não é velho. Velho é o problema que ele resolve.”
— Bellacosa, olhando um extrato bancário



🧬 Origem: antes do Java, antes do C, antes do hype

COBOL nasceu em 1959, patrocinado pelo Departamento de Defesa dos EUA, com uma ideia revolucionária para a época:

👉 programas legíveis por humanos de negócios, não apenas por matemáticos.

Enquanto outras linguagens focavam em ciência e engenharia, o COBOL foi criado para:

  • Folha de pagamento

  • Contabilidade

  • Bancos

  • Seguros

  • Governo

  • Tudo que não pode parar

E aqui vai o primeiro easter-egg:

🥚 Mais de 70% das transações financeiras globais ainda passam por COBOL.
Se ele cair, o mundo sente.


🧱 O mantra sagrado do COBOL

Todo programa COBOL clássico segue esta hierarquia:

Programa └── Divisões └── Seções └── Parágrafos └── Frases └── Declarações

Isso não é só estilo.
É contrato social, organização mental e engenharia de sobrevivência.

Vamos por partes, Padawan.


🧠 1️⃣ Programa: o universo

O programa COBOL é a unidade máxima:

  • Compilável

  • Executável

  • Chamável por outro programa

  • Controlado por JCL

  • Versionado (ou não… dependendo do museu 😅)

Exemplo:

IDENTIFICATION DIVISION. PROGRAM-ID. ELJEFE01.

Se não tem PROGRAM-ID, não é programa.
É só tristeza.


🧩 2️⃣ Divisões: os grandes blocos da mente COBOL

O COBOL clássico tem 4 divisões principais:

🔹 IDENTIFICATION DIVISION

Quem você é:

  • Nome do programa

  • Autor

  • Data

  • Comentários históricos (às vezes fósseis)

IDENTIFICATION DIVISION. PROGRAM-ID. ELJEFE01. AUTHOR. BELLACOSA.

🥚 Easter-egg: muitos programas em produção ainda têm DATE-WRITTEN. 1987.


🔹 ENVIRONMENT DIVISION

Onde você vive:

  • Arquivos

  • Dispositivos

  • Ambiente de execução

Hoje em dia:

  • Muitas vezes vazia

  • Mas ainda respeitada por tradição


🔹 DATA DIVISION

O coração do COBOL.

Aqui você define:

  • Arquivos

  • Registros

  • Variáveis

  • Estruturas

  • Formatos

  • Tamanhos

  • Regras de negócio implícitas

DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-SALDO PIC 9(9)V99.

👉 Se você erra aqui, o programa compila… e falha em produção.


🔹 PROCEDURE DIVISION

Onde a mágica acontece.

É o fluxo lógico, a história do programa, o passo a passo do negócio.

PROCEDURE DIVISION. PERFORM CALCULA-SALDO DISPLAY WS-SALDO STOP RUN.

🧩 3️⃣ Seções: organização lógica (nem sempre usada)

As seções são agrupadores de parágrafos.

Exemplo clássico:

PROCEDURE DIVISION. MAIN-SECTION.

Hoje:

  • Alguns usam

  • Outros ignoram

  • Todos respeitam quando encontram

🥚 Easter-egg: programas antigos têm seções enormes com 5 mil linhas.


🧩 4️⃣ Parágrafos: unidades de execução

O parágrafo é:

  • Um ponto de entrada

  • Um bloco executável

  • Algo que você pode PERFORM

CALCULA-SALDO. ADD WS-CREDITO TO WS-SALDO SUBTRACT WS-DEBITO FROM WS-SALDO.

👉 Parágrafo bom:

  • Nome claro

  • Uma responsabilidade

  • Fácil de testar (na teoria 😄)


🧩 5️⃣ Frases: uma ou mais declarações terminadas por ponto

No COBOL clássico:

  • O ponto (.) encerra uma frase

  • E também pode quebrar fluxo

Exemplo:

ADD A TO B SUBTRACT C FROM B.

⚠️ Dica Bellacosa:

Ponto em excesso mata legibilidade e cria bugs invisíveis.


🧩 6️⃣ Declarações: as instruções de verdade

Aqui estão os verbos COBOL:

  • MOVE

  • ADD

  • SUBTRACT

  • MULTIPLY

  • DIVIDE

  • IF

  • EVALUATE

  • PERFORM

  • READ

  • WRITE

Exemplo:

IF WS-SALDO < 0 MOVE 'NEGATIVO' TO WS-STATUS END-IF

👉 Leia em voz alta.
Se fizer sentido, é COBOL bem escrito.


🛠️ Boas práticas Bellacosa Approved™

✔ Um parágrafo = uma responsabilidade
✔ Nomeie tudo como se fosse explicar para auditor
✔ Evite GO TO (sim, ele existe…)
✔ Centralize regras no DATA DIVISION
✔ Comente o porquê, não o como
✔ Código COBOL é lido mais do que escrito


🧠 Curiosidades que ninguém te conta

🥚 COBOL foi feito para ser lento para mudar, rápido para confiar
🥚 Programas com 40 anos rodam sem recompilar
🥚 O maior risco não é o COBOL — é ninguém entender o que ele faz
🥚 Modernizar não é reescrever, é encapsular e expor


🧘 Visão final para o Padawan

COBOL não é uma linguagem.
É uma forma de pensar sistemas críticos.

A hierarquia:

Programa → Divisões → Seções → Parágrafos → Frases → Declarações

existe para:

  • Clareza

  • Controle

  • Manutenção

  • Sobrevivência a décadas

Se você entende isso, você:

  • Lê qualquer programa

  • Não tem medo de legado

  • Está pronto para integrar com cloud, APIs, microsserviços

E lembre-se:

“Todo hype passa.
O extrato bancário continua.”

quarta-feira, 16 de janeiro de 2013

🐍 Python no z/OS Mainframe — Visão Completa

 

Bellacosa Mainframe apresenta Python no IBM Mainframe zos

🐍 Python no z/OS Mainframe — Visão Completa

🧠 O que é Python no z/OS?

É a capacidade de executar Python nativamente dentro do sistema operacional z/OS, normalmente no ambiente:

👉 USS — UNIX System Services

Ou seja:

🧱 z/OS continua sendo o mesmo mainframe robusto
🐧 Dentro dele existe um “submundo” POSIX/UNIX
🐍 Python roda nesse ambiente como em Linux

💡 Não é emulador, não é gambiarra — é suporte real e suportado.


🏛️ Um Pouco de História

  • z/OS sempre teve scripting (principalmente REXX)

  • Nos anos 2000, IBM iniciou abertura para tecnologias open source

  • UNIX System Services tornou-se estratégico

  • Python foi portado e depois oficialmente suportado

  • Hoje faz parte da estratégia Open Mainframe / Hybrid Cloud

💎 Curiosidade histórica:
REXX foi por décadas “o Python do mainframe”.


⚙️ Onde Python Executa

🐧 USS (UNIX System Services)

É um subsistema POSIX dentro do z/OS.

Características:

  • Sistema de arquivos zFS/HFS

  • Permissões estilo UNIX

  • Shell (sh, bash, etc.)

  • Processos e sinais

  • APIs POSIX

  • Execução de binários open source

👉 Python roda aqui exatamente como em Linux.


🖥️ Como Executar Python no z/OS

🔹 Interativo (USS Shell)

python3

ou

python3 script.py

🔹 Via JCL (Batch)

Usando BPXBATCH:

//STEP1 EXEC PGM=BPXBATCH,
// PARM='SH python3 /u/user/script.py'

💎 Isso integra Python ao mundo JES batch.


🔹 Com Parâmetros via STDPARM

Mais limpo para produção.


📁 Acesso a Dados Mainframe

Python pode trabalhar com:

🧾 1) Arquivos USS

Normais POSIX.

👉 Mais simples.


📦 2) Datasets MVS

Via:

  • ZOAU (IBM Z Open Automation Utilities)

  • APIs

  • Utilitários

  • Conversões

Tipos suportados:

  • PS (sequencial)

  • PDS/PDSE

  • GDG

  • VSAM (indiretamente)

💎 Lembre-se: datasets são orientados a registros, não a streams.


🧰 ZOAU — O Superpoder

🧱 IBM Z Open Automation Utilities

Biblioteca + comandos para automatizar z/OS.

Permite via Python:

🔥 Manipular datasets
🔥 Submeter jobs
🔥 Emitir comandos de operador
🔥 Trabalhar com load modules
🔥 Executar utilitários
🔥 Orquestrar workflows

👉 É o “canivete suíço” da automação moderna no mainframe.


🧾 Controle de Jobs (JES)

Python pode:

  • Submeter JCL

  • Monitorar execução

  • Ler spool

  • Detectar ABEND

  • Automatizar pipelines batch

💎 Basicamente virar um scheduler inteligente.


🖥️ Comandos de Operador

Scripts podem emitir comandos MVS:

  • D A,L

  • START/STOP

  • VARY

  • Consultas de sistema

⚠️ Exige autorização RACF.

👉 Python pode agir como um operador virtual.


🌉 Integração Híbrida

Um dos maiores motivos do Python no z/OS existir.

Conectar:

🏦 Sistemas legacy
🌐 APIs REST
☁️ Cloud
🐧 Linux on Z
📊 Analytics
🤖 AI

Exemplo clássico:

COBOL → Dataset → Python → JSON → Cloud → BI


🔐 Segurança

Nada “fura” o modelo z/OS.

Controle por:

  • RACF/SAF

  • Permissões USS

  • Perfis de dataset

  • Autorizações operacionais

💎 Python obedece às regras — não as substitui.


⚠️ Problemas Clássicos

🔤 EBCDIC vs ASCII

O choque cultural número 1.

z/OS tradicional → EBCDIC
Mundo moderno → UTF-8

👉 Conversão é frequentemente necessária.


📁 Dataset ≠ Arquivo

  • Registro fixo/variável

  • LRECL

  • RECFM

  • Blocos

Python precisa respeitar isso.


📦 Pacotes nem sempre portáveis

Nem tudo do PyPI funciona no z/OS.


⏳ Arquivos Temporários e Datasets Temporários

Podem ser criados para:

  • Processamento intermediário

  • Pipelines batch

  • Conversões

ZOAU fornece helpers como:

👉 tmp_name() — gera nome válido


🏭 Operacionalização

Scripts em produção devem:

  • Registrar logs

  • Tratar erros

  • Usar credenciais seguras

  • Ser agendáveis

  • Integrar com JCL

  • Retornar códigos de retorno adequados

👉 Mainframe = zero tolerância a improviso.


💎 Easter Eggs & Curiosidades

🥚 1) Python não substitui REXX — complementa

REXX continua imbatível para TSO e automação clássica.

Python domina integração moderna.


🥚 2) Muitos bancos usam Python no mainframe sem divulgar

Principalmente para:

  • DevOps

  • Monitoramento

  • Automação operacional

  • Integração com cloud


🥚 3) Você pode construir pipelines CI/CD inteiros no z/OS

Com:

  • Python

  • ZOAU

  • Zowe

  • Git

  • Jenkins/GitHub Actions


🥚 4) Python virou porta de entrada para novos talentos

Muito mais fácil ensinar Python do que JCL + REXX + ISPF do zero.


🥚 5) O mainframe virou “open” sem deixar de ser “enterprise”

Esse é o grande truque da IBM Z moderna.


🏆 Quando Usar Python no z/OS

Use Python para:

✅ Automação operacional
✅ Integração com sistemas externos
✅ Orquestração de jobs
✅ Manipulação de dados
✅ DevOps
✅ Monitoramento
✅ Scripts complexos


❌ Quando NÃO Usar

Evite para:

❌ Núcleo de aplicações transacionais críticas
❌ Código ultra-performático
❌ Funções de kernel ou baixo nível
❌ Substituir COBOL em produção massiva


⚡ Resumo Final

👉 Python no z/OS é a ponte entre dois mundos:

🧠 Confiabilidade de 60 anos
🌐 Ecossistema moderno

Não substitui o mainframe — expande o que ele pode fazer.