Translate

quarta-feira, 29 de novembro de 2023

Low-Code: O Que Todo Programador COBOL Precisa Saber Você Não Está Sendo Substituído.

 

Bellacosa Mainframe e o low-code para o mundo mainframe

☕ Um Café no Bellacosa Mainframe

Low-Code: O Que Todo Programador COBOL Precisa Saber

Você Não Está Sendo Substituído. Está Ganhando Mais uma Ferramenta para Construir Soluções.

"Toda geração acredita que encontrou a tecnologia que acabará com o desenvolvimento tradicional. Até descobrir que software continua sendo engenharia."


Introdução

Durante décadas ouvimos promessas parecidas.

Primeiro foi o CASE.

Depois vieram os geradores automáticos.

Em seguida os Frameworks.

Logo apareceram os CMS.

Depois os ERPs prometendo eliminar programação.

Mais tarde surgiram as plataformas BPM.

Então veio o No-Code.

Agora o assunto da vez é o Low-Code.

Sempre aparece alguém dizendo:

"Agora ninguém mais precisará programar."

O curioso é que o número de desenvolvedores no mundo nunca foi tão grande.

Por quê?

Porque a demanda por software cresce mais rápido do que qualquer tecnologia consegue simplificar.

Para quem trabalha com IBM Z, COBOL, CICS, DB2 e z/OS, entender Low-Code não significa abandonar décadas de experiência.

Significa entender onde essa tecnologia realmente funciona.

E onde ela não funciona.


O que é Low-Code?

Low-Code é uma abordagem de desenvolvimento baseada em componentes visuais.

Em vez de escrever milhares de linhas de código manualmente, o desenvolvedor monta aplicações através de:

  • componentes prontos

  • fluxos visuais

  • formulários

  • regras de negócio

  • integrações

  • conectores

  • workflows

A plataforma gera automaticamente boa parte do código.

Isso não significa ausência de programação.

Normalmente existe código.

Muito código.

Só que parte dele é gerado automaticamente.

Por isso o nome:

Low-Code

e não

No-Code.


A diferença entre Low-Code e No-Code

Embora muita gente use como sinônimos, são conceitos diferentes.

No-Code

Destinado para usuários de negócio.

Exemplos:

  • RH

  • Marketing

  • Financeiro

  • Comercial

O objetivo é permitir criar aplicações sem escrever código.


Low-Code

Voltado para desenvolvedores.

Permite:

  • escrever código quando necessário

  • criar componentes próprios

  • consumir APIs

  • acessar bancos

  • integrar sistemas

  • customizar regras

Ou seja:

continua sendo engenharia de software.


Como surgiu o Low-Code?

Na verdade, a ideia é muito mais antiga do que parece.

Se voltarmos aos anos 80 veremos ferramentas como:

  • PowerBuilder

  • Delphi

  • Visual Basic

  • Oracle Forms

  • IBM VisualAge

  • Gupta SQLWindows

Todas possuíam:

  • drag-and-drop

  • componentes visuais

  • geração automática de código

Hoje chamaríamos isso de Low-Code.

A diferença é que atualmente as plataformas são orientadas para:

  • Cloud

  • APIs

  • Mobile

  • Microsserviços

  • Containers

  • IA

Ou seja,

o conceito é antigo.

A infraestrutura mudou.


Linha do tempo

Década de 1980

Programação visual.

CASE.

Geradores de código.

RAD (Rapid Application Development).


Década de 1990

Visual Basic.

Delphi.

PowerBuilder.

Oracle Forms.

Lotus Notes.


Década de 2000

SOA.

BPM.

Workflow.

Ferramentas corporativas.


Década de 2010

Cloud.

Mobile.

APIs REST.

Low-Code moderno.


Década de 2020

IA Generativa.

Copilots.

Modelagem automática.

Assistentes inteligentes.

Low-Code + IA.


O objetivo nunca foi eliminar programadores

Essa é talvez a maior confusão.

Imagine um arquiteto.

Hoje existem softwares que desenham plantas automaticamente.

Isso eliminou arquitetos?

Não.

Apenas aumentou sua produtividade.

O mesmo ocorre aqui.

Low-Code automatiza tarefas repetitivas.

Quem continua decidindo arquitetura é o desenvolvedor.


Como funciona internamente?

Quase todas as plataformas seguem a mesma arquitetura.

Usuário

↓

Designer Visual

↓

Modelo da Aplicação

↓

Gerador de Código

↓

Compilação

↓

Banco

↓

Servidor

↓

Aplicação Executando

O desenvolvedor manipula um modelo.

A plataforma transforma esse modelo em código.


Quais problemas o Low-Code resolve?

Principalmente:

  • desenvolvimento lento

  • escassez de desenvolvedores

  • excesso de sistemas internos

  • necessidade de digitalização

  • automação de processos

  • criação rápida de protótipos

Imagine um departamento de RH precisando aprovar férias.

Não faz sentido iniciar um projeto de 8 meses.

Uma plataforma Low-Code resolve isso em dias.


Onde o Low-Code é excelente?

Sistemas internos

  • RH

  • Compras

  • Financeiro

  • Aprovação


Dashboards

Indicadores.

KPIs.

Relatórios.


Formulários

Cadastro.

Pesquisa.

Solicitações.


Workflow

Fluxos de aprovação.


Aplicativos móveis

Aplicações simples.


Portais

Intranet.

Extranet.

Atendimento.


Onde ele não é indicado?

Nem tudo deve ser feito em Low-Code.

Exemplos:

  • motores bancários

  • processamento de cartões

  • compensação financeira

  • sistemas de bolsa

  • processamento em massa

  • compiladores

  • sistemas operacionais

  • bancos de dados

  • kernels

Nesses casos,

o controle fino importa.


Performance

Uma pergunta comum.

Low-Code é lento?

Resposta:

Depende.

Um formulário simples?

Praticamente igual.

Um workflow?

Excelente.

Mas aplicações extremamente críticas normalmente exigem código especializado.

Por quê?

Porque uma plataforma genérica precisa atender milhares de cenários.

Código manual pode ser otimizado especificamente.


O impacto na arquitetura

Antes:

Cliente

↓

Aplicação

↓

Banco

Hoje:

Cliente

↓

Portal Low-Code

↓

API

↓

Microsserviços

↓

Mainframe

↓

DB2

Perceba algo importante.

O Mainframe continua existindo.

Ele apenas deixa de conversar diretamente com o usuário.


Low-Code e APIs

Aqui está o ponto de encontro com IBM Z.

O Low-Code praticamente vive de APIs.

Quem fornece essas APIs?

Frequentemente:

  • COBOL

  • CICS

  • IMS

  • DB2

  • MQ

  • z/OS Connect

Ou seja,

o Mainframe passa a ser o motor.

O Low-Code apenas cria a interface.


O papel do COBOL muda?

Sim.

Mas não desaparece.

Antes:

COBOL fazia:

  • tela

  • regra

  • banco

Hoje:

COBOL concentra-se em:

  • regra de negócio

  • segurança

  • consistência

  • transações

Enquanto o Low-Code faz:

  • telas

  • formulários

  • dashboards

  • workflow

É uma separação saudável.


Principais vantagens

Desenvolvimento rápido

Dias em vez de meses.


Menos código repetitivo

CRUD praticamente automático.


Padronização

Todas as aplicações seguem o mesmo modelo.


Facilidade de manutenção

Mudanças visuais são simples.


Integração

APIs.

SOAP.

REST.

MQ.

SQL.

LDAP.

OAuth.


Reutilização

Componentes podem ser usados diversas vezes.


Os riscos

Nem tudo são flores.

Vendor Lock-in

Talvez seja o maior problema.

Sua aplicação depende da plataforma.

Trocar depois pode ser caro.


Código gerado

Nem sempre é elegante.

Às vezes gera excesso de processamento.


Limitações

Quando surge algo muito específico,

a plataforma pode não suportar.


Licenciamento

Grandes plataformas costumam ser caras.


Performance

Em aplicações extremamente críticas,

código especializado costuma vencer.


As boas práticas

Modele antes

Não saia criando telas.

Desenhe processos.


Use APIs

Nunca acesse diretamente sistemas legados.


Centralize regras

A regra deve permanecer no backend.

Nunca na interface.


Versione

Mesmo sendo visual.

Use Git.


Automatize testes

Aplicações visuais também precisam de testes.


Documente integrações

Principalmente contratos REST.


Passo a passo para criar uma aplicação Low-Code

1. Entenda o processo

Mapeie:

  • entradas

  • saídas

  • aprovações


2. Modele dados

Clientes.

Pedidos.

Produtos.

Usuários.


3. Crie formulários

Cadastro.

Consulta.

Pesquisa.


4. Configure regras

Quem pode aprovar?

Quem pode editar?


5. Integre APIs

REST.

SOAP.

MQ.

Banco.


6. Teste

Validação.

Carga.

Segurança.


7. Publique

Cloud.

On-premises.

Containers.


8. Monitore

Logs.

Performance.

Auditoria.


Principais metodologias utilizadas

Agile

Scrum.

Kanban.

Sprints curtas.


DevOps

CI/CD.

Deploy automático.


Domain Driven Design

Separação por domínio.


BPM

Modelagem de processos.


BPMN

Fluxos de negócio.


Design Thinking

Descoberta do problema.


UX

Experiência do usuário.


API First

Tudo começa pela API.


As principais plataformas Low-Code

O mercado amadureceu muito nos últimos anos e hoje existem dezenas de plataformas. Algumas são focadas em pequenas empresas; outras suportam ambientes corporativos gigantescos, incluindo integração com IBM Z.

Microsoft Power Apps

Talvez seja a plataforma mais conhecida atualmente.

Pontos fortes:

  • integração com Microsoft 365

  • SharePoint

  • Dynamics

  • Azure

  • Power Automate

  • Dataverse

Muito usada em departamentos internos.


Mendix

Uma das líderes mundiais.

Hoje pertence à Siemens.

Muito forte em aplicações corporativas complexas.

Possui excelentes recursos para integração com APIs REST e SOAP.


OutSystems

Bastante conhecida entre bancos, seguradoras e grandes empresas.

Possui:

  • desenvolvimento web

  • mobile

  • DevOps integrado

  • monitoramento

  • escalabilidade

É uma das plataformas mais maduras do mercado.


Appian

Extremamente forte em:

  • BPM

  • Workflow

  • Automação

  • Processos empresariais

Muito utilizada em governos e instituições financeiras.


Salesforce Platform

Voltada para aplicações em torno do ecossistema Salesforce.

Excelente quando toda a empresa já utiliza CRM Salesforce.


ServiceNow

Originalmente voltada para ITSM.

Hoje permite desenvolver inúmeras aplicações corporativas.


Oracle APEX

Muito respeitada entre desenvolvedores Oracle.

Rápida.

Estável.

Excelente para aplicações baseadas em banco Oracle.


IBM Business Automation Workflow

A IBM também investe nesse segmento.

Especialmente para processos corporativos.

Integra naturalmente com:

  • IBM MQ

  • CICS

  • DB2

  • IBM Z


Low-Code e Inteligência Artificial

A IA acelerou ainda mais esse mercado.

Hoje diversas plataformas conseguem:

  • criar formulários automaticamente

  • gerar consultas SQL

  • sugerir telas

  • criar APIs

  • escrever validações

  • documentar aplicações

Mas existe um detalhe.

A IA produz software.

Quem produz arquitetura continua sendo o engenheiro.


O impacto no ambiente Mainframe

Agora chegamos ao ponto mais importante para quem trabalha com COBOL.

Existe um mito recorrente:

"Se a empresa adotar Low-Code, o Mainframe desaparecerá."

Na prática acontece exatamente o contrário.

Quanto mais empresas investem em transformação digital, mais precisam acessar os sistemas que realmente armazenam os dados de negócio. Em bancos, seguradoras, operadoras de saúde, companhias aéreas e órgãos públicos, esses dados continuam majoritariamente em aplicações COBOL executando no IBM Z.

O Low-Code normalmente não substitui esse núcleo. Ele cria uma camada de experiência para o usuário.

Uma arquitetura moderna costuma seguir este fluxo:

Aplicativo Web ou Mobile
        │
        ▼
Plataforma Low-Code
        │
        ▼
API Gateway
        │
        ▼
z/OS Connect / API REST
        │
        ▼
CICS / IMS / MQ
        │
        ▼
Programas COBOL
        │
        ▼
DB2 / VSAM / IMS DB

Nesse cenário, o COBOL deixa de cuidar da interface gráfica e concentra seus esforços onde ele sempre foi excepcional:

  • regras de negócio;

  • integridade transacional;

  • processamento de alto volume;

  • consistência de dados;

  • disponibilidade contínua.

Enquanto isso, a plataforma Low-Code entrega:

  • formulários modernos;

  • portais web;

  • aplicativos móveis;

  • dashboards;

  • fluxos de aprovação;

  • integrações com serviços externos.

Essa separação de responsabilidades reduz o acoplamento e facilita a evolução dos sistemas.

Novas responsabilidades para o desenvolvedor COBOL

O profissional de Mainframe tende a atuar menos como "programador de telas" e mais como especialista em serviços.

Isso significa dominar conceitos como:

  • APIs REST;

  • JSON;

  • OpenAPI/Swagger;

  • OAuth e autenticação;

  • mensageria com IBM MQ;

  • integração via z/OS Connect;

  • versionamento de contratos;

  • observabilidade e monitoramento.

O conhecimento do negócio continua sendo o maior diferencial. Uma plataforma Low-Code pode gerar uma interface em minutos, mas não conhece as regras de crédito, tributação, previdência, seguros ou compensação bancária que estão consolidadas em décadas de código COBOL.

Oportunidades profissionais

Para quem trabalha com IBM Z, o crescimento do Low-Code abre novas possibilidades:

  • atuar como arquiteto de integração;

  • expor aplicações COBOL como APIs;

  • modernizar sistemas legados sem reescrevê-los;

  • integrar Mainframe com nuvem e aplicações móveis;

  • liderar iniciativas de transformação digital.

Em vez de competir com o Low-Code, o desenvolvedor COBOL pode tornar-se a peça central que conecta o legado confiável às novas interfaces de negócio.

Conclusão

Low-Code não é uma moda passageira nem a solução para todos os problemas. É mais uma etapa da evolução da engenharia de software.

Assim como o Delphi acelerou o desenvolvimento desktop, o Visual Basic simplificou aplicações Windows e os frameworks web reduziram código repetitivo, as plataformas Low-Code automatizam tarefas de baixo valor para que os desenvolvedores concentrem seu tempo naquilo que realmente importa: arquitetura, regras de negócio, segurança, integração e desempenho.

Para o profissional de Mainframe, a mensagem é especialmente positiva. O IBM Z continua sendo o ambiente onde executam algumas das aplicações mais críticas do planeta. O que muda é a forma como essas aplicações são consumidas. Em vez de telas verdes acessadas diretamente, elas passam a atender portais, aplicativos móveis e plataformas Low-Code por meio de APIs e serviços.

O futuro não será de COBOL ou Low-Code.

Será de COBOL com Low-Code, APIs, IA, DevOps e integração em nuvem, formando um ecossistema onde cada tecnologia desempenha o papel para o qual foi projetada.

No fim, a tecnologia muda, as interfaces evoluem e as ferramentas se renovam. Mas um princípio permanece inalterado desde os primeiros dias da computação: software crítico continua dependendo de boa engenharia. E essa continua sendo a principal especialidade de quem desenvolve soluções para o IBM Z.

Sem comentários:

Enviar um comentário