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
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.
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 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
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
Identidade e acessos (IAM)
Keycloak 24, OIDC/OAuth2 com PKCE, segundo fator TOTP, controlo de sessões, auditoria de acessos administrativos.
RBAC no servidor
Cada endpoint avalia claims e políticas no servidor. Esconder elementos na UI nunca é a fronteira de segurança.
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.
Grelhas de dados de grande volume
Ordenação, paginação e filtros no servidor sobre milhões de linhas, vistas guardadas, exportação XLSX.
Pesquisa em linguagem natural
Texto livre convertido em filtros de coluna validados, limitados pelas permissões de quem pede e pelas regras de índices.
Motor de regras e alertas
Condições configuráveis, notificações por email, gatilhos de eventos, histórico de execução.
Parametrização centralizada
Definições, políticas, credenciais de terceiros e fusos horários geridos no backoffice, cifrados com AES-256, recarga a quente.
Pipeline de documentos
Uploads ligados a entidades, validação MIME, deteção de zip bombs e macros, geração de PDF via Gotenberg.
Temas white-label
Logótipos, tipografia e cores por tenant em runtime, sem nova instalação.
i18n multilingue
Um só catálogo para as vistas React e as mensagens de validação .NET.
Observabilidade
Prometheus, Grafana, Loki/Promtail, Seq com IDs de correlação.
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
| Camada | Funçã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 · Dados | postgres-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 · Identidade | Keycloak 24. OAuth2/PKCE, JWT assinados, TOTP obrigatório; consola de administração apenas em rede privada. |
| 4 · Serviços | api-auth, api-private, api-backoffice, api-audit, api-diag |
| 5 · Frontends | React 18 + Vite. Portal público, dashboard operacional, backoffice; biblioteca de componentes partilhada. |
| 6 a 7 · Telemetria | Mé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
- 1O browser autentica-se no Keycloak por HTTPS com PKCE e recebe um JWT assinado.
- 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.
- 3O serviço .NET de destino valida a assinatura do token e avalia as políticas RBAC no servidor antes de tocar nos dados.
- 4Leituras e escritas vão para postgres-main apenas pela rede Docker interna.
- 5Cada mutação publica um evento (utilizador, IP, timestamp, estado anterior e novo) no Redis Streams.
- 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
- 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.
- 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.
- P3
Federação de identidade
Os utilizadores existentes passam para o Keycloak; SSO entre ecrãs antigos e novos.
- 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.
- 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ê
Oracle APEX vs OutSystems vs base aberta
| Dimensão | Oracle APEX | OutSystems | Base IdeaBuild |
|---|---|---|---|
| Dependência de runtime | Motor Oracle Database (PL/SQL) | Runtime compilado proprietário | .NET 10 e PostgreSQL, open source |
| Licenciamento | Cores de CPU da BD / créditos cloud | Por utilizador + por nível de aplicação | Sem licenças; self-hosted |
| Talento | Especialistas de nicho em PL/SQL e APEX | Programadores certificados na plataforma | Mercado de C#, React e SQL |
| Flexibilidade | UI presa aos objetos da base de dados | Limites rígidos em lógica complexa à medida | Serviços modulares, sem teto |
| Propriedade do código | Apenas exportação de metadados | Código ofuscado ao desvincular | Repositórios Git limpos e documentados |
| Auditoria | Acrescentos à medida | Acrescentos à medida | Repositório de estado antes/depois integrado |
Dez coisas que IT deve verificar antes de dizer sim
- 01A autorização é aplicada no servidor em todos os endpoints?Segurança
- 02O rasto de auditoria pode ser alterado por alguém com privilégios na base de dados?Segurança
- 03Onde vivem os dados e quem os aloja?Dados
- 04Integra-se com o nosso fornecedor de identidade sem repor passwords?Integração
- 05Algum dado de produção é enviado para um modelo de IA externo?Entrega com IA
- 06O que fica exposto à internet?Arquitetura
- 07Podemos reverter em cada fase da migração?Migração
- 08O que recebemos na entrega e a nossa equipa consegue mantê-lo?Responsabilidades
- 09Quanto custa operar no dia dois?Matriz
- 10Podemos vê-lo a funcionar antes de nos comprometermos?Consola ativa
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.