Translate

Mostrar mensagens com a etiqueta COBOL mainframe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta COBOL mainframe. Mostrar todas as mensagens

quarta-feira, 27 de março de 2024

Resiliência IBM Z – Parallel Sysplex: O Segredo que Faz Diversos Mainframes se Comportarem Como Um Só - Parte III

 

Bellacosa Mainframe fala sobre resiliencia ibm z parte III

☕ Um Café no Bellacosa Mainframe

O Holocron da Resiliência IBM Z

Parte III – Parallel Sysplex: O Segredo que Faz Diversos Mainframes se Comportarem Como Um Só

"Se existe uma tecnologia que separa o IBM Z de praticamente todas as outras plataformas do mercado, ela se chama Parallel Sysplex."

Até aqui aprendemos dois conceitos fundamentais.

Na primeira parte entendemos por que a Resiliência existe.

Na segunda conhecemos a infraestrutura física que mantém o IBM Z funcionando.

Agora chegou a hora de conhecer a tecnologia que fez o Mainframe alcançar um nível de disponibilidade praticamente incomparável.

Ela atende pelo nome de Parallel Sysplex.

É ela que permite que vários computadores IBM Z trabalhem como se fossem um único sistema gigante.

Enquanto um servidor comum normalmente representa um único ponto de processamento, um ambiente Parallel Sysplex distribui usuários, aplicações, bancos de dados e transações entre diversos sistemas, mantendo tudo sincronizado quase em tempo real.

Os conceitos desta parte abrangem Monoplex, Base Sysplex, Parallel Sysplex, Coupling Facility (CF), z/OS Workload Manager (WLM), Sysplex Failure Management (SFM), Automatic Restart Manager (ARM), Dynamic Virtual IP Address (DVIPA), Sysplex Distributor e Load Balancing Advisor (LBA).


Quando Um Servidor Não É Suficiente

Imagine um supermercado.

Existe apenas um caixa.

Tudo funciona perfeitamente.

Até que chegam centenas de clientes.

Forma-se uma fila enorme.

O caixa quebra.

O supermercado para.

Agora imagine dez caixas.

Se um quebrar...

Os outros continuam atendendo.

O Parallel Sysplex segue exatamente essa filosofia.

Não existe apenas um computador.

Existem vários.

Todos trabalhando juntos.


Monoplex

Antes de conhecer o Parallel Sysplex, precisamos entender seu oposto.

O Monoplex.

Ele representa o ambiente clássico.

Existe apenas uma imagem do z/OS.

Um único sistema operacional.

Uma única máquina executando tudo.

Para ambientes pequenos isso pode ser suficiente.

Mas existe um problema.

Se esse sistema parar...

Toda a operação para junto.

Por isso Monoplex é excelente para laboratórios, ambientes de desenvolvimento e pequenas empresas.

Não para grandes bancos.


Base Sysplex

O próximo passo na evolução foi o Base Sysplex.

Agora vários sistemas z/OS conseguem conversar entre si.

Compartilham algumas informações.

Cooperam em determinadas atividades.

Mas ainda não executam todas as cargas de maneira integrada.

É como vários departamentos de uma empresa que já utilizam telefone interno.

Eles conseguem conversar.

Mas ainda trabalham de forma relativamente independente.


Parallel Sysplex

Agora chegamos ao coração da arquitetura IBM Z.

Imagine cinco grandes mainframes.

Cada um possui:

  • processadores

  • memória

  • discos

  • aplicações

  • usuários

Para um administrador seriam cinco computadores.

Mas para o usuário...

Existe apenas um.

Esse é o verdadeiro poder do Parallel Sysplex.

Os sistemas compartilham informações críticas.

Distribuem carga automaticamente.

Mantêm consistência dos dados.

E continuam funcionando mesmo quando um dos sistemas deixa de operar.

É praticamente uma orquestra.

Cada músico toca seu instrumento.

Mas o público escuta apenas uma única música.


Coupling Facility (CF)

Surge então uma pergunta.

Como todos esses computadores conseguem permanecer sincronizados?

A resposta está na Coupling Facility.

Ela funciona como uma enorme central de coordenação.

Ali ficam estruturas compartilhadas utilizadas por todos os membros do Sysplex.

Entre elas:

  • Lock Structures

  • Cache Structures

  • List Structures

Sempre que dois sistemas precisam garantir que um registro não seja alterado simultaneamente...

É a Coupling Facility quem organiza essa sincronização.

Sem ela...

O Parallel Sysplex simplesmente não existiria.


O Grande Maestro: Workload Manager (WLM)

Imagine um aeroporto.

Centenas de aviões.

Milhares de passageiros.

Dezenas de pistas.

Tudo precisa acontecer na ordem correta.

Quem coordena isso?

A torre de controle.

No IBM Z essa torre chama-se WLM.

O Workload Manager observa continuamente:

  • utilização da CPU;

  • tempo de resposta;

  • prioridades;

  • metas de negócio;

  • disponibilidade dos recursos.

Em vez de distribuir processamento igualmente...

Ele distribui processamento de forma inteligente.

O objetivo não é justiça.

É atender o negócio.

Se um sistema PIX precisa responder em menos de meio segundo...

Ele receberá prioridade sobre um relatório Batch iniciado minutos antes.


WLM: Pensando Como o Negócio

É aqui que muitos Padawans mudam sua forma de pensar.

Eles imaginam que CPU pertence aos programas.

Na realidade...

CPU pertence ao negócio.

O WLM decide:

"Quem precisa mais agora?"

E reorganiza todo o ambiente automaticamente.


Sysplex Failure Management (SFM)

Falhas acontecem.

O importante é reagir rapidamente.

O SFM monitora continuamente todos os membros do Sysplex.

Se algum deles deixar de responder...

Ele toma decisões automáticas.

Entre elas:

  • isolamento;

  • retirada do sistema;

  • proteção da integridade dos dados;

  • coordenação da recuperação.

Tudo acontece em segundos.

Muitas vezes sem qualquer intervenção humana.


Automatic Restart Manager (ARM)

Agora imagine outra situação.

Uma aplicação falhou.

O servidor continua funcionando.

O que fazer?

Esperar um operador?

Não.

O ARM entra em ação.

Ele identifica que determinado serviço terminou inesperadamente.

Analisa as políticas definidas.

E reinicia automaticamente aquela aplicação.

O objetivo é reduzir o tempo de indisponibilidade.

Muitas vezes o usuário nem percebe que houve uma falha.


Dynamic Virtual IP Address (DVIPA)

Você acessa o Internet Banking.

Digita seu usuário.

Tudo funciona.

Enquanto isso...

O servidor responsável pelo atendimento pode mudar completamente.

Você não percebe.

Isso acontece graças ao DVIPA.

O endereço IP não pertence a um computador específico.

Ele pertence ao serviço.

Se um sistema sair do ar...

Outro assume imediatamente aquele endereço lógico.

Para o cliente...

Nada mudou.


Sysplex Distributor

Agora imagine milhares de conexões chegando ao mesmo tempo.

Quem decide qual servidor atenderá cada usuário?

O Sysplex Distributor.

Ele distribui as conexões entre os diversos membros do Sysplex.

Evita sobrecarga.

Melhora desempenho.

Aumenta disponibilidade.

É um balanceador de carga extremamente integrado ao z/OS.


Load Balancing Advisor (LBA)

Mas como o Sysplex Distributor sabe qual sistema está menos ocupado?

Ele pergunta ao LBA.

O Load Balancing Advisor coleta informações fornecidas pelo WLM.

Com base nessas métricas, recomenda para onde cada nova conexão deve ser direcionada.

Não basta existir vários servidores.

É preciso enviar cada usuário ao melhor deles.


Um Exemplo Bancário

Imagine um banco com quatro sistemas CICS.

Durante uma manhã de pagamento de salários, milhões de clientes acessam o aplicativo.

Nesse momento:

  • O WLM identifica prioridades.

  • O LBA mede a carga.

  • O Sysplex Distributor envia novos acessos ao sistema menos ocupado.

  • A Coupling Facility mantém os dados sincronizados.

  • O SFM monitora a saúde dos membros.

  • Se um ambiente falhar, o ARM reinicia serviços automaticamente.

  • O DVIPA garante que os clientes continuem conectados.

Para quem está usando o celular...

Nada aconteceu.

Essa é a verdadeira magia do IBM Z.


Por Que Isso É Importante para um Programador COBOL?

Muitos desenvolvedores acreditam que Parallel Sysplex é assunto exclusivo de Sysprog.

Não é.

Quando você escreve uma aplicação COBOL para um ambiente CICS ou Batch, ela pode ser executada simultaneamente em diversos membros do Sysplex.

Isso significa que seu programa deve:

  • evitar dependências locais;

  • respeitar bloqueios de dados;

  • compreender concorrência;

  • tratar reinicializações corretamente;

  • utilizar recursos compartilhados sempre que possível.

Quanto mais o desenvolvedor entende o ambiente onde sua aplicação será executada, mais robusto será o software produzido.


A Filosofia do Parallel Sysplex

Existe uma frase que resume toda essa tecnologia.

"No Parallel Sysplex, o usuário nunca deveria precisar saber qual computador está atendendo sua requisição."

Essa é uma ideia poderosa.

O cliente não acessa um servidor.

Ele acessa um serviço.

O serviço continua disponível independentemente de qual computador esteja processando a solicitação naquele instante.

É essa abstração que faz do IBM Z uma referência mundial em disponibilidade.

No próximo capítulo do Holocron da Resiliência IBM Z, entraremos no universo do DFSMS, Storage, System Logger, Capacity on Demand, CBU, CUoD, OOCoD e das tecnologias que permitem expandir recursos dinamicamente e proteger dados em ambientes corporativos de missão crítica.


sábado, 3 de fevereiro de 2007

O que é COBOL?

 

Bellacosa Mainframe apresenta a linguagem de programação COBOL

O que é COBOL?

Quando falamos de:

  • bancos;

  • cartões;

  • folha salarial;

  • seguros;

  • governos;

  • processamento financeiro;

existe uma linguagem que continua sendo uma das mais importantes do mundo:

COBOL.

Mesmo após décadas, ela ainda movimenta:

  • trilhões de dólares;

  • sistemas bancários;

  • pagamentos;

  • processamento batch;

  • grandes empresas globais.


O que significa COBOL?

COBOL significa:

Common Business Oriented Language

Em português:

Linguagem Orientada a Negócios.


Objetivo do COBOL

O COBOL foi criado para:

processamento de negócios corporativos.

Principalmente:

  • registros;

  • arquivos;

  • relatórios;

  • cálculos financeiros;

  • processamento batch.


Origem histórica

COBOL surgiu em:

1959.

Foi criado por um comitê apoiado pelo governo americano e empresas de tecnologia.


Grace Hopper

Uma das figuras históricas mais importantes relacionadas ao COBOL.

Ela ajudou a popularizar:

  • compiladores;

  • linguagens de alto nível;

  • computação corporativa.


Por que COBOL ficou tão famoso?

Porque ele era:

  • legível;

  • organizado;

  • próximo da linguagem humana;

  • excelente para negócios.


Exemplo COBOL

IF SALDO > 0
   DISPLAY 'SALDO POSITIVO'
END-IF

Muito fácil de entender.


O COBOL foi criado para:

  • bancos;

  • contabilidade;

  • folha salarial;

  • faturamento;

  • seguros;

  • processamento financeiro.


Como COBOL funciona no mainframe?

Principalmente em:

processamento batch.


Fluxo clássico COBOL

LER ARQUIVO
 ↓
VALIDAR
 ↓
CALCULAR
 ↓
ATUALIZAR
 ↓
GERAR RELATÓRIO

O COBOL é procedural?

Tradicionalmente:

sim.

Baseado em:

  • procedimentos;

  • fluxo sequencial;

  • processamento estruturado.


Estrutura clássica de um programa COBOL


IDENTIFICATION DIVISION

Informações do programa.


ENVIRONMENT DIVISION

Ambiente e arquivos.


DATA DIVISION

Variáveis e layouts.


PROCEDURE DIVISION

Lógica do programa.


Exemplo simples

IDENTIFICATION DIVISION.
PROGRAM-ID. TESTE.

PROCEDURE DIVISION.
    DISPLAY 'OLA MUNDO'.
    STOP RUN.

O que é DISPLAY?

Comando usado para:

mostrar mensagens.


O que é MOVE?

Mover valores.


Exemplo

MOVE 100 TO SALDO

O que é PERFORM?

Executar rotinas.


Exemplo

PERFORM CALCULAR

O que é READ?

Ler arquivos.


O que é WRITE?

Gravar registros.


O que é COMPUTE?

Realizar cálculos.


COBOL trabalha muito com arquivos

Principalmente:

  • QSAM;

  • VSAM;

  • datasets sequenciais.


COBOL e DB2

Muito usados juntos.


Exemplo SQL em COBOL

EXEC SQL
   SELECT NOME
   INTO :WS-NOME
   FROM CLIENTES
END-EXEC

COBOL e CICS

Usado para aplicações online.

Exemplo:

  • caixas eletrônicos;

  • consultas bancárias;

  • sistemas transacionais.


COBOL batch

Executado via:

  • JCL;

  • JES2;

  • scheduler.


Exemplo batch

//STEP1 EXEC PGM=COBPGM

O que é compilação COBOL?

Transformar código-fonte em:

executável.


Fluxo simplificado

COBOL SOURCE
   ↓
COMPILADOR
   ↓
LOAD MODULE
   ↓
EXECUÇÃO

O que é copybook?

Arquivo reutilizável com layouts.


Exemplo

01 CLIENTE.
   05 NOME PIC X(30).
   05 SALDO PIC 9(9)V99.

O que é PIC?

Define formato do campo.


Exemplo

PIC X(10)

Texto.


PIC 9(5)

Numérico.


O que é COMP-3?

Formato compactado numérico.

Muito usado em:

processamento financeiro.


O COBOL ainda é usado?

Muito.

Especialmente em:

  • bancos;

  • seguradoras;

  • governos;

  • cartões;

  • sistemas críticos.


Por que COBOL ainda existe?

Porque ele é:

  • extremamente confiável;

  • estável;

  • rápido;

  • eficiente para batch.


Quantidade de código COBOL no mundo

Estima-se:

bilhões de linhas.


COBOL moderno

Hoje existe:

  • COBOL orientado a objetos;

  • APIs REST;

  • integração cloud;

  • DevOps;

  • OpenShift;

  • z/OS Connect.


COBOL não é “morto”

Na verdade:

continua extremamente relevante.


Vantagens do COBOL


Excelente para negócios


Muito estável


Ótimo para batch


Fácil leitura


Alta confiabilidade


Excelente performance em mainframe


Desvantagens


Sintaxe extensa


Curva inicial diferente


Menos popular fora do corporativo


Sistemas antigos podem ser complexos


Curiosidades incríveis

1. Grande parte das transações bancárias do mundo passa por COBOL


2. Muitos sistemas COBOL possuem mais de 40 anos


3. O COBOL sobreviveu a diversas gerações tecnológicas


4. Mainframes executam bilhões de linhas COBOL diariamente


Erros comuns de iniciantes


1. Achar que COBOL morreu


2. Confundir COBOL com linguagem “lenta”


3. Ignorar batch e arquivos


4. Não entender lógica procedural


Como COBOL aparece no dia a dia?

Praticamente em:

  • PIX;

  • cartões;

  • bancos;

  • folha salarial;

  • faturamento;

  • seguros;

  • governo.


Exemplo simplificado real

LER CLIENTE
 ↓
VALIDAR CPF
 ↓
CALCULAR LIMITE
 ↓
ATUALIZAR DB2
 ↓
GERAR RELATÓRIO

Resumo rápido

ConceitoSignificado
COBOLLinguagem de negócios
BatchProcessamento em lote
CICSProcessamento online
DB2Banco de dados
JCLExecução batch
COPYBOOKLayout reutilizável
COMP-3Formato numérico

Conclusão

COBOL é uma das linguagens mais importantes da história da computação corporativa.

Criado para processamento de negócios, ele continua sendo fundamental no ambiente mainframe IBM Z, executando sistemas críticos de bancos, governos e grandes empresas em todo o mundo.