 |
| Bellacosa Mainframe e o caso da ponte invisivel entre mainframes |
☕ Um Café no Bellacosa Mainframe
O Caso da Ponte Invisível
Quando Sherlock Holmes Descobriu que Existiam Estradas Secretas Entre Mainframes
"Nem todas as conexões aparecem nos diagramas. Algumas apenas deixam rastros... e apenas um bom programador COBOL consegue percebê-los."
Era uma madrugada fria.
As luzes do CPD permaneciam acesas como estrelas artificiais iluminando um universo que poucas pessoas conheciam.
Os discos DASD giravam silenciosamente.
As impressoras de linha descansavam.
Os operadores observavam dezenas de consoles enquanto milhares de transações bancárias cruzavam o país.
Foi então que Sherlock Holmes colocou uma xícara de café sobre um terminal IBM 3270 e comentou:
— Watson... existe algo estranho.
— "O quê?"
— Um cliente acabou de consultar o saldo da conta. O programa está neste CICS... mas o saldo veio de outro mainframe localizado a centenas de quilômetros.
Watson arregalou os olhos.
— "Magia?"
Holmes sorriu.
— Não... chama-se ISC.
E assim começava mais um dos casos do Bellacosa Mainframe.
O Mistério da Comunicação Invisível
Todo iniciante imagina que um programa COBOL conversa apenas com os arquivos existentes dentro do próprio computador.
Seria lógico pensar assim.
Mas o mundo corporativo nunca foi simples.
Imagine um grande banco.
Existe apenas um computador?
Claro que não.
Pode haver:
Então surge uma pergunta.
Como um programa que está rodando em São Paulo consegue consultar um cadastro existente em Brasília?
Ou um sistema instalado no Rio de Janeiro acessar uma conta localizada em Curitiba?
É aí que entra o protagonista desta investigação.
ISC — InterSystem Communication.
Primeiro precisamos entender o território
Antes de compreender o ISC precisamos conhecer seu "primo".
O famoso MRO.
Muitos iniciantes confundem os dois.
Isso acontece porque ambos fazem praticamente a mesma coisa.
Mas existe uma diferença gigantesca.
Imagine um condomínio.
Você mora na Torre A.
Seu amigo mora na Torre B.
Para visitá-lo basta atravessar o jardim.
Essa caminhada representa o MRO.
Agora imagine visitar um amigo que mora em outro estado.
Você precisará viajar de avião.
Essa viagem representa o ISC.
A lógica continua sendo comunicação.
O caminho é completamente diferente.
MRO: o corredor interno
No artigo anterior vimos que uma arquitetura típica pode ser:
Usuário
↓
TOR
↓
AOR
↓
FOR
↓
VSAM
Todas essas regiões pertencem ao mesmo ambiente z/OS.
A comunicação ocorre por MRO.
É praticamente um corredor interno.
Tudo acontece "dentro da mesma casa".
ISC: a rodovia interestadual
Agora imagine isto.
Datacenter São Paulo
↓
CICS A
=====================
Rede
=====================
↓
CICS B
↓
Datacenter Brasília
Agora já não existe um simples corredor.
Existe uma estrada.
Essa estrada chama-se ISC.
Ela permite que sistemas completamente independentes conversem como se fossem vizinhos.
O verdadeiro significado de InterSystem Communication
Muita gente acredita que ISC apenas troca mensagens.
Na verdade ele faz muito mais.
Ele permite que um CICS utilize recursos existentes em outro CICS.
Esses recursos podem ser:
• programas COBOL
• transações
• arquivos VSAM
• tabelas DB2
• filas
• serviços
• APIs
Na prática...
Um sistema pode "emprestar" recursos para outro.
É como uma enorme biblioteca.
Você não precisa comprar todos os livros.
Basta pedir emprestado.
Um banco de verdade
Vamos imaginar o Banco Bellacosa.
Ele possui três grandes centros.
São Paulo.
Rio de Janeiro.
Brasília.
Cada um executa uma função.
São Paulo:
Internet Banking
PIX
Aplicativo
Rio:
Brasília:
Quando um cliente consulta seu saldo:
Aplicativo
↓
São Paulo
↓
ISC
↓
Brasília
↓
DB2
↓
Resposta
↓
Cliente
Perceba algo curioso.
O usuário acredita que tudo aconteceu no mesmo computador.
Mas não.
A transação atravessou uma rede inteira.
O programador nunca percebe
Este talvez seja o aspecto mais fascinante.
Você programa normalmente.
Escreve COBOL.
Utiliza EXEC CICS.
Recebe os dados.
Para você parece local.
Mas o CICS trabalha nos bastidores.
Ele localiza o sistema remoto.
Abre comunicação.
Transfere informações.
Recebe a resposta.
Entrega os dados ao programa.
Tudo isso em poucos milissegundos.
É quase mágica.
A diferença que cai em entrevistas
Esta pergunta aparece há décadas.
"Qual a diferença entre MRO e ISC?"
A resposta curta:
MRO comunica regiões do mesmo z/OS.
ISC comunica sistemas diferentes.
Mas existe uma resposta muito melhor.
MRO resolve o problema da distribuição interna.
ISC resolve o problema da distribuição geográfica.
Essa pequena frase costuma impressionar entrevistadores.
Um exemplo ainda maior
Imagine uma companhia aérea.
O sistema de venda de passagens está em um datacenter.
O programa de milhagem está em outro.
O controle de bagagens em outro.
O sistema meteorológico em outro.
Mesmo assim o passageiro compra uma passagem em menos de cinco segundos.
Como?
Graças a tecnologias como ISC.
Cada sistema executa apenas sua especialidade.
A evolução da tecnologia
Nos anos 1970 era comum existir apenas um grande CICS.
Depois vieram dezenas.
Depois centenas.
Hoje encontramos arquiteturas gigantescas.
Cliente
↓
API
↓
z/OS Connect
↓
CICS
↓
ISC
↓
Outro CICS
↓
DB2
Observe algo interessante.
Mesmo quando você utiliza REST.
Mesmo quando utiliza APIs.
Mesmo quando utiliza aplicações Java.
Em muitos casos...
Lá no fundo...
Existe um ISC funcionando silenciosamente.
O que realmente viaja pela rede?
Essa é uma dúvida comum.
O programa COBOL inteiro atravessa a rede?
Não.
Normalmente trafegam:
parâmetros
comandos
dados
respostas
É semelhante a fazer uma ligação telefônica.
Você não envia sua casa inteira.
Apenas sua voz.
Como era antigamente?
Nos primeiros anos do CICS predominava o SNA.
Depois vieram APPC e LU6.2.
Hoje o mais comum é encontrar IPIC utilizando TCP/IP.
Isso mostra como o mainframe evolui.
Ele preserva compatibilidade.
Mas também acompanha novas tecnologias.
É uma das razões pelas quais sistemas escritos há quarenta anos continuam funcionando.
Um segredo que pouca gente conhece
Você sabia que existem bancos onde uma única operação pode atravessar cinco ou seis CICS diferentes?
É verdade.
Imagine:
Cliente
↓
TOR
↓
AOR
↓
ISC
↓
Outro AOR
↓
MQ
↓
Outro sistema
↓
DB2
↓
Resposta
Tudo isso ocorre antes de o cliente terminar de piscar.
O preço da distância
Existe uma regra simples.
Quanto maior a distância.
Maior a latência.
Isso significa que um ISC entre dois CICS no mesmo prédio costuma ser mais rápido do que entre cidades diferentes.
Mesmo assim estamos falando de tempos extremamente baixos.
Por isso grandes bancos conseguem atender milhões de clientes simultaneamente.
Segurança: ninguém entra sem identificação
Imagine que qualquer sistema pudesse conversar livremente com outro.
Seria um desastre.
Por isso entram em cena diversos mecanismos de proteção.
Entre eles:
RACF
autenticação
autorização
criptografia
auditoria
SMF
Nada acontece sem registro.
No universo IBM Z praticamente tudo deixa rastros.
É por isso que investigadores de performance conseguem reconstruir uma transação inteira.
Onde o ISC aparece sem você perceber?
Você provavelmente já utilizou ISC.
Ao:
Em todos esses ambientes existe uma enorme chance de existir comunicação entre diferentes sistemas CICS.
Curiosidades do Mundo Mainframe 🕵️
Curiosidade 1
O nome InterSystem Communication surgiu porque, originalmente, o objetivo era conectar sistemas completamente independentes, não apenas regiões CICS.
Curiosidade 2
Muitos ambientes antigos ainda possuem conexões SNA funcionando perfeitamente após décadas de operação.
Curiosidade 3
Existem empresas que mantêm ambientes de produção e contingência em estados diferentes utilizando ISC como parte da estratégia operacional.
Curiosidade 4
É perfeitamente possível que uma transação utilize MRO e ISC na mesma execução.
Exemplo:
Cliente
↓
TOR
↓
MRO
↓
AOR
↓
ISC
↓
Outro Mainframe
↓
DB2
Dicas para quem está aprendendo COBOL
Não tente decorar siglas.
Entenda responsabilidades.
Pergunte sempre:
Quem recebe?
Quem executa?
Quem possui os arquivos?
Quem conversa com outro sistema?
Quando responder essas perguntas automaticamente, TOR, AOR, FOR, MRO e ISC passam a fazer sentido.
Passo a passo mental para entender uma arquitetura CICS
Sempre siga esta sequência:
Passo 1
Quem iniciou a transação?
↓
Passo 2
Quem recebeu?
(TOR)
↓
Passo 3
Quem executou?
(AOR)
↓
Passo 4
Quem possui os dados?
(FOR ou DB2)
↓
Passo 5
Os dados estão neste sistema?
Se sim:
MRO.
Se não:
ISC.
Essa pequena metodologia ajuda muito em entrevistas técnicas e na leitura de diagramas corporativos.
O Easter Egg ☕
Desde o primeiro artigo desta série existe um personagem escondido.
Sherlock Holmes.
Mas existe outro.
Pouca gente percebeu.
Sempre que aparece uma xícara de café sobre um terminal 3270, ela simboliza algo muito maior.
O café representa o programador.
O terminal representa a tecnologia.
Enquanto existir alguém curioso o suficiente para sentar diante daquele terminal, fazer perguntas e investigar como as coisas realmente funcionam, o mainframe continuará evoluindo.
O verdadeiro combustível do IBM Z nunca foram apenas MIPS, processadores ou discos. Foram pessoas curiosas.
O Grande Detetive Chega à Conclusão
Sherlock terminou o café.
Olhou novamente para o console.
Sorriu discretamente.
— "Watson... agora sabemos por que o cliente recebeu o saldo tão rapidamente."
— "Porque o banco possui computadores muito rápidos?"
Holmes respondeu:
— "Não apenas isso."
"Porque milhares de engenheiros passaram décadas construindo pontes invisíveis entre sistemas. O cliente jamais verá essas pontes. Mas sem elas o banco inteiro pararia."
Watson permaneceu em silêncio.
Na tela verde do 3270 apareceu apenas uma única mensagem:
TRANSACTION COMPLETED
Holmes levantou-se.
Vestiu o sobretudo.
Apagou o cachimbo imaginário.
E desapareceu pelos corredores do CPD.
Naquela noite, ninguém percebeu que o maior mistério nunca foi descobrir o que era o ISC.
O verdadeiro mistério era entender como bilhões de transações conseguem atravessar fronteiras, datacenters e continentes em silêncio absoluto, mantendo a confiança de bancos, governos e empresas há mais de meio século.
Talvez seja justamente esse o maior segredo do universo IBM Mainframe: as tecnologias mais importantes raramente aparecem para o usuário final. Elas trabalham nas sombras, como bons detetives das antigas revistas noir dos anos 1950, resolvendo casos antes mesmo que alguém perceba que existia um problema.
E, quando você finalmente dominar TOR, AOR, FOR, MRO e ISC, descobrirá que não aprendeu apenas um conjunto de siglas. Aprendeu a enxergar a malha invisível que sustenta uma parte significativa da economia mundial, transação após transação, café após café.