Article image
Vagner Bellacosa
Vagner Bellacosa14/07/2021 18:55
Compartilhe

Mainframe, conheça um pouco sobre Sistemas Centrais

  • #Informática Básica
  • #Boas práticas
  • #Arquitetura de Sistemas

image Mainframe

Grande computadores predominantemente oriundos da IBM com grande poder computacional, que esta por traz de todos os processos governamentais, grandes bancos, seguradoras e complexos militares. Trabalha através de processo online via transações assíncronas CICS, síncronas CICS, chamadas JAVA ao DB2 e processamento Batch em janelas de horário.

image Hora da naftalina, conversa com o Tiozão: Mainframe

Provavelmente jovem padawan em sua jornada pela Força, mais dia menos dia, ira ouvir menção a Sistemas Legados e outras palavras obscuras que parecem ter saído de um livro de alquimia medieval ou livro de Cabala do Zohar,

Não entre em pânico, este pequeno e despretensioso artigo vamos fazer uma pequena introdução ao mundo do Mainframe, mas prepare-se as vezes me empolgo e solto os dedos no teclado. Tome um bom café mergulhe na história.

image História das calculadoras

image Os números estão em todas as partes. Contar sem sombra de duvida, uma das primeiras coisas que o homem aprendeu, mesmo antes de escrever, foi contar. Afinal a necessidade faz o ladrão, então imagine o Brutucu com seu belo rebanho de ovelhas la longe na idade das cavernas.

Como saber se algum amigo do alheio ou animal selvagem deu cabo de sua riqueza geradora de leite, carne e lã. Usando os dedos surgiu o sistema digital e para calcular surgiu os risquinhos. Todo os dias o Brutucu contava as ovelhas e confirmava nos risquinhos de carvão. 

imageMas nem todo sistema é perfeito, um dia veio uma tempestade e apagou a base de dados do pobre Brucutu, que na época não tinha backup e perdeu todo o controle, frustrado começou a pensar num sistema mais perene.

imageUm amigo compadecido com o problema de Brucutu sugeriu o uso de pedrinhas num vaso. Assim foi o deploy do Sistema de Ovicalculo versão 2.00, que durou vários milênios até o advento do ábaco.

image Curiosidade a palavra cálculo advém de calcullus ou pedrinha em latim. Passado mais alguns milênios surgiram as calculadoras mecânicas. Um dia irei falar do primeiro computador mecânico grego o Antikythera, uma espécie da calculadora, relógio e gps com mais de 3000 anos.

imageUm salto e tanto.

Babbage e Holleryth no século XIX deram um novo salto criando calculadoras mecânicas avançadas e poderia perder um artigo inteiro falando sobre isso, mas vamos avançar um pouco e chegamos a 1946, que foi a data acordada para o surgimento do computador,

Primeiro Mainframe surgiu em 1946, o famoso Electronic Numerical Integrator And Computer, para os íntimos ENIAC, segundo as mas línguas ele já existia e estava em operações desde 1940, ajudando no esforço de guerra, a seguir veio o Mark I, que já fez sua aparição em nosso artigo em homenagem a Incrível Grace (https://digitalinnovation.one/artigos/dia-9-homenagem-a-incrivel-grace).

image IBM Mainframe

Do Mark I para diante entramos na velocidade da luz, ou quase, a velocidade que surgiam novos computadores com processadores hiper velozes, a miniaturização dos componentes e a popularização das linguagens de programação dominaram o mundo, chegando até nossos dias em que existem dezenas de dialetos originados da Linguagem de Maquina original.

image Mas afinal o que é Mainframe.

São computadores super poderosos usados para fins militares, governamentais e comerciais com capacidades assombrosas para processar e durante décadas monopolizaram o serviço de processamento de dados. Podemos dizer que IBM foi durante décadas sinônimo de Mainframe, que para os curiosos foi a evolução da empresa criada por Holleryth para calcular o senso americano do século XIX.

A International Business Machines Corporation (IBM) é a empresa que criou quase tudo o que conhecemos de hardware, seus engenheiros trabalham duro para inovar, baseada em quatro pilares : Segurança, Escalabilidade, Resiliência, Portabilidade.

image Acessando o mainframe CICS

O CICS (Customer Information Control System) é um sistema de processamento de transações designado tanto para atividade Online como processamento Batch. Ele é um X Tudo no ambiene mainframe, pois tudo roda nele, sendo um SO dentro do SO, gerenciando transações, fazendo chamadas diretamente a CPU, escutando periféricos e gerenciando memória.

No Banco era responsável pela parte online dos processos, onde o usuário através de terminais 3270, inputavam as informações ao sistema central, quando visitar as Casas Bahia ou algum órgão público, verá uma tela preta com letras verdes isso 

Nos tempos atuais o CICS continua coordenando as comunicações entre os servidores WEB e o Sistema Central, fazendo trocas de áreas cada vez mais gigantescas de memoria. Lembro-me nos primórdios que tinham poucos megas para troca de dados, hoje chegamos a gigas trocadas entre as interfaces.

image No princípio não havia Banco de Dados

Todo o trabalho era feito em arquivos de inputs e outputs gravados em GDGs, que era uma espécie de controle de versão primordial. Onde a ultima versão era a mais recente e em caso de problemas, solicitávamos o processamento de versões anteriores. Tudo manualmente solicitado ao operador.

image Arquivos sequenciais

Por incrível que possa parecer o conceito de banco de dados é uma ideia moderna, na pré-história o trabalho era realizado em arquivos sequenciais, lidos inteiramente e processados sequencialmente. Imagine a trabalheira que era achar alguém no meio de tanta informação. 

image Arquivos sequenciais indexados (VSAM)

A evolução seguinte foi um pulo do gato, os arquivos sequenciais ganharam um poder extra, em cada registro foram reservados alguns bytes, para armazenar a chave e foi criado um algoritmo para indexar essas informações de modo há um programa conseguir ler o registro de maneira mais rápido.

image Arquivos de listas invertidas 

O próximo passo foi o sistema de listas invertidas, parecidas com as chaves indexadas, mas com mais facilidade de uso, sendo user-friendly para os programadores, dele surgiu o ADABAS, um banco de dados não relacional ou segundo os entendidos quase relacional.

image Software AG Adabas

Eu tive o prazer de trabalhar na maior base de dados em Adabas do mundo, segundo os próprios engenheiros da Software AG, que vez por outra visitavam o Banco REAL para acompanhar a performance e funcionamento deste poderoso software gerenciador de Banco de Dados, curiosamente cheguei a trabalhar com macros, pois a princípio o ADABAS não tinha acesso via padrão SQL. Era horrível, muito difícil mesmo arcaico, todos os controles ficavam do lado cliente da solução.

image IBM DB2

Com maquinas mais poderosas e a experiência de décadas com o VSAM, o próximo passo foi a criação de um Banco de Dados relacional com acesso proprietário, posteriormente adaptado ao padrão SQL e o resto é história, foi o Banco de Dados mais utilizado no mundo. Curiosamente internamente o DB2 é uma mega estrutura de arquivos VSAM. Um avião supersônico para querys.

image Processo Batch

Lembra do que falei sobre os arquivos sequenciais? Nos primórdios os operadores alimentavam as informações em arquivos que ao final do dia era processados e geravam-se novas informações dentro de janelas de horários, que prendiam analistas e programadores caso abendassem, pois a cadeia de processos partidos paravam tudo. Gerando o caos ate o processo ser recuperado, corrigido e liberado a fila de processos.

image JCL

JOB Control Languagem é o shell script do mainframe, calma nao entre em pânico, pense em uma linguagem de programação que executa Z/OS em tempo de execução controlado por um schedule. aqui definimos a ordem de execução, os recursos necessários tais como memoria, prioridade, controle de custos e acesso ao RACF. Nas configurações usamos o nome do programa, o tipo de aplicativo e o acesso a VSAM ou base de dados.

image JOB ou cadeia

E um script de script, aqui criamos um caminho critico com as dependências de JCL e a execução em ordem correta dentro de um processo BATCH gerenciado pelo Control-M entre outros schudele.

image CONTROL-M

Ferramenta que gera o agendamento e o fluxo de trabalhos do Jobs e ou jcls em um processo batch mainframe. Responsável pela orquestração  e controle das dependências, curiosamente até mesmo as rotinas online, nada são, do que processos batchs auto recursivos que nunc param.

Em minha carreira em mainframe, tive o prazer de fazer um cadeia autorecursivo, que tinha como entrada o arquivo sequencial com todos os fontes de Natural e seu processo extraia um programa e enfileirava um jcl para formatar o arquivo de saída com o nome do programa e sua estrutura.

image ABEND

O termo técnico para Bug, significa Abnormal END, terminal anormal, onde os engenhosos programadores gastavam horas tentando solucionar, normalmente envolviam estouros de memorias, invasões de áreas, troca de arquivos de processo e etc.

image RACF

O sistema policial que guara e protege o sistema de acessos não autorizados, permitindo a leitura de arquivos em desenvolvimento, qualidade e produção, de acordo com o perfil de cada usuário. Libera acesso ao CICS e as ferramentas de produtividade.

image Terminal 3270

O primeiro acesso aos computadores de muita gente, na década de 80 tive o prazer em trabalhar diretamente neste monstrinho, que eu carinhosamente chamava de sonar de submarino, me sentia em filmes de ficção cientifica ao operar essa engenhoca. Tinha um pequeno buffer, que acumulava informações até a próxima chamada ao controlador, passando esses dados e recebendo a página seguinte, numa transação assíncrona.

Além disso existem inúmeras siglas e sopas de letrinhas com mais informações sobre processos e funcionamento dos terminais, qualquer duvida perguntem, as vezes a memoria do tiozão falha e meto a pata na poça.

image ROSCOE

Uma ferramenta de front-end para edição de arquivos sequenciais, programas e jcls com funcionalidades semelhantes ao TSO.

image TSO

Time Sharing Options é um super gerenciador de tarefas/ambiente semelhante ao Windows, organize tudo dentro de um IBM mainframe, todas as funcionalidades e acessos podem ser utilizadas a partir deste aplicativo, compõem acesso aos cics, editores de arquivos e programas, troca de mensagens, controle de versão etc. Atualmente usa-se um emulador e sendo acessado via local o web. No TSO pode-se criar uma biblioteca de trabalho semelhante ao repositório do Github.

Para um primeiro artigo sobre sistema Mainframe acabei falando demais, espero não ter deixado meu jovem padawan atrapalhado com tanta informação.

Visite este artigo sempre, pois trata-se de um trabalho em curso com melhorias continuas.

image SORT

O aplicativo mais fabuloso do sistema Mainframe, quanto trabalho economizou, quanta dor de cabeça resolveu. Esta ferramenta fantástica tem como missão CLASSIFICAR arquivos sequenciais, gerando output com qualquer tipo de formatação, saída, layout, domine o manual e faça milagres com o mínimo de esforço.

image Linguagens de programação

Esta são apenas algumas das linguagens utilizadas em sistemas centrais

Assembler, PLI, COBOL, REXX, Easytreave e JAVA 

Sendo que em processos batch são chamadas via JCL e nas transações online CICS carregadas no menu CICS.

Por curiosidade no Brasil o programa mais antigo que trabalhei foi no Banco Real no sistemas de empréstimo compilado em 1983, em Portugal na DIGITA ligada ao Ministério das Finanças a guarda foi em 1974.

image Performance

Devido as grandes quantidades de dados, a programação em mainframe usa o paradigma procedural e modelos otimizados de acesso, para evitar gargalos e estouros de memória por uso excessivo de recursos.

Espero ter ajudado, lembre-se que é um trabalho continuo.

image Referência Bibliográfica

WIKIPEDIA - A Enciclopédia Livre, faça parte, ajude atualizando ou criando verbetes http://www.wikipedia.org

Google Books um repositório com milhões de livros digitalizados https://books.google.com/

Internet Archive, tudo aquilo que um dia foi publicado veio parar aqui. https://archive.org/

Biblioteca de ícones https://www.flaticon.com/

------------------------------------------------------------------------

image

image Mais momento jabá, para distrair, visite meu vídeo e veja para onde fui desta vez :  https://www.youtube.com/watch?v=LlPHW3sAMK8

image https://www.linkedin.com/in/vagnerbellacosa/

image https://github.com/VagnerBellacosa/

Pode me dar uma ajudinha no YouTube?

image https://www.youtube.com/user/vagnerbellacosa

#Desafio21DiasNaDIO 

Compartilhe
Comentários (2)
Vagner Bellacosa
Vagner Bellacosa - 15/07/2021 00:26

Obrigada Bruna, se gostou do JAVA, tem tratamento XML em Cobol e rodam Linux.... fiz alguns projetos em XML Cobol, mas era ruim demais... qto ao Linux so ouvir falar nunca vi. :)

Bruna Gonçalves
Bruna Gonçalves - 15/07/2021 00:17

Uau! Que artigo impressionante! Realmente vou precisar reler algumas vezes para processar tantas informações novas, mas gostei muito, principalmente das curiosidades que apareceram ao longo do texto. E ainda acho incrível como a linguagem Java pode ser usada de tanta formas diferentes.

Seus textos são sempre maravilhosos. Já estou esperando os próximos.