Translate

Mostrar mensagens com a etiqueta Processamento de Transações. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Processamento de Transações. Mostrar todas as mensagens

sábado, 3 de abril de 2021

☕💣🚀 PADAWAN, O IMS NÃO É UM BANCO DE DADOS. É UMA CIVILIZAÇÃO DIGITAL QUE SOBREVIVEU A TODAS AS MODAS DA COMPUTAÇÃO!

 

Bellacosa Mainframe e o database ims

☕💣🚀 PADAWAN, O IMS NÃO É UM BANCO DE DADOS. É UMA CIVILIZAÇÃO DIGITAL QUE SOBREVIVEU A TODAS AS MODAS DA COMPUTAÇÃO!

A Anatomia Completa do IMS DB: Como uma Tecnologia Nascida Para Levar o Homem à Lua Continua Movimentando Trilhões de Dólares no Século XXI

Quando alguém escuta a sigla IMS, normalmente imagina um sistema antigo, preso aos anos 1960, escondido em alguma sala refrigerada de um banco.

Mas essa visão está tão errada quanto acreditar que um Boeing 787 voa usando a mesma tecnologia dos irmãos Wright.

O IMS evoluiu.

E evoluiu muito.

O que nasceu em 1966 para ajudar a NASA no Programa Apollo transformou-se em uma das plataformas de gerenciamento de dados mais resilientes da história da computação. Segundo o material estudado, o IMS foi desenvolvido pela IBM em parceria com Rockwell e Caterpillar para apoiar o projeto que levaria o homem à Lua.

Mais de meio século depois, ele continua processando algumas das cargas de trabalho mais críticas do planeta.

E existe uma razão simples para isso:

O IMS não foi construído para ser bonito.

Foi construído para nunca falhar.


O Grande Equívoco dos Novatos

Uma das primeiras armadilhas para quem começa a estudar IMS é tentar compará-lo diretamente com bancos relacionais.

O raciocínio geralmente é:

  • Oracle possui tabelas

  • SQL Server possui tabelas

  • PostgreSQL possui tabelas

  • Então IMS também deve possuir tabelas

Não.

O IMS enxerga o mundo de forma completamente diferente.

Enquanto bancos relacionais organizam informações em linhas e colunas, o IMS organiza informações em árvores hierárquicas.

Imagine uma árvore genealógica.

Existe:

  • um ancestral

  • filhos

  • netos

  • bisnetos

Esse é exatamente o modelo mental utilizado pelo IMS.

A estrutura inteira foi desenhada para representar relacionamentos naturais de dependência.


Por Que a IBM Criou um Banco Hierárquico?

Voltemos para 1966.

Não existiam:

  • bancos relacionais

  • SQL

  • ORM

  • Hibernate

  • Entity Framework

  • MongoDB

  • Kubernetes

A preocupação era outra.

A NASA precisava controlar volumes gigantescos de componentes.

Imagine um foguete Saturn V.

Ele possuía:

  • estágios

  • motores

  • sistemas hidráulicos

  • sistemas elétricos

  • sensores

Cada componente dependia de outro componente.

O modelo hierárquico era extremamente natural para representar essa realidade.

Foi daí que nasceu o IMS.


O Que É um Segmento?

No universo IMS, tudo gira ao redor do conceito de segmento.

O tutorial define segmento como a menor unidade de informação movimentada entre a aplicação e o banco através do DL/I.

Pense nele como um registro lógico.

Exemplo:

CLIENTE
--------
Código
Nome
CPF
Telefone

Esse conjunto de campos forma um segmento.


Campo Não É Segmento

Outro erro comum.

Campo e segmento não são a mesma coisa.

O segmento é o recipiente.

Os campos são os dados armazenados dentro dele.

Exemplo:

CLIENTE
    Código
    Nome
    CPF
    Cidade

CLIENTE = Segmento

Código = Campo

Nome = Campo

CPF = Campo

Cidade = Campo

Parece simples.

Mas essa distinção é fundamental para entender DBDs, PSBs e chamadas DL/I.


O Poder da Hierarquia

Imagine uma seguradora.

Cada cliente possui:

CLIENTE
 ├── APÓLICE
 │     ├── COBERTURA
 │     ├── SINISTRO
 │     └── PAGAMENTO

Perceba algo interessante.

Um sinistro não existe sem uma apólice.

Uma apólice não existe sem um cliente.

Essa dependência natural é exatamente o que o IMS modela de forma brilhante.


O Segmento Root: O Imperador da Galáxia

Toda hierarquia IMS possui um segmento raiz.

O chamado Root Segment.

Ele é o ponto de entrada para todo o restante da estrutura.

Sem ele nada existe.

Na prática:

CLIENTE
 ├── CONTA
 ├── CARTÃO
 └── EMPRÉSTIMO

CLIENTE seria o Root.

Toda navegação começa nele.

Toda recuperação passa por ele.

Toda inserção depende dele.


Parent, Child, Dependents e a Família IMS

Uma das razões pelas quais o IMS é intuitivo é que ele utiliza conceitos familiares.

O material apresenta:

Parent Segment

Segmento que possui filhos abaixo dele.

Child Segment

Segmento que possui um pai acima dele.

Dependent Segment

Qualquer segmento que não seja raiz.

Isso cria uma estrutura extremamente organizada.


Twin Segments: Os Gêmeos do Banco

Uma característica curiosa do IMS é a existência dos Twin Segments.

Imagine:

CLIENTE
 ├── CONTA 001
 ├── CONTA 002
 ├── CONTA 003

Todas são ocorrências do mesmo tipo de segmento.

Logo:

CONTA 001
CONTA 002
CONTA 003

são twins.

Em bancos relacionais isso parece trivial.

No IMS isso influencia diretamente o processamento DL/I.


Database Record: Muito Mais Que Um Registro

Em SQL um registro normalmente significa uma linha.

No IMS não.

Um Database Record é composto pelo Root mais todos os segmentos subordinados.

Exemplo:

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

Tudo isso junto forma um único Database Record.

Essa diferença muda completamente a forma de programar.


Database Path: A Estrada Dentro da Árvore

O conceito de Path é outro dos pilares do IMS.

Um Path é o caminho percorrido do Root até um segmento específico.

Exemplo:

CLIENTE
 └── CONTA
      └── MOVIMENTO

O caminho é:

CLIENTE → CONTA → MOVIMENTO

Não é permitido "pular" níveis.

Isso garante consistência estrutural.


DL/I: O Tradutor Universal

Se existe algo que todo programador IMS precisa dominar é o DL/I.

O Data Language Interface é a interface utilizada pelos programas para conversar com o banco.

Pense nele como:

SQL do IMS

Mas muito mais poderoso.

E muito mais perigoso para iniciantes.


Processamento Sequencial: A Filosofia Original

O tutorial mostra que o processamento sequencial segue um padrão fixo:

Primeiro desce.

Depois anda para a direita.

Em outras palavras:

Root
 ↓
Filho
 ↓
Neto
 ↓
Bisneto
 →
Próximo irmão

Isso parece estranho para quem vem de SQL.

Mas oferece uma eficiência impressionante.


Processamento Aleatório: A Arma dos Especialistas

Nem sempre queremos percorrer a árvore inteira.

Às vezes queremos acessar diretamente:

Cliente 999999

Nessa situação usamos Random Processing.

Para isso fornecemos uma chave concatenada.

Exemplo:

BANCO
CLIENTE
CONTA

Essa combinação identifica exatamente o caminho desejado.


Chave Concatenada: A Magia do Desempenho

O tutorial apresenta um conceito frequentemente ignorado pelos novatos:

Concatenated Key.

Ela contém as chaves de todos os segmentos necessários para localizar um ponto específico da árvore.

Exemplo:

AGENCIA = 1234
CLIENTE = 998877
CONTA = 000001

Juntos eles definem um único caminho.

É isso que torna o acesso tão rápido.


Por Que IMS Costuma Ser Mais Rápido Que Bancos Relacionais?

O próprio material destaca que o processamento IMS costuma ser mais rápido que DB2 para determinadas cargas.

O motivo é simples.

Não existe JOIN.

Não existe otimizador tentando adivinhar o melhor plano.

Não existe estatística de tabela.

A estrutura já define previamente o caminho.

O acesso é direto.

Determinístico.

Previsível.


DBD: O DNA do Banco

Chegamos a uma das partes mais importantes.

O DBD.

Database Descriptor.

Se o banco fosse um ser humano, o DBD seria seu DNA.

Ele descreve:

  • segmentos

  • campos

  • relacionamentos

  • método de acesso

  • estrutura física

Nada existe sem o DBD.


DBDGEN: O Ritual Sagrado dos DBAs IMS

O DBD é construído através do DBDGEN.

Quem já trabalhou com IMS sabe:

Criar um DBD não é apenas escrever macros.

É desenhar a forma como os próximos milhões de registros viverão pelos próximos anos.

Um erro de modelagem pode sobreviver décadas.


PSB: A Janela do Programa

O programa COBOL não enxerga o banco inteiro.

Ele enxerga apenas o que o PSB permite.

Imagine um castelo.

O DBD define o castelo.

O PSB define quais portas podem ser abertas.

Isso oferece:

  • segurança

  • isolamento

  • controle


PCB: O Passaporte da Aplicação

Dentro do PSB encontramos os famosos PCBs.

Program Communication Blocks.

Eles informam:

  • qual banco acessar

  • quais segmentos acessar

  • quais operações executar

Sem PCB não existe comunicação.


ACB: A União dos Mundos

O ACB combina:

DBD
+
PSB
=
ACB

O tutorial descreve o ACB como a forma executável do acesso ao banco.

É o elo final entre definição e execução.


DFSRRC00: O Maestro da Orquestra

Uma curiosidade que separa iniciantes de veteranos.

Programas IMS Batch normalmente são executados através do módulo:

DFSRRC00

O material mostra esse papel do módulo de inicialização batch IMS.

Quando um desenvolvedor COBOL executa um programa IMS, frequentemente é esse componente que está coordenando toda a operação.


O Programa COBOL Não Conversa Diretamente Com o Banco

Esse é outro conceito importante.

O fluxo real é:

COBOL
 ↓
DL/I
 ↓
IMS
 ↓
Database

O programa nunca acessa diretamente os dados.

Tudo passa pela camada DL/I.


O Verdadeiro Poder do IMS

Agora chegamos ao ponto que raramente aparece em tutoriais.

O verdadeiro poder do IMS não está em segmentos.

Nem em DBDs.

Nem em PSBs.

Nem mesmo no DL/I.

O verdadeiro poder está na previsibilidade.

Quando um banco movimenta:

  • cartões

  • seguros

  • telecomunicações

  • reservas aéreas

  • operações bancárias

o requisito principal não é inovação.

É sobrevivência.

O IMS foi desenhado para operar continuamente durante décadas.

E conseguiu.


O Que os Desenvolvedores Modernos Podem Aprender com o IMS?

Muita coisa.

Principalmente:

Modelagem importa

O IMS força o arquiteto a pensar antes de criar.

Performance nasce no desenho

Não existe milagre posterior.

Estruturas simples escalam

Uma árvore bem desenhada pode sobreviver cinquenta anos.

Confiabilidade vale mais que moda

Tecnologias modernas aparecem todos os anos.

Pouquíssimas permanecem relevantes por meio século.


Conclusão: O IMS Não Sobreviveu ao Futuro. Ele Ajudou a Construí-lo.

Existe uma frase que gosto de repetir aos alunos:

"O mundo não roda em aplicativos modernos. O mundo roda em sistemas que nunca podem parar."

O IMS é um dos maiores exemplos dessa realidade.

Enquanto gerações de bancos surgiram e desapareceram, o IMS continuou armazenando informações críticas, processando transações e sustentando operações que movimentam parte significativa da economia mundial.

Quando você estuda Root Segments, Paths, DBDGEN, PSBGEN, PCBs e DL/I, não está apenas aprendendo uma tecnologia antiga.

Está estudando uma das arquiteturas mais bem-sucedidas da história da computação corporativa.

E talvez essa seja a maior lição do IMS:

Em tecnologia, longevidade não acontece por acaso. Ela é conquistada através de decisões de arquitetura tão sólidas que continuam funcionando décadas depois que todas as tendências da época desapareceram.


quarta-feira, 21 de novembro de 2018

CICS TOR sem Mistérios para Programadores COBOL

 

Bellacosa Mainframe apresenta cics tor 

☕ Um Café no Bellacosa Mainframe

CICS TOR sem Mistérios para Programadores COBOL

Quando um Programador Descobre que Nem Todo Programa COBOL Conversa Diretamente com o Usuário... Existe uma Recepção Inteligente que Organiza Todo o Data Center Antes Mesmo do Primeiro EXEC CICS

"Não entre em pânico." — O Guia do Mochileiro das Galáxias

Se Douglas Adams tivesse trabalhado na IBM durante os anos 80, provavelmente escreveria um capítulo chamado "A Vida, o Universo e as Regiões CICS". Afinal, poucas arquiteturas conseguem parecer tão misteriosas à primeira vista e, ao mesmo tempo, tão elegantemente organizadas quanto um CICSplex.

Para quem está iniciando em COBOL Mainframe, é muito comum imaginar que o usuário digita uma transação, o programa COBOL é executado, consulta o DB2 e devolve a resposta.

Na prática...

...isso raramente acontece dessa forma.

Existe uma verdadeira cidade funcionando por trás das cortinas.

E um dos personagens mais importantes dessa cidade chama-se TOR (Terminal-Owning Region).

Hoje vamos abrir a porta do Data Center, colocar uma toalha no ombro (você entendeu a referência...) e descobrir como funciona esse universo.


Antes de tudo: o que é uma Região CICS?

Imagine que o CICS seja um enorme shopping center.

Dentro dele existem dezenas de lojas.

Cada loja possui funcionários, estoque, computadores e clientes.

No Mainframe acontece algo parecido.

Cada CICS Region é um ambiente independente executando dentro do z/OS.

Ela possui memória própria.

Recursos próprios.

Filas.

Programas.

Transações.

Arquivos.

Conexões.

E tudo isso funciona de maneira totalmente isolada das demais regiões.

Uma região pode executar centenas de milhares de transações diariamente.

Grandes bancos chegam facilmente à casa dos milhões.


O primeiro erro de todo iniciante

Quase todo programador COBOL pensa assim:

Usuário

↓

Programa COBOL

↓

DB2

↓

Resposta

É simples.

Faz sentido.

Mas...

...não é assim que um ambiente corporativo funciona.

Na realidade existe uma arquitetura muito mais sofisticada.

Usuário

↓

TOR

↓

AOR

↓

FOR

↓

DB2

↓

FOR

↓

AOR

↓

TOR

↓

Usuário

De repente apareceu um monte de siglas.

Vamos decifrá-las.


Por que dividir tudo?

Imagine um restaurante.

Você chega.

A primeira pessoa que encontra é a recepcionista.

Ela pergunta:

— Quantas pessoas?

— Mesa para fumantes?

— Possui reserva?

Ela não cozinha.

Não prepara sobremesa.

Não faz pizza.

Ela apenas organiza o fluxo.

Agora imagine se o chef precisasse abandonar o fogão toda vez que alguém chegasse à porta.

O restaurante entraria em colapso.

O mesmo acontece no CICS.


Bem-vindo ao TOR

TOR significa

Terminal-Owning Region

O nome parece complicado.

Na prática significa:

a região dona dos terminais.

Ela controla toda a comunicação com o mundo externo.

É ela quem recebe:

  • terminais 3270

  • sessões TCP/IP

  • conexões IPIC

  • usuários

  • requisições

  • logons

  • transações

Ela é literalmente a recepção do Data Center.


A analogia do aeroporto

Imagine um aeroporto.

Você entra.

Vai ao check-in.

Despacha bagagem.

Recebe seu cartão de embarque.

Somente depois segue para o portão correto.

O check-in nunca pilota o avião.

Da mesma forma...

O TOR nunca executa a lógica do programa COBOL.

Ele apenas encaminha.


O verdadeiro trabalho do TOR

Quando um usuário digita:

BANK

Ou

CUST

Ou

MENU

O TOR faz várias coisas quase instantaneamente.

Ele verifica:

  • quem é o usuário

  • de qual terminal veio

  • qual transação foi digitada

  • qual AOR está disponível

  • qual AOR possui menos carga

  • qual política de roteamento deve ser utilizada

Somente depois encaminha a requisição.

Tudo isso acontece em poucos milissegundos.


O grande maestro invisível

Imagine uma orquestra.

O maestro não toca violino.

Não toca trompete.

Não toca piano.

Mesmo assim...

Sem ele...

...a música vira caos.

O TOR é exatamente isso.

Ele coordena.

Distribui.

Organiza.

Sincroniza.


Então quem executa o COBOL?

Entra em cena outro personagem.

O famoso:

AOR

Application-Owning Region.

Agora sim.

Aqui vivem:

  • programas COBOL

  • programas PL/I

  • programas C

  • Java

  • BMS

  • MAPSETs

  • lógica de negócio

O AOR é onde realmente acontece o processamento.

Quando você escreve:

EXEC SQL

ou

EXEC CICS LINK

provavelmente será um AOR quem executará esse código.


O FOR entra na história

Existe ainda outra região.

FOR.

File-Owning Region.

Ela concentra:

VSAM

BDAM

arquivos compartilhados

alguns recursos de acesso

Embora muitas arquiteturas modernas permitam que o AOR acesse diretamente o DB2, em ambientes clássicos era comum utilizar FOR para centralizar determinados recursos físicos.

É uma forma elegante de separar responsabilidades.


O caminho completo de uma transação

Vamos acompanhar uma consulta de saldo.

Imagine João acessando o Internet Banking.

Ele solicita:

SALDO

O que acontece?

Primeiro:

João

↓

TOR

O TOR identifica a transação.

Depois:

↓

AOR-03

O programa COBOL inicia.

EXEC SQL

SELECT SALDO

FROM CONTAS

O DB2 responde.

O COBOL monta a tela.

A resposta retorna.

DB2

↓

AOR

↓

TOR

↓

João

João acredita que falou diretamente com o banco.

Na verdade...

Conversou apenas com o TOR.


O TOR conhece todos os usuários

Ele administra:

  • sessões

  • conexões

  • terminais

  • usuários ativos

  • estado das conexões

Pense nele como um gigantesco porteiro.

Ele sabe exatamente quem entrou no prédio.


O TOR conhece os programas?

Não.

Quem conhece programas é o AOR.

O TOR conhece caminhos.

Não conhece regras de negócio.


A mágica do balanceamento

Agora imagine:

100 mil pessoas consultando saldo.

Sem TOR:

Usuários

↓

AOR

Resultado?

Sobrecarga.

Com TOR:

Usuários

↓

TOR

↓

AOR1

AOR2

AOR3

AOR4

AOR5

Agora a carga fica distribuída.

Esse conceito hoje é chamado de:

Load Balancing.

Mas o CICS fazia isso quando a internet ainda engatinhava.


O CICS inventou a Cloud antes da Cloud?

Curiosamente...

Em vários aspectos...

Sim.

Observe.

Cloud moderna:

Gateway

Load Balancer

Microservices

Database

CICS:

TOR

AOR

FOR

DB2

A semelhança impressiona.

Muitas ideias que hoje parecem revolucionárias já existiam nos grandes mainframes há décadas.


O papel do CICSPlex

Até agora vimos várias regiões.

Mas quem coordena tudo?

Entra em cena o:

CICSPlex SM.

Ele funciona como um cérebro.

Conhece todas as regiões.

Monitora carga.

Falhas.

Disponibilidade.

Prioridades.

Com essas informações o TOR consegue decidir:

"AOR-2 está sobrecarregado."

"Envie para AOR-4."

Tudo automaticamente.


Quando um AOR morre

Imagine que o AOR-3 sofreu um ABEND.

O que acontece?

Sem TOR:

Todos os usuários falham.

Com TOR:

As novas transações passam automaticamente para outro AOR disponível.

Na maioria das vezes o usuário nem percebe.

Esse é um dos grandes segredos da disponibilidade do IBM Z.


O problema chamado Affinity

Nem toda transação pode mudar livremente de AOR.

Imagine um programa antigo.

Ele grava informações temporárias na memória.

Na próxima tela...

Ele espera encontrar aquelas informações.

Se o usuário cair em outro AOR...

Elas desapareceram.

Isso chama-se:

Transaction Affinity.

É um dos grandes desafios na modernização de aplicações CICS.


O que os arquitetos modernos fazem?

Evitam afinidade.

Preferem guardar contexto em:

  • TSQ compartilhada

  • Temporary Storage compartilhada

  • Channels e Containers

  • DB2

  • MQ

  • recursos compartilhados

Assim qualquer AOR pode continuar o processamento.


Curiosidade histórica

Nos anos 70 e 80 era comum existir apenas uma região CICS.

Tudo ficava nela.

Com o crescimento dos bancos isso tornou-se inviável.

Foi então que a IBM começou a incentivar arquiteturas distribuídas dentro do próprio Mainframe.

Nascia a divisão entre:

TOR

AOR

FOR

Mais tarde veio o CICSPlex.

Hoje essa arquitetura é praticamente padrão em ambientes corporativos.


Onde entram os terminais 3270?

Eles normalmente se conectam ao TOR.

Nunca diretamente ao AOR.

Isso simplifica administração.

Caso um AOR precise ser reiniciado...

Os terminais continuam conectados ao TOR.


O que acontece durante uma manutenção?

Imagine que o AOR-2 será atualizado.

O administrador simplesmente retira aquele AOR do roteamento.

O TOR passa a enviar novas transações para:

AOR-1

AOR-3

AOR-4

Quando o AOR-2 retorna...

Ele volta automaticamente ao balanceamento.

Nenhum usuário percebe.

Isso é engenharia de disponibilidade.


O TOR é um Firewall?

Não.

Mas ele funciona como um ponto central de entrada.

Por isso muitas políticas de segurança começam justamente nele.

É muito mais fácil controlar milhares de conexões em poucos TORs do que em dezenas de AORs espalhados.


Como isso aparece para o programador COBOL?

Na maioria das vezes...

Não aparece.

Você escreve:

EXEC CICS RECEIVE MAP('TELA1')
END-EXEC.

EXEC SQL
SELECT NOME
INTO :WS-NOME
FROM CLIENTE
END-EXEC.

EXEC CICS SEND MAP('TELA2')
END-EXEC.

Você nem imagina que por trás disso existe uma infraestrutura inteira tomando decisões sobre roteamento, disponibilidade e balanceamento.

Esse é justamente o objetivo da arquitetura: esconder a complexidade da infraestrutura para que o desenvolvedor possa focar na regra de negócio.


Dicas para quem quer trabalhar com CICS

Se você está começando agora, aprenda nesta ordem:

  1. Conceitos básicos do CICS.

  2. Estrutura de uma Region.

  3. PCT, PPT, FCT e TCT.

  4. BMS e Mapsets.

  5. COMMAREA.

  6. Channels e Containers.

  7. Temporary Storage (TSQ) e Transient Data (TDQ).

  8. Syncpoint e recuperação.

  9. TOR, AOR, FOR e CICSPlex SM.

  10. CICS Explorer e ferramentas modernas de administração.

Com essa base, você entenderá não apenas como escrever programas, mas como eles realmente funcionam dentro de um ambiente corporativo.


Easter Egg Bellacosa Mainframe ☕

Imagine que o Data Center seja a Estrela da Morte.

O usuário pilota uma pequena nave e solicita permissão para atracar.

O TOR é o controlador de tráfego do hangar. Ele verifica a identidade da nave, consulta quais docas estão livres e direciona o piloto para o setor correto.

Os AORs são os departamentos especializados: engenharia, armamentos, navegação, inteligência e manutenção dos TIE Fighters.

O FOR é o gigantesco arquivo imperial, onde ficam armazenados todos os planos secretos, documentos e registros.

O DB2 é o Holocron de dados do Império, contendo milhões de informações críticas.

Enquanto isso, o CICSPlex SM é o Grande Almirante Thrawn observando toda a frota em um enorme mapa holográfico, redistribuindo recursos e garantindo que nenhuma região fique sobrecarregada.

O piloto acredita que falou apenas com uma porta automática. Na realidade, dezenas de sistemas trabalharam em perfeita sincronia antes que o hangar sequer abrisse.


Conclusão: a genialidade invisível do CICS

O Terminal-Owning Region (TOR) é uma das peças mais elegantes da arquitetura CICS. Embora raramente execute uma única linha de código COBOL, ele é responsável por tornar possível o funcionamento de ambientes que atendem milhões de usuários diariamente.

Ao separar a recepção das conexões (TOR) do processamento da lógica (AOR) e, quando necessário, da administração dos recursos de dados (FOR), o CICS alcança um nível de escalabilidade, disponibilidade e organização que continua impressionando mesmo quando comparado às arquiteturas modernas de microsserviços.

Para o programador COBOL iniciante, entender essa divisão muda completamente a forma de enxergar o Mainframe. Você deixa de ver apenas um programa executando comandos EXEC CICS e passa a compreender que existe uma verdadeira metrópole digital funcionando nos bastidores, onde cada região tem uma missão específica e todas cooperam para entregar respostas em frações de segundo.

No fim das contas, o TOR é como a recepção de um hotel cinco estrelas: ninguém vai ao hotel para conversar com a recepcionista, mas sem ela a experiência inteira deixaria de funcionar. E essa é uma das maiores lições da arquitetura IBM Z: os sistemas mais robustos não dependem de um componente fazer tudo, mas de muitos componentes fazendo exatamente aquilo em que são especialistas.


domingo, 19 de agosto de 2018

IBM Mainframe Discovery : Capítulo VIII — A Metrópole das Transações Infinitas

 

Bellacosa Mainframe apresenta o ibm mainframe parte viii

☕ Um Café no Bellacosa Mainframe

Capítulo VIII — A Metrópole das Transações Infinitas

CICS: A Cidade que Nunca Dorme e Atende Milhões de Viajantes ao Mesmo Tempo 


QUINTA REGRA DAS GRANDES CIVILIZAÇÕES

Nunca construa uma cidade onde exista apenas um caixa.

Porque cedo ou tarde...

...todos chegarão ao mesmo tempo.

Imagine uma cidade espacial.

Ela possui:

  • cinquenta milhões de habitantes;

  • milhares de hotéis;

  • bancos;

  • hospitais;

  • aeroportos;

  • restaurantes;

  • museus;

  • lojas;

  • centros de pesquisa.

Agora imagine que todos resolvem fazer alguma operação exatamente às nove horas da manhã.

Consultar saldo.

Comprar passagem.

Reservar hotel.

Pagar contas.

Transferir dinheiro.

Comprar ações.

Se existir apenas um atendente...

a cidade para.

Foi exatamente esse problema que a IBM resolveu em 1968.

O nome da solução?

Customer Information Control System.

Ou simplesmente...

CICS.


O Maior Balcão de Atendimento da Galáxia

Esqueça computadores.

Imagine o maior centro de atendimento já construído.

Não existem:

10 caixas.

Nem 100.

Nem mil.

Existem milhares de atendimentos acontecendo simultaneamente.

Cada cliente acredita estar sendo atendido sozinho.

Mas, nos bastidores...

todos compartilham praticamente a mesma infraestrutura.

Essa é a verdadeira magia do CICS.


Antes do CICS

Voltemos algumas décadas.

Imagine um banco.

Cada cliente entra.

O gerente pega um enorme livro.

Calcula tudo manualmente.

Entrega o resultado.

Agora multiplique isso por:

dez milhões de clientes.

Não funciona.

Foi então que surgiu uma pergunta revolucionária.

"E se centenas de milhares de pessoas utilizassem o mesmo computador ao mesmo tempo?"

Hoje parece óbvio.

Na década de 1960 parecia ficção científica.


A Cidade Nunca Fecha

Uma característica curiosa do Batch é que ele gosta de trabalhar sozinho.

Executa.

Termina.

Vai embora.

O CICS pensa diferente.

Ele nunca fecha as portas.

Nunca.

Enquanto existir alguém querendo realizar uma transação...

ele permanece acordado.

É uma cidade que nunca dorme.


A Recepcionista Galáctica

Imagine entrar num gigantesco hotel.

A recepcionista pergunta:

— Bom dia.

Qual o seu quarto?

Você responde.

Ela consulta o sistema.

Entrega a chave.

Tudo acontece em segundos.

O CICS faz exatamente isso.

Recebe pedidos.

Encaminha ao programa correto.

Entrega a resposta.

Tudo em frações de segundo.

Segundo Wilhelm G. Spruth, o CICS foi projetado para oferecer processamento transacional extremamente eficiente, permitindo que um único sistema atendesse simultaneamente milhares de usuários interativos.


Uma Cidade Dentro da Nave

Imagine agora que a USS Enterprise abriga uma cidade inteira.

Existem:

padarias.

correios.

escolas.

restaurantes.

hospitais.

Todos funcionando ao mesmo tempo.

Mas existe apenas uma prefeitura.

Essa prefeitura é o CICS.

Ela coordena tudo.


O Grande Equívoco do Padawan

Todo iniciante imagina:

Um usuário.

Um programa.

Uma CPU.

Fim.

Na prática...

isso seria absurdamente ineficiente.

No CICS acontece algo completamente diferente.

Milhares de usuários compartilham poucos recursos.

É como um gigantesco sistema de transporte público.


As Transações São Passageiros

Imagine uma estação espacial.

Milhares de pessoas entram.

Cada uma deseja chegar a um destino diferente.

Algumas vão ao banco.

Outras ao hospital.

Outras ao museu.

No CICS...

cada passageiro representa uma:

Transação.

Ela possui:

nome.

origem.

destino.

prioridade.

tempo de vida.

Quando termina...

desaparece.


O Programa Não Mora na Memória

Esta talvez seja uma das maiores surpresas.

Um programa COBOL no CICS normalmente não permanece executando eternamente.

Ele é chamado.

Executa rapidamente.

Entrega o resultado.

Libera recursos.

Vai embora.

É quase como um elevador.

Chega.

Recebe passageiros.

Sobe.

Desce.

Fica disponível novamente.


O Concierge da Cidade

Imagine um concierge extremamente eficiente.

Ele conhece todos os departamentos.

Ao receber um pedido...

encaminha imediatamente ao profissional correto.

O CICS faz exatamente isso.

Ele recebe uma transação e encontra rapidamente o programa responsável por executá-la.


COMMAREA — A Mochila do Viajante

Agora imagine um turista.

Ele caminha pela cidade carregando apenas uma pequena mochila.

Ali estão:

passaporte.

mapa.

dinheiro.

documentos.

Quando entra em outro prédio...

leva sua mochila consigo.

Essa mochila chama-se:

COMMAREA.

Ela transporta as informações entre programas CICS.

Durante décadas foi o principal mecanismo para troca de dados entre aplicações.


CHANNEL e CONTAINER — Os Contêineres Espaciais

Com o tempo...

os turistas começaram a transportar muito mais bagagem.

A pequena mochila ficou insuficiente.

Então surgiram:

CHANNELS

e

CONTAINERS.

Imagine enormes contêineres de carga.

Agora qualquer quantidade de informação pode viajar entre programas de forma muito mais organizada.

É a evolução natural da COMMAREA.


O Mapa da Cidade

Como um cliente encontra seu destino?

Através do:

BMS

(Basic Mapping Support).

Imagine um mapa eletrônico.

Cada tela corresponde a um prédio.

Cada campo representa uma sala.

Cada tecla possui um significado.

O BMS transforma a conversa entre terminal e programa em algo organizado e previsível.


O Tradutor Universal

Os terminais 3270 falam um idioma próprio.

O COBOL fala outro.

O usuário fala outro.

O BMS funciona como um tradutor universal.

Ele converte telas em dados.

Dados em telas.

Tudo automaticamente.


Pseudo-Conversação: O Segredo da Ilusão

Chegamos a um dos conceitos mais brilhantes do Mainframe.

Imagine um garçom.

Você faz um pedido.

Ele anota.

Vai embora.

Atende outras mesas.

Quando sua comida fica pronta...

ele retorna exatamente para você.

Parece que ficou o tempo inteiro ao seu lado.

Mas não ficou.

O CICS faz exatamente isso.

Esse modelo chama-se:

Pseudo-Conversação.

Após enviar uma tela ao usuário, a tarefa termina e libera recursos.

Quando o cliente responde, uma nova execução começa utilizando o estado previamente armazenado.

Segundo Spruth, esse modelo foi um dos fatores responsáveis pela enorme escalabilidade do CICS.


O Milagre da Multiplicação

Imagine possuir apenas dez garçons.

Mesmo assim...

atender cinco mil clientes.

Parece impossível.

Não no CICS.

Como cada tarefa permanece ativa apenas durante poucos milissegundos...

os mesmos recursos atendem milhares de pessoas.


TSQ e TDQ — Os Armários da Estação

Imagine que um viajante precise guardar sua bagagem.

Existem duas opções.

Um armário temporário.

Ou uma caixa de despacho.

No CICS encontramos exatamente isso.

TSQ

Temporary Storage Queue.

Permite gravar informações temporárias que podem ser lidas diversas vezes.

TDQ

Transient Data Queue.

Mais parecida com uma esteira de bagagens.

Os dados seguem adiante.

Normalmente são consumidos apenas uma vez.


O Relógio da Cidade

Imagine um turista parado diante do caixa por meia hora.

Todos atrás dele ficam esperando.

No CICS isso seria um desastre.

Por isso existe controle rigoroso de tempo.

Cada transação deve ser:

curta.

rápida.

objetiva.

Quanto menor sua duração...

mais usuários podem ser atendidos.


O Cofre da Cidade

Imagine agora que duas pessoas tentam retirar o mesmo dinheiro da mesma conta exatamente no mesmo instante.

Quem ganha?

Nenhum dos dois.

Primeiro o sistema organiza.

Depois libera.

O CICS trabalha em conjunto com o gerenciador de recuperação para garantir integridade das transações.

Esse compromisso com consistência é um dos pilares das aplicações críticas executadas sobre a plataforma.


A Cidade Conversa com Todo Mundo

O CICS nunca viveu isolado.

Ele conversa com:

Db2.

IMS.

MQ.

VSAM.

Web Services.

REST APIs.

Java.

Node.js.

Python.

Linux.

Hoje ele continua evoluindo.

Mas sua essência permanece.

Processar transações.

Rapidamente.

Com segurança.

Sem interrupções.


CICS e o COBOL

Existe uma pergunta que todo Padawan faz.

"Quem chama quem?"

Na verdade...

o COBOL trabalha como um excelente especialista.

O CICS organiza.

Recebe o cliente.

Controla recursos.

Gerencia transações.

Depois entrega o trabalho ao programa COBOL.

Quando tudo termina...

o COBOL devolve o controle.

É quase uma dança cuidadosamente ensaiada.


O Que Mudou Desde 2010?

Desde a publicação do relatório de Spruth, o universo CICS evoluiu enormemente.

Hoje encontramos:

  • APIs REST nativas.

  • JSON.

  • XML.

  • Web Services.

  • JVM Server.

  • OSGi.

  • Liberty Profile.

  • Node.js.

  • Integração com OpenShift.

  • z/OS Connect.

  • Microsserviços.

  • Observabilidade moderna.

Mesmo assim...

um programa COBOL escrito há décadas ainda pode continuar trabalhando ao lado dessas tecnologias.

Essa talvez seja a maior demonstração da elegância da arquitetura IBM Z.


Uma Curiosa Filosofia

Existe uma frase que resume o espírito do CICS.

Nunca mantenha recursos ocupados enquanto alguém está pensando.

Enquanto o usuário decide qual opção escolher...

o programa já terminou.

A memória foi liberada.

A CPU voltou para outro cliente.

É uma filosofia simples.

Mas revolucionária.


Curiosidades do Diário de Bordo

🚀 O CICS processa bilhões de transações diariamente em instituições financeiras, governos, seguradoras e empresas de transporte ao redor do mundo.

🌌 A pseudo-conversação foi uma das ideias mais elegantes da engenharia de software corporativo, permitindo enorme escalabilidade com consumo mínimo de recursos.

📺 O BMS separa a lógica de apresentação da lógica de negócio, conceito que muitos frameworks web modernos adotariam décadas depois.

📦 COMMAREA, TSQ e TDQ tornaram-se componentes clássicos do desenvolvimento CICS e continuam fazendo parte do vocabulário de praticamente todo programador COBOL online.


Diário de Bordo do Padawan COBOL

Antes de deixar a metrópole das transações, registre estas coordenadas no seu Holocron Técnico:

✅ O CICS não é apenas um monitor transacional; ele é um verdadeiro sistema operacional para aplicações online.

✅ A pseudo-conversação é um dos principais segredos da escalabilidade do CICS, liberando recursos enquanto o usuário interage.

✅ O COBOL executa a lógica de negócio, enquanto o CICS coordena usuários, transações, recursos e recuperação.

✅ Grandes cidades não funcionam porque possuem ruas largas; funcionam porque possuem organização. O CICS aplica exatamente essa filosofia ao processamento de milhões de transações.


Missão Seguinte

No próximo capítulo, embarcaremos rumo ao PR/SM, às LPARs e ao universo da virtualização.

Descobriremos que o IBM Z já dividia um único computador em dezenas de máquinas independentes quando boa parte da indústria ainda acreditava que "virtualização" era apenas um conceito acadêmico. Veremos como uma única nave pode abrigar várias civilizações tecnológicas trabalhando lado a lado, sem interferirem umas nas outras — uma verdadeira federação galáctica dentro de um único computador.

☕ Um Café no Bellacosa Mainframe

O Guia Galáctico do IBM Z

Dezoito capítulos e uma conclusão reunidos em um painel interativo. Escolha uma missão, abra no visor e continue explorando diretamente no artigo original.

Não entre em pânico: se o Blogger impedir a exibição dentro do iframe, use “Abrir artigo”. Os links diretos continuam visíveis para leitores e motores de busca.
01

Capítulo I — Não Entre em Pânico!

Leia no visor ou abra a publicação original.

Abrir artigo
02

Capítulo II — A Planta da Nave Mais Duradoura da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
03

Capítulo III — A Nave Que Se Recusa a Explodir

Leia no visor ou abra a publicação original.

Abrir artigo
04

Capítulo IV — A Sala dos Cofres Cósmicos

Leia no visor ou abra a publicação original.

Abrir artigo
05

Capítulo V — A Frota Invisível do Transporte Interestelar

Leia no visor ou abra a publicação original.

Abrir artigo
06

Capítulo VI — O Grande Maestro Invisível

Leia no visor ou abra a publicação original.

Abrir artigo
07

Capítulo VII — O Grande Terminal de Embarque da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
08

Capítulo VIII — A Metrópole das Transações Infinitas

Leia no visor ou abra a publicação original.

Abrir artigo
09

Capítulo IX — A Federação das Naves Invisíveis

Leia no visor ou abra a publicação original.

Abrir artigo
10

Capítulo X — A Consciência Coletiva da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
11

Capítulo XI — O Almirante Invisível da Frota

Leia no visor ou abra a publicação original.

Abrir artigo
12

Capítulo XII — A Biblioteca Infinita da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
13

Capítulo XIII — O Serviço Postal Mais Confiável da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
14

Capítulo XIV — O Jardim Secreto da Nave

Leia no visor ou abra a publicação original.

Abrir artigo
15

Capítulo XV — O Tradutor Universal da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
16

Capítulo XVI — A Fábrica Automática da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
17

Capítulo XVII — A Última Fronteira Nunca Foi o Espaço

Leia no visor ou abra a publicação original.

Abrir artigo
18

Capítulo XVIII — O Guia Nunca Terminou

Leia no visor ou abra a publicação original.

Abrir artigo
19

Conclusão — Não Entre em Pânico... A Jornada Está Apenas Começando

Leia no visor ou abra a publicação original.

Abrir artigo

quarta-feira, 14 de janeiro de 2015

⚙️ IBM System z13 – O Mainframe que Sonhava em Tempo Real

 

Bellacosa Mainframe apresenta o ibm system z13

⚙️ IBM System z13 – O Mainframe que Sonhava em Tempo Real

O gigante projetado para o mundo móvel, cognitivo e analítico.


🧭 Introdução Técnica

Em 2015, a IBM lançou o System z13 (z13 EC) — sucessor direto do zEnterprise EC12 (z11) e herdeiro da arquitetura zEnterprise BC12 (z12).
Foi o primeiro mainframe da história projetado para a era dos dispositivos móveis, quando bilhões de transações em tempo real passaram a acontecer a cada segundo.

A palavra-chave do z13 é integração cognitiva: projetado para Big Data, Analytics, Cloud e Segurança Avançada, ele uniu processamento de alto desempenho, criptografia on-chip e análise em tempo real, abrindo caminho para a era Watson + z/OS.


🕰️ Ficha Técnica – IBM System z13

ItemDetalhe
Ano de Lançamento2015
Modelosz13 EC (Enterprise Class) e z13s (Small Enterprise, 2016)
CPU22 núcleos por chip (hexacore evoluído), 5 GHz, 22 nm SOI CMOS
ArquiteturaIBM z/Architecture (64 bits)
Sistema Operacionalz/OS 2.1 – 2.3
Memória Máxima10 TB (z13 EC) / 4 TB (z13s)
AntecessorzEnterprise EC12 (System z11) / BC12 (System z12)
SucessorIBM z14 (2017)

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

  1. Novo processador de 22 núcleos com arquitetura superscalar e pipelines paralelos otimizados para workloads analíticos.

  2. Memória gigantesca: até 10 TB — 3x mais que o zEC12 — abrindo caminho para análises em tempo real e in-memory DB2.

  3. Instruções SIMD (Vector Facility): suporte nativo a cálculos paralelos — precursor do Machine Learning embarcado.

  4. Criptografia On-Chip: cada núcleo traz co-processadores AES, SHA e RSA — segurança full-speed.

  5. zEDC aprimorado: compressão até 2,5x mais eficiente.

  6. zAware 3.0: IA de autodiagnóstico ainda mais precisa, integrada ao IBM Operational Analytics.

  7. Suporte completo a Linux on Z e OpenStack, além de integração direta com IBM Bluemix (atual IBM Cloud).

  8. Virtualização ampliada: até 85 LPARs, cada uma podendo hospedar milhares de VMs via z/VM 6.3+.


🧠 Curiosidades Bellacosa

  • Codinome interno: “T-Rex II”, em homenagem à robustez do EC12.

  • Primeiro mainframe da IBM com suporte total a computação cognitiva e mobile banking, projetado para mais de 2,5 bilhões de transações por dia.

  • A IBM usou o z13 para simular redes neurais antes de lançar o PowerAI e Watson Machine Learning.

  • Foi a primeira máquina Z com criptografia “sempre ligada” (always-on), sem impacto de performance.

  • No lançamento, o z13 foi anunciado como o “mainframe para a economia digital” — com destaque à capacidade de processar transações móveis seguras em milissegundos.

  • A IBM criou até uma campanha visual épica: o “Mainframe Reloaded”, celebrando 50 anos de plataforma Z.


💾 Nota Técnica

  • Clock: 5,0 GHz

  • Cache: L1 – 96 KB, L2 – 2 MB, L3 – 64 MB, L4 – 480 MB por drawer

  • Memória: até 10 TB

  • Canais I/O: FICON Express16S, OSA-Express5, PCIe Gen3, InfiniBand

  • Criptografia: CryptoExpress5S + CPACF on-chip

  • Hypervisor: PR/SM + z/VM 6.3/6.4

  • Firmware: HMC 2.16 com Capacity on Demand em tempo real

  • Linux Integration: SUSE, RHEL, Ubuntu com KVM nativo


💡 Dicas Bellacosa para Padawans e Jedi da Plataforma Z

  1. Estude o SIMD (Vector Facility): foi o início do suporte nativo a cálculos paralelos — fundamental para IA e ML em z/OS.

  2. Explore o zAware 3.0: aqui nasceu o conceito de AIOps cognitivo no mainframe.

  3. Aprofunde-se no z13s: uma versão mais compacta, perfeita para laboratórios e bancos regionais.

  4. Dica prática: o z13 ainda é amplamente usado em ambientes de z/OS 2.3 e z/VM 6.4 — ótimo para quem quer estudar containers Linux on Z.

  5. Curiosidade de aula: o z13 foi o primeiro mainframe projetado sob a ótica do IBM Design Thinking, com 400 engenheiros e designers trabalhando em conjunto.


🧬 Origem e História

O projeto z13 (EC13) começou em 2010, ainda durante a maturação do EC12, com codinome “Cyclone”.
Desenvolvido nos laboratórios IBM de Poughkeepsie (EUA), Boeblingen (Alemanha) e Haifa (Israel), ele representou o maior investimento da história da IBM em um único sistema corporativo: US$ 1 bilhão.

Lançado oficialmente em 14 de janeiro de 2015, o z13 foi celebrado como o mainframe para o mundo móvel e analítico, com o lema:

“O primeiro sistema do mundo projetado para a era das transações digitais em tempo real.”

Em 2016, veio o z13s, uma versão compacta e mais acessível, projetada para empresas médias e ambientes híbridos.


📜 Legado e Impacto

O IBM z13 consolidou a transição do mainframe para o centro da economia digital.
Dele nasceram as bases técnicas do z14 e z15, com os pilares que até hoje sustentam o IBM Z:

  • Criptografia pervasiva

  • Analytics em tempo real

  • IA embarcada

  • Elasticidade cognitiva

Com o z13, o mainframe deixou definitivamente o estereótipo de “sistema legado” e tornou-se plataforma de inovação contínua.


Conclusão Bellacosa

O IBM System z13 foi o mainframe que aprendeu a pensar enquanto processava.
Projetado para entender padrões, proteger dados e analisar informações antes que os humanos percebessem.
Um marco que uniu performance bruta, inteligência cognitiva e elegância técnica.

“O z13 foi o cérebro que ensinou o mainframe a ouvir, prever e proteger.
O início da era cognitiva com alma z/OS.”
Bellacosa Mainframe

 

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