Caso Prático: CRM SaaS

Computação em Nuvem

Pontifícia Universidade Católica de Campinas

Prof. Dr. Denis M. L. Martins

Contexto

  • NovaTechCRM → CRM no modelo SaaS multitenant
  • Uma instância atende múltiplas organizações (tenants)
  • Multicloud:
    • Nuvem privada: treino de modelos de IA
    • Nuvem pública: aplicação e previsões
  • Auditoria para registrar eventos críticos

Entidades Principais

  • Organizations (tenants)
  • Users + Memberships (papéis: admin / user)
  • Accounts (clientes)
  • Deals (oportunidades, probabilidade ∈ [0,1])
  • Models (ciclo: draft → production → deprecated, versão)
  • Predictions (resultados das previsões)
  • AuditLog (quem fez, o quê, quando, em qual tenant)

Requisitos Funcionais

  • Isolamento de dados por org_id
  • Cada tenant tem seus usuários, clientes e oportunidades
  • Cada previsão deve indicar:
    • oportunidade
    • versão do modelo
    • score gerado
  • Todos os eventos relevantes devem ser auditados

Atividade

  1. Escolher e justificar uma estratégia de multitenancy
    • Coluna org_id
    • Esquema por tenant
  2. Montar o esquema do banco de dados.
  3. Definir 2 regras de negócio
  4. Criar 2 consultas SQL, por exemplo:
    • Oportunidades com probabilidade > 0,7
    • Listar todos os clientes (Accounts) de uma organização
    • Consultar publicações de modelos
  • Grupos de 3 ou 4 integrantes