Para IT e direção de IT

O que lhe estão a pedir para validar

Alguém do lado do negócio viu a página inicial do IdeaBuild e quer avançar. Esta página é para quem tem de dizer se é seguro, se encaixa e o que vai custar a IT mantê-lo a funcionar. Sem marketing. Tudo o que está aqui remete para uma nota técnica mais aprofundada.

O que é

Uma base aplicacional aberta e em contentores (.NET 10, React 18, PostgreSQL 16, Keycloak 24, Redis 7, Docker) mais dois serviços de entrega: engenharia de aplicações à medida acelerada por IA e migração incremental para fora do Oracle APEX, OutSystems e runtimes semelhantes.

O que não é

Não é uma plataforma low-code, não é SaaS, não é um runtime licenciado. Recebe código-fonte, esquemas e runbooks, instalados na sua infraestrutura ou numa cloud soberana à sua escolha.

O que precisa de verificar

Modelo de segurança, residência de dados, integração de identidade, risco de migração, operabilidade e o que acontece no dia dois. Cada ponto tem uma secção abaixo e uma linha na lista de verificação no fim.

Dois serviços sobre uma base aberta

Serviço 1

Entrega de aplicações acelerada por IA

Os seus especialistas de domínio descrevem como o negócio funciona. Os nossos engenheiros usam IA para sintetizar serviços C# e componentes React sobre a base pré-construída, verificados contra mais de 1.200 testes automatizados de backend e mais de 100 suites end-to-end antes de qualquer coisa lhe chegar.

Serviço 2

Migração de legado

Regras de negócio enterradas em packages PL/SQL, regiões APEX ou runtimes OutSystems são extraídas para serviços C# limpos e ecrãs React, com transição módulo a módulo e o sistema legado a correr em paralelo até a paridade estar provada.

A base

A parte que nunca mais volta a construir

Ambos os serviços partem da mesma stack auditada: gateway Nginx, identidade Keycloak, bases de dados transacional e de auditoria segregadas, APIs .NET modulares, SPAs React, telemetria completa.

.NET 10 · React 18 · PostgreSQL 16 · Keycloak 24 · Redis 7 · Docker

A IA escreve código dentro de controlos que pode inspecionar

A primeira pergunta que IT faz: como impedem o modelo de inventar regras ou de ver os nossos dados. A resposta é estrutural, não uma política.

IA dentro de controlos

O conhecimento do domínio entra pela esquerda. A síntese por IA está dentro de uma moldura amarela com quatro controlos: especificações executáveis, testes que têm de passar, módulos pré-construídos e auditados, sem dados de produção. C# e React verificados saem pela direita. Saberdo negócio Síntese IA Especificações executáveis dos peritos 1.200+ testes a passar Módulos prontos auditados Sem dados de produção ValidadoC# + React O modelo nunca vê credenciais, dados de produção nem segredos

Regras aplicadas de forma determinística

O resultado da IA é limitado por especificações executáveis escritas com os seus especialistas de domínio. As regras de negócio são verificadas por testes, não por confiança no modelo. Sem deriva de lógica, sem regras alucinadas em produção.

Zero exposição de dados

Bases de dados de produção, credenciais e regras proprietárias nunca são enviadas para modelos externos nem usadas para treino. A síntese trabalha sobre esquemas e especificações, não sobre os seus dados.

Blocos pré-testados

RBAC, auditoria, grelhas de dados, pipelines de documentos, i18n e parametrização são montados a partir de módulos que já trazem as suas próprias suites de testes.

Ciclo de vida

Semana 1: arquitetura e blueprint do domínio com os seus especialistas. Semanas 2 a 4: síntese e verificação aceleradas por IA. Semana 5: instalação em contentores no seu ambiente, com telemetria, runbooks e passagem de conhecimento. Framework de entrega de aplicações com IA

Doze capacidades que não tem de construir

01

Identidade e acessos (IAM)

Keycloak 24, OIDC/OAuth2 com PKCE, segundo fator TOTP, controlo de sessões, auditoria de acessos administrativos.

02

RBAC no servidor

Cada endpoint avalia claims e políticas no servidor. Esconder elementos na UI nunca é a fronteira de segurança.

03

Auditoria imutável

Estado JSON antes e depois de cada alteração, utilizador, IP e timestamp, enviados via Redis Streams para uma base de dados de auditoria dedicada.

04

Grelhas de dados de grande volume

Ordenação, paginação e filtros no servidor sobre milhões de linhas, vistas guardadas, exportação XLSX.

05

Pesquisa em linguagem natural

Texto livre convertido em filtros de coluna validados, limitados pelas permissões de quem pede e pelas regras de índices.

06

Motor de regras e alertas

Condições configuráveis, notificações por email, gatilhos de eventos, histórico de execução.

07

Parametrização centralizada

Definições, políticas, credenciais de terceiros e fusos horários geridos no backoffice, cifrados com AES-256, recarga a quente.

08

Pipeline de documentos

Uploads ligados a entidades, validação MIME, deteção de zip bombs e macros, geração de PDF via Gotenberg.

09

Temas white-label

Logótipos, tipografia e cores por tenant em runtime, sem nova instalação.

10

i18n multilingue

Um só catálogo para as vistas React e as mensagens de validação .NET.

11

Observabilidade

Prometheus, Grafana, Loki/Promtail, Seq com IDs de correlação.

12

Fachada de auditoria MCP

Servidor Model Context Protocol só de leitura para análise de incidentes assistida por IA, sem credenciais da base de dados.

Sete camadas, todas em contentores, todas suas

Tudo corre em Docker Compose nos seus servidores ou numa cloud soberana. Nenhum componente exige licença. Descrição completa das camadas na metodologia de migração.

As sete camadas

Stack em camadas. O Nginx ingress é a única superfície pública. Abaixo de uma linha tracejada marcada como rede interna: frontends React e Keycloak, cinco serviços .NET, depois PostgreSQL main, PostgreSQL audit e Redis. Uma faixa de telemetria desce pelo lado direito. Internet pública Camada 1 · Nginx ingress TLS, rate limits, CSP/HSTS, bloqueia portas admin único ponto público Rede Docker interna. Nada abaixo publica uma porta. Camada 5 · Frontends React 18 Portal público · Dashboard operacional · Backoffice Camada 3 · Keycloak 24 OIDC, PKCE, TOTP Camada 4 · Serviços .NET 10 api-auth · api-private · api-backoffice · api-audit · api-diag PostgreSQL main entidades de negócio PostgreSQL audit isolada, append-only Redis 7 cache, sessões, streams Camada 2 · Dados e cache Camadas 6 a 7 Telemetria Prometheus Grafana Seq Loki Tudo dentro da linha tracejada só é acessível a partir de outros contentores.
CamadaFunção
1 · NginxÚnico ponto de entrada público. Terminação TLS, rate limiting, cabeçalhos CSP/HSTS, bloqueia portas de administração e diagnóstico.
2 · Dadospostgres-main para entidades de negócio; postgres-audit isolada para histórico de conformidade; Redis para cache, sessões e streams de eventos de auditoria.
3 · IdentidadeKeycloak 24. OAuth2/PKCE, JWT assinados, TOTP obrigatório; consola de administração apenas em rede privada.
4 · Serviçosapi-auth, api-private, api-backoffice, api-audit, api-diag
5 · FrontendsReact 18 + Vite. Portal público, dashboard operacional, backoffice; biblioteca de componentes partilhada.
6 a 7 · TelemetriaMétricas Prometheus dos exporters de Nginx, Postgres e Redis; Grafana; logs estruturados em Seq; logs de contentores em Loki/Promtail.

O que acontece a um pedido

Um pedido, de ponta a ponta

O browser obtém um token do Keycloak, chama através do Nginx um serviço .NET que verifica o RBAC e lê e escreve no PostgreSQL main. Cada mutação emite um evento para Redis Streams, que o serviço de auditoria guarda no PostgreSQL audit, onde os serviços aplicacionais não podem escrever. 1 · BrowserHTTPS, PKCE 2 · NginxTLS, rate limits 3 · Serviço .NETvalida JWT + RBAC 4 · PostgreSQL mainsó rede interna KeycloakJWT assinado 5 · evento de mutação Redis Streamsuser, IP, antes, depois 6 · PostgreSQL auditconsumido por api-audit serviços app não escrevem Cada escrita deixa um registo antes/depois num repositório que a aplicação não pode alterar.
  1. 1O browser autentica-se no Keycloak por HTTPS com PKCE e recebe um JWT assinado.
  2. 2Toda a chamada à API entra pelo Nginx, que termina o TLS, aplica rate limits e cabeçalhos de segurança e recusa tudo o que vise portas internas.
  3. 3O serviço .NET de destino valida a assinatura do token e avalia as políticas RBAC no servidor antes de tocar nos dados.
  4. 4Leituras e escritas vão para postgres-main apenas pela rede Docker interna.
  5. 5Cada mutação publica um evento (utilizador, IP, timestamp, estado anterior e novo) no Redis Streams.
  6. 6api-audit consome o stream e persiste-o em postgres-audit, uma instância separada onde os serviços aplicacionais não podem escrever diretamente.

Zero-trust por construção

Autorização no servidor, sempre

As claims são avaliadas por endpoint. Botões escondidos são uma opção de UX, nunca o controlo. Isto fecha a classe de problemas BOLA e de manipulação de parâmetros, comum em plataformas departamentais.

Duas bases de dados, não uma

O histórico de auditoria vive numa instância PostgreSQL separada. Privilégios elevados na base transacional não chegam ao rasto de auditoria.

Segundo fator obrigatório

TOTP (RFC 6238) no Keycloak, obrigatório para realms administrativos.

Uma só porta de entrada

O Nginx é a única superfície publicada. Bases de dados, Redis, administração do Keycloak, diagnósticos e sockets MCP são inacessíveis do exterior.

Verificado em cada arranque

Três verificações automáticas travam a instalação se forem violadas: no-published-ports, production-blocks-tools, attachments-volume-not-served. Os uploads nunca ficam num caminho público; os downloads passam por APIs autenticadas.

A IA nunca vê produção

Nenhum dado de produção, credencial ou regra é enviado para modelos externos. Nota técnica sobre OIDC e RBAC em Keycloak

Ligar ao que já tem a funcionar

Identidade
Os diretórios existentes federam-se no Keycloak sem obrigar a repor passwords. O SSO permite aos utilizadores passar entre ecrãs legados e novos na mesma sessão.
APIs
Toda a capacidade é exposta por endpoints REST documentados nos serviços .NET. A integração com ERPs, CRMs ou plataformas de dados passa por eles, com o mesmo RBAC.
Sincronização de dados durante a migração
Change Data Capture via Redis Streams ou Kafka mantém a base legada e o PostgreSQL espelhados com latência inferior a um segundo e dual-write nos dois sentidos.
Documentos e exportações
Office/HTML para PDF via Gotenberg, exportação XLSX de qualquer grelha, uploads ligados a entidades de negócio.
Notificações
Email e gatilhos de eventos a partir do motor de regras.

Onde vivem os seus dados e quem lhes pode tocar

Residência
No seu hardware ou na região de cloud soberana que escolher. Nada é alojado pelo IdeaBuild.
Isolamento
Os serviços chegam às bases de dados apenas pela rede Docker interna. Nenhuma porta de base de dados é publicada.
Auditoria
Cada alteração é recuperável como estado antes/depois, com autor e origem, num repositório que a aplicação não pode sobrescrever.
Propriedade
Esquemas, migrações e dados são seus desde o primeiro dia; não há passo de exportação no fim do contrato.
Modelos externos
Não são treinados com os seus dados de produção, nem consultados com eles.

Cinco fases, sem big bang

Cada fase tem um ponto de reversão. O sistema legado nunca é desligado antes de o substituto se ter provado em produção. Metodologia de migração de legado · Whitepaper: a armadilha do low-code

Strangler Fig: o legado encolhe, o novo cresce

Cinco colunas, P1 a P5. Em cada uma, um bloco cinzento de legado encolhe e um bloco amarelo novo cresce. O dual-write CDC abrange as fases dois a quatro. Cada fase tem uma marca de reversão. Na fase cinco o legado é zero e a licença termina. Legado Novo dual-write / CDC reversãoreversãoreversãoreversão fim da licença P1 Descoberta P2 Replicação P3 Identidade P4 Serviços P5 Transição
  1. P1

    Descoberta automática de esquemas e regras

    A análise estática de DDL, triggers, sequências e packages PL/SQL produz um mapa da lógica enterrada e um harness de testes executável antes de qualquer alteração ao código.

  2. P2

    Replicação em paralelo e dual-write

    PostgreSQL 16 provisionado ao lado da base legada; o CDC mantém as duas sincronizadas, sem deriva.

  3. P3

    Federação de identidade

    Os utilizadores existentes passam para o Keycloak; SSO entre ecrãs antigos e novos.

  4. P4

    Extração modular de serviços

    Procedimentos e fluxos presos a ecrãs tornam-se serviços C# com RBAC no servidor e auditoria, verificados contra o harness.

  5. P5

    Transição de ecrãs e fim da licença

    Os ecrãs passam para React um de cada vez; quando a telemetria mostra paridade, as ligações ao legado são cortadas e a licença proprietária termina.

O que precisamos do seu lado

Infraestrutura
Servidores Linux com Docker (on-prem ou cloud) com capacidade para PostgreSQL ×2, Redis, Keycloak, os serviços API e os frontends. O dimensionamento é acordado no diagnóstico.
Rede
Uma entrada pública para o Nginx; rede interna para tudo o resto; SMTP de saída para notificações.
Acesso para a descoberta
Acesso de leitura aos esquemas e código legados (DDL, packages, exportações OutSystems) e à fonte de identidade para federação.
Pessoas
Especialistas de domínio para a semana do blueprint (algumas horas cada); um responsável de IT pelos ambientes e acessos; um contacto de segurança para a revisão.
Tempo
Cinco semanas para uma aplicação nova sobre a base. A duração da migração depende do número de ecrãs e regras encontrados na fase 1 e é estimada depois da descoberta.

Quem faz o quê

Grelha de seis áreas por três partes: Negócio, IT, IdeaBuild. Células amarelas significam dono, células contornadas significam consultado, células pretas significam entrega. ÁREA NEGÓCIO IT IDEABUILD Regras de negócio e prioridades Dono Consultado Capta, valida Ambientes e alojamento Dono Define, instala Fonte de identidade e SSO Dono Integra Revisão de segurança e aprovação Dono Prova, corrige Código, testes, runbooks Recebe Entrega Operação no dia 2 Dono Forma, apoia Dono Consultado / recebe Entrega Não envolvido

Oracle APEX vs OutSystems vs base aberta

DimensãoOracle APEXOutSystemsBase IdeaBuild
Dependência de runtimeMotor Oracle Database (PL/SQL)Runtime compilado proprietário.NET 10 e PostgreSQL, open source
LicenciamentoCores de CPU da BD / créditos cloudPor utilizador + por nível de aplicaçãoSem licenças; self-hosted
TalentoEspecialistas de nicho em PL/SQL e APEXProgramadores certificados na plataformaMercado de C#, React e SQL
FlexibilidadeUI presa aos objetos da base de dadosLimites rígidos em lógica complexa à medidaServiços modulares, sem teto
Propriedade do códigoApenas exportação de metadadosCódigo ofuscado ao desvincularRepositórios Git limpos e documentados
AuditoriaAcrescentos à medidaAcrescentos à medidaRepositório de estado antes/depois integrado

Dez coisas que IT deve verificar antes de dizer sim

  1. 01A autorização é aplicada no servidor em todos os endpoints?Segurança
  2. 02O rasto de auditoria pode ser alterado por alguém com privilégios na base de dados?Segurança
  3. 03Onde vivem os dados e quem os aloja?Dados
  4. 04Integra-se com o nosso fornecedor de identidade sem repor passwords?Integração
  5. 05Algum dado de produção é enviado para um modelo de IA externo?Entrega com IA
  6. 06O que fica exposto à internet?Arquitetura
  7. 07Podemos reverter em cada fase da migração?Migração
  8. 08O que recebemos na entrega e a nossa equipa consegue mantê-lo?Responsabilidades
  9. 09Quanto custa operar no dia dois?Matriz
  10. 10Podemos vê-lo a funcionar antes de nos comprometermos?Consola ativa
Sessão técnica

Marcar uma sessão técnica de arquitetura

Traga o seu responsável de segurança e quem gere o sistema legado. Percorremos a arquitetura, abrimos os repositórios e respondemos à lista de verificação linha a linha.

NDA mútuo antes de qualquer reunião de levantamento