Digital Application Architecture
Arquitetura de aplicações digitais enterprise para experiências Mobile e Reactive Web, integrando identidade, serviços corporativos, capacidades compartilhadas e ciclos de entrega.
Contexto
Aplicações digitais enterprise fazem parte de ecossistemas compostos por identidade, serviços corporativos, integrações, sistemas legados e diferentes canais digitais. Reactive Web e Mobile compartilham princípios arquiteturais, mas também possuem características próprias de execução, segurança e distribuição.
O desafio é permitir que aplicações e capacidades compartilhadas evoluam de forma sustentável sem criar dependências excessivas entre canais e sistemas corporativos.
Architecture Challenge
APPLICATION ARCHITECTURE
Domínios funcionais, responsabilidades e serviços de aplicação.
SHARED CAPABILITIES
Identidade, sessão, segurança, configuração e serviços reutilizáveis.
INTEGRATION ARCHITECTURE
APIs, serviços corporativos, sistemas legados e contratos claros.
REACTIVE WEB & MOBILE
Canais diferentes seguindo princípios arquiteturais consistentes.
MOBILE-SPECIFIC ARCHITECTURE
Offline, conectividade, capacidades do dispositivo e integrações nativas.
PLATFORM EVOLUTION
Arquitetura adaptada às capacidades e restrições do ODC e do O11.
Architecture Overview
A arquitetura estabelece fronteiras claras entre aplicações digitais, capacidades compartilhadas, integração e sistemas corporativos.
Reactive Web e Mobile compartilham serviços e princípios arquiteturais, enquanto cada aplicação mantém responsabilidades relacionadas aos seus domínios funcionais e às características da plataforma onde opera.
Capacidades de Negócio · Domínios Funcionais · Lógica de Aplicação
Capacidades de Negócio · Domínios Funcionais · Lógica de Aplicação
Identidade · Sessão · Segurança · Configuração
Serviços Reutilizáveis · Lógica Compartilhada · Observabilidade
REST APIs · SOAP · Serviços Corporativos · APIs Externas
Contratos · Orquestração · Transformação · Tratamento de Erros
Sistemas de Negócio · Plataformas Legadas · Serviços Corporativos · Dados Corporativos
Provedores de Identidade · Serviços de Terceiros · Plataformas Externas · Serviços Mobile
DIGITAL APPLICATIONS
Reactive Web e Mobile compartilham o mesmo ecossistema, organizando domínios e responsabilidades próprias.
SHARED CAPABILITIES
Atendem múltiplas aplicações quando possuem responsabilidades claras.
INTEGRATION LAYER
Protege as aplicações da complexidade de sistemas corporativos e legados.
ENTERPRISE ECOSYSTEM
Uma camada entre várias em um ecossistema mais amplo de serviços e dados.
Application Architecture
A arquitetura de uma aplicação digital deve refletir os domínios e responsabilidades da solução, e não apenas a estrutura técnica da plataforma utilizada para construí-la.
FUNCTIONAL BOUNDARIES
Funcionalidades do mesmo domínio devem permanecer próximas, com dependências controladas.
OWNERSHIP & RESPONSIBILITY
Regras, serviços e dados precisam ter ownership claro, em vez de serem distribuídos por conveniência de implementação.
REUSE WITH BOUNDARIES
Reutilização deve reduzir duplicação sem criar dependências difíceis de evoluir.
DATA & INTEGRATION BOUNDARIES
Aplicações devem conhecer apenas os dados e contratos de suas responsabilidades.
Reactive Web
Reactive Web segue os mesmos princípios de domínio e reutilização da arquitetura enterprise, distribuindo responsabilidades entre aplicação, capacidades compartilhadas e APIs corporativas, com evolução independente da solução.
Functional Domains · Application Services · Session & Identity · Shared Capabilities · API Consumption · Security Boundaries · Reusable Libraries · Data Ownership
Mobile-Specific Architecture
Aplicações mobile adicionam responsabilidades próprias porque o dispositivo passa a fazer parte do ambiente de execução — conectividade intermitente, persistência local, sincronização e segurança precisam ser consideradas desde o desenho da arquitetura.
Offline & Data Synchronization
Suportar operação offline não significa apenas armazenar dados localmente. A arquitetura precisa definir quais informações permanecem disponíveis no dispositivo, quais operações podem ocorrer sem conectividade e como alterações locais serão reconciliadas posteriormente com serviços remotos.
Initial Sync · Incremental Sync · Local Changes · Pending Operations · Conflict Handling · Retry · Idempotency · Recovery · Local / Remote Consistency
The solution needs to remain predictable even when the network is not.
Connectivity & Resilience
Disponibilidade de rede é uma condição variável: mudanças de conectividade, timeouts e falhas transitórias precisam produzir comportamentos controlados.
Network Status · Timeout · Retry · Pending Operations · Error Recovery · Graceful Degradation
Device Security & Local Storage
Persistir informações no dispositivo adiciona uma nova superfície de segurança. Dados locais precisam ser tratados de acordo com sua sensibilidade.
Local Data · Cache · Preferences · Session Data · Secure Storage
Push, Deep Links & Device Capabilities
Push notifications podem iniciar fluxos e direcionar o usuário para capacidades específicas; deep links permitem que canais externos façam o mesmo diretamente no aplicativo.
FCM · APNs · Push Tokens · Deep Links · Camera · Biometrics · Files · Location · Sharing · Permissions
Plugin & Native Integration Strategy
Plugins e frameworks como Cordova e Capacitor conectam a aplicação a APIs e funcionalidades nativas de iOS e Android, considerando compatibilidade, permissões e impacto no build. Regras de negócio devem permanecer desacopladas dessas dependências sempre que possível.
Plugins · Cordova · Capacitor · Native SDKs · Permissions · Platform Compatibility
Application Lifecycle
Aplicações mobile precisam considerar inicialização, foreground, background, retomada e encerramento pelo sistema — com sessão, sincronização e integrações nativas respondendo corretamente a cada mudança de estado.
Platform Architecture — ODC & O11
ODC e O11 possuem capacidades e restrições diferentes, mas os mesmos princípios arquiteturais permanecem consistentes entre plataformas.
OutSystems Developer Cloud
- Application-oriented architecture
- Libraries & shared capabilities
- Cloud-managed runtime
- Modern delivery model
- External integrations & platform services
OutSystems 11
- Modular application architecture
- Reusable modules & shared services
- Established enterprise runtime
- Mature deployment lifecycle
- External integrations & extensibility mechanisms
Different platforms. Consistent architectural principles.
Delivery Architecture
Reactive Web e Mobile possuem ciclos de entrega diferentes: aplicações web seguem publicação e promoção, enquanto mobile adiciona geração de pacotes, assinatura e distribuição pelas lojas.
Build / Publish
Validação
Promoção
Produção
Build Mobile
IPA
Assinatura
App Store
AAB
Assinatura
Google Play
No mobile, plugins, versões de Cordova ou Capacitor e assinatura também fazem parte do ciclo de entrega — uma mudança aparentemente limitada à aplicação pode exigir novo build nativo ou submissão às lojas.
Architecture Decisions
Organize by Domain, Not by Screen
Organizar a solução por domínios funcionais e responsabilidades.
Domínios evoluem como capacidades de negócio, mantendo mudanças localizadas.
Exige disciplina na definição de ownership.
Share Capabilities, Not Entire Applications
Compartilhar capacidades coesas em vez de acoplar aplicações inteiras.
Reutilização precisa reduzir duplicação sem criar dependências estruturais.
Contratos compartilhados exigem governança e compatibilidade.
Treat Offline as an Architectural Mode
Tratar offline como um modo arquitetural explícito, não apenas cache.
Offline introduz estado local, sincronização, conflitos, retries e consistência.
Aumenta complexidade; deve ser aplicado só onde agrega valor real.
Isolate Native Dependencies
Isolar plugins, SDKs e integrações Cordova/Capacitor atrás de responsabilidades bem definidas.
Dependências nativas possuem ciclos de evolução diferentes da lógica funcional.
Introduz abstração adicional, mas reduz impacto de substituições e incompatibilidades.
Trade-offs
Arquitetura não elimina trade-offs. Ela torna essas escolhas explícitas para que complexidade, autonomia e evolução possam ser administradas conscientemente.
Technology Landscape
OutSystems Developer Cloud · OutSystems 11 · Reactive Web · Mobile · REST · SOAP · SQL · FCM · APNs · Cordova · Capacitor · iOS · Android · Offline Data Sync · Native Plugins
Considerações Finais
Arquitetura de aplicações digitais vai além da tecnologia usada para construir uma interface — envolve responsabilidades, domínios, dados, integrações e capacidades compartilhadas para que diferentes soluções evoluam de forma sustentável. Reactive Web e Mobile têm necessidades distintas, mas fazem parte do mesmo ecossistema arquitetural.