image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Vagner Bellacosa
Vagner Bellacosa27/06/2025 15:21
Share

Sistemas Monólitos para padawans

    Muito se fala, uns atacam, outros defendem, mas os padawans chegando agora no Universo da Tecnologia se perguntam, afinal o que seria um Programas mainframe monolíticos, de maneira geral são sistemas desenvolvidos de forma integrada e centralizada, comumente utilizados em ambientes corporativos de grande porte desde as décadas de 60 e 70, alguns em Logica de Programação Imperativa, outros em Logica de Programação Procedural e mais tardiamente em Logica de Programação Procedural Estruturada.

    Esses programas representam uma arquitetura monolítica, onde todos os componentes do software — interface, lógica de negócio e acesso a dados — estão interligados e funcionam como uma única unidade indivisível. Alguns para horror dos puristas ainda utilizam-se de GO TO, não possuem indentação, como tiveram inumeras evolução, apresentam em sua estrutura um mix de design e o pior, alguns são tão hermeticos, que carinhosamente receberam a alcunha de "Spaghetti Code".

    ⚙️ Características dos Programas Mainframe Monolíticos

    1. Tudo-em-um: Um único programa (ou conjunto de programas fortemente acoplados) realiza múltiplas funções, desde o front-end até o processamento e persistência dos dados.
    2. Fortemente acoplado: As diferentes partes do sistema (ex: cálculo, relatórios, tela) estão integradas e dependem diretamente umas das outras.
    3. Arquitetura da Instituição: Dentro do Programa, além das Funcionalidades Negociais, inclui procedimentos da arquitetura tais como Log, Tratamento de Erros e Anomalias, Acessos e Permissões e em alguns casos facilidades para o acesso online.
    4. Difícil de escalar horizontalmente: Escalar partes específicas do sistema requer replicar o todo.
    5. Desenvolvimento em linguagens como:
    COBOL (a mais comum)
    
    PL/I
    
    Assembler
    
    Natural (em ambientes Adabas)
    
    RPG (em AS/400)
    
    1. Alta integração na Instituição: Como estes softwares são criados sob medida, de acordo com as necessidades da Instituição, finamente adaptada aos serviços ofertados e associados com a Historia e evolução da empresa.
    2. Exemplos de tecnologias envolvidas:
    CICS para transações online
    
    IMS/DC ou IMS/DB
    
    DB2 ou VSAM para armazenamento
    
    JCL para batch
    
    TSO/ISPF como interface de desenvolvimento
    
    Relatorios e extratos de serviços ( Xerox e IBM)
    

    📌 Exemplo Típico

    Um sistema bancário com um programa COBOL que:

    • Lê dados do cliente de um banco DB2
    • Processa regras de negócio para empréstimos
    • Atualiza saldos em tempo real via CICS
    • Gera logs e verifica as permissões
    • Workflow para tratamento de registros
    • Gera relatórios batch à noite via JCL

    Tudo isso, em um ou poucos programas principais interligados, sem APIs externas, microsserviços ou modularização avançada. Em Mainframe a Modularização se faz através do Jobs, scripts em JCL onde são elencados cada parte do processo no STEPs, bem como regras de execução e seus arquivos sejam de input/outputs.

    ✅ Vantagens

    • Performance alta: Otimizado para processamentos em larga escala. Veloz, pois criado nativamente para Mainframe, com as limitações de memória do passado e a necessidade de códigos enxutas e performáticos
    • Robustez e estabilidade: Muitos desses sistemas estão em operação contínua há décadas. Testados e garantindo que cumprem aquilo para qual foram projetados.
    • Controle centralizado: Fica mais fácil entender e manter o estado da aplicação em um único ponto (para equipes experientes no ambiente). O treinamento inicial é lento, porém uma vez dominado o Sistema e navegar em um lago tranquilo.

    ❌ Desvantagens

    • Manutenção complexa: Alterações pequenas podem afetar múltiplas funcionalidades.
    • Dificuldade de modernização: Integrações com APIs, nuvem ou apps móveis requerem camadas adaptadoras.
    • Curva de aprendizado alta: Requer profissionais especializados em tecnologias legadas.

    🛠️ Modernização dos Monólitos

    Atualmente, muitas empresas estão migrando esses monólitos para arquiteturas mais modernas, como:

    • Exposição via z/OS Connect (transforma programas CICS em APIs RESTful)
    • Desacoplamento em microsserviços
    • Conteinerização parcial via zCX (z/OS Container Extensions)
    • Reescrita gradual em Java, .NET ou outras plataformas cloud-native
    • Nos anos 90 do seculo passado existiram processos de Downsize e Rightsize para migrar softwares monólitos.

    ⏳ A prova do Tempo.

    Aqui vai uma opinião minha, vista por meio de 4 décadas trabalhando em TI. A grande maioria das empresas, que migraram seus Monólitos Mainframe nos anos 90, através de downsize e rightsize, palavras que eram o norte, o pico da onda no passado. Não existem mais, faliram ou foram absorvidas e curiosamente aquelas que mantiveram seus Mainframe existem até o nossos dias.

    Onde quero chegar? Os custos de migrar, converter, retreinar a equipe, adquirir novos equipamentos e seguir a nova tendencia vendida como a "Bala de Prata", por consultorias não muito eticas, o gestor antes de ser seduzido pelo canto da sereia, deve analisar bens todos os custos e ainda tentar prever num horizonte temporal médio e longo, se os custos se pagam.

    E fácil vender promessas, o difícil é cumpri-las e coloca-las em pratica. Enfim Monólitos tem riscos e vantagens, a melhor dela é a prova do Tempo. Afim geram lucros para a entidade que se mantém ativa atualmente com tecnologia legada.

    Share
    Recommended for you
    Randstad - Análise de Dados
    BairesDev - Machine Learning Training
    Savegnago - Lógica de Programação
    Comments (1)
    DIO Community
    DIO Community - 30/06/2025 17:48

    Vagner, que explicação rica, prática e ao mesmo tempo extremamente reflexiva! Você conseguiu traduzir um tema técnico e muitas vezes mal compreendido em um texto didático, que vai muito além da superfície.

    Gostei muito da forma como você detalhou não só as características técnicas dos sistemas monólitos em mainframe, mas também trouxe a perspectiva histórica e organizacional, mostrando que a escolha por manter ou migrar vai muito além de modismos.

    A comparação entre a "bala de prata" vendida por consultorias e a solidez dos sistemas que resistiram ao tempo ficou excelente. Isso ajuda muito quem está começando (os padawans) a entender que nem sempre a tecnologia mais nova é a melhor opção, e que cada contexto tem nuances importantes.

    Na sua opinião, olhando para o futuro, qual seria o equilíbrio ideal entre manter a robustez do legado e investir em inovação?