Modernizar a Verificação de Identidade Legada com Strangler Fig e Didit (PT-PT)
Modernizar sistemas legados de verificação de identidade pode ser desafiante. Este artigo explora como usar o padrão Strangler Fig em Java/Spring Boot para migrar incrementalmente para a API avançada da Didit, minimizando riscos.

Estratégia de Migração IncrementalO padrão Strangler Fig permite uma migração faseada, onde a nova funcionalidade é construída paralelamente ao sistema antigo, substituindo gradualmente os componentes legados sem reescritas disruptivas e de grande impacto.
Minimizando Risco e Tempo de InatividadeAo isolar novas funcionalidades e encaminhar o tráfego seletivamente, as organizações podem reduzir o risco de falhas no sistema e manter a disponibilidade contínua do serviço durante a transição.
Aproveitando APIs ModernasA integração com a API da Didit permite o acesso a capacidades de verificação de identidade nativas de IA, oferecendo deteção de fraude superior, conformidade e experiência de utilizador em comparação com sistemas desatualizados.
Abordagem Modular e Focada no Programador da DiditA plataforma da Didit oferece uma arquitetura modular e orientada por API com KYC Essencial Gratuito, tornando-a ideal para adoção incremental e integração perfeita em aplicações Spring Boot existentes.
O Desafio dos Sistemas Legados de Verificação de Identidade
Muitas organizações dependem de sistemas legados de verificação de identidade (IDV) que são difíceis de manter, caros de escalar e frequentemente carecem das capacidades avançadas de deteção de fraude das soluções modernas. A ideia de uma revisão completa pode ser paralisante, levando à estagnação e ao aumento do risco. Estes sistemas mais antigos podem ter dificuldades com novos requisitos de conformidade, oferecer experiências de utilizador deficientes ou ser incapazes de detetar fraudes sofisticadas de deepfake e identidade sintética. A migração tradicional "big-bang", onde um sistema inteiro é substituído de uma só vez, está repleta de riscos, potencial tempo de inatividade e custos significativos de desenvolvimento. É aqui que uma abordagem mais estratégica e incremental se torna inestimável.
Apresentando o Padrão Strangler Fig para Migração de IDV
O padrão Strangler Fig, famoso por Martin Fowler, oferece uma solução elegante para migrar gradualmente um sistema legado, construindo novas funcionalidades à sua volta, "estrangulando" eventualmente o sistema antigo até que possa ser desativado. Para a verificação de identidade, isto significa substituir funções IDV específicas por chamadas para uma API moderna como a da Didit, enquanto o resto da aplicação legada permanece intocado inicialmente. Este padrão é particularmente adequado para aplicações Java/Spring Boot, permitindo aos programadores introduzir novos serviços e chamadas de API incrementalmente.
A ideia central envolve colocar uma fachada ou um gateway de API em frente ao sistema legado. Novas solicitações são encaminhadas através deste gateway, que decide se as trata usando o novo sistema (Didit) ou as passa para o sistema legado. Com o tempo, mais e mais funcionalidades são migradas para o novo sistema, e os componentes legados são lentamente desativados. Esta abordagem minimiza o risco, permite a entrega contínua e proporciona valor imediato das capacidades do novo sistema.
Implementando Strangler Fig com Spring Boot e Didit
Vamos considerar um cenário prático numa aplicação Spring Boot. Imagine que tem um serviço legado responsável pelo processamento de documentos de identificação e verificações de vivacidade. Pretende substituí-lo pelas funcionalidades avançadas de Verificação de Identidade e Vivacidade Passiva e Ativa da Didit. Pode introduzir um novo serviço Spring Boot, ou um componente dentro do seu serviço existente, que atua como o "estrangulador".
Passo 1: Criar uma Camada de Proxy/Fachada
Desenvolva um novo componente Spring que intercete chamadas destinadas à verificação de identidade. Este componente conterá a lógica para decidir se deve usar o sistema legado ou a Didit. Por exemplo, se estiver a migrar apenas novos registos de utilizadores, pode encaminhá-los para a Didit, enquanto as reverificações de utilizadores existentes ainda podem passar pelo sistema legado inicialmente.
@Service
public class IdentityVerificationGateway {
private final DiditApiClient diditApiClient;
private final LegacyIdvService legacyIdvService;
public IdentityVerificationGateway(DiditApiClient diditApiClient, LegacyIdvService legacyIdvService) {
this.diditApiClient = diditApiClient;
this.legacyIdvService = legacyIdvService;
}
public VerificationResult verifyIdentity(User user) {
// Lógica para decidir se deve usar Didit ou legado
if (user.isNewUser() || featureFlags.isDiditEnabledFor(user.getRegion())) {
// Chamar a API Didit para Verificação de ID e Vivacidade
return diditApiClient.performVerification(user);
} else {
// Recorrer ao sistema legado
return legacyIdvService.performVerification(user);
}
}
}
Passo 2: Integrar a API da Didit
Dentro do seu DiditApiClient, fará chamadas para os robustos endpoints da API da Didit. A arquitetura modular da Didit significa que pode escolher as primitivas de identidade exatas de que necessita. Por exemplo, para realizar Verificação de ID e Vivacidade, normalmente iniciaria uma sessão e, em seguida, processaria os resultados. A API da Didit é verdadeiramente focada no programador, oferecendo APIs limpas e um sandbox instantâneo para integração rápida.
@Service
public class DiditApiClient {
private final RestTemplate restTemplate;
private final String diditApiKey;
private final String diditApiUrl;
public DiditApiClient(@Value("${didit.api.key}") String diditApiKey,
@Value("${didit.api.url}") String diditApiUrl) {
this.restTemplate = new RestTemplate();
this.diditApiKey = diditApiKey;
this.diditApiUrl = diditApiUrl;
}
public VerificationResult performVerification(User user) {
HttpHeaders headers = new HttpHeaders();
headers.set("x-api-key", diditApiKey);
headers.setContentType(MediaType.APPLICATION_JSON);
// Exemplo: Criar uma sessão para Verificação de ID e Vivacidade
// O workflow_id seria configurado na Consola de Negócios da Didit
// para a sua sequência desejada de verificações.
String workflowId = "your-didit-workflow-id";
Map<String, String> requestBody = Map.of("workflow_id", workflowId, "vendor_data", user.getUserId());
HttpEntity<Map<String, String>> request = new HttpEntity<>(requestBody, headers);
ResponseEntity<DiditSessionResponse> response = restTemplate.postForEntity(
diditApiUrl + "/v3/session/", request, DiditSessionResponse.class);
// Lidar com o URL da sessão, redirecionar o utilizador e processar webhooks para resultados
// Este exemplo simplificado assume resultados síncronos para brevidade.
return new VerificationResult(response.getBody().getSessionId(), "PENDING");
}
}
Lembre-se que a Didit também oferece uma Consola de Negócios sem código para conceber Fluxos de Trabalho Orquestrados complexos, combinando elementos como Verificação de ID, Vivacidade Passiva e Ativa, Correspondência Facial 1:1, Rastreio AML e Prova de Morada. Isto permite-lhe definir a sua jornada de verificação uma vez e depois acioná-la através de uma simples chamada de API, simplificando a sua integração Spring Boot.
Passo 3: Desvio Gradual de Tráfego e Monitorização
Uma vez que a integração da Didit esteja em vigor, pode desviar gradualmente o tráfego. Comece com uma pequena percentagem de utilizadores, teste A/B ou ative-o para grupos específicos. Monitorize de perto o desempenho, a experiência do utilizador e a precisão da verificação. As análises abrangentes e as capacidades de webhook da Didit tornam este processo de monitorização eficiente, fornecendo atualizações em tempo real à medida que os utilizadores progridem na verificação. À medida que a confiança aumenta, pode aumentar o tráfego encaminhado para a Didit, desativando eventualmente os componentes legados por completo.
Como a Didit Ajuda
A Didit está numa posição única para facilitar migrações contínuas usando o padrão Strangler Fig. A nossa plataforma de identidade nativa de IA e focada no programador oferece uma arquitetura modular que torna a integração de capacidades avançadas de verificação de identidade simples. Com a Didit, ganha acesso a um conjunto de ferramentas poderosas:
- Verificação de ID (OCR, MRZ, códigos de barras): Extraia dados de documentos de identidade globalmente.
- Vivacidade Passiva e Ativa: Combata deepfakes e ataques de apresentação com deteção avançada de vivacidade biométrica.
- Correspondência Facial 1:1: Garanta que a pessoa que apresenta o ID é o seu legítimo proprietário.
- Rastreio e Monitorização AML: Mantenha-se em conformidade com as regulamentações globais, rastreando sanções e listas PEP.
- Prova de Morada: Verifique endereços residenciais de forma eficiente.
- Estimativa de Idade (preservando a privacidade): Para conformidade em indústrias com restrição de idade sem comprometer a privacidade.
- Verificação de Telefone e E-mail: Aumente a segurança da conta e evite fraudes.
As vantagens da Didit são claras: oferecemos KYC Essencial Gratuito para começar, uma arquitetura verdadeiramente modular que permite integrar apenas o que precisa, e uma abordagem nativa de IA que proporciona precisão de ponta e prevenção de fraude. A nossa plataforma não tem taxas de configuração, e a nossa ética focada no programador garante APIs limpas e documentação extensa para integração rápida, alinhando-se perfeitamente com a natureza incremental do padrão Strangler Fig.
Pronto para Começar?
Pronto para ver a Didit em ação? Obtenha uma demonstração gratuita hoje.
Comece a verificar identidades gratuitamente com o nível gratuito da Didit.