terça-feira, 11 de junho de 2013

☕ IBM Mainframe & DB2: a engenharia relacional que sustenta o mundo

 

Bellacosa Mainframe apresente o IBM DB2 schemas tables columns and rows

☕ IBM Mainframe & DB2: a engenharia relacional que sustenta o mundo



🧠 Introdução – DB2 no Mainframe não é “apenas um banco”

Quando alguém diz “DB2 é um banco de dados relacional”, está tecnicamente correto…
e conceitualmente incompleto.

No IBM Mainframe, o DB2 não é um software isolado.
Ele é parte da espinha dorsal do z/OS, responsável por processar trilhões de dólares, milhões de transações por segundo e manter sistemas que não podem falhar — nunca.

Enquanto no mundo distribuído o banco “reinicia”,
no mainframe o DB2 continua.


🕰️ Origem & História – da teoria acadêmica ao Big Iron

Tudo começa em 1970, quando Edgar F. Codd, pesquisador da IBM, publica o artigo que mudaria a computação:

“A Relational Model of Data for Large Shared Data Banks”

Ali nascia o modelo relacional.

💡 Curiosidade Bellacosa
O modelo relacional nasceu antes do DB2.
O DB2 foi a industrialização dessa teoria no ambiente mais exigente do planeta: o mainframe.

  • 1983 → DB2 v1 no MVS

  • SQL ainda era novidade

  • Muitos achavam que banco relacional era “moda acadêmica”

Quatro décadas depois…
👉 o dinheiro do mundo discorda.


⚙️ DB2 no Mainframe: como ele realmente funciona

No z/OS, o DB2 é um subsistema profundamente integrado, explorando:

  • Endereçamento de memória avançado

  • Controle sofisticado de concorrência

  • Logging e recovery em nível cirúrgico

  • Data Sharing entre múltiplos LPARs

Ele não vive sozinho:

  • Integra-se ao WLM

  • Usa RACF para segurança

  • Depende de DFS/SMS para storage

  • Trabalha com IRLM para locking

Comentário El Jefe
DB2 no mainframe não é “um processo rodando”.
É um cidadão de primeira classe do sistema operacional.


🧩 Os 4 componentes fundamentais de um banco relacional

(e como o DB2 os executa em escala real)

1️⃣ Tables – onde o dado mora

A tabela é a principal estrutura lógica do modelo relacional.

No DB2:

  • Criada com CREATE TABLE

  • Armazenada fisicamente em Tablespaces

  • Representa entidades reais do negócio:

    • CLIENTE

    • CONTA

    • TRANSACAO

🪺 Easter Egg
Você nunca acessa o dataset da tabela diretamente.
DB2 abstrai tudo — quem tenta “dar jeitinho” apanha 😈


2️⃣ Columns – o contrato do dado

As colunas definem:

  • Tipo

  • Tamanho

  • Regra de nulidade

CPF CHAR(11) NOT NULL SALDO DECIMAL(15,2) DT_ABERTURA DATE

💡 Dica Bellacosa
No DB2 z/OS, erro de modelagem vira dívida técnica de décadas.
Mainframe não perdoa definição mal pensada.


3️⃣ Rows – onde a vida acontece

Cada row é um fato real do negócio:

  • Um cliente

  • Uma conta

  • Uma transação às 14:32:10

No DB2:

  • Linhas são protegidas por locking avançado

  • Trabalham com commit, rollback e isolamento

  • Suportam milhares de acessos simultâneos

Comentário El Jefe
DB2 nasceu para concorrência massiva antes disso virar problema no mercado.


4️⃣ Keys & Relationships – a alma do modelo relacional

Aqui mora a inteligência:

  • Primary Key → identidade

  • Foreign Key → relacionamento

  • Indexes → performance

  • Constraints → integridade

🧠 Curiosidade histórica
Antes do DB2, muitos sistemas usavam arquivos hierárquicos (IMS).
O modelo relacional trouxe algo revolucionário:
👉 relacionar dados sem duplicar estrutura física.


DB2 Schema


🧱 O 5º elemento invisível (e essencial): SCHEMA

Se tabela é a casa…
Schema é o bairro inteiro.

📌 O que é Schema no DB2?

Schema é um namespace lógico que organiza objetos:

  • Tables

  • Views

  • Indexes

  • Procedures

  • Functions

ELJEFE.CLIENTE ELJEFE.CONTA ELJEFE.TRANSACAO

Sem schema, o DB2 seria como:

  • Dataset sem HLQ

  • PDS sem padrão

  • Ambiente pronto para desastre


⚙️ Funcionamento prático

  • Todo objeto pertence a um schema

  • Se não informado:

    • DB2 usa o CURRENT SQLID

SET CURRENT SQLID = 'ELJEFE'; SELECT * FROM CLIENTE;

Na prática:

SELECT * FROM ELJEFE.CLIENTE;

Comentário Bellacosa
Isso é HLQ de dataset aplicado ao mundo relacional.


🔐 Schema e Segurança

Schema também é governança:

  • Permissões por schema

  • Integração com RACF

  • Separação clara entre sistemas e times

🛡️ Dica El Jefe
Grande parte dos erros em produção não é SQL errado —
é schema errado.


🧠 Visão Jedi – tudo conectado

Agora o modelo completo:

SCHEMA └── TABLE ├── COLUMNS ├── ROWS └── KEYS / CONSTRAINTS
  • Schema organiza

  • Tabela estrutura

  • Coluna define

  • Linha materializa

  • Chave relaciona

Tudo isso sustentado por DB2 + z/OS + RACF.


🧪 Dicas práticas Bellacosa Mainframe

✔ Pense em volume e longevidade, não só no hoje
✔ Performance começa no CREATE TABLE
✔ DB2 é arquitetura, não só SQL
✔ Schema bem definido evita desastre silencioso
✔ Mainframe foi feito para não cair


🥚 Easter Eggs & Curiosidades finais

  • DB2 sobrevive a falhas que derrubariam qualquer stack moderna

  • Muitos padrões SQL nasceram no DB2

  • O otimizador do DB2 z/OS é referência mundial

  • COBOL + DB2 ainda move a maior parte do dinheiro do planeta


☕ Conclusão – DB2 é filosofia

Entender os componentes do modelo relacional é fácil.
Entender como o DB2 os executa em escala planetária é outra história.

No El Jefe, a regra é clara:

Quem domina DB2 no Big Iron, domina sistemas críticos de verdade.

Nos vemos no próximo café ☕
Bellacosa Mainframe


segunda-feira, 10 de junho de 2013

🌳 O Quintal dos Avós — Magia, Frutas e Liberdade em Plenos Anos 70

 



🌳 O Quintal dos Avós — Magia, Frutas e Liberdade em Plenos Anos 70

(por Bellacosa Mainframe — Série “Sempre um Isekai”, Capítulo IV)

Houve um tempo em que o mundo cabia dentro de um quintal.
E o meu era o quintal dos meus avós Pedro e Ana, um território sagrado onde a infância tinha sabor de fruta madura e cheiro de terra molhada.

Ali, cada canto escondia um segredo, cada árvore contava uma história, e cada manhã começava como se o sol estivesse nascendo só pra mim.




🍑 O reino encantado da nespereira

O quintal começava com uma nespereira, a árvore que marcava a fronteira entre o real e o imaginário.
Depois vinha uma parreira generosa, um limoeiro de sombra fria, uma uvaia curiosa, uma amoreira doce e uma goiabeira teimosa — todas elas testemunhas silenciosas das minhas primeiras aventuras.

No meio de tudo isso, havia galinheiro, chiqueiro, horta e espaço pra correr até cansar.
Para os olhos de um menino de cinco anos, aquele terreno era um universo inteiro.
Eu subia nos galhos, comia frutos direto do pé, observava os leitõezinhos crescendo mês a mês — sem imaginar que um dia fariam parte da ceia de Natal.

E quando chegava dezembro, o quintal se transformava num espetáculo:
vinte primos, meia centena de pessoas, muito barulho e risadas, mesas enormes e o perfume de comida feita com amor e lenha.
Era o grande evento do ano — o reboot da família, a atualização emocional do sistema.




🧰 O quartinho de ferramentas e o baloiço dos sonhos

No canto do quintal, havia um quartinho de ferramentas, que para mim era uma espécie de laboratório secreto de invenções.
Parafusos, chaves, engrenagens, pedaços de metal, velhos rádios desmontados — tesouros que eu explorava como um pequeno arqueólogo da curiosidade.

E, ao lado, o baloiço pendurado rm caibros na fronteira do cimento com a terra, uma escadinha com tres degraus levava rumo ao portal magico do quintal.
Ali, eu voava.
Subia e descia como se pudesse alcançar o céu, conversar com os passarinhos, ver o mundo inteiro por outro ângulo.
Era o meu sistema de escape, meu hypervisor de imaginação.

Às vezes, o vento trazia o riso da vizinha, o assobio do meu tio Pedrinho empinando pipas e arraias — e tudo se tornava magia pura.




🇧🇷 O Brasil lá fora

Enquanto isso, o mundo dos adultos fervia.
O país já sentia os primeiros espasmos da crise econômica, o milagre brasileiro começava a desbotar, e a ditadura militar, embora em seu ocaso, ainda lançava sombras de medo e silêncio.

Mas o quintal era meu firewall.
Ali dentro, a realidade tinha outro ritmo.
Entre o canto do galo e o ranger da corda do baloiço, eu aprendi que a liberdade não está nas ruas — está na alma de quem ainda consegue sonhar.




☕ Epílogo Bellacosa

Hoje, quando fecho os olhos, ainda ouço o estalar dos galhos, o ronco dos porcos, o bater das asas das galinhas.
O quintal dos meus avós foi meu primeiro data center emocional:
onde armazenei as memórias mais puras, onde compilei meus afetos, e onde aprendi que o tempo é só um ciclo de estação.

Entre uma nespereira e um limoeiro, descobri que a infância é o sistema operacional da alma.
Tudo que vem depois — amores, dores, conquistas — roda sobre ela.

E às vezes, quando o vento sopra do lado certo, juro que ainda escuto o eco distante do meu baloiço…
girando devagar, como se o tempo ainda tivesse paciência.

terça-feira, 4 de junho de 2013

🍡 PARTE 1 – DOCES OTAKU

 


🍡 PARTE 1 – DOCES OTAKU (10 itens)

El Jefe Midnight Lunch – Arquitetura doce em 31 bits de glicose


1) DANGO (だんご)

O docinho oficial da fofura japonesa.
Origem: Período Heian (794–1185).
O que é: Bolinhas de farinha de arroz, geralmente 3 ou 4 no espeto.
Sabores clássicos: Mitarashi (calda de shoyu doce), Hanami (coloridinhos rosa-branco-verde), Anko (pasta de feijão).
Anime: Clannad (e aí todo mundo já começa a chorar).
Curiosidade: No Japão, o dango é tão icônico que virou emoji.
Easter egg: As cores do “Hanami Dango” representam sakura (rosa), pureza (branco) e primavera (verde).
Comentário Bellacosa:
Um dango é tipo aquele arquivo VSAM redondinho que sempre retorna bem — docinho, consistente e com integridade de dados impecável.


2) PUDDING / PURIN (プリン)

O pudim japonês de caramelo que a gente sempre vê tremelicando nos animes.
Origem: Influência do crème caramel francês, adaptado no Meiji.
Ingredientes: Leite, ovos, açúcar e calda.
Anime: Cardcaptor Sakura, Neko Atsume, My Hero Academia (Mineta sequestrando pudim 🙄)
Curiosidade: O purin é tão popular que existe até Purin XL, tamanho “boss final”.
Easter egg: É comum o fã achar que purin é o PokéMon — mas aquele é “Purīn”, outro bicho.
Comentário Bellacosa:
Purin é o checkpoint restart da alma: bateu tristeza, chama o pudim e recompila a felicidade.


3) DORAYAKI (どら焼き)

O lanche oficial do Doraemon.
Origem: Período Meiji.
O que é: Duas panquecas fofas com pasta de feijão doce.
Anime: Doraemon, Shokugeki no Soma, Gintama
Curiosidade: A lenda diz que um samurai descansou sua espada numa frigideira, criando a forma do doce.
Easter egg: Nobita venderia a alma por um dorayaki.
Comentário Bellacosa:
Dorayaki é tipo um job JCL bem montado — duas partes fofas, recheio colante, e se você comer errado, vira dump no estômago.


4) TAIYAKI (たい焼き)

O peixinho doce mais famoso dos animes.
Origem: 1909, criado por Seijirō Kanbei em Tóquio.
O que é: Massa de waffle moldada em peixe, recheada com anko, creme ou chocolate.
Anime: K-on!, Naruto, Azumanga Daioh
Curiosidade: A cauda é a parte mais disputada.
Easter egg: No Japão existe o “Taiyaki sem recheio”, considerado heresia gastronômica.
Comentário Bellacosa:
Caso de uso ideal: cold start no inverno. Esquenta mão, alma e coração — igual IPL de manhã no CP-1.


5) MOCHI (餅)

Um dos doces mais antigos do Japão.
Origem: Século VIII.
Ingredientes: Arroz glutinoso socado até virar massa elástica.
Anime: Inuyasha, Sailor Moon, Tamako Market
Curiosidade: Mochi de Ano Novo matou mais velhinhos no Japão que muito vilão de shonen, porque é pegajoso.
Easter egg: Cada família tem seu próprio “batch job” para batê-lo no pilão (kagami-mochi).
Comentário Bellacosa:
Mochi é basicamente um dataset sticky — se cair na boca, cola até no raciocínio.


6) PARFAIT (パフェ)

A sobremesa mais exagerada e “instagramável” do Japão.
Origem: França → Japão trouxe, exagerou, otakizou.
O que é: Camadas de sorvete, frutas, chantilly, bolo, cereal e tudo que sobrar.
Anime: Love Live!, K-on!, The Melancholy of Haruhi Suzumiya
Curiosidade: Os cafés otaku fazem parfaits temáticos (Naruto, Miku, etc.).
Easter egg: Personagem que come parfait geralmente é meiga… ou psicopata fofinha.
Comentário Bellacosa:
Parfait é igual modernização de mainframe: muita camada, muito topping, mas se juntar tudo direitinho, vira poesia.


7) CASTELLA (カステラ)

Um bolo que nasceu em Portugal e virou símbolo do Japão.
Origem: Século XVI — missionários portugueses.
Ingredientes: Ovos, açúcar, mel e farinha.
Anime: Fate/Stay Night, Gintama
Curiosidade: O nome vem de “Pão de Castela”, dos portugueses.
Easter egg: Até hoje é famoso em Nagasaki, onde virou patrimônio culinário.
Comentário Bellacosa:
Castella é o “dump de infância” dos japoneses — memória boa guardada em formato de bolo.


8) ANMITSU (あんみつ)

Sobremesa refrescante do verão japonês.
O que é: Cubinhos de kanten (gelatina vegetal), frutas, anko, calda preta (kuromitsu).
Anime: Natsume Yuujinchou
Curiosidade: Tem mais fibra que muita salada de dieta.
Easter egg: parente próximo do mitsumame.
Comentário Bellacosa:
É tipo um DASD transparente com vários volumes — doce modular.


9) DAIFUKU (大福)

“Grande sorte” enrolada em mochi.
Origem: Período Edo.
O que é: Mochi recheado — geralmente anko, mas existem versões com morango (ichigo daifuku).
Anime: Shokugeki no Soma
Curiosidade: Em Tóquio existem lojas que vendem +200 variações.
Easter egg: Ichigo Daifuku aparece MUITO em Japão x Dia dos Namorados.
Comentário Bellacosa:
Daifuku é o PDS da doçaria: compacto, eficiente e sempre útil.


10) YATSUHASHI (八つ橋)

Doce clássico de Kyoto.
Origem: Século XVII.
O que é: Massa de arroz com canela (versão assada) ou macia com recheio (versão suave).
Anime: Tamako Market (Kyoto vibes).
Curiosidade: Tem sabor de aventura em templos antigos.
Easter egg: Presente típico que turista leva para casa.
Comentário Bellacosa:
É o tipo de doce que parece um job simples… mas bate com força na nostalgia.



sábado, 1 de junho de 2013

🟦 COBOL 4 vs COBOL 5 no IBM Mainframe

 


🟦 COBOL 4 vs COBOL 5 no IBM Mainframe

O compilador conservador vs o compilador sem piedade

“COBOL 4 aceita seu passado.
COBOL 5 exige que você pague por ele.”

— Bellacosa, 02:17 da manhã, após um RC=12


🧬 Visão geral rápida

AspectoCOBOL 4.xCOBOL 5.x
FilosofiaEvolução seguraModernização radical
Base técnicaMista (transição)LE-only
CompatibilidadeAltíssimaQuebra compatibilidade
PerformanceBoaExcelente
Tolerância a “jeitinhos”AltaZero
Indicado paraSistemas legadosSistemas modernos
Dor na migraçãoBaixaAlta (mas honesta)


🕰️ História resumida (contexto importa)

COBOL 4.x

  • Ponte entre o COBOL clássico e o moderno

  • Mantém compatibilidade

  • Ideal para recompilar sem reescrever

  • Estratégia: ganhar performance sem trauma

COBOL 5.x

  • Reescrito do zero

  • Totalmente 64 bits

  • Totalmente Language Environment (LE)

  • Estratégia: chega de passado mal resolvido

🥚 Easter-egg:

COBOL 5 não “evolui” o COBOL 4.
Ele substitui.


⚙️ Arquitetura interna (onde mora a diferença real)

COBOL 4

  • Compilador moderno, mas ainda tolerante

  • Suporta comportamentos históricos

  • Código objeto previsível

  • Ideal para ambientes mistos

COBOL 5

  • Backend totalmente novo

  • Otimização agressiva

  • Explora z13+

  • Assume que você escreve COBOL correto

💣 Tradução Bellacosa:

Se o código está errado, o COBOL 5 não vai fingir que está certo.


💥 Compatibilidade (a grande ferida)

COBOL 4

✔ Aceita código antigo
✔ Perdoa ambiguidade
✔ Mantém comportamento histórico

COBOL 5

❌ Quebra código legado
❌ Muda comportamento implícito
❌ Não aceita mais “funcionava assim”

Exemplos clássicos que quebram:

  • Dados mal alinhados

  • DEPEND ON inconsistente

  • MOVE implícito perigoso

  • Uso errado de REDEFINES

🥚 Easter-egg de guerra:

O mesmo código que roda há 30 anos pode ABENDAR no COBOL 5 sem mudar uma linha.


🚀 Performance

SituaçãoCOBOL 4COBOL 5
Batch pesadoBoa🔥 Excelente
Loops intensivosOk🚀 Muito melhor
CPU usageMenor que 3Menor que 4
EscalaLimitadaPensada para escala

👉 Se o objetivo é economizar MIPS, o COBOL 5 vence.


🧪 Exemplo conceitual

Código que “passa” no COBOL 4:

01 WS-NUM PIC 9(4). 01 WS-CHAR REDEFINES WS-NUM PIC X(4). MOVE 'ABCD' TO WS-CHAR. ADD 1 TO WS-NUM.

✔ COBOL 4: pode até rodar
❌ COBOL 5: comportamento indefinido → risco real

💡 COBOL 5 exige que você seja explícito.


🛠️ Parâmetros de compilação

COBOL 4

  • Mais permissivo

  • Ideal para legado

  • Bom para transição

COBOL 5

  • ARCH(n) obrigatório

  • OPTIMIZE agressivo

  • Sem modo “compatível”

🥚 Easter-egg técnico:

COBOL 5 não tem “modo COBOL 4”.
A IBM foi clara: corrija o código.


🧭 Quando usar cada um?

✔ Use COBOL 4 se:

  • Sistema é crítico

  • Código antigo e estável

  • Pouco budget para refatoração

  • Objetivo é ganho rápido e seguro

✔ Use COBOL 5 se:

  • Projeto novo

  • Modernização planejada

  • Uso de APIs, serviços, CI/CD

  • Quer performance máxima

  • Quer futuro


🧘 Estratégia Bellacosa recomendada

🥋 Caminho do Jedi Mainframe:

1️⃣ Recompile tudo em COBOL 4
2️⃣ Ative parâmetros rigorosos
3️⃣ Corrija warnings e comportamentos estranhos
4️⃣ Crie suíte de testes
5️⃣ Só então migre para COBOL 5

“Pular do 3 para o 5 é possível.
Mas você vai sangrar.”


🧠 Verdade final (sem marketing)

  • COBOL 4 é o porto seguro

  • COBOL 5 é o futuro inevitável

  • A dor do COBOL 5 vale a pena

  • Mas só para quem está preparado


🟦 Conclusão Bellacosa™

COBOL 4 mantém o legado vivo.
COBOL 5 prepara o legado para sobreviver.

Não existe “melhor versão”.
Existe a versão certa para o momento certo.


segunda-feira, 20 de maio de 2013

Uma tarde no zoo de Lisboa

Aventuras com o Barbinha no Zoologico


Nao sou o melhor pai do mundo, a bem da verdade queria ter aprendido a ser melhor pai, mas de todos os meus conhecimentos essa parte sou medíocre.

Depois do meu divorcio é ida para Italia, de tempos em tempos voltava a Portugal para visitar meu filho. E nosso programa principal é a ida ao jardim Zoológico de Lisboa.

Pena que as restrições de audio tiraram toda a graça do show com os leões marinhos.



Para aqueles que não conhecem o Zoológico de Lisboa é pequenino, porém muito rico em atraçoes, possui uma área de shows com golfinhos e leoes marinhos (acredito que as primeiras memorias divertidas do meu filho, foram feitas aqui ganhando beijos do leão marinho).

Outras atraçoes existentes são o teleférico que circula todo o perímetro, o show de aves exóticas, demonstração de animais e diversos cativeiros construídos da forma mais humana possível, tentando reproduzir o habitat natural.

A principal vantagem deste zoológico é sua posição estratégica ao lado de uma estação conjugada de Trem/Metro/Ónibus e estar próximo ao centro da cidade. Evitando com isso grandes deslocações e perda de tempo em transportes.

Na área externa existe uma grande praça de alimentação com diversos restaurantes, fliperamas e brinquedos para os miúdos, com muita sombra para repousar



quarta-feira, 15 de maio de 2013

🧠⚙️ O Sistema Operacional Z — O que é z/OS?

 


🧠⚙️ O Sistema Operacional Z — O que é z/OS?

O sistema operacional que sustenta o mundo (e ninguém vê)

“Enquanto o mundo discute frameworks da moda,
o z/OS continua garantindo que o dinheiro chegue certo, no horário certo.”

Se você acha que z/OS é apenas “mais um sistema operacional”,
prepare-se para um choque de realidade.


🧱 O que é z/OS, afinal?

z/OS é o sistema operacional dos mainframes IBM Z.

Assim como:

  • Windows roda em desktops

  • Linux roda em servidores

👉 z/OS roda em computadores feitos para nunca parar.

Ele é responsável por coordenar, com precisão cirúrgica:

  • Hardware

  • Software

  • Aplicações

  • Usuários

  • Dados

  • Segurança

  • Performance

Tudo isso ao mesmo tempo, 24x7, 365 dias por ano.


🌍 Escala: onde o z/OS humilha qualquer comparação

Um sistema comum foi feito para:

  • Dezenas ou centenas de usuários

  • Alguns milhares de transações

O z/OS foi feito para:

👥 Milhares de usuários simultâneos
💳 Milhões de transações por segundo
📊 Volumes absurdos de dados sensíveis

E tudo isso:

  • Com isolamento

  • Com segurança

  • Com previsibilidade

  • Sem reboot de madrugada


⚖️ Gerenciamento de carga: o cérebro do sistema

Um dos maiores diferenciais do z/OS é o Workload Management (WLM).

Tradução Bellacosa:

O sistema decide quem merece CPU, quando e quanto.

O z/OS:

  • Prioriza aplicações críticas

  • Garante SLA

  • Evita que um JOB mal escrito derrube o sistema

  • Distribui recursos de forma justa e inteligente

No mundo distribuído, isso é “best effort”.
No z/OS, é engenharia de missão crítica.


🔐 Segurança: não é opcional, é DNA

z/OS nasceu em ambientes onde:

  • Um erro custa milhões

  • Um vazamento é inadmissível

  • Auditoria é rotina, não exceção

Ele integra nativamente:

  • RACF / ACF2 / Top Secret

  • Controle fino de acesso

  • Rastreabilidade completa

  • Separação real de ambientes

Aqui não existe:

“Depois a gente coloca segurança.”


🔄 Disponibilidade e recuperação: parar não é opção

Outro mantra do z/OS:

Falha acontece. Parada não.

O sistema foi projetado para:

  • Detectar falhas

  • Isolar problemas

  • Recuperar automaticamente

  • Continuar processando

É por isso que bancos confiam no z/OS para:

  • Compensação

  • Liquidação

  • Pagamentos

  • Crédito

  • Débito

  • Transferências globais


🗂️ Batch e ⚡ Online: dois mundos, um sistema

O z/OS domina dois universos ao mesmo tempo:

🗂️ Batch Processing

  • Grandes volumes

  • Processamento pesado

  • Horários controlados

  • Eficiência máxima

⚡ Online Transaction Processing (OLTP)

  • Respostas em tempo real

  • Usuários simultâneos

  • Latência mínima

  • Alta disponibilidade

Ambos coexistem no mesmo sistema, sem briga, sem gambiarra.


🚀 Múltiplas aplicações, isolamento total

No z/OS:

  • Uma aplicação não derruba a outra

  • Um usuário não vê o que não deve

  • Um erro não vira efeito dominó

Isso não é mágica.
É arquitetura madura, construída ao longo de décadas.


🏦 Quem confia no z/OS (e por quê)

z/OS é a espinha dorsal de:

🏦 Bancos e instituições financeiras
🏛️ Sistemas governamentais
✈️ Companhias aéreas
🚆 Transporte e logística
🏢 Grandes corporações globais

Onde existe:

  • Dinheiro

  • Dados críticos

  • Responsabilidade legal

👉 Existe z/OS.


🥚 Easter-eggs do mundo z/OS

  • z/OS já era “cloud-like” antes da nuvem existir

  • Virtualização sempre foi nativa

  • Segurança sempre foi requisito, não feature

  • Alta disponibilidade nunca foi marketing


🎓 Recado final do El Jefe ao padawan

Aprender z/OS não é aprender o passado.
É aprender como o mundo realmente funciona.

Enquanto modas vão e vêm,
o z/OS continua lá:

  • Silencioso

  • Estável

  • Processando trilhões

  • Sustentando a economia global

terça-feira, 14 de maio de 2013

🧾 COBOL 4.00 no IBM Mainframe

 


🧾 COBOL 4.00 no IBM Mainframe

Guia para Iniciantes: Código Limpo, Seguro e Econômico

“COBOL 4 não perdoa código ruim.
Ele executa… e te cobra por isso.”


🕰️ Um Pouco de Contexto (Por que COBOL 4 importa)

O Enterprise COBOL 4.00 marcou uma virada de chave no mainframe:

  • Introduziu um novo compilador

  • Passou a gerar código mais próximo da arquitetura moderna

  • Começou a penalizar código antigo e relaxado

👉 Muitos programas antigos funcionam, mas:

  • Gastam mais CPU

  • Usam mais memória

  • Sofrem em batch pesado


🧱 Estrutura Básica de um Programa COBOL (Visão Rápida)

IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION.

Para iniciantes:

  • DATA DIVISION mal feita = desastre

  • PROCEDURE DIVISION confusa = CPU jogada fora



⚠️ Grandes Perigos para Iniciantes no COBOL 4

☠️ 1. Código que “funciona” mas custa caro

Exemplo perigoso:

PERFORM UNTIL EOF READ ARQ MOVE CAMPO-A TO CAMPO-B END-PERFORM

❌ MOVE desnecessário dentro do loop
❌ Loop sem controle de volume

✅ Melhor prática:

READ ARQ AT END SET EOF TO TRUE END-READ

E só mover o que for necessário.


☠️ 2. PERFORM Excessivo (Modular demais mata CPU)

Iniciantes adoram:

PERFORM TRATA-REGISTRO

dentro de loop com milhões de registros.

⚠️ Cada PERFORM é custo.

✔️ Dica:

  • Inline lógica crítica

  • Use PERFORM para controle, não para micro-rotinas


☠️ 3. Variáveis mal definidas (memória desperdiçada)

Erro clássico:

01 WS-VALOR PIC X(1000).

Quando só precisa de 10 bytes 😱

✔️ Regra de ouro:

  • PIC do tamanho exato

  • Evite campos genéricos “pra garantir”

📉 Menos memória = menos cache miss = menos CPU.


☠️ 4. Repetir cálculos desnecessários

Erro comum:

COMPUTE WS-TOTAL = WS-QTD * WS-VALOR

feito várias vezes no loop com os mesmos valores.

✔️ Dica:

  • Calcule uma vez

  • Armazene

  • Reutilize


🧼 Como Escrever Código Mais Limpo no COBOL 4

✅ Use nomes claros

WS-VALOR-TOTAL WS-FIM-ARQUIVO

❌ Evite:

WS-A WS-X1

✅ Evite lógica escondida

Código perigoso:

IF A = B MOVE X TO Y ELSE IF C = D MOVE Z TO Y END-IF END-IF

✔️ Melhor:

  • Clareza > esperteza

  • COBOL foi feito para ser legível


🚀 Performance no COBOL 4: Dicas Práticas

⚙️ 1. Tire código de dentro de loops

Cada instrução dentro de loop custa N vezes.


⚙️ 2. Use corretamente os níveis da DATA DIVISION

  • Campos agrupados bem definidos

  • Evite REDEFINES desnecessário

REDEFINES mal usado = bugs silenciosos.


⚙️ 3. Cuidado com STRING e UNSTRING

Eles são poderosos… e caros.

✔️ Use apenas quando necessário
✔️ Evite em loops grandes


⚙️ 4. Arquivos: leia com cuidado

  • READ sequencial é barato

  • READ aleatório é caro

  • Releitura custa CPU e I/O


🧠 Pontos de Atenção que Geram Bugs em Produção

ArmadilhaProblema
Campo não inicializadoResultado imprevisível
EOF mal tratadoLoop infinito
IF aninhado demaisErro lógico
REDEFINES confusoDados corrompidos
Índices fora do limiteABEND

🧙 Curiosidades & Easter Eggs COBOL 4

  • COBOL 4 foi o primeiro passo real rumo ao COBOL 5

  • Programas antigos compilam, mas podem custar o dobro de CPU

  • O compilador já “entende” melhor a arquitetura do zSeries


🧭 Primeiros Passos Recomendados para Padawans

  1. Aprenda estrutura limpa

  2. Evite copiar código velho sem entender

  3. Sempre pense:

    “Isso vai rodar quantas vezes?”

  4. Meça CPU quando possível

  5. Menos código = menos custo


🏁 Conclusão

COBOL 4.00 é:

  • Estável

  • Poderoso

  • Implacável com código mal escrito

“No mainframe, não existe código inocente.
Só código caro ou econômico.”